5d01e0e63af2d02a19924fd7769ff82a976751c2
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
4         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
5         (gst_type_find_helper_for_buffer):
6         * libs/gst/base/gsttypefindhelper.h:
7           New API: gst_type_find_helper_for_buffer() (#332723).
8           
9 2006-02-27  Michael Smith  <msmith@fluendo.com>
10
11         * configure.ac:
12         * docs/Makefile.am:
13         * docs/slides/Makefile.am:
14           Patch from Loïc Minier to prevent CVS directories getting disted.
15
16 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17
18         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
19           Use the REFCOUNTING category for caps refcounting.
20           
21 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
22
23         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
24           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
25
26 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
27
28         * plugins/elements/gsttypefindelement.c:
29         (gst_type_find_element_activate):
30           Use gst_pad_check_pull_range() before _activate_pull()
31           to avoid unnecessary open/close (see #331690).
32
33 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
34
35         * gst/gstutils.c:
36           Docs enhancement: make it crystal clear what the
37           gst_pad_add_*_probe() callbacks should look like.
38
39 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
40
41         * libs/gst/base/gstbasesrc.c:
42           Document how applications can stop recording from
43           live sources (see #330996).
44
45 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
46
47         * docs/gst/tmpl/.cvsignore:
48         * docs/plugins/tmpl/.cvsignore:
49         * tests/check/gst/.cvsignore:
50         * tests/check/libs/.cvsignore:
51         * tests/check/pipelines/.cvsignore:
52           Ignore more stuff.
53
54 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
55
56         * tests/check/Makefile.am:
57         * tests/check/libs/basesrc.c: (eos_event_counter),
58         (basesrc_eos_events_pull), (basesrc_eos_events_push),
59         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
60         (gst_basesrc_suite), (main):
61           ... and add some tests for the base source EOS stuff.
62
63 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
64
65         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
66           Test case originally showed the problem fixed below,
67           but was then amended. Add checks back at the place
68           where they used to be.
69
70 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
71
72         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
73         (gst_base_src_init), (gst_base_src_loop),
74         (gst_base_src_activate_push), (gst_base_src_activate_pull),
75         (gst_base_src_change_state):
76         * libs/gst/base/gstbasesrc.h:
77           Don't unconditionally send EOS when going from PAUSED to
78           READY state, esp. make sure we don't send two EOS events
79           in some cases (e.g. one when reaching EOS and one when
80           going from PAUSED to READY). Also, we don't want to send
81           EOS events when operating in pull mode. However, we do
82           want to send an EOS event when shutting down a live
83           source explicitly, for example (fixes #330996).
84           
85 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
86
87         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
88           Update src->read_position after a seek when not using mmap.
89           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
90
91 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
92
93         * gst/Makefile.am:
94         * gst/gstparse.h:
95         * gst/gstutils.c:
96         * gst/gstutils.h:
97         Make things work with --disable-parse as they do with 
98         --disable-load-save - the symbols involved disappear, but the
99         header is still installed and GST_DISABLE_PARSE is included via
100         gstconfig.h
101
102 2006-02-20  Julien MOUTTE  <julien@moutte.net>
103
104         * libs/gst/base/gstbasetransform.c:
105         (gst_base_transform_change_state): Fix a stupid bug. I was 
106         sure i compiled that.
107
108 2006-02-20  Julien MOUTTE  <julien@moutte.net>
109
110         * gst/gstpad.c: (gst_pad_set_blocked_async):
111         * gst/gstutils.c: (gst_pad_add_data_probe),
112         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
113         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
114         (gst_pad_remove_buffer_probe): Make those function act on the
115         ghostpad target when it's a ghostpad. (Closes #331727)
116
117 2006-02-20  Julien MOUTTE  <julien@moutte.net>
118
119         * libs/gst/base/gstbasetransform.c:
120         (gst_base_transform_change_state): Make basetransform reusable.
121         (Closes #331898)
122
123 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
124
125         * docs/random/release:
126         Move the current documentation of how to do a release to the top
127         of the file.
128
129         * gst/gstbin.c: (gst_bin_class_init),
130         (gst_bin_handle_message_func):
131         Allow multiple state-recalculation threads. (Closes #328873)
132
133 2006-02-19  Julien MOUTTE  <julien@moutte.net>
134
135         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
136         * gst/gstpad.c: (gst_pad_set_event_function),
137         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
138         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
139         2 strings. You can't use the STR_NULL macro on that.
140
141 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
142
143         * gst/gstpad.c: (gst_pad_set_event_function),
144         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
145         (gst_pad_set_getcaps_function)
146         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
147                 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
148                 So now, we can use --gst-debug-level=5 on Windows
149         * win32/common/libgstcontroller.def:
150           Added export of gst_controller_init
151         * win32/vs6/libgstcontroller.dsp:
152           Fixed Release post build configuration
153
154 2006-02-17  Wim Taymans  <wim@fluendo.com>
155
156         * tests/check/gst/gstquery.c: (GST_START_TEST):
157         Added another check.
158
159 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
160
161         * plugins/elements/gsttypefindelement.c: (find_peek):
162           We can do peeks at non-zero offsets, as long as they
163           fall within the buffer we have.
164
165 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
166
167         * tests/check/Makefile.am:
168         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
169         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
170         (parse_suite), (main):
171           Add testsuite for parse launch syntax
172
173 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
174
175         * plugins/elements/gsttypefindelement.c:
176         (gst_type_find_element_chain):
177           When typefinding is unsuccessful in the chain function, don't
178           error out immediately. Only error out with NO_CAPS_FOUND if
179           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
180           otherwise simply wait for more data so we can try typefinding
181           again with more data later. Also, don't attempt to typefind
182           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
183           this should improve typefinding from network sources where the
184           size of the first buffer can be somewhat random.
185
186 2006-02-14  Wim Taymans  <wim@fluendo.com>
187
188         * docs/gst/gstreamer-sections.txt:
189         * gst/gstpadtemplate.c:
190         * gst/gstpadtemplate.h:
191         Fix padtemplate docs, fixes #328805.
192
193 2006-02-14  Wim Taymans  <wim@fluendo.com>
194
195         * tools/gst-launch.c: (main):
196         NO_PREROLL is not an ERROR so don't send confusing messages
197         to the user.
198
199 2006-02-14  Wim Taymans  <wim@fluendo.com>
200
201         * gst/gstregistry.c: (gst_registry_get_default),
202         (_gst_registry_cleanup):
203         Protect default registry with lock and ref/sink it.
204         Fixes #324818, patch by Torsten Schoenfeld.
205
206 2006-02-14  Wim Taymans  <wim@fluendo.com>
207
208         * gst/gstbuffer.c:
209         * gst/gstquery.c: (gst_query_list_add_format),
210         (gst_query_set_formatsv), (gst_query_parse_formats_length),
211         (gst_query_parse_formats_nth):
212         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
213         Docs fixes.
214
215 2006-02-14  Wim Taymans  <wim@fluendo.com>
216
217         * docs/gst/gstreamer-sections.txt:
218         Reworked query docs.
219
220         * gst/gstquery.c: (gst_query_new_formats),
221         (gst_query_list_add_format), (gst_query_set_formats),
222         (gst_query_set_formatsv), (gst_query_parse_formats_length),
223         (gst_query_parse_formats_nth):
224         * gst/gstquery.h:
225         Flesh out formats query, added some new methods.
226         Fix part of #324398.
227
228         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
229         Added query creation tests.
230
231 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
232
233         * gst/gstpad.c: (fixate_value):
234         Add a default fixation for fraction lists.
235
236 2006-02-13  Wim Taymans  <wim@fluendo.com>
237
238         * gst/gsttask.c: (gst_task_init), (gst_task_func),
239         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
240         (gst_task_join):
241         * gst/gsttask.h:
242         Detect and warn for obvious deadlocks. fixes #320340
243         Fix error case where lock was not released.
244
245         * tests/check/Makefile.am:
246         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
247         (task_func), (gst_element_suite), (main):
248         Add task check.
249
250 2006-02-13  Wim Taymans  <wim@fluendo.com>
251
252         * docs/gst/gstreamer-sections.txt:
253         * gst/gstbus.c:
254         Add new functions to docs.
255
256 2006-02-13  Wim Taymans  <wim@fluendo.com>
257
258         * docs/design/part-TODO.txt:
259         Updated TODO list, basesrc supports seeking to non-bytes
260         formats.
261
262         * docs/design/part-element-sink.txt:
263         Update docs.
264
265         * gst/gstbin.c: (bin_replace_message),
266         (gst_bin_handle_message_func):
267         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
268         * gst/gstevent.c: (gst_event_finalize):
269         * gst/gstpad.c: (gst_pad_event_default_dispatch),
270         (gst_pad_send_event):
271         Use shiny new _TYPE_NAME macros.
272
273         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
274         Move debug statement up.
275
276         * gst/gstelement.c: (gst_element_set_locked_state):
277         Add some debugging.
278
279 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
280
281         * docs/gst/gstreamer-sections.txt:
282         * gst/gstmessage.h:
283         * gst/gstquery.h:
284           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
285           macros (#330906). Also, document the already existing
286           GST_QUERY_TYPE macro.
287
288 2006-02-13  Wim Taymans  <wim@fluendo.com>
289
290         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
291         (event_probe), (GST_START_TEST):
292         Only events up to the pipeline EOS are counted, there are
293         some more when going to NULL currently which we don't care
294         about for now.
295
296 2006-02-13  Wim Taymans  <wim@fluendo.com>
297
298         * gst/gstpad.c: (gst_pad_send_event):
299         Correctly check flushing and emit probes. fixes #330125
300
301 2006-02-10  Andy Wingo  <wingo@pobox.com>
302
303         * gst/gstbus.c (gst_bus_class_init): Declare our private data
304         structure.
305         (gst_bus_init): Cache the location of the private data in the
306         instance structure.
307         (gst_bus_enable_sync_message_emission) 
308         (gst_bus_disable_sync_message_emission): Implement new public
309         functions.
310         (gst_bus_post): Emit the sync-message signal if the user asked for
311         it. Fixes #330684.
312
313         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
314         location of the bus-private structuure.
315         (gst_bus_enable_sync_message_emission)
316         (gst_bus_disable_sync_message_emission): New public functions.
317
318 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
319
320         * docs/pwg/building-boiler.xml:
321         PWG patch from #326800 (Patch by Vincent Torri)
322
323 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
324
325         * configure.ac:
326         * docs/Makefile.am:
327         * docs/design/Makefile.am:
328           Dist design docs.
329
330 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
331
332         * configure.ac:
333           back to CVS
334
335 === release 0.10.3 ===
336
337 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
338
339         * configure.ac:
340           releasing 0.10.3, "Like a virgin"
341
342 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
343
344         * configure.ac:
345           2nd prerelease of 0.10.3
346           Bump libtool versioning.
347
348 2006-02-07  Andy Wingo  <wingo@pobox.com>
349
350         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
351         update last_stop if we're in TIME format and the timestamp is
352         valid.
353
354         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
355         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
356         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
357         If we get a new newsegment with a different format, adapt
358         accordingly.
359
360         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
361         of 0. Not a problem, really.
362
363         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
364         warn if sync=true.
365
366 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
367
368         * configure.ac:
369           Prelease of 0.10.3
370
371 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
372
373         * win32/vs7:
374           project files updated to the default vs7 configuration
375         * win32/common/libgstbase.def:
376         * win32/common/libgstreamer.def:
377           added new symbols,
378           removed empty lines,
379           sorted all exported symbols alphabetically
380         * win32/common/dirent.c:
381         * win32/common/dirent.h:
382         * win32/common/gchar.h:
383           use windows line end.
384           
385 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
386
387         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
388           Send EOS event when stopping.
389
390 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
391
392         * docs/README:
393           Tell folks what to do if the plugin-foobar.xml file
394           hasn't been generated for a newly-added plugin.
395
396 2006-02-05  Julien MOUTTE  <julien@moutte.net>
397
398         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
399         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
400         (gst_collect_pads_start), (gst_collect_pads_stop),
401         (gst_collect_pads_event): Collectpads now holds a reference
402         to the GstPad that was added. Indeed we don't want to look
403         at pads that might just go away with no warning...
404
405 2006-02-05  Julien MOUTTE  <julien@moutte.net>
406
407         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
408         (gst_collect_pads_start), (gst_collect_pads_stop),
409         (gst_collect_pads_event), (gst_collect_pads_chain):
410         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
411         Mark Nauwelaerts's patch on bug #328491.
412
413 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
414
415         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
416         (gst_utils_suite):
417           Add some simple tests for gst_parse_bin_from_description() and
418           gst_bin_find_unconnected_pad() (#329069).
419
420 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
421
422         * tools/gst-launch.c: (event_loop), (main):
423           Catch errors during preroll (#320084).
424
425 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
426
427         * plugins/elements/gsttypefindelement.c:
428         (gst_type_find_element_activate):
429           Post TYPE_NOT_FOUND error message when typefinding
430           is unsuccessful in the activate function as well.
431
432 2006-02-02  Wim Taymans  <wim@fluendo.com>
433
434         * docs/design/part-element-sink.txt:
435         Updated doc.
436
437 2006-02-02  Wim Taymans  <wim@fluendo.com>
438
439         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
440         (gst_base_sink_render_object),
441         (gst_base_sink_queue_object_unlocked):
442         Only keep track of prerollable items when we are 
443         prerolling.
444         Before rendering after preroll, always check if we
445         have queued items.
446         Added some more debugging.
447
448 2006-02-02  Wim Taymans  <wim@fluendo.com>
449
450         * gst/gstelement.c: (gst_element_continue_state),
451         (gst_element_set_state_func), (gst_element_change_state):
452         Fixed #326576, been running this for quite some time with
453         no regressions at all.
454
455 2006-02-02  Wim Taymans  <wim@fluendo.com>
456
457         * common/gst.supp:
458         Added more suppressions
459
460 2006-02-02  Wim Taymans  <wim@fluendo.com>
461
462         * docs/design/part-element-sink.txt:
463         Updated document.
464
465         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
466         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
467         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
468         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
469         (gst_base_sink_do_sync), (gst_base_sink_render_object),
470         (gst_base_sink_preroll_object),
471         (gst_base_sink_queue_object_unlocked),
472         (gst_base_sink_queue_object), (gst_base_sink_event),
473         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
474         (gst_base_sink_loop), (gst_base_sink_activate_pull),
475         (gst_base_sink_get_position), (gst_base_sink_change_state):
476         * libs/gst/base/gstbasesink.h:
477         Totally refactored matching the design doc.
478         Use two segments, one to clip incomming buffers and another to
479         perform sync.
480         Handle queueing correctly, bypass the queue when playing.
481         Make EOS cancelable.
482         Handle errors correctly when operating in pull based mode.
483
484         * tests/check/elements/fakesink.c: (GST_START_TEST),
485         (fakesink_suite):
486         Added new check for sinks.
487
488 2006-02-02  Wim Taymans  <wim@fluendo.com>
489
490         * gst/gstsegment.c: (gst_segment_clip):
491         No reason to refuse to clip when start == -1
492
493 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
494
495         * docs/README:
496         * docs/manual/intro-basics.xml:
497         * docs/manual/intro-preface.xml:
498         * docs/manual/manual.xml:
499         * docs/pwg/advanced-dparams.xml:
500         * docs/pwg/intro-basics.xml:
501         * docs/pwg/intro-preface.xml:
502         * docs/pwg/pwg.xml:
503           describe dparams (controller) for plugins
504           unify docs a little more
505
506 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
507
508         * docs/gst/gstreamer-sections.txt:
509         * gst/gstutils.c: (element_find_unconnected_pad),
510         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
511         * gst/gstutils.h:
512           Add new API: gst_parse_bin_from_description() and
513           gst_bin_find_unconnected_pad() (#329069).
514
515 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
516
517         * docs/manual/README:
518           uncover a nasty detail of the docs build
519
520 2006-01-31  Wim Taymans  <wim@fluendo.com>
521
522         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
523         Don't cache duration messages if we're not going to use or
524         free them.
525
526 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
527
528         * docs/manual/advanced-dparams.xml:
529         * docs/pwg/advanced-dparams.xml:
530           more dparam docs
531         * gst/gstindex.c:
532           fix docs
533         * libs/gst/controller/lib.c: (gst_controller_init):
534           init just once
535
536 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
537
538         * gst/gstelement.c: (gst_element_message_full):
539           also show file/line/func if no additional debug was given
540
541 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
542         
543         * win32/vs7/grammar.vcproj:
544                 activate copy of autogenerated files for Release mode
545
546 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
547         
548         * win32/common/libgstreamer.def:
549                 export gst_value_compare
550
551 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
552
553         * plugins/elements/Makefile.am:
554         * plugins/elements/gstelements.c:
555         * plugins/elements/gstfdsink.c: (_do_init),
556         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
557         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
558         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
559         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
560         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
561         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
562         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
563         * plugins/elements/gstfdsink.h:
564         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
565
566 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
567
568         * docs/manual/advanced-dparams.xml:
569           describe controller
570         * docs/manual/advanced-position.xml:
571         * docs/manual/basics-init.xml:
572         * docs/manual/manual.xml:
573         * docs/manual/titlepage.xml:
574         * docs/pwg/pwg.xml:
575         * docs/pwg/titlepage.xml:
576           cleanup xml (more to come)
577         * libs/gst/controller/gstcontroller.c:
578           fix typo
579
580 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
581         
582         * win32/vs6/grammar.dsp:
583                 add autogen of gstmarshal.c,h for Release mode
584                 
585 2006-01-30  Wim Taymans  <wim@fluendo.com>
586
587         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
588         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
589         (gst_base_sink_handle_object), (gst_base_sink_event),
590         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
591         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
592         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
593         (gst_base_sink_deactivate), (gst_base_sink_activate),
594         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
595         (gst_base_sink_query), (gst_base_sink_change_state):
596         Basesink cleanups, remove some old code.
597         Handle the case where a subclass can preroll in the render
598         method (mostly audiosinks).
599         Handle more events.
600         Remove some locks around variables that are now protected
601         with the PREROLL_LOCK (clock_id, flushing, ..).
602         Optimize position query some more, do correct locking.
603         Remove old code to push queue in state change, this is not
604         needed anymore since preroll blocks on all prerollable items 
605         now.
606         Almost implemented as described in design doc.
607
608 2006-01-30  Wim Taymans  <wim@fluendo.com>
609
610         * tests/check/gst/gstbin.c: (GST_START_TEST):
611         Wait for refcount to settle down before checking.
612
613 2006-01-30  Wim Taymans  <wim@fluendo.com>
614
615         * docs/design/part-element-sink.txt:
616         Pseudo code overview of desired sink behaviour regarding
617         preroll.
618
619 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
620         * win32/vs6/grammar.dsp:
621                 fix some bugs in Release mode for autogenerated files
622                 
623 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
624         * win32/common/libgstbase.def:
625         * win32/common/libgstreamer.def:
626                 export some new symbols: gst_base_src_set_format,
627                 gst_iterator_next, gst_structure_set_valist
628
629 2006-01-29  Julien MOUTTE  <julien@moutte.net>
630
631         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
632         Set pad functions unconditionally. Fixes #329105.
633
634 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
635         * win32/vs8:
636                 add vs8 project files created by Sergey Scobich
637
638 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
639
640         * gst/gstutils.c: (gst_element_unlink_pads):
641         Don't leak pad references.
642
643         * tests/check/elements/fakesink.c: (GST_START_TEST):
644         * tests/check/generic/sinks.c: (GST_START_TEST):
645         * tests/check/generic/states.c: (GST_START_TEST):
646         * tests/check/gst/gstbin.c: (GST_START_TEST):
647         * tests/check/gst/gstcaps.c: (GST_START_TEST):
648         * tests/check/gst/gstelement.c: (GST_START_TEST):
649         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
650         * tests/check/gst/gstiterator.c: (GST_START_TEST):
651         * tests/check/gst/gstvalue.c: (GST_START_TEST):
652         Fix a bunch of leaks. Make generic/sinks.c
653         use a bit less cpu by slowing the buffer rate
654         between fakesrc and fakesink.
655         
656 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
657         * gst/gstcaps.c:
658         * gst/gstelement.c: (gst_element_send_event):
659         * gst/gstevent.c:
660         * gst/gstinfo.c:
661         * gst/gstiterator.c:
662         * gst/gstiterator.h:
663         * gst/gstpad.c: (gst_pad_send_event):
664         * gst/gststructure.c:
665         * gst/gsturi.c:
666         * gst/gstutils.c:
667         * gst/gstvalue.c:
668         * libs/gst/base/gstadapter.c:
669           doc fixes, to link to function, just write gst_cool_function(), don't
670           prefix with '#'
671
672 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
673
674         * plugins/elements/gsttee.c: (gst_tee_do_push),
675         (gst_tee_handle_buffer):
676         Always prefer an actual return value from a src
677         pad in place of NOT_LINKED. This means we return
678         WRONG_STATE when all src pads are WRONG_STATE
679         instead of NOT_LINKED.
680
681         Lock when replacing the last message to prevent
682         racing with the get_property method.
683
684         Add debug output
685
686 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
687
688         * tests/check/Makefile.am:
689         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
690         (main):
691         Add a very simple check that should have caught the memleak I fixed
692         last night (if not for the slice allocator hiding it)
693
694 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
695
696         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
697         (gst_bin_remove_func), (gst_bin_handle_message_func),
698         (bin_query_duration_fold), (bin_query_generic_fold):
699         Clean up references to the clock provider when disposed or when
700         handling a clock-lost message from it.
701
702         Unref sinks when performing a query via gst_iterator_fold, as the
703         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
704
705         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
706         (gst_clock_set_master):
707         Drop our reference to the master clock, if any, when we are disposed.
708
709         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
710         Chain up in dispose. 
711
712 2006-01-26  Wim Taymans  <wim@fluendo.com>
713
714         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
715         Add some debugging.
716
717 2006-01-26  Julien MOUTTE  <julien@moutte.net>
718
719         * plugins/elements/gsttee.c: (gst_tee_do_push),
720         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
721         handles pad being NOT_LINKED or in WRONG_STATE.
722
723 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
724
725         * win32/MANIFEST:
726           more updating
727
728 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
729
730         * win32/MANIFEST:
731           remove obsolete entry
732
733 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
734
735         * docs/gst/gstreamer-sections.txt:
736         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
737         (gst_bin_iterate_sources), (gst_bin_send_event):
738         * gst/gstbin.h:
739         * gst/gstelement.c: (gst_element_send_event):
740         * gst/gstevent.c:
741         * gst/gstpad.c: (gst_pad_send_event):
742           added code for downstream events, reviewed docs in gstevent.c
743
744 2006-01-25  Julien MOUTTE  <julien@moutte.net>
745
746         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
747         We only query position using the clock in the playing state.
748         Query peer in the other cases.
749         * win32/common/config.h: Updates.
750
751 2006-01-24  Wim Taymans  <wim@fluendo.com>
752
753         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
754         A clock entry that is scheduled for the exact time of the
755         clock is still in time.
756
757         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
758         (gst_base_sink_do_sync):
759         Add some more debug info.
760
761 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
762
763         * win32/vs7:
764           Add new vs7 project files and solution.
765
766 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
767
768         * win32/vs7:
769           all files removed as they were out-dated.
770
771 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
772
773         * docs/random/release:
774           update notes
775         * gst/gstbin.c: (gst_bin_init):
776         * gst/gstbus.c: (gst_bus_new):
777         * gst/gstbus.h:
778         * gst/gstpipeline.c: (gst_pipeline_init):
779           use gst_bus_new(), improve logging, fix docs
780         * win32/common/config.h:
781           update for cvs build
782
783 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
784
785         * autogen.sh:
786           up required version of automake to 1.7
787
788 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
789
790         * win32/common/libgstreamer.def:
791           export gst_buffer_is_metadata_writable
792
793 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
794
795         * docs/gst/gstreamer-sections.txt:
796         * gst/gstevent.h:
797           Add gst_event_replace() (#327001)
798
799 2006-01-20  Wim Taymans  <wim@fluendo.com>
800
801         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
802         Make it actually compile too..
803
804 2006-01-20  Wim Taymans  <wim@fluendo.com>
805
806         * gst/gstcaps.c:
807         Clarify behaviour of _is_equal() when passing NULL parameters.
808
809         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
810         (gst_pad_set_caps):
811         Cleanups. Don't unref NULL caps.
812         When setting the same caps, protect caps of the pad with
813         proper lock.
814         Use full functionality of _is_equal() when comparing caps.
815
816 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
817
818         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
819         Don't loop infinitely if there are no buffers to present. Partially
820         fixes #327197, but collectpads is just broken for reusing elements
821         to do multiple encodes atm.
822
823 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
824
825         * tools/gst-inspect.c: (print_element_features):
826         * tools/gst-xmlinspect.c: (main):
827         URL_HANDLER is not a plugin feature we can search for in
828         the registry.
829
830 2006-01-19  Edward Hervey  <edward@fluendo.com>
831
832         * gst/gstelement.c: (gst_element_pads_activate): 
833         When activating, do src pads first, then sink pads.
834         When de-activating, do sink pads first, then src pads.
835
836 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
837
838         * docs/gst/gstreamer-sections.txt:
839         Add gst_index_add_associationv to the docs
840
841 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
842
843         * gst/gstevent.c:
844           Fix docs typo
845
846         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
847         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
848           Do some refactoring. Doesn't actually change functionality,
849           but makes landing the DRAIN event easier later.
850
851 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
852
853         * docs/pwg/advanced-scheduling.xml:
854           Update from 0.9.x to 0.10 API and make example a bit
855           clearer.
856
857 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
858
859         * docs/gst/gstreamer-sections.txt:
860         Add gst_buffer_(is|make)_metadata_writable methods.
861
862 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
863
864         * docs/design/part-sparsestreams.txt:
865         Update sparse streams doc, hopefully for greater clarity
866
867 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
868
869         * docs/design/part-events.txt:
870         Remove mention of FILLER events.
871         Add DRAIN event.
872
873         * docs/design/part-sparsestreams.txt:
874         Write some things about using NEWSEGMENT to keep sparse streams
875         flowing.
876
877 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
878
879         * gst/gstbin.c: (gst_bin_dispose):
880           Guard gst_object_unref call against a NULL object (dispose
881           can theoretically be called multiple times).
882           
883 2006-01-18  Wim Taymans  <wim@fluendo.com>
884
885         * gst/gstbin.c: (gst_bin_element_set_state):
886         * gst/gstclock.c: (gst_clock_id_wait):
887         Added some more debug info.
888
889         * libs/gst/base/gstadapter.c:
890         Added more docs.
891
892         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
893         (gst_base_sink_do_sync), (gst_base_sink_chain):
894         Added some comments.
895
896 2006-01-18  Wim Taymans  <wim@fluendo.com>
897
898         * tests/check/Makefile.am:
899         * tests/check/elements/fakesink.c: (chain_async_buffer),
900         (chain_async), (chain_async_return), (GST_START_TEST),
901         (fakesink_suite), (main):
902         Added fakesink test that checks prerolling and clipping
903         behaviour.
904
905         * tests/check/gst/gstutils.c: (GST_START_TEST):
906         Make check run faster so that buildbots don't timeout.
907
908 2006-01-18  Wim Taymans  <wim@fluendo.com>
909
910         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
911         (gst_base_sink_do_sync):
912         Some cleanups.
913         When the sink finishes blocking on the preroll buffer, it can
914         immediatly render it instead of rendering when the next buffer
915         arrives.
916
917 2006-01-18  Wim Taymans  <wim@fluendo.com>
918
919         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
920         (gst_base_sink_get_property), (gst_base_sink_do_sync),
921         (gst_base_sink_chain):
922         Small cleanups.
923         GST_ELEMENT_CLOCK and sync are protected with LOCK.
924         Don't store _last_stop if the buffer is dropped.
925
926 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
927
928         * plugins/elements/gsttypefindelement.c:
929         (gst_type_find_element_class_init):
930           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
931           object method handler that sets the caps on the pad and we want
932           that to happen before we emit the signal (fixes e.g. feeding a
933           plain text file to decodebin).
934
935 2006-01-18  Christian Schaller  <Christian@fluendo.com>
936
937         * gst/gstplugin.c: Add MPL and Proprietary as license options
938
939 2006-01-18  Andy Wingo  <wingo@pobox.com>
940
941         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
942         symbol was exported before, it appears this was just an oversight.
943         Fixes #168703.
944         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
945
946         * gst/gstindex.c (gst_index_add_associationv): Changed int in
947         prototype to gint. OK since this prototype was not in the header.
948
949 2006-01-17  Andy Wingo  <wingo@pobox.com>
950
951         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
952         registry while we remove plugins.
953
954         * tools/gst-inspect.c (print_element_info): Don't unref the
955         factory arg, that should be the responsibility of whatever code
956         received the ref. Fixes a double-free when called from
957         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
958         (main): Unref the factory if we have one.
959         (print_element_list): No change -- relies on the
960         plugin_feature_list_free to free the list of features.
961
962 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
963
964         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
965         (gst_buffer_make_metadata_writable):
966         * gst/gstbuffer.h:
967         * libs/gst/base/gstbasetransform.c:
968         (gst_base_transform_prepare_output_buf):
969         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
970         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
971           Replace gst_buffer_(make|is)_metadata_writable patch now
972           that the release is out.
973
974 2006-01-17  Andy Wingo  <wingo@pobox.com>
975
976         * gst/gstregistry.c: Reflow design comment. Update so as to speak
977         in the present tense without reference to versions.
978
979         * gst/gstregistry.c (gst_registry_add_plugin)
980         (gst_registry_remove_plugin, gst_registry_remove_feature)
981         (gst_registry_find_feature, gst_registry_get_feature_list)
982         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
983         (gst_registry_lookup, gst_registry_scan_path)
984         (_gst_registry_remove_cache_plugins)
985         (gst_registry_get_feature_list_by_plugin): Add argument
986         validation.
987
988 === release 0.10.2 ===
989
990 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
991
992         * configure.ac:
993           releasing 0.10.2, "If man is five"
994
995 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
996
997         * gst/gstbuffer.c:
998         * gst/gstbuffer.h:
999         * libs/gst/base/gstbasetransform.c:
1000         (gst_base_transform_prepare_output_buf):
1001         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1002         * tests/check/gst/gstbuffer.c: (gst_test_suite):
1003           Back out patch until after the release.
1004
1005 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1006
1007         * gst/gstminiobject.c:
1008           Spelling fix in docs.
1009         * ChangeLog - remove conflict indicator
1010
1011 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1012
1013         Reviewed By: Andy Wingo
1014
1015         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1016         (gst_buffer_make_metadata_writable):
1017         * gst/gstbuffer.h:
1018           Add gst_buffer_(is|make)_metadata_writable as analogues of
1019           gst_buffer_(is|make)_writable.
1020
1021         * libs/gst/base/gstbasetransform.c:
1022         (gst_base_transform_prepare_output_buf):
1023         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1024           Use name gst_buffer_(is|make)_metadata_writable functions.
1025
1026         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1027           Test gst_buffer_(is|make)_metadata_writable
1028         
1029           (Closes: #324162)
1030
1031 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1032
1033         * docs/manual/Makefile.am:
1034           don't do parallel make
1035         * configure.ac:
1036           AC_SUBST HOST_CPU
1037         * win32/common/config.h.in:
1038           add generations for HOST_CPU and GST_MAJORMINOR
1039         * win32/common/config.h:
1040           commit generated result
1041
1042 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
1043
1044         * docs/manual/appendix-integration.xml:
1045           Update GNOME integration section to use gst_init_get_option_group()
1046           instead of the old popt stuff (#322911). Also, GNOME applications
1047           should  now use gconf*sink and gconf*src instead of the old gconf
1048           helper lib we had.
1049
1050 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
1051
1052
1053         * docs/gst/gstreamer-docs.sgml:
1054         * docs/gst/gstreamer-sections.txt:
1055         * docs/libs/gstreamer-libs-sections.txt:
1056           add new API entries to the docs
1057         * libs/gst/controller/Makefile.am:
1058         * libs/gst/controller/gstcontroller.c:
1059         * libs/gst/controller/gstcontroller.h:
1060         * libs/gst/controller/gstcontrollerprivate.h:
1061         * libs/gst/controller/gsthelper.c:
1062         * libs/gst/controller/gstinterpolation.c:
1063           move private structs to private header
1064         * po/README:
1065           gstreamer-0.7 -> gstreamer-0.10
1066         * tests/check/libs/struct_i386.h:
1067           remove private structs
1068
1069 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1070
1071         * plugins/indexers/Makefile.am:
1072           Fixes as part of #317048
1073
1074 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1075
1076         * plugins/indexers/Makefile.am:
1077           fix #316086 - compilation when mmap is missing
1078
1079 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
1080
1081         * libs/gst/base/gstbasesink.c:
1082           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
1083           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
1084         * win32/common/config.h:
1085           added some defines GST_MAJORMINOR and HOST_CPU
1086         * win32/common/libgstbase.def:
1087         * win32/common/libgstreamer.def:
1088           added some exported functions.
1089
1090 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1091
1092         * libs/gst/controller/gstcontroller.c:
1093         (gst_controlled_property_set_interpolation_mode),
1094         (gst_controlled_property_new):
1095         * libs/gst/controller/gstcontroller.h:
1096         * libs/gst/controller/gstinterpolation.c:
1097         (interpolate_none_get_string_value_array):
1098           make G_TYPE_STRING controlable
1099
1100 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1101
1102         * tools/README:
1103         * tools/gst-feedback.1.in:
1104         * tools/gst-inspect.1.in:
1105         * tools/gst-launch.1.in:
1106         * tools/gst-md5sum.1.in:
1107         * tools/gst-typefind.1.in:
1108         * tools/gst-xmlinspect.1.in:
1109         * tools/gst-xmllaunch.1.in:
1110           cleanup man-pages, remove reference to gst-register, document env-vars
1111
1112 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
1113
1114         * gst/gstbuffer.c: (gst_buffer_span):
1115           gst_buffer_span should copy the timestamp of the first buffer
1116           if they were both originally overlapping subbuffers of the 
1117           same parent, using the same logic as the 'slow copy' case.
1118
1119 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
1120
1121         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
1122           Need to awaken ALL the pads when we pop a buffer, otherwise
1123           collectpads only works when there is 2 input streams.
1124
1125 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
1126
1127         * docs/random/ensonic/media-device-daemon.txt:
1128           more ideas (dbus)
1129         * gst/gstbuffer.c:
1130           fix doc example, add clarification
1131         * tools/gst-launch.1.in:
1132           add initial info about GST_PLUGIN_PATH, needs more work
1133
1134 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1135
1136         * docs/manual/basics-bins.xml:
1137         * docs/manual/basics-elements.xml:
1138         * docs/manual/intro-basics.xml:
1139           Some more minor docs additions and updates.
1140
1141 2006-01-11  Wim Taymans  <wim@fluendo.com>
1142
1143         * docs/manual/basics-bins.xml:
1144         * docs/manual/basics-elements.xml:
1145         Some small fixes as pointed out by Ser-ver on IRC.
1146
1147 2006-01-10  Edward Hervey  <edward@fluendo.com>
1148
1149         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1150         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
1151         the single-segment mode.
1152
1153 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
1154
1155         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1156
1157         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
1158         (gst_base_src_perform_seek), (gst_base_src_send_event),
1159         (gst_base_src_set_property), (gst_base_src_get_property),
1160         (gst_base_src_loop), (gst_base_src_start),
1161         (gst_base_src_activate_push):
1162         * libs/gst/base/gstbasesrc.h:
1163           Name (private) union; makes Sun's Forte compiler happy (#324900).
1164
1165 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1166
1167         * README:
1168           gst-register is gone.
1169
1170 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1171
1172         * gst/gstvalue.c: (_gst_value_initialize):
1173           make the G_TYPE_DATE instantiation work if debug is disabled
1174
1175 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
1176
1177         * gst/gstmessage.c: (gst_message_parse_tag),
1178         (gst_message_parse_error), (gst_message_parse_warning):
1179           Don't crash when return location for error/warning debug
1180           string is NULL; add fact that return locations can be
1181           NULL to docs where appropriate.
1182
1183 2006-01-05  Wim Taymans  <wim@fluendo.com>
1184
1185         * gst/gstplugin.c: (gst_plugin_load_file):
1186         Replace strdup by g_strdup.
1187
1188 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1189
1190         * docs/pwg/advanced-types.xml:
1191           fix doc borkage
1192
1193 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1194
1195         submitted by: Abel Cheung
1196
1197         * po/LINGUAS:
1198         * po/zh_TW.po:
1199           Added Chinese (traditional) translation
1200
1201 2006-01-04  Wim Taymans  <wim@fluendo.com>
1202
1203         * docs/manual/basics-pads.xml:
1204         * docs/plugins/Makefile.am:
1205         * docs/plugins/gstreamer-plugins-docs.sgml:
1206         * docs/plugins/gstreamer-plugins-sections.txt:
1207         * docs/pwg/advanced-clock.xml:
1208         * docs/pwg/advanced-scheduling.xml:
1209         * docs/pwg/advanced-types.xml:
1210         * plugins/elements/gstfdsink.c:
1211         * plugins/elements/gstfdsrc.c:
1212         * plugins/elements/gstfdsrc.h:
1213         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1214         * plugins/elements/gstidentity.h:
1215         * plugins/elements/gstqueue.h:
1216         * plugins/elements/gsttee.c:
1217         * plugins/elements/gsttee.h:
1218         * plugins/elements/gsttypefindelement.c:
1219         (gst_type_find_element_class_init):
1220         * plugins/elements/gsttypefindelement.h:
1221         Small updates to various docs.
1222         Added core plugins to docs.
1223
1224 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1225
1226         * common/gst.supp:
1227           add a suppression for liboil's uninitialized variable
1228
1229 2006-01-02  James Livingston  <jrl at ids dot org dot au>
1230
1231         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1232
1233         * gst/gstutils.h:
1234           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
1235           macro, so that gcc doesn't complain if the -Wmissing-prototypes
1236           compiler switch is being used (#325429).
1237
1238 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
1239
1240         * gst/gstbin.c: (gst_bin_query):
1241           Disable duration query caching in bins until it gets
1242           fixed (see #324807).
1243
1244 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1245
1246         * tools/gst-inspect.c: (print_element_properties_info):
1247           Handle properties of POINTER and BOXED type.
1248
1249 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1250
1251         * gst/gst.c: (init_post):
1252           Init tags stuff and some other things before loading
1253           any static plugins (there may be other static plugins
1254           than just the GStreamer ones, and they may want to
1255           register their own tags or formats or whatever, and
1256           preferably without segfaulting).
1257
1258         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1259           Print at least a warning in the debug logs if we drop a
1260           query just because we don't know how to adjust the value
1261           in the particular format.
1262
1263 2005-12-24  David Schleef  <ds@schleef.org>
1264
1265         * tools/gstreamer-completion:
1266           Replacement for gst-complete written in sh and sed.  Only
1267           completes names of features, but that's 90% of what I want
1268           it for.  Properties are not available in registry.xml.  (Maybe
1269           they should be...)
1270
1271 === release 0.10.1 ===
1272
1273 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
1274
1275         * configure.ac:
1276           releasing 0.10.1, "Nollaig chridheil"
1277
1278 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
1279
1280         * docs/faq/cvs.xml:
1281           Add missing quote, should be make ERROR_CFLAGS="".
1282
1283 2005-12-20  Wim Taymans  <wim@fluendo.com>
1284
1285         * docs/design/part-trickmodes.txt:
1286         More documentation on trickmodes.
1287
1288 2005-12-20  Edward Hervey  <edward@fluendo.com>
1289
1290         * gst/gstcaps.c: (gst_static_caps_get_type):
1291         * gst/gstcaps.h:
1292           API addition: GST_TYPE_STATIC_CAPS
1293         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
1294         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
1295         * gst/gstpadtemplate.h:
1296           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
1297         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
1298         bindings.
1299
1300 2005-12-18  Wim Taymans  <wim@fluendo.com>
1301
1302         * libs/gst/base/gstadapter.c:
1303         * libs/gst/base/gstadapter.h:
1304         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1305         (gst_base_sink_get_position):
1306         * libs/gst/base/gstbasesink.h:
1307         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1308         (gst_base_src_default_query), (gst_base_src_default_do_seek),
1309         (gst_base_src_do_seek), (gst_base_src_perform_seek),
1310         (gst_base_src_send_event), (gst_base_src_update_length),
1311         (gst_base_src_get_range), (gst_base_src_loop),
1312         (gst_base_src_start):
1313         * libs/gst/base/gstbasesrc.h:
1314         * libs/gst/base/gstbasetransform.h:
1315         * libs/gst/base/gstcollectpads.h:
1316         * libs/gst/base/gstpushsrc.c:
1317         * libs/gst/base/gstpushsrc.h:
1318         * libs/gst/dataprotocol/dataprotocol.c:
1319         * libs/gst/dataprotocol/dataprotocol.h:
1320         * libs/gst/net/gstnetclientclock.h:
1321         * libs/gst/net/gstnettimeprovider.h:
1322         Documentation updates.
1323
1324 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1325
1326         * docs/manual/basics-helloworld.xml:
1327           Remove superfluous closing bracket in helloworld example.
1328
1329 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1330
1331         * tools/gst-launch.1.in:
1332           Update gst-launch man page; add a section with useful
1333           environment variables. Fixes #323882.
1334
1335 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
1336
1337         * gst/gst.c:
1338         * gst/gst_private.h:
1339           change some char* into char[]
1340
1341 2005-12-16  Wim Taymans  <wim@fluendo.com>
1342
1343         * gst/gstregistryxml.c: (load_feature):
1344         Cleanups.
1345         Don't use g_object_unref on GstObjects so that we avoid
1346         leaks on unsafe glibs.
1347
1348 2005-12-16  Wim Taymans  <wim@fluendo.com>
1349
1350         * gst/gstbin.c: (gst_bin_recalc_state):
1351         Small doc updates.
1352
1353 2005-12-16  Wim Taymans  <wim@fluendo.com>
1354
1355         * common/check.mak:
1356         Added make forever target for check.
1357
1358 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1359
1360         * gst/gst.c: (init_post):
1361           make the registry cache file HOST_CPU-dependent
1362
1363 2005-12-16  Andy Wingo  <wingo@pobox.com>
1364
1365         * plugins/elements/gstbufferstore.c
1366         (gst_buffer_store_cleared_func): Pay attention to g_list_append
1367         return value.
1368
1369         * tests/check/gst/gstobject.c
1370         (test_fake_object_name_threaded_unique): Pay attention to
1371         g_list_sort return value.
1372
1373 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1374
1375         * tools/gst-feedback-m.m:
1376           Update for 0.9/0.10 (fixes #323870).
1377
1378 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
1379
1380         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
1381           Fix lcopy for mini objects, the mini object needs to be ref'ed.
1382           
1383         * tests/check/gst/gstminiobject.c: (my_foo_init),
1384         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
1385         (test_value_collection), (gst_mini_object_suite):
1386           Add test to ensure refcounts end up as expected when passing
1387           GstMiniObjects through g_object_get() and g_object_set().
1388
1389 2005-12-14  Julien MOUTTE  <julien@moutte.net>
1390
1391         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1392         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
1393         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
1394         of collectpads. This version removes a lot of races without
1395         touching API/ABI. Yay !
1396
1397 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
1398
1399         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
1400           Don't allow activation of a srcpad in pull_range if it has no
1401           getrange function.
1402           Change some debug statements to be a little clearer
1403
1404         * plugins/elements/gsttypefindelement.c:
1405         (gst_type_find_handle_src_query):
1406           Check that we have a peer before executing queries thereupon.
1407
1408         * tests/examples/metadata/read-metadata.c: (message_loop):
1409           Use gst_bus_pop instead of gst_bus_poll when we just want it to
1410           immediately return us any available message with 0 timeout.
1411
1412 2005-12-12  Michael Smith  <msmith@fluendo.com>
1413
1414         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1415           Don't unref factories after calling them.
1416         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
1417         * plugins/elements/gsttypefindelement.c:
1418         (gst_type_find_element_chain):
1419           Free lists of factories after using them. Fixing typefinding memory
1420           leaks.
1421
1422 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1423
1424         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1425         (gst_plugin_feature_load):
1426           more meaningful debug output
1427         * configure.ac:
1428         * tests/Makefile.am:
1429         * tests/old/examples/Makefile.am:
1430           make make distcheck happy again
1431
1432 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1433
1434         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1435           Catch the special case where we are operating chain-based,
1436           but the downstream peer pad has no chain function. Emit a
1437           custom error message in this case instead of letting the
1438           core generate one implying that this is some sort of core
1439           bug. It's not, it just means that whatever got plugged
1440           into the pipeline downstream when we announced the type
1441           can only operate pull-based, while our source can only
1442           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
1443           Error string has not been marked for translation yet, as
1444           it probably needs some more work first.
1445
1446         (gst_type_find_element_get_best_possibility):
1447           Add helper function to find the best of all available
1448           found possibilities that qualify given the min. threshold.
1449
1450         (gst_type_find_element_handle_event):
1451           Fix the case where we get an EOS while still in TYPEFIND
1452           mode (we want to chose the best of all possible types,
1453           not just the first type that happens to be in our unsorted
1454           list of possible types).
1455
1456         (gst_type_find_element_chain):
1457           Make sure we return GST_FLOW_ERROR when we errored out
1458           in stop_typefinding(); also, don't just find the best of
1459           all found type entries and then use the last examined
1460           type entry, but actually use the best entry.
1461
1462 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1463
1464         * tests/examples/typefind/typefind.c: (type_found):
1465         * tests/examples/xml/runxml.c: (xml_loaded):
1466           More gcc4 fixes and a mem leak fix.
1467
1468 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1469
1470         * tests/examples/xml/createxml.c: (object_saved):
1471           gcc 4 fixes
1472
1473 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1474
1475         * tests/Makefile.am:
1476           enable the examples even more
1477
1478 2005-12-12  Andy Wingo  <wingo@pobox.com>
1479
1480         * libs/gst/net/gstnettimeprovider.c
1481         (gst_net_time_provider_class_init, gst_net_time_provider_init)
1482         (gst_net_time_provider_set_property)
1483         (gst_net_time_provider_get_property):
1484         API addition: Export "active" as a GObject property.
1485         (gst_net_time_provider_thread): Only respond to time queries if
1486         the time provider is active.
1487
1488         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
1489         NetTimeProvider, preserving binary compat.
1490
1491 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1492
1493         * tests/examples/controller/audio-example.c: (main):
1494         * tests/examples/launch/Makefile.am:
1495           convert comments again
1496
1497 2005-12-12  Wim Taymans  <wim@fluendo.com>
1498
1499         * libs/gst/base/gstpushsrc.c:
1500         Fix typo.
1501
1502 2005-12-12  Wim Taymans  <wim@fluendo.com>
1503
1504         * docs/libs/gstreamer-libs-sections.txt:
1505         Added new symbol to docs.
1506
1507         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1508         (gst_base_src_init), (gst_base_src_set_format),
1509         (gst_base_src_default_query), (gst_base_src_query),
1510         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
1511         (gst_base_src_perform_seek), (gst_base_src_send_event),
1512         (gst_base_src_default_event), (gst_base_src_event_handler),
1513         (gst_base_src_set_property), (gst_base_src_get_property),
1514         (gst_base_src_wait), (gst_base_src_do_sync),
1515         (gst_base_src_update_length), (gst_base_src_get_range),
1516         (gst_base_src_check_get_range), (gst_base_src_loop),
1517         (gst_base_src_default_negotiate), (gst_base_src_start),
1518         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1519         (gst_base_src_change_state):
1520         * libs/gst/base/gstbasesrc.h:
1521         Implement seeking to other formats than _BYTES.
1522         Implement more seeking methods correctly.
1523         Doc updates.
1524         Added query vmethod.
1525         Added do_seek vmethod to make life easier for subclasses
1526         when seeking.
1527         API addition: gst_base_src_set_format()
1528
1529 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1530
1531         * tests/examples/Makefile.am:
1532           added that too
1533
1534 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1535
1536         * configure.ac:
1537         * docs/random/ensonic/media-device-daemon.txt:
1538         * tests/examples/controller/.cvsignore:
1539         * tests/examples/controller/Makefile.am:
1540         * tests/examples/controller/audio-example.c: (main):
1541         * tests/examples/helloworld/.cvsignore:
1542         * tests/examples/helloworld/Makefile.am:
1543         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
1544         * tests/examples/launch/.cvsignore:
1545         * tests/examples/launch/Makefile.am:
1546         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
1547         * tests/examples/metadata/.cvsignore:
1548         * tests/examples/metadata/Makefile.am:
1549         * tests/examples/metadata/read-metadata.c: (message_loop),
1550         (make_pipeline), (print_tag), (main):
1551         * tests/examples/queue/.cvsignore:
1552         * tests/examples/queue/Makefile.am:
1553         * tests/examples/queue/queue.c: (event_loop), (main):
1554         * tests/examples/typefind/.cvsignore:
1555         * tests/examples/typefind/Makefile.am:
1556         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
1557         (main):
1558         * tests/examples/xml/.cvsignore:
1559         * tests/examples/xml/Makefile.am:
1560         * tests/examples/xml/createxml.c: (object_saved), (main):
1561         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
1562         * tests/old/examples/Makefile.am:
1563         * tests/old/examples/TODO:
1564         * tests/old/examples/controller/.cvsignore:
1565         * tests/old/examples/controller/Makefile.am:
1566         * tests/old/examples/controller/audio-example.c:
1567         * tests/old/examples/helloworld/.cvsignore:
1568         * tests/old/examples/helloworld/Makefile.am:
1569         * tests/old/examples/helloworld/helloworld.c:
1570         * tests/old/examples/launch/.cvsignore:
1571         * tests/old/examples/launch/Makefile.am:
1572         * tests/old/examples/launch/mp3parselaunch.c:
1573         * tests/old/examples/launch/mp3play:
1574         * tests/old/examples/manual/Makefile.am:
1575         * tests/old/examples/metadata/Makefile.am:
1576         * tests/old/examples/metadata/read-metadata.c:
1577         * tests/old/examples/queue/.cvsignore:
1578         * tests/old/examples/queue/Makefile.am:
1579         * tests/old/examples/queue/queue.c:
1580         * tests/old/examples/typefind/.cvsignore:
1581         * tests/old/examples/typefind/Makefile.am:
1582         * tests/old/examples/typefind/typefind.c:
1583         * tests/old/examples/xml/.cvsignore:
1584         * tests/old/examples/xml/Makefile.am:
1585         * tests/old/examples/xml/createxml.c:
1586         * tests/old/examples/xml/runxml.c:
1587           applied some simple fixing to some examples
1588           re-enabled the working examples
1589
1590 2005-12-12  Wim Taymans  <wim@fluendo.com>
1591
1592         * gst/gstsegment.c: (gst_segment_init),
1593         (gst_segment_set_last_stop), (gst_segment_set_seek),
1594         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1595         (gst_segment_to_running_time):
1596         Added more documentation.
1597         Make sure the last_pos value is updated properly.
1598         Make sure to_stream_time and to_running_time don't
1599         operate on wrong values.
1600
1601         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1602         Update check.
1603
1604 2005-12-12  Michael Smith  <msmith@fluendo.com>
1605
1606         * plugins/elements/gsttypefindelement.c: (free_entry),
1607         (gst_type_find_element_chain):
1608           Now that we're not leaking factories, make sure we keep references
1609           to them while we need them.
1610
1611 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1612
1613         * tests/check/gst/struct_i386.h:
1614           ifdef out the XML structs
1615
1616 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1617
1618         * gst/gstvalue.c: (gst_value_transform_double_fraction):
1619           floor is not needed, F is always positive; this obviates the
1620           need for adding -lm when building without libxml
1621
1622 2005-12-12  Wim Taymans  <wim@fluendo.com>
1623
1624         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1625         Take current playback rate into account when reporting
1626         the position.
1627
1628 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1629
1630         * docs/manual/mime-world.fig:
1631           Let's try this again, this time with a file that is
1632           actually in XFig format.
1633
1634 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1635
1636         * docs/manual/mime-world.fig:
1637           Add audioconvert element to diagram so that it
1638           matches the text and the code (fixes #319526).
1639
1640 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1641
1642         * docs/pwg/building-chainfn.xml:
1643         * docs/pwg/building-pads.xml:
1644         * docs/pwg/building-state.xml:
1645         * docs/pwg/other-source.xml:
1646           Update state change stuff for 0.10 (fixes #322969).
1647
1648 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1649
1650         * docs/manual/advanced-dataaccess.xml:
1651         * docs/manual/appendix-checklist.xml:
1652         * docs/manual/appendix-programs.xml:
1653         * docs/manual/basics-pads.xml:
1654         * docs/manual/highlevel-components.xml:
1655         * docs/manual/manual.xml:
1656           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1657           add converters in front of pipelines; remove curly
1658           brackets for threads stuff, they no longer exist; use
1659           GST_TYPE_FRACTION for framerates; update some pieces of
1660           code to 0.10, but there's plenty more to do.
1661
1662         * docs/manual/appendix-porting.xml:
1663           Expand on asynchroneous state changes; s/0.9/0.10/;
1664           mention disappearance of gst_init_get_popt_table()
1665           (fixes #322916).
1666
1667 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1668
1669         * docs/faq/using.xml:
1670           Spider no longer exists, and neither does gst-launch-ext.
1671           Update examples to use decodebin and playbin and put
1672           converters in front of sinks (fixes #323726).
1673
1674 2005-12-09  Michael Smith  <msmith@fluendo.com>
1675
1676         * plugins/elements/gsttypefindelement.c: (find_peek),
1677         (gst_type_find_element_chain):
1678           Fix leaking element factories in typefinding.
1679           Fix problem where we forgot about a probable type on non-seekable
1680           files, and thus later mis-typefound it.
1681
1682 2005-12-09  Michael Smith  <msmith@fluendo.com>
1683
1684         * common/m4/gst-makecontext.m4:
1685         * common/m4/gst-mcsc.m4:
1686         * configure.ac:
1687         * win32/common/config.h:
1688         * win32/common/config.h.in:
1689           Remove makecontext stuff; not used in 0.10 and causes problems on
1690           HPUX according to bug #322441
1691
1692 2005-12-07  Wim Taymans  <wim@fluendo.com>
1693
1694         * tests/check/Makefile.am:
1695         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1696         (main):
1697         * tests/check/libs/struct_i386.h:
1698         Added ABI check for libs
1699
1700 2005-12-07  Wim Taymans  <wim@fluendo.com>
1701
1702         * tests/check/Makefile.am:
1703         And add the struct_i386.h to dist.
1704
1705 2005-12-07  Wim Taymans  <wim@fluendo.com>
1706
1707         * tests/check/Makefile.am:
1708         * tests/check/gst/.cvsignore:
1709         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1710         (main):
1711         * tests/check/gst/struct_i386.h:
1712         Added check for ABI compatibility.
1713
1714 2005-12-07  Wim Taymans  <wim@fluendo.com>
1715
1716         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1717         (gst_fake_src_get_times), (gst_fake_src_create):
1718         Fix broken sync option, fixes #323259
1719
1720 2005-12-07  Wim Taymans  <wim@fluendo.com>
1721
1722         * gst/gstbuffer.c:
1723         Small docs update.
1724
1725         * gst/gstcaps.c: (gst_caps_is_equal):
1726         Don't assert on NULL <--> X. Fixes #323260
1727
1728         * gst/gstminiobject.c: (gst_mini_object_replace):
1729         If we're doing atomic operations, we might just as well use
1730         the proper way to get an atomic pointer.
1731
1732         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1733         Clean up debugging.
1734
1735 2005-12-07  Michael Smith  <msmith@fluendo.com>
1736
1737         * gst/parse/grammar.y:
1738           Remove handling of { } for threads.
1739
1740 2005-12-06  David Schleef  <ds@schleef.org>
1741
1742         * libs/gst/base/gstbasetransform.c: speling fix.
1743
1744 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1745
1746         * docs/libs/tmpl/gstdataprotocol.sgml:
1747         * docs/random/omega/testing/gstobject.c:
1748         * gst/gst.c:
1749         * gst/gstclock.c:
1750         * gst/gstelement.c:
1751         * gst/gstelementfactory.c:
1752         * gst/gsterror.c:
1753         * gst/gstevent.c:
1754         * gst/gstghostpad.c:
1755         * gst/gstinfo.c:
1756         * gst/gstpadtemplate.c:
1757         * gst/gstregistryxml.c:
1758         * gst/gsttaglist.c:
1759         * gst/gsttagsetter.c:
1760         * gst/gsttypefind.c:
1761         * gst/gstvalue.c:
1762         * libs/gst/base/gstbasesrc.c:
1763         * libs/gst/net/gstnetclientclock.c:
1764         * libs/gst/net/gstnettimeprovider.c:
1765         * plugins/elements/gstfakesrc.c:
1766         * plugins/elements/gstfdsrc.c:
1767         * plugins/elements/gstfilesrc.c:
1768         * plugins/elements/gstidentity.c:
1769         * plugins/elements/gstqueue.c:
1770         * plugins/elements/gsttypefindelement.c:
1771         * plugins/indexers/gstfileindex.c:
1772         * plugins/indexers/gstmemindex.c:
1773         * tests/check/gst/gsttag.c:
1774         * tests/old/examples/cutter/cutter.c:
1775         * tests/old/examples/mixer/mixer.c:
1776         * tests/old/examples/xml/runxml.c: (main):
1777         * tests/old/testsuite/caps/normalisation.c:
1778         * tests/old/testsuite/debug/global.c:
1779         * tests/old/testsuite/parse/parse1.c:
1780         * tools/gst-xmlinspect.c:
1781         * win32/common/dirent.c:
1782           expand tabs
1783
1784 === release 0.10.0 ===
1785
1786 2005-12-05   <thomas (at) apestaart (dot) org>
1787
1788         * configure.ac:
1789           releasing 0.10.0, "Maroilles"
1790
1791 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1792
1793         submitted by: Funda Wang <fundawang@linux.net.cn>
1794
1795         * po/LINGUAS:
1796         * po/zh_CN.po:
1797           added Chinese (Traditional) translation
1798
1799 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1800
1801         * docs/gst/gstreamer-sections.txt:
1802         * docs/libs/tmpl/gstdataprotocol.sgml:
1803         * docs/random/thomasvs/TODO:
1804         * gst/gstutils.c:
1805         * gst/gstutils.h:
1806           fix docs
1807
1808 2005-12-05  Andy Wingo  <wingo@pobox.com>
1809
1810         patch by: Wim Taymans <wim@fluendo.com>
1811
1812         * libs/gst/base/gstbasetransform.c
1813         (gst_base_transform_prepare_output_buf)
1814         (gst_base_transform_buffer_alloc):
1815         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1816         alloc_buffer_and_set_caps.
1817
1818         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1819         set_caps on the source pad.
1820         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1821         alloc_buffer used to do. Fixes #322874.
1822
1823         * docs/gst/gstreamer-sections.txt: 
1824         * docs/design/part-negotiation.txt: 
1825         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1826         changes.
1827
1828 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1829
1830         patch by: Sebastien Moutte
1831
1832         * win32/MANIFEST:
1833         * win32/common/config.h.in:
1834         * win32/vs6/libgstcontroller.dsp:
1835           win32 build fixes
1836
1837 2005-12-05  Wim Taymans  <wim@fluendo.com>
1838
1839         * gst/gstcaps.c: (gst_caps_is_equal):
1840         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1841         (gst_fake_src_create):
1842         Back out previous code changes, leave doc updates, file bugs 
1843         instead. 
1844
1845 2005-12-05  Wim Taymans  <wim@fluendo.com>
1846
1847         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1848         (gst_fake_src_get_times), (gst_fake_src_create):
1849         * plugins/elements/gstfakesrc.h:
1850         Fix broken sync code.
1851
1852 2005-12-05  Wim Taymans  <wim@fluendo.com>
1853
1854         * gst/gstcaps.c: (gst_caps_is_equal):
1855         Comparing NULL against !NULL yields different caps, not a
1856         failure.
1857
1858 2005-12-05  Wim Taymans  <wim@fluendo.com>
1859
1860         * gst/gstpipeline.c:
1861         Fix small typo in docs.
1862
1863 2005-12-05  Andy Wingo  <wingo@pobox.com>
1864
1865         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1866
1867         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1868         registries/plugins with a MAJORMINOR one.
1869         (plugin_desc): Rename library from gstcoreleements to
1870         staticelements. Fixes #323222.
1871
1872 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1873
1874         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1875           Change debug category to 'collectpads' from 'collect_pads'
1876           (fixes #323250).
1877
1878 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1879
1880         patch by: Sebastien Moutte
1881
1882         * libs/gst/controller/gstinterpolation.c:
1883           use convert function for uint64/double
1884         * win32/vs6/libgstcontroller.dsp:
1885           link to GLib
1886
1887 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1888
1889         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1890         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1891         * gst/gstutils.h:
1892         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1893           add tests that seem to show that the guint64/gdouble conversions
1894           are correct.
1895
1896 2005-12-02  Wim Taymans  <wim@fluendo.com>
1897
1898         * gst/gstregistry.c: (gst_registry_add_path):
1899         * gst/gstregistry.h:
1900         * gst/gstregistryxml.c:
1901         Fix docs again.
1902
1903 2005-12-02  Wim Taymans  <wim@fluendo.com>
1904
1905         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1906         (gst_util_uint64_scale_int):
1907         Small cleanup.
1908
1909         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1910         Add debug log line.
1911
1912         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1913         Add FIXME.
1914
1915 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1916
1917         * win32/MANIFEST:
1918         * win32/common/config.h:
1919         * win32/vs6/gstreamer.dsw:
1920         * win32/vs6/libgstcoreelements.dsp:
1921         * win32/vs6/libgstelements.dsp:
1922           renamed core elements plugin
1923
1924 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1925
1926         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1927         (get_candidates):
1928           do piece-wise major/minor comparison so 0.9 < 0.10
1929           also allow .exe extensions for tools
1930
1931 2005-12-02  Michael Smith  <msmith@fluendo.com>
1932
1933         * gst/gst.c:
1934           Escape a % to make gtkdoc happier; bug 322958.
1935
1936 === release 0.9.7 ===
1937
1938 2005-12-01   <thomas (at) apestaart (dot) org>
1939
1940         * configure.ac:
1941           releasing 0.9.7, "My Dog Has No Nose"
1942
1943 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1944
1945         * common/gst-xmlinspect.py:
1946         * configure.ac:
1947         * docs/libs/tmpl/gstdataprotocol.sgml:
1948         * docs/random/release:
1949         * po/af.po:
1950         * po/az.po:
1951         * po/bg.po:
1952         * po/ca.po:
1953         * po/cs.po:
1954         * po/de.po:
1955         * po/en_GB.po:
1956         * po/fr.po:
1957         * po/it.po:
1958         * po/nb.po:
1959         * po/nl.po:
1960         * po/ru.po:
1961         * po/sq.po:
1962         * po/sr.po:
1963         * po/sv.po:
1964         * po/tr.po:
1965         * po/uk.po:
1966         * po/vi.po:
1967         * win32/common/config.h:
1968         * win32/common/config.h.in:
1969         * win32/vs6/gst_inspect.dsp:
1970         * win32/vs6/gst_launch.dsp:
1971         * win32/vs6/libgstbase.dsp:
1972         * win32/vs6/libgstelements.dsp:
1973         * win32/vs6/libgstreamer.dsp:
1974         * win32/vs7/GStreamer.vcproj:
1975         * win32/vs7/gst-inspect.vcproj:
1976         * win32/vs7/gst-launch.vcproj:
1977         * win32/vs7/libgstbase.vcproj:
1978           bump GST_MAJORMINOR to 0.10
1979           reset libtool version
1980
1981 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1982
1983         * po/LINGUAS:
1984         * po/bg.po:
1985           Added Bulgarian translation by (Alexander Shopov)
1986
1987 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1988
1989         * tests/check/gst/gstplugin.c:
1990           fix test
1991
1992 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1993
1994         * common/gst-xmlinspect.py:
1995         * common/gtk-doc-plugins.mak:
1996         * configure.ac:
1997         * docs/Makefile.am:
1998         * docs/gst/Makefile.am:
1999         * docs/gst/gstreamer-docs.sgml:
2000         * docs/gst/gstreamer-sections.txt:
2001         * docs/gst/gstreamer.types:
2002         * docs/gst/gstreamer.types.in:
2003         * docs/plugins/Makefile.am:
2004         * docs/plugins/gstreamer-plugins-docs.sgml:
2005         * docs/plugins/gstreamer-plugins-sections.txt:
2006         * docs/plugins/gstreamer-plugins.types:
2007         * docs/plugins/inspect.stamp:
2008         * docs/plugins/inspect/plugin-coreelements.xml:
2009         * docs/plugins/inspect/plugin-coreindexers.xml:
2010         * docs/plugins/scanobj-build.stamp:
2011         * gstreamer.spec.in:
2012         * plugins/elements/Makefile.am:
2013         * plugins/elements/gstelements.c:
2014         * plugins/elements/gstfakesink.c:
2015         * plugins/elements/gstfakesrc.c:
2016         * plugins/elements/gstfilesink.c:
2017         * plugins/elements/gstfilesrc.c:
2018         * plugins/elements/gstqueue.c:
2019         * plugins/indexers/Makefile.am:
2020         * plugins/indexers/gstindexers.c:
2021           document core plugins in a separate document just like all the
2022           others
2023           rename these plugins to something starting with core
2024
2025 2005-12-01  Andy Wingo  <wingo@pobox.com>
2026
2027         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
2028         padding here before, but it missed the commit.
2029
2030 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2031
2032         * libs/gst/controller/gstinterpolation.c:
2033           whitespace prices have crashed, we should feel free to use some now
2034           use gst_guint64_to_gdouble
2035
2036 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2037
2038         * libs/gst/controller/gstcontroller.c:
2039         * libs/gst/controller/gsthelper.c:
2040         * libs/gst/controller/gstinterpolation.c:
2041         * libs/gst/controller/lib.c:
2042           wrap config.h include
2043
2044 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2045
2046         * docs/gst/gstreamer-sections.txt:
2047           update docs
2048
2049 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2050
2051         * plugins/elements/gstelements.c:
2052         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
2053         (gst_fd_sink__class_init), (gst_fd_sink__init),
2054         (gst_fd_sink__chain), (gst_fd_sink__set_property),
2055         (gst_fd_sink__get_property):
2056         * plugins/elements/gstfdsink.h:
2057         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
2058         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
2059         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
2060         (gst_fd_src_unlock), (gst_fd_src_set_property),
2061         (gst_fd_src_get_property), (gst_fd_src_create),
2062         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
2063         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
2064         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
2065         (gst_fd_src_uri_handler_init):
2066         * plugins/elements/gstfdsrc.h:
2067         * plugins/elements/gstqueue.c: (gst_queue_get_type):
2068           more anal cleanup
2069
2070 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2071
2072         * docs/gst/Makefile.am:
2073         * docs/gst/gstreamer.types.in:
2074         * gst/Makefile.am:
2075           fix the docs build
2076
2077 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2078
2079         * configure.ac:
2080         * gst/Makefile.am:
2081         * gst/gst.c:
2082         * gst/gstplugin.h:
2083         * gst/gstregistry.h:
2084         * tests/benchmarks/complexity.c:
2085         * tests/benchmarks/mass-elements.c:
2086         * tests/check/Makefile.am:
2087         * tools/Makefile.am:
2088         * tools/gst-inspect.c:
2089         * tools/gst-xmlinspect.c:
2090           various fixes to make
2091           --disable-nls --disable-registry --disable-loadsave
2092           --disable-parse --disable-gst-debug
2093           work and get the core .so down to 360444 bytes after stripping
2094
2095 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2096
2097         * Makefile.am:
2098         * configure.ac:
2099           descend into tests
2100         * docs/random/thomasvs/TODO:
2101         * tests/Makefile.am:
2102         * tests/README:
2103           add a README
2104
2105 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2106
2107         * win32/GStreamer.vcproj:
2108         * win32/MANIFEST:
2109         * win32/Makefile:
2110         * win32/Makefile.inspect:
2111         * win32/Makefile.launch:
2112         * win32/Makefile.register:
2113         * win32/README.txt:
2114         * win32/gst-inspect.vcproj:
2115         * win32/gst-launch.vcproj:
2116         * win32/gst-register.vcproj:
2117         * win32/gstelements.vcproj:
2118         * win32/gstgetbits.def:
2119         * win32/gstgetbits.vcproj:
2120         * win32/gstreamer-dbg.def:
2121         * win32/gstreamer.def:
2122         * win32/libgstbase.def:
2123         * win32/libgstbase.vcproj:
2124         * win32/link_oldruntime.c:
2125         * win32/mman.c:
2126         * win32/mman.h:
2127         * win32/mman.inl:
2128         * win32/msvc71.sln:
2129           move even more stuff, win32/ is nice and clean now
2130
2131 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2132
2133         * libs/gst/control/.cvsignore:
2134         * win32/MANIFEST:
2135         * win32/config.h:
2136         * win32/dirent.c:
2137         * win32/dirent.h:
2138         * win32/gstbytestream.def:
2139         * win32/gstbytestream.vcproj:
2140         * win32/gstconfig.h:
2141         * win32/gstenumtypes.c:
2142         * win32/gstenumtypes.h:
2143         * win32/gstoptimalscheduler.vcproj:
2144         * win32/gstversion.h:
2145         * win32/gtchar.h:
2146         * win32/testsuite/bins.vcproj:
2147         * win32/testsuite/bytestream.vcproj:
2148         * win32/testsuite/caps.vcproj:
2149         * win32/testsuite/cleanup.vcproj:
2150         * win32/testsuite/clock.vcproj:
2151         * win32/testsuite/debug.vcproj:
2152         * win32/testsuite/dlopen.vcproj:
2153         * win32/testsuite/dynparams.vcproj:
2154         * win32/testsuite/elements.vcproj:
2155         * win32/testsuite/ghostpads.vcproj:
2156         * win32/testsuite/indexers.vcproj:
2157         * win32/testsuite/negotiation.vcproj:
2158         * win32/testsuite/parse.vcproj:
2159         * win32/testsuite/plugin.vcproj:
2160         * win32/testsuite/refcounting.vcproj:
2161         * win32/testsuite/schedulers.vcproj:
2162         * win32/testsuite/states.vcproj:
2163         * win32/testsuite/tags.vcproj:
2164         * win32/testsuite/threads.vcproj:
2165           remove old win32 stuff that isn't maintained and should be
2166           reorganized
2167
2168 2005-11-30  Andy Wingo  <wingo@pobox.com>
2169
2170         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
2171         loading the gst.interfaces python module bork.
2172
2173         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
2174         available since GLib 2.2. Fixes #318031.
2175
2176 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2177
2178         * Makefile.am:
2179         * check/.cvsignore:
2180         * check/Makefile.am:
2181         * check/elements/.cvsignore:
2182         * check/elements/fakesrc.c:
2183         * check/elements/fdsrc.c:
2184         * check/elements/identity.c:
2185         * check/generic/.cvsignore:
2186         * check/generic/states.c:
2187         * check/gst-libs/.cvsignore:
2188         * check/gst-libs/controller.c:
2189         * check/gst-libs/gdp.c:
2190         * check/gst/.cvsignore:
2191         * check/gst/capslist.h:
2192         * check/gst/gst.c:
2193         * check/gst/gstbin.c:
2194         * check/gst/gstbuffer.c:
2195         * check/gst/gstbus.c:
2196         * check/gst/gstcaps.c:
2197         * check/gst/gstelement.c:
2198         * check/gst/gstevent.c:
2199         * check/gst/gstghostpad.c:
2200         * check/gst/gstiterator.c:
2201         * check/gst/gstmessage.c:
2202         * check/gst/gstminiobject.c:
2203         * check/gst/gstobject.c:
2204         * check/gst/gstpad.c:
2205         * check/gst/gstpipeline.c:
2206         * check/gst/gstplugin.c:
2207         * check/gst/gstsegment.c:
2208         * check/gst/gststructure.c:
2209         * check/gst/gstsystemclock.c:
2210         * check/gst/gsttag.c:
2211         * check/gst/gstutils.c:
2212         * check/gst/gstvalue.c:
2213         * check/net/.cvsignore:
2214         * check/net/gstnetclientclock.c:
2215         * check/net/gstnettimeprovider.c:
2216         * check/pipelines/.cvsignore:
2217         * check/pipelines/cleanup.c:
2218         * check/pipelines/simple_launch_lines.c:
2219         * check/pipelines/stress.c:
2220         * check/states/.cvsignore:
2221         * check/states/sinks.c:
2222         * configure.ac:
2223         * examples/Makefile.am:
2224         * examples/appreader/.cvsignore:
2225         * examples/appreader/Makefile.am:
2226         * examples/appreader/appreader.c:
2227         * examples/controller/.cvsignore:
2228         * examples/controller/Makefile.am:
2229         * examples/controller/audio-example.c:
2230         * examples/cutter/.cvsignore:
2231         * examples/cutter/Makefile.am:
2232         * examples/cutter/cutter.c:
2233         * examples/cutter/cutter.h:
2234         * examples/events/Makefile.am:
2235         * examples/events/seek.c:
2236         * examples/helloworld/.cvsignore:
2237         * examples/helloworld/Makefile.am:
2238         * examples/helloworld/helloworld.c:
2239         * examples/helloworld2/.cvsignore:
2240         * examples/helloworld2/Makefile.am:
2241         * examples/helloworld2/helloworld2.c:
2242         * examples/launch/.cvsignore:
2243         * examples/launch/Makefile.am:
2244         * examples/launch/mp3parselaunch.c:
2245         * examples/launch/mp3play:
2246         * examples/manual/.cvsignore:
2247         * examples/manual/Makefile.am:
2248         * examples/manual/extract.pl:
2249         * examples/metadata/Makefile.am:
2250         * examples/metadata/read-metadata.c:
2251         * examples/mixer/.cvsignore:
2252         * examples/mixer/Makefile.am:
2253         * examples/mixer/mixer.c:
2254         * examples/mixer/mixer.h:
2255         * examples/pingpong/.cvsignore:
2256         * examples/pingpong/Makefile.am:
2257         * examples/pingpong/pingpong.c:
2258         * examples/plugins/.cvsignore:
2259         * examples/plugins/Makefile.am:
2260         * examples/plugins/example.c:
2261         * examples/plugins/example.h:
2262         * examples/pwg/.cvsignore:
2263         * examples/pwg/Makefile.am:
2264         * examples/pwg/extract.pl:
2265         * examples/queue/.cvsignore:
2266         * examples/queue/Makefile.am:
2267         * examples/queue/queue.c:
2268         * examples/queue2/.cvsignore:
2269         * examples/queue2/Makefile.am:
2270         * examples/queue2/queue2.c:
2271         * examples/queue3/.cvsignore:
2272         * examples/queue3/Makefile.am:
2273         * examples/queue3/queue3.c:
2274         * examples/queue4/.cvsignore:
2275         * examples/queue4/Makefile.am:
2276         * examples/queue4/queue4.c:
2277         * examples/retag/.cvsignore:
2278         * examples/retag/Makefile.am:
2279         * examples/retag/retag.c:
2280         * examples/retag/transcode.c:
2281         * examples/thread/.cvsignore:
2282         * examples/thread/Makefile.am:
2283         * examples/thread/thread.c:
2284         * examples/typefind/.cvsignore:
2285         * examples/typefind/Makefile.am:
2286         * examples/typefind/typefind.c:
2287         * examples/xml/.cvsignore:
2288         * examples/xml/Makefile.am:
2289         * examples/xml/createxml.c:
2290         * examples/xml/runxml.c:
2291         * tests/Makefile.am:
2292         * tests/check/Makefile.am:
2293         * testsuite/.cvsignore:
2294         * testsuite/Makefile.am:
2295         * testsuite/Rules:
2296         * testsuite/caps/.cvsignore:
2297         * testsuite/caps/Makefile.am:
2298         * testsuite/caps/app_fixate.c:
2299         * testsuite/caps/audioscale.c:
2300         * testsuite/caps/caps.c:
2301         * testsuite/caps/caps.h:
2302         * testsuite/caps/caps_strings:
2303         * testsuite/caps/compatibility.c:
2304         * testsuite/caps/deserialize.c:
2305         * testsuite/caps/enumcaps.c:
2306         * testsuite/caps/eratosthenes.c:
2307         * testsuite/caps/filtercaps.c:
2308         * testsuite/caps/fixed.c:
2309         * testsuite/caps/fraction-convert.c:
2310         * testsuite/caps/fraction-multiply-and-zero.c:
2311         * testsuite/caps/intersect2.c:
2312         * testsuite/caps/intersection.c:
2313         * testsuite/caps/normalisation.c:
2314         * testsuite/caps/random.c:
2315         * testsuite/caps/renegotiate.c:
2316         * testsuite/caps/sets.c:
2317         * testsuite/caps/simplify.c:
2318         * testsuite/caps/string-conversions.c:
2319         * testsuite/caps/structure.c:
2320         * testsuite/caps/subtract.c:
2321         * testsuite/caps/union.c:
2322         * testsuite/debug/.cvsignore:
2323         * testsuite/debug/Makefile.am:
2324         * testsuite/debug/category.c:
2325         * testsuite/debug/commandline.c:
2326         * testsuite/debug/global.c:
2327         * testsuite/debug/output.c:
2328         * testsuite/debug/printf_extension.c:
2329         * testsuite/dlopen/.cvsignore:
2330         * testsuite/dlopen/Makefile.am:
2331         * testsuite/dlopen/dlopen_gst.c:
2332         * testsuite/dlopen/loadgst.c:
2333         * testsuite/elements/.cvsignore:
2334         * testsuite/elements/Makefile.am:
2335         * testsuite/elements/gst-inspect-check.in:
2336         * testsuite/elements/struct_i386.h:
2337         * testsuite/elements/struct_size.c:
2338         * testsuite/indexers/.cvsignore:
2339         * testsuite/indexers/Makefile.am:
2340         * testsuite/indexers/cache1.c:
2341         * testsuite/indexers/indexdump.c:
2342         * testsuite/parse/.cvsignore:
2343         * testsuite/parse/Makefile.am:
2344         * testsuite/parse/parse1.c:
2345         * testsuite/parse/parse2.c:
2346         * testsuite/plugin/.cvsignore:
2347         * testsuite/plugin/Makefile.am:
2348         * testsuite/plugin/README:
2349         * testsuite/plugin/dynamic.c:
2350         * testsuite/plugin/linked.c:
2351         * testsuite/plugin/loading.c:
2352         * testsuite/plugin/registry.c:
2353         * testsuite/plugin/static.c:
2354         * testsuite/plugin/static2.c:
2355         * testsuite/plugin/testplugin.c:
2356         * testsuite/plugin/testplugin2.c:
2357         * testsuite/plugin/testplugin2_s.c:
2358         * testsuite/plugin/testplugin_s.c:
2359         * testsuite/refcounting/.cvsignore:
2360         * testsuite/refcounting/Makefile.am:
2361         * testsuite/refcounting/bin.c:
2362         * testsuite/refcounting/element.c:
2363         * testsuite/refcounting/element_pad.c:
2364         * testsuite/refcounting/mainloop.c:
2365         * testsuite/refcounting/mem.c:
2366         * testsuite/refcounting/mem.h:
2367         * testsuite/refcounting/object.c:
2368         * testsuite/refcounting/pad.c:
2369         * testsuite/refcounting/sched.c:
2370         * testsuite/refcounting/thread.c:
2371         * testsuite/states/.cvsignore:
2372         * testsuite/states/Makefile.am:
2373         * testsuite/states/bin.c:
2374         * testsuite/states/locked.c:
2375         * testsuite/states/parent.c:
2376         * testsuite/threads/.cvsignore:
2377         * testsuite/threads/159566.c:
2378         * testsuite/threads/159852.c:
2379         * testsuite/threads/Makefile.am:
2380         * testsuite/threads/queue.c:
2381         * testsuite/threads/signals.c:
2382         * testsuite/threads/staticrec.c:
2383         * testsuite/threads/thread.c:
2384         * testsuite/threads/threadb.c:
2385         * testsuite/threads/threadc.c:
2386         * testsuite/threads/threadd.c:
2387         * testsuite/threads/threade.c:
2388         * testsuite/threads/threadf.c:
2389         * testsuite/threads/threadg.c:
2390         * testsuite/threads/threadh.c:
2391         * testsuite/threads/threadi.c:
2392           move all of these under tests
2393
2394 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2395
2396         * configure.ac:
2397         * tests/Makefile.am:
2398           fix distcheck
2399
2400 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2401
2402         * docs/gst/gstreamer-sections.txt:
2403         * tests/sched/.cvsignore:
2404         * tests/sched/Makefile.am:
2405         * tests/sched/cases/(fs-fs).xml:
2406         * tests/sched/cases/(fs-i-fs).xml:
2407         * tests/sched/cases/(fs-i-i-fs).xml:
2408         * tests/sched/cases/(fs-i-q[i-fs]).xml:
2409         * tests/sched/dynamic-pipeline.c:
2410         * tests/sched/interrupt1.c:
2411         * tests/sched/interrupt2.c:
2412         * tests/sched/interrupt3.c:
2413         * tests/sched/runtestcases:
2414         * tests/sched/runxml.c:
2415         * tests/sched/sched-stress.c:
2416         * tests/sched/sort.c:
2417         * tests/sched/testcases:
2418         * tests/sched/testcases1.tc:
2419         * tests/seeking/.cvsignore:
2420         * tests/seeking/Makefile.am:
2421         * tests/seeking/seeking1.c:
2422         * tests/threadstate/.cvsignore:
2423         * tests/threadstate/Makefile.am:
2424         * tests/threadstate/test1.c:
2425         * tests/threadstate/test2.c:
2426         * tests/threadstate/threadstate1.c:
2427         * tests/threadstate/threadstate2.c:
2428         * tests/threadstate/threadstate3.c:
2429         * tests/threadstate/threadstate4.c:
2430         * tests/threadstate/threadstate5.c:
2431           remove obsolete tests
2432         * configure.ac:
2433         * tests/bench-complexity.scm:
2434         * tests/bench-mass_elements.scm:
2435         * tests/complexity.c:
2436         * tests/complexity.gnuplot:
2437         * tests/instantiate/.cvsignore:
2438         * tests/instantiate/Makefile.am:
2439         * tests/instantiate/caps.c:
2440         * tests/mass_elements.c:
2441         * tests/network-clock-utils.scm:
2442         * tests/network-clock.scm:
2443         * tests/plot-data:
2444         First pass at cleaning up tests/ dir before moving the rest
2445         Combined with CVS surgery
2446
2447 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2448
2449         * po/POTFILES.in:
2450           queue has moved, update
2451
2452 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2453
2454         * docs/gst/gstreamer-sections.txt:
2455           remove double entries from the docs
2456         * gst/gst_private.h:
2457         * gst/gstinfo.c: (_gst_debug_init):
2458           remove the THREAD debug category
2459         * gst/Makefile.am:
2460         * gst/gstqueue.c:
2461         * gst/gstqueue.h:
2462         * docs/gst/gstreamer.types:
2463         * plugins/elements/gstqueue.c: (gst_queue_get_type),
2464         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
2465           completely move queue and fix up debugging categories
2466
2467 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2468
2469         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2470           make initialization portable, using LL is not
2471
2472 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2473
2474         * win32/common/gstconfig.h:
2475           add large padding
2476
2477 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2478
2479         * win32/common/libgstreamer.def:
2480           rename symbols; sort base section
2481
2482 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2483
2484         * gst/gstclock.c: (do_linear_regression):
2485           remove crack non-portable handrolled DEBUG macro
2486
2487 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2488
2489         * docs/random/release:
2490           update notes
2491         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2492         (gst_object_flags_get_type), (register_gst_bin_flags),
2493         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2494         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2495         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2496         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
2497         (gst_caps_flags_get_type), (register_gst_clock_return),
2498         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2499         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2500         (gst_clock_flags_get_type), (register_gst_state),
2501         (gst_state_get_type), (register_gst_state_change_return),
2502         (gst_state_change_return_get_type), (register_gst_state_change),
2503         (gst_state_change_get_type), (register_gst_element_flags),
2504         (gst_element_flags_get_type), (register_gst_core_error),
2505         (gst_core_error_get_type), (register_gst_library_error),
2506         (gst_library_error_get_type), (register_gst_resource_error),
2507         (gst_resource_error_get_type), (register_gst_stream_error),
2508         (gst_stream_error_get_type), (register_gst_event_type_flags),
2509         (gst_event_type_flags_get_type), (register_gst_event_type),
2510         (gst_event_type_get_type), (register_gst_seek_type),
2511         (gst_seek_type_get_type), (register_gst_seek_flags),
2512         (gst_seek_flags_get_type), (register_gst_format),
2513         (gst_format_get_type), (register_gst_index_certainty),
2514         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2515         (gst_index_entry_type_get_type),
2516         (register_gst_index_lookup_method),
2517         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2518         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2519         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2520         (gst_index_flags_get_type), (register_gst_debug_level),
2521         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2522         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2523         (gst_iterator_result_get_type), (register_gst_iterator_item),
2524         (gst_iterator_item_get_type), (register_gst_message_type),
2525         (gst_message_type_get_type), (register_gst_mini_object_flags),
2526         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2527         (gst_pad_link_return_get_type), (register_gst_flow_return),
2528         (gst_flow_return_get_type), (register_gst_activate_mode),
2529         (gst_activate_mode_get_type), (register_gst_pad_direction),
2530         (gst_pad_direction_get_type), (register_gst_pad_flags),
2531         (gst_pad_flags_get_type), (register_gst_pad_presence),
2532         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2533         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2534         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2535         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2536         (gst_plugin_flags_get_type), (register_gst_rank),
2537         (gst_rank_get_type), (register_gst_query_type),
2538         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2539         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2540         (gst_tag_flag_get_type), (register_gst_task_state),
2541         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2542         (gst_alloc_trace_flags_get_type),
2543         (register_gst_type_find_probability),
2544         (gst_type_find_probability_get_type), (register_gst_uri_type),
2545         (gst_uri_type_get_type), (register_gst_parse_error),
2546         (gst_parse_error_get_type):
2547         * win32/common/gstenumtypes.h:
2548         * win32/common/gstversion.h:
2549           update visual studio generated files
2550
2551 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2552
2553         * win32/vs6/libgstbase.dsp:
2554         * win32/vs6/libgstelements.dsp:
2555           update project files for new locations
2556
2557 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2558
2559         * Makefile.am:
2560           remove some files
2561         * README:
2562           reinstate and update
2563         * DEVEL:
2564         * REQUIREMENTS:
2565           removed
2566         * LICENSE:
2567         * docs/random/LICENSE:
2568           moved to random
2569
2570 2005-11-30  Edward Hervey  <edward@fluendo.com>
2571
2572         * gst/gsttypefind.c: (gst_type_find_register):
2573         * gst/gsttypefind.h:
2574         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
2575         (gst_type_find_factory_dispose):
2576         * gst/gsttypefindfactory.h:
2577         Fix memory leak in GstTypeFindFactory.
2578
2579 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2580
2581         * gst/gst.c:
2582         * plugins/elements/Makefile.am:
2583         * plugins/elements/gstelements.c:
2584         * plugins/elements/gstqueue.c:
2585           move queue from core to the elements plugin
2586
2587 2005-11-29  Andy Wingo  <wingo@pobox.com>
2588
2589         * libs/gst/base/gstbasetransform.h: 
2590         * libs/gst/base/gstbasesrc.h: 
2591         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
2592
2593         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
2594         of pointers by which to pad very extensible base classes (like the
2595         ones in libs/gst/base).
2596
2597 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2598
2599         * docs/gst/gstreamer-docs.sgml:
2600         * docs/gst/gstreamer-sections.txt:
2601         * docs/libs/gstreamer-libs-docs.sgml:
2602         * docs/libs/gstreamer-libs-sections.txt:
2603           moving documentation from core to lib
2604
2605 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2606
2607         * check/Makefile.am:
2608         * configure.ac:
2609         * docs/gst/Makefile.am:
2610         * gst/Makefile.am:
2611         * gst/base/.cvsignore:
2612         * gst/base/Makefile.am:
2613         * gst/base/README:
2614         * gst/base/gstadapter.c:
2615         * gst/base/gstadapter.h:
2616         * gst/base/gstbasesink.c:
2617         * gst/base/gstbasesink.h:
2618         * gst/base/gstbasesrc.c:
2619         * gst/base/gstbasesrc.h:
2620         * gst/base/gstbasetransform.c:
2621         * gst/base/gstbasetransform.h:
2622         * gst/base/gstcollectpads.c:
2623         * gst/base/gstcollectpads.h:
2624         * gst/base/gstpushsrc.c:
2625         * gst/base/gstpushsrc.h:
2626         * gst/base/gsttypefindhelper.c:
2627         * gst/base/gsttypefindhelper.h:
2628         * gst/check/Makefile.am:
2629         * gst/check/gstcheck.c:
2630         * gst/check/gstcheck.h:
2631         * gst/net/Makefile.am:
2632         * gst/net/gstnet.h:
2633         * gst/net/gstnetclientclock.c:
2634         * gst/net/gstnetclientclock.h:
2635         * gst/net/gstnettimepacket.c:
2636         * gst/net/gstnettimepacket.h:
2637         * gst/net/gstnettimeprovider.c:
2638         * gst/net/gstnettimeprovider.h:
2639         * libs/gst/Makefile.am:
2640         * libs/gst/base/Makefile.am:
2641         * libs/gst/base/gstbasetransform.c:
2642         * libs/gst/check/Makefile.am:
2643         * plugins/elements/Makefile.am:
2644         * po/POTFILES.in:
2645           CVS surgery + support to move base, check, and net out of gst
2646           and into libs/gst
2647
2648 2005-11-29  Andy Wingo  <wingo@pobox.com>
2649
2650         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2651
2652         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2653         padding.
2654
2655         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2656
2657         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2658
2659         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2660
2661         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2662         padding; reduces object size by about 30%. We don't expect
2663         anything else to go into gstobject.
2664
2665         * gst/gstminiobject.h (struct _GstMiniObject)
2666         (struct _GstMiniObjectClass): Only one pointer of padding; the
2667         payload is only a pointer and two ints anyway. For the class there
2668         are only two methods as well.
2669         
2670         * gst/gstelement.h (struct _GstElementClass): Removed
2671         the state_changed signal callback, it is not used.
2672
2673 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2674
2675         * docs/gst/gstreamer.types:
2676           fix includes, though they are a little dinky
2677
2678 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2679
2680         * check/Makefile.am:
2681           look in the right place for elements, a lot more chance of
2682           success
2683         * gst/Makefile.am:
2684           remove indexers and elements subdirs
2685         * plugins/Makefile.am:
2686           make indexers conditional
2687
2688 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2689
2690         * Makefile.am:
2691         * configure.ac:
2692         * plugins/elements/Makefile.am:
2693         * plugins/elements/gstcapsfilter.c:
2694         * plugins/elements/gstfilesink.c:
2695         * plugins/elements/gstfilesrc.c:
2696         * plugins/elements/gstidentity.c:
2697         * plugins/indexers/Makefile.am:
2698           do CVS surgery and related build fixery to move elements
2699           and indexers in a new gstreamer/plugins directory, out of the
2700           gst/ directory
2701
2702 2005-11-29  Andy Wingo  <wingo@pobox.com>
2703
2704         * check/Makefile.am:
2705         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2706         * pkgconfig/gstreamer-net.pc.in:
2707         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2708         #322257.
2709
2710 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2711
2712         * tools/Makefile.am:
2713         * tools/gst-complete.1.in:
2714         * tools/gst-complete.c:
2715         * tools/gst-compprep.1.in:
2716         * tools/gst-compprep.c:
2717           removing -compprep and -complete
2718
2719 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2720
2721         * gst/gstevent.c: (gst_event_new_new_segment),
2722         (gst_event_parse_new_segment):
2723         * gst/gstevent.h:
2724           fix #320529 - clean up new_segment API and structure.
2725           Let's hope everyone was using the methods, and not the structure.
2726
2727 2005-11-29  Edward Hervey  <edward@fluendo.com>
2728
2729         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2730         (gst_base_sink_event), (gst_base_sink_do_sync),
2731         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2732         Properly handle non GST_FORMAT_TIME segment
2733         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2734         Properly handle non GST_FORMAT_TIME segment
2735         * gst/gstsegment.c:
2736         This function is valid if the accumulator is 0 and the format
2737         is different from the requested format.
2738         
2739 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2740
2741         * docs/gst/gstreamer-sections.txt:
2742         Add gst_query_new_seeking and gst_query_parse_seeking to the
2743         docs.
2744
2745 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2746
2747         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2748           Treat a pad alloc with new caps the same as if we were not
2749           negotiated, in order to allow a changing upstream output
2750           to produce a new format of data.
2751
2752 2005-11-29  Edward Hervey  <edward@fluendo.com>
2753
2754         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2755         (gst_base_transform_event), (gst_base_transform_eventfunc):
2756         The event virtual method is now properly implemented, with a default
2757         handler
2758         Sub classes should call the parent_class event method. They should
2759         return FALSE if they had a problem handling the given event, or don't
2760         want GstBaseTransform to send that even downstream
2761         * gst/elements/gstidentity.c: (gst_identity_class_init),
2762         (gst_identity_init), (gst_identity_event),
2763         (gst_identity_transform_ip), (gst_identity_set_property),
2764         (gst_identity_get_property):
2765         * gst/elements/gstidentity.h:
2766         Added the single-segment boolean property.
2767         If set to TRUE, it will output a single segment of data, starting from
2768         0, will eat up all incoming newsegment, and modify the timestamp of the
2769         buffers accordingly
2770
2771 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2772
2773         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2774           Don't ref NULL target pad (#322751). Improve docs.
2775
2776 2005-11-29  Michael Smith  <msmith@fluendo.com>
2777
2778         * gst/gstregistryxml.c: (load_plugin):
2779           Don't crash if we failed to load a feature from a plugin. 
2780
2781 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2782
2783         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2784         (GST_START_TEST):
2785           use more check API and less GLib API
2786
2787 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2788
2789         * Makefile.am:
2790           don't run checks if we don't have check
2791         * common/check.mak:
2792           remove the registry when running make torture
2793         * docs/gst/gstreamer-sections.txt:
2794           remove second multiply
2795         * gst/gstqueue.c: (gst_queue_loop):
2796           fix a compile warning when disabling debug
2797
2798 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2799
2800         * gst/gstinfo.h:
2801         Hey! Let's print the pad name if the pointer != NULL instead
2802         of when it == NULL :-)
2803
2804 2005-11-28  Wim Taymans  <wim@fluendo.com>
2805
2806         * check/gst/gstutils.c: (GST_START_TEST):
2807         Updated check, add some scaling accuracy checking code.
2808
2809         * gst/gstutils.c: (gst_util_div128_64),
2810         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2811         (gst_util_uint64_scale_int):
2812         Fix 6 times faster division code. Optimize for common 
2813         1/1 and less common X/1 cases.
2814
2815 2005-11-28  Wim Taymans  <wim@fluendo.com>
2816
2817         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2818         More checks.
2819
2820         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2821         (do_linear_regression), (gst_clock_add_observation):
2822         Cleanups.
2823         Release lock when the clock cannot be slaved.
2824         Catch the case where the regression returned an invalid denominator.
2825
2826         * gst/gstutils.c: (gst_util_div128_64_iterate),
2827         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2828         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2829         Add protentially more performant non-iterative 128/64 divide function
2830         that unfortunatly does not work yet.
2831         Shortcut the trivial 0/X = 0 case.
2832         Remove the warnings on overflow.
2833
2834 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2835
2836         * gst/gstplugin.c: (gst_plugin_register_func):
2837           everything causing a plugin not to load should be at least a WARNING
2838
2839 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2840
2841         * docs/random/ensonic/dparams.txt:
2842           some TODOs for the next dev cycle
2843         * libs/gst/controller/gstcontroller.c:
2844         (gst_controlled_property_set_interpolation_mode),
2845         (gst_controlled_property_new):
2846         * libs/gst/controller/gstcontroller.h:
2847           use base type to assign acccessor functions
2848
2849 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2850
2851         * check/Makefile.am:
2852         Oops, that should have been top_srcdir
2853
2854 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2855
2856         * check/Makefile.am:
2857         * check/elements/fdsrc.c: (GST_START_TEST):
2858         Use a cmdline define to specify the location of a file to use for
2859         testing, to avoid breaking distcheck.
2860
2861 2005-11-28  Andy Wingo  <wingo@pobox.com>
2862
2863         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2864
2865 2005-11-28  Edward Hervey  <edward@fluendo.com>
2866
2867         * tools/gst-launch.c: (main):
2868         Clarify the output strings, makes it easier to translate.
2869         Fixes #322626
2870
2871 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2872
2873         * gst/Makefile.am:
2874           don't try and build net if we don't even have <sys/socket.h>
2875
2876 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2877
2878         * check/Makefile.am:
2879         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2880         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2881           Add tests for fdsrc seekability
2882
2883         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2884         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2885         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2886         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2887         * gst/elements/gstfdsrc.h:
2888           fdsrc should not be a 'live' source.
2889           Implement seeking on seekable fd's.
2890
2891         * gst/gstquery.c: (gst_query_new_seeking),
2892         (gst_query_parse_seeking):
2893         * gst/gstquery.h:
2894           Implement SEEKING query functions: 
2895             *_new_seeking and *_parse_seeking
2896
2897 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2898
2899         * gst/gstelement.c: (gst_element_dispose):
2900           don't loop forever
2901
2902         * gst/gstiterator.c:
2903         * gst/gststructure.c:
2904           doc fixes
2905
2906         * libs/gst/controller/gstcontroller.c:
2907         (gst_controlled_property_set_interpolation_mode):
2908         * libs/gst/controller/gstcontroller.h:
2909         * libs/gst/controller/gstinterpolation.c:
2910         (interpolate_none_get_enum_value_array):
2911           support controlling enums
2912
2913 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2914
2915         * gst/gstvalue.c:
2916           Improve documentation for gst_value_union().
2917
2918         * gst/gstvalue.h:
2919           Change return value for union, intersect and subtract functions
2920           from gint to gboolean.
2921
2922 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2923
2924         * gst/gstvalue.c: (gst_value_serialize_any_list),
2925         (gst_value_transform_any_list_string),
2926         (gst_value_deserialize_list), (gst_value_deserialize_array),
2927         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2928         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2929         (gst_value_set_fraction_range_full),
2930         (gst_value_deserialize_fraction_range),
2931         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2932         (gst_value_deserialize_boolean),
2933         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2934         (gst_value_serialize_float), (gst_value_deserialize_float),
2935         (gst_string_wrap), (gst_value_deserialize_string),
2936         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2937         (gst_value_union_int_range_int_range),
2938         (gst_value_intersect_int_range_int_range),
2939         (gst_value_intersect_double_range_double_range),
2940         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2941         (gst_value_subtract_int_range_int_range),
2942         (gst_value_subtract_double_double_range),
2943         (gst_value_subtract_double_range_double_range),
2944         (gst_value_deserialize_fraction):
2945         * gst/gstvalue.h:
2946           Use gint, gdouble and gchar in our API instead of int, double and
2947           char (and make usage in gstvalue.c more consistent).
2948
2949 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2950
2951         * check/Makefile.am:
2952         * libs/gst/controller/Makefile.am:
2953         * libs/gst/dataprotocol/Makefile.am:
2954           fix up Makefile.am and remove GST_ENABLE_NEW
2955
2956 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2957
2958         * configure.ac:
2959         * gst/Makefile.am:
2960         * gst/base/Makefile.am:
2961         * gst/check/Makefile.am:
2962         * gst/elements/Makefile.am:
2963         * gst/net/Makefile.am:
2964           update LDFLAGS use some more
2965
2966 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2967
2968         * common/m4/gst-doc.m4:
2969           Fixes #312589
2970
2971 2005-11-26  Edward Hervey  <edward@fluendo.com>
2972
2973         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2974         This shouldn't issue a g_warning since it returns NULL if it
2975         couldn't find the plugin, and all functions using this behave
2976         properly on a NULL return. Switching to a GST_WARNING.
2977
2978 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2979
2980         * gst/gstbin.c: (gst_bin_handle_message_func):
2981         Don't leak clock messages.
2982
2983 2005-11-25  Wim Taymans  <wim@fluendo.com>
2984
2985         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2986         (gst_util_uint64_scale_int):
2987         Optimisations, remove unneeded vars.
2988
2989 2005-11-25  Wim Taymans  <wim@fluendo.com>
2990
2991         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2992         Added more checks for the high precision uint64 cases.
2993
2994         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2995         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2996         Implement high precision (guint64 * guint64) / guint64.
2997
2998 2005-11-24  Wim Taymans  <wim@fluendo.com>
2999
3000         * gst/base/gstbasesrc.c: (gst_base_src_query):
3001         Fix wrong percentage query.
3002
3003         * gst/gstutils.c: (gst_util_uint64_scale),
3004         (gst_util_uint64_scale_int):
3005         Add some more common cases that can be handled 
3006         efficiently to _scale.
3007
3008 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3009
3010         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
3011         (gst_mini_object_suite):
3012           don't use check calls from threads; check probably isn't
3013           threadsafe and using a lock to make it threadsafe would
3014           defeat the purpose of this check
3015         * gst/check/gstcheck.c:
3016         * gst/check/gstcheck.h:
3017           use GST_DEBUG some more
3018
3019 2005-11-24  Wim Taymans  <wim@fluendo.com>
3020
3021         * gst/gstutils.c: (gst_util_uint64_scale),
3022         (gst_util_uint64_scale_int):
3023         Chain trivial case to _scale_int.
3024
3025 2005-11-24  Wim Taymans  <wim@fluendo.com>
3026
3027         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3028         Added test for scaling.
3029
3030         * gst/gstclock.h:
3031         Small doc fix.
3032
3033         * gst/gstutils.c: (gst_util_uint64_scale_int):
3034         Implemented high precision scaling code.
3035
3036 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
3037
3038         * gst/gstinfo.h:
3039           do not crash on pad==NULL
3040
3041 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3042
3043         Patch by: Stefan Kost
3044
3045         * common/gtk-doc.mak:
3046         * docs/gst/Makefile.am:
3047         * docs/libs/Makefile.am:
3048           Fix distcheck issues for the libraries docs build
3049           Closes #319599.
3050
3051 2005-11-24  Michael Smith <msmith@fluendo.com>
3052
3053         * docs/manual/basics-helloworld.xml:
3054           Fix bug #315027: memory leak in example code in docs.
3055
3056 2005-11-24  Michael Smith <msmith@fluendo.com>
3057
3058         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3059           Unlock the PREROLL_LOCK in a failure case.
3060
3061 2005-11-24  Wim Taymans  <wim@fluendo.com>
3062
3063         * docs/gst/gstreamer-sections.txt:
3064         * gst/base/gstadapter.h:
3065         * gst/base/gstbasesink.h:
3066         * gst/base/gstbasesrc.h:
3067         * gst/base/gstbasetransform.h:
3068         * gst/base/gstpushsrc.h:
3069         * gst/elements/gstfakesink.h:
3070         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
3071         * gst/elements/gstfakesrc.h:
3072         * gst/elements/gstfilesink.h:
3073         * gst/elements/gstfilesrc.h:
3074         * gst/gst.c:
3075         * gst/gstbin.c:
3076         * gst/gstbuffer.c: (_gst_buffer_copy):
3077         * gst/gstbus.h:
3078         * gst/gstcaps.c:
3079         * gst/gstchildproxy.c:
3080         * gst/gstclock.c:
3081         * gst/gstelement.c:
3082         * gst/gstelementfactory.c:
3083         * gst/gstelementfactory.h:
3084         * gst/gstevent.c:
3085         * gst/gstghostpad.h:
3086         * gst/gstindex.h:
3087         * gst/gstinterface.h:
3088         * gst/gstminiobject.c:
3089         * gst/gstminiobject.h:
3090         * gst/gstpad.c:
3091         * gst/gstpad.h:
3092         * gst/gstpadtemplate.h:
3093         * gst/gstpipeline.h:
3094         * gst/gstpluginfeature.h:
3095         * gst/gstquery.h:
3096         * gst/gstqueue.h:
3097         * gst/gsttaglist.c:
3098         * gst/gsttaglist.h:
3099         * gst/gsttagsetter.c:
3100         * gst/gsttagsetter.h:
3101         * gst/gsttrace.c:
3102         * gst/gsttrace.h:
3103         * gst/gsttypefind.h:
3104         * gst/gsturi.h:
3105         * gst/gstvalue.c:
3106         * gst/net/gstnetclientclock.c:
3107         * gst/net/gstnetclientclock.h:
3108         * gst/net/gstnettimepacket.c:
3109         * gst/net/gstnettimeprovider.c:
3110         * gst/net/gstnettimeprovider.h:
3111         Doc fixes.
3112
3113 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3114
3115         * configure.ac: back to HEAD
3116
3117 === release 0.9.6 ===
3118
3119 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
3120
3121         * configure.ac:
3122           releasing 0.9.6, "Always On Time"
3123
3124 2005-11-23  Wim Taymans  <wim@fluendo.com>
3125
3126         * docs/gst/gstreamer-sections.txt:
3127         * gst/glib-compat.c:
3128         * gst/gsttagsetter.c:
3129         * gst/gstvalue.c:
3130         * gst/net/gstnetclientclock.c:
3131         * gst/net/gstnettimepacket.h:
3132         Doc updates.
3133
3134 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3135
3136         * docs/faq/using.xml:
3137         * docs/libs/tmpl/gstcontrol.sgml:
3138         * docs/manual/advanced-dparams.xml:
3139         * docs/manual/appendix-checklist.xml:
3140         * docs/manual/basics-elements.xml:
3141         * docs/pwg/other-source.xml:
3142         * docs/random/moving-plugins:
3143         * gst/gstpad.c:
3144         * tools/gst-launch.1.in:
3145           remove mentions of sinesrc
3146
3147 2005-11-23  Michael Smith <msmith@fluendo.com>
3148
3149         * docs/gst/gstreamer-sections.txt:
3150           Update for new API and API changes.
3151         * gst/gstobject.h:
3152           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
3153         * gst/gstvalue.c:
3154           Documentation typo fix.
3155         * gst/net/gstnettimepacket.c:
3156           Documentation fixes for arguments.
3157
3158 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
3159
3160         * gst/gststructure.c: (gst_structure_get_fraction),
3161         (gst_structure_parse_value),
3162         (gst_structure_fixate_field_nearest_fraction):
3163         * gst/gststructure.h:
3164         * gst/gstutils.c: (gst_util_uint64_scale_int):
3165         * gst/gstutils.h:
3166         * scripts/update-funcnames:
3167         API Changes. 
3168         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
3169         Make gst_structure_fixate_field_nearest_fraction take a numerator
3170         and denominator argument instead of a GValue
3171         add gst_structure_get_fraction helper function.
3172
3173 2005-11-23  Wim Taymans  <wim@fluendo.com>
3174
3175         * docs/design/part-TODO.txt:
3176         Update TODO.
3177
3178         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3179         * gst/net/gstnetclientclock.h:
3180         Use parent fields for timeout and window_size.
3181
3182 2005-11-23  Andy Wingo  <wingo@pobox.com>
3183
3184         * check/net/gstnetclientclock.c (test_functioning): Adjust to
3185         rate_num/rate_denom change.
3186
3187         * gst/net/gstnetclientclock.c
3188         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
3189         OBJECT_LOCK. Don't call add_observation with the lock.
3190
3191         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
3192         fraction.
3193         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
3194         rate fraction.
3195         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
3196         deal with rate as a fraction whose numerator and denominator are
3197         GstClockTime values.
3198         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
3199         master; the other fields are protected by the SLAVE_LOCK.
3200         (do_linear_regression): Note that this must be called with the
3201         SLAVE_LOCK.
3202         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
3203         OBJECT_LOCK. Call set_calibration instead of touching the
3204         variables directly.
3205         (gst_clock_set_property, gst_clock_get_property): Protect
3206         master/slave parameters with the SLAVE_LOCK.
3207
3208         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
3209         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
3210         note that all of the instance variables that add_observation and
3211         the set_master functions use are protected by that lock and not
3212         the OBJECT_LOCK.
3213         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
3214
3215         * gst/gstclock.c (gst_clock_add_observation): No longer requires
3216         the caller to take the object lock.
3217
3218 2005-11-23  Wim Taymans  <wim@fluendo.com>
3219
3220         * gst/gsterror.c: (_gst_core_errors_init):
3221         * gst/gsterror.h:
3222         Add error for clock stuff.
3223
3224         * gst/gstpipeline.c: (gst_pipeline_change_state),
3225         (gst_pipeline_set_clock):
3226         Post clock error when clock cannot be used in a pipeline.
3227
3228 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
3229
3230         * docs/gst/gstreamer-sections.txt:
3231           make two symbols from gstinfo private for the docs
3232         * gst/base/gstcollectpads.h:
3233         * gst/gstutils.c:
3234           fix doc typos, update docs
3235
3236 2005-11-22  Wim Taymans  <wim@fluendo.com>
3237
3238         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3239         (gst_base_sink_wait), (gst_base_sink_do_sync),
3240         (gst_base_sink_handle_event):
3241         * gst/base/gstbasesink.h:
3242         No need to store the clock, the parent element class already
3243         has it.
3244
3245         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
3246         Updates for clock_set returning a gboolean
3247
3248         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
3249         (gst_clock_id_wait_async), (gst_clock_class_init),
3250         (gst_clock_init), (gst_clock_finalize),
3251         (gst_clock_get_internal_time), (gst_clock_get_time),
3252         (gst_clock_slave_callback), (gst_clock_set_master),
3253         (gst_clock_get_master), (do_linear_regression),
3254         (gst_clock_add_observation), (gst_clock_set_property),
3255         (gst_clock_get_property):
3256         * gst/gstclock.h:
3257         Implement master/slave. When setting a clock as a slave, a
3258         periodic timeout is scheduled to sample master and slave times.
3259         Then the slave clock is recalibrated to match offset and rate
3260         of the master clock.
3261         Update logging a bit.
3262         Add flag so that a clock can state that is cannot be slaved to
3263         another clock.
3264
3265         * gst/gstelement.c: (gst_element_set_clock):
3266         * gst/gstelement.h:
3267         The set clock returns a gboolean for when an element cannot
3268         deal with the selected clock in the pipeline. 
3269
3270         * gst/gstpipeline.c: (gst_pipeline_change_state),
3271         (gst_pipeline_set_clock):
3272         * gst/gstpipeline.h:
3273         Handle the case where the selected clock cannot be set on
3274         the pipeline.
3275
3276         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
3277         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3278         (gst_net_client_clock_set_property),
3279         (gst_net_client_clock_get_property),
3280         (gst_net_client_clock_observe_times):
3281         * gst/net/gstnetclientclock.h:
3282         Use regression code in GstClock parent, remove duplicated
3283         functionality.
3284
3285 2005-11-22  Michael Smith <msmith@fluendo.com>
3286
3287         * gst/gstutils.c: (gst_util_clock_time_scale):
3288         * gst/gstutils.h:
3289         * docs/gst/gstreamer-sections.txt:
3290           Rename method to have extra underscore.
3291
3292 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3293
3294         * gst/elements/Makefile.am:
3295         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
3296         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3297         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3298         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
3299         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
3300         * gst/elements/gstfakesrc.h:
3301         * gst/gstqueue.c: (queue_leaky_get_type):
3302           correctly fix GEnumValues so that nick is the short lowercase
3303           dashed tag
3304         * tools/gst-inspect.c: (print_element_properties_info):
3305           also show the nick, since it's useful to use from parse_launch
3306           syntax
3307           Fixes #322139
3308
3309 2005-11-22  Michael Smith <msmith@fluendo.com>
3310
3311         * gst/gstutils.c: (gst_util_clocktime_scale):
3312         * gst/gstutils.h:
3313         * docs/gst/gstreamer-sections.txt:
3314           Add util method for scaling a clocktime by a fraction. Useful 
3315           implementation is left as an exercise for the reader.
3316
3317 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3318
3319         * gst/gstvalue.c: (gst_value_collect_fraction_range):
3320         If needed, allocate storage in the destination value during
3321         collection.
3322
3323 2005-11-22  Edward Hervey  <edward@fluendo.com>
3324
3325         * docs/gst/gstreamer-sections.txt:
3326         * gst/Makefile.am:
3327         * gst/gst.h:
3328         * gst/gsturitype.c:
3329         * gst/gsturitype.h:
3330         * gst/gstutils.c: (gst_util_set_object_arg):
3331         * tools/gst-compprep.c: (main):
3332         * tools/gst-inspect.c: (print_element_properties_info):
3333         Removed GstURI, closes bug #321061
3334
3335 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3336
3337         * check/gst/gststructure.c: (GST_START_TEST):
3338         * gst/gststructure.c: (gst_structure_parse_value):
3339           Oops, broke automatic string type parsing.
3340           Add a test to catch it in future.
3341
3342 2005-11-22  Andy Wingo  <wingo@pobox.com>
3343
3344         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
3345         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
3346         Actually rename the function implementations. Grr.
3347
3348 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3349
3350         * check/gst/capslist.h:
3351           Comment test cases
3352         * check/gst/gststructure.c: (GST_START_TEST),
3353         (gst_structure_suite):
3354           Test automatic value type detection in gst_structure_from_string.
3355         * gst/gststructure.c: (gst_structure_parse_value):
3356           Add fraction as a type we try and guess automatically in
3357           caps/structure strings.
3358
3359 2005-11-22  Andy Wingo  <wingo@pobox.com>
3360
3361         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
3362
3363         * gst/gsttagsetter.h:
3364         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
3365         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
3366         (gst_tag_setter_add_tag_valist)
3367         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
3368         _add_values, _add_valist, and _add_valist_values. Since this is an
3369         interface the function suffixes should be more explicit so
3370         language binding don't end up with element.add_valist ->
3371         gst_tag_setter_add_valist, for example. Fixes #322069.
3372
3373 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3374
3375         * check/gst/gstcaps.c: (GST_START_TEST):
3376           Extend caps string tests to check that a caps to string
3377           conversion is reversible and produces the same caps.
3378
3379         * gst/gststructure.c: (gst_structure_value_get_generic_type):
3380           Output "fraction" as the generic type fraction range, so caps
3381           serialisation and deserialisation works.
3382         * check/gst/capslist.h:
3383         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3384           Support 'MIN' and 'MAX' for deserialising fractions.
3385
3386 2005-11-22  Andy Wingo  <wingo@pobox.com>
3387
3388         * gst/gstevent.h (gst_event_new_new_segment)
3389         (gst_event_parse_new_segment, gst_event_new_buffer_size)
3390         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
3391         Renamed from *_newsegment, *_buffersize, *_notarget.
3392
3393         * scripts/update-funcnames: New script, performs the changes
3394         listed above.
3395
3396 2005-11-22  Wim Taymans  <wim@fluendo.com>
3397
3398         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3399         Make sure the GstFlowReturn is returned.
3400
3401         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
3402         (gst_bus_add_signal_watch):
3403         * gst/gstbus.h:
3404         add gst_bus_add_signal_watch_full.
3405
3406         * gst/gstplugin.c: (gst_plugin_load_file):
3407         Small style cleanup.
3408
3409 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3410
3411         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
3412           Block the fakesrc srcpad when we send an event, to avoid
3413           contention on the stream_lock causing random test failures.
3414
3415 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3416
3417         * check/gst/gstvalue.c: (GST_START_TEST):
3418         * gst/gstvalue.c: (gst_value_fraction_subtract):
3419           Fix subtraction.
3420
3421 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
3422
3423         * gst/gst.h:
3424           include "gstchildproxy.h"
3425         * gst/gstchildproxy.h:
3426         * libs/gst/controller/gstcontroller.h:
3427           use G_GNUC_NULL_TERMINATED
3428
3429 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3430
3431         * check/gst/capslist.h:
3432         * check/gst/gstcaps.c: (GST_START_TEST):
3433         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3434         * gst/gststructure.c: (gst_structure_parse_range),
3435         (gst_structure_fixate_field_nearest_fraction):
3436         * gst/gststructure.h:
3437         * gst/gstvalue.c: (gst_value_init_fraction_range),
3438         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
3439         (gst_value_collect_fraction_range),
3440         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
3441         (gst_value_set_fraction_range_full),
3442         (gst_value_get_fraction_range_min),
3443         (gst_value_get_fraction_range_max),
3444         (gst_value_serialize_fraction_range),
3445         (gst_value_transform_fraction_range_string),
3446         (gst_value_compare_fraction_range),
3447         (gst_value_deserialize_fraction_range),
3448         (gst_value_intersect_fraction_fraction_range),
3449         (gst_value_intersect_fraction_range_fraction_range),
3450         (gst_value_subtract_fraction_fraction_range),
3451         (gst_value_subtract_fraction_range_fraction),
3452         (gst_value_subtract_fraction_range_fraction_range),
3453         (gst_value_collect_fraction), (gst_value_fraction_multiply),
3454         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
3455         (gst_value_transform_string_fraction), (_gst_value_initialize):
3456         * gst/gstvalue.h:
3457           Implement fraction ranges and extend GstFraction to support
3458           arithmetic subtraction, as well as deserialization from integer
3459           strings such as "100"
3460           Add a testsuite as for int and double range set operations
3461
3462 2005-11-21  Andy Wingo  <wingo@pobox.com>
3463
3464         * gst/gsttaglist.h: 
3465         * gst/gstcaps.h: 
3466         * gst/gststructure.h: Add glib-compat.h.
3467
3468 2005-11-21  Wim Taymans  <wim@fluendo.com>
3469
3470         * gst/gstbin.c: (gst_bin_change_state_func):
3471         Fix for #321595
3472
3473 2005-11-21  Wim Taymans  <wim@fluendo.com>
3474
3475         * gst/gstsegment.h:
3476         And add a nice define too.
3477
3478 2005-11-21  Wim Taymans  <wim@fluendo.com>
3479
3480         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
3481         (gst_segment_new), (gst_segment_free), (gst_segment_init),
3482         (gst_segment_set_duration), (gst_segment_set_last_stop),
3483         (gst_segment_set_seek), (gst_segment_set_newsegment),
3484         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3485         (gst_segment_clip):
3486         * gst/gstsegment.h:
3487         Make binding friendly.
3488
3489 2005-11-21  Andy Wingo  <wingo@pobox.com>
3490
3491         * gst/gsttagsetter.h: 
3492         * gst/gsttaglist.h: 
3493         * gst/gststructure.h: 
3494         * gst/gstcaps.h: 
3495         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
3496         #319940.
3497
3498         * gst/gsterror.c (_gst_core_errors_init):
3499         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
3500         category.
3501
3502         * gst/Makefile.am (gst_headers): Add glib-compat.h.
3503         (noinst_HEADERS): noinst the -private.
3504
3505 2005-11-21  Michael Smith <msmith@fluendo.com>
3506
3507         * gst/gstplugin.h:
3508         * gst/gstregistry.h:
3509           Remove unimplemented declarations for which we can see no sensible
3510           use.
3511
3512 2005-11-21  Andy Wingo  <wingo@pobox.com>
3513
3514         * gst/gst.h: Include glib-compat.h.
3515
3516         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
3517
3518         * gst/glib-compat.c: Include the public and the private header.
3519
3520         * gst/glib-compat-private.h: Copied here from glib-compat.h.
3521
3522         * gst/gstvalue.c: 
3523         * gst/gstpad.c: 
3524         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
3525
3526         * check/gst/gstevent.c (create_custom_events): Check that
3527         FLUSH_STOP is serialized.
3528
3529         * check/elements/identity.c (event_func): 
3530         * check/elements/fakesrc.c (event_func): No stream lock, the core
3531         takes it.
3532
3533         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
3534         stream lock taking, yay.
3535
3536         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
3537         ensure that core takes the stream lock.
3538
3539         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
3540         lock name change.
3541
3542         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
3543         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
3544         it already. For the flush start we do take it though so we get the
3545         right preroll state change messages.
3546
3547         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
3548         the stream lock here, the core does it for us.
3549
3550         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
3551         GST_STREAM_GET_LOCK.
3552         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
3553         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
3554         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
3555         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
3556         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
3557         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
3558
3559         * gst/gstpad.c: Update for stream lock name change.
3560
3561         * gst/base/gstbasesink.c: Update for preroll lock name change.
3562
3563 2005-11-21  Wim Taymans  <wim@fluendo.com>
3564
3565         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
3566         (gst_clock_get_master):
3567         * gst/gstclock.h:
3568         * gst/gstsystemclock.c: (gst_system_clock_init):
3569         Convert Clock flags to object flags.
3570         Added methods to manage master/slave clocks.
3571
3572 2005-11-21  Wim Taymans  <wim@fluendo.com>
3573
3574         * check/gst/gstsegment.c: (GST_START_TEST):
3575         * docs/design/part-TODO.txt:
3576         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3577         (gst_base_sink_event), (gst_base_sink_do_sync),
3578         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3579         (gst_base_sink_query), (gst_base_sink_change_state):
3580         * gst/base/gstbasesink.h:
3581         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3582         (gst_base_src_default_newsegment),
3583         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3584         (gst_base_src_get_range), (gst_base_src_loop),
3585         (gst_base_src_change_state):
3586         * gst/base/gstbasesrc.h:
3587         * gst/base/gstbasetransform.c:
3588         (gst_base_transform_prepare_output_buf),
3589         (gst_base_transform_event), (gst_base_transform_change_state):
3590         * gst/base/gstbasetransform.h:
3591         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3592         (gst_collect_pads_event):
3593         * gst/base/gstcollectpads.h:
3594         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
3595         (gst_fake_src_create):
3596         * gst/elements/gstfakesrc.h:
3597         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3598         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3599         (gst_segment_set_last_stop), (gst_segment_set_seek),
3600         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3601         (gst_segment_to_running_time), (gst_segment_clip):
3602         * gst/gstsegment.h:
3603         More segment updates, replace code in plugins with segment
3604         helper functions.
3605
3606 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3607
3608         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
3609         Don't ignore sscanf results
3610
3611 2005-11-21  Andy Wingo  <wingo@pobox.com>
3612
3613         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
3614
3615         * *.h:
3616         * *.c: Ran scripts/update-macros. Oh yes.
3617
3618         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
3619         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
3620         GST_GET_LOCK, etc.
3621
3622         * scripts/update-macros: New script. Run it on your files to
3623         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
3624         well.
3625
3626 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3627
3628         * docs/gst/Makefile.am:
3629         * docs/gst/gstreamer-docs.sgml:
3630         * docs/gst/gstreamer-sections.txt:
3631         * docs/gst/gstreamer.types:
3632         * gst/gstinfo.h:
3633           more docs fixes, add new api to the docs
3634
3635 2005-11-21  Andy Wingo  <wingo@pobox.com>
3636
3637         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
3638         state_broadcast call.
3639
3640         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
3641
3642 2005-11-21  Julien MOUTTE  <julien@moutte.net>
3643
3644         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
3645         function calls for arrays.
3646
3647 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3648
3649         * docs/random/ensonic/media-device-daemon.txt:
3650           wild idea, can this be done?
3651         * docs/gst/gstreamer-sections.txt:
3652         * gst/gsterror.h:
3653         * gst/gstfilter.c:
3654         * gst/gstfilter.h:
3655         * gst/gstplugin.h:
3656         * gst/gstpluginfeature.c:
3657         * gst/gsttrace.c:
3658         * gst/gstvalue.c:
3659         * gst/gstvalue.h:
3660           doc fixes and additions
3661
3662 2005-11-21  Andy Wingo  <wingo@pobox.com>
3663
3664         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3665         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3666         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3667         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3668         private to the basesrc implementation.
3669
3670         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3671         behalf of event function if necessary. It should no longer be
3672         necessary to take the stream lock in pad's event functions. Fixes
3673         #320299.
3674
3675 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3676         * docs/gst/gstreamer-sections.txt:
3677         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3678         (gst_structure_fixate_field_nearest_double),
3679         (gst_structure_fixate_field_boolean):
3680         * gst/gststructure.h:
3681         * win32/common/libgstreamer.def:
3682         * win32/gstreamer.def:
3683
3684         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3685         (#322027)
3686
3687 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3688
3689         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3690         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3691         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3692         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3693         (gst_fdsrc_uri_handler_init):
3694         * gst/elements/gstfdsrc.h:
3695           Port fd:// URI handler from 0.8 to fdsrc
3696
3697 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3698
3699         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3700         (gst_value_serialize_fourcc):
3701         * gst/gstvalue.h:
3702           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3703           consistent with our other format defines (#320324).
3704
3705 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3706
3707         * gst/gstvalue.c: (gst_value_is_fixed):
3708           Revert previous commit. Value lists are by definition
3709           not fixed, as they are a list of possible values.
3710
3711 2005-11-21  Andy Wingo  <wingo@pobox.com>
3712
3713         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3714         during the stable series if we need it. Fixes #319178.
3715
3716         * gst/gstevent.c (gst_event_new_filler): Removed.
3717
3718         * check/gst/gstevent.c: Update comment about filler events.
3719
3720 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3721
3722         * gst/gstvalue.c: (gst_value_is_fixed):
3723           Should handle both value arrays and value lists.
3724
3725 2005-11-21  Andy Wingo  <wingo@pobox.com>
3726
3727         patch by: Alessandro Dessina <alessandro nnva org>
3728
3729         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3730         functions to access arrays. Fixes #321962.
3731
3732 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3733
3734         * docs/gst/gstreamer.types:
3735           gst_collectpads_get_type => gst_collect_pads_get_type.
3736           
3737         * gst/base/gstbasetransform.c:
3738           Remove unused SIGNAL_HANDOFF enum.
3739
3740 2005-11-21  Andy Wingo  <wingo@pobox.com>
3741
3742         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3743         the event type (upstream, downstream, serialized). Renamed
3744         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3745         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3746         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3747
3748         * gst/gstevent.c: Update for new CUSTOM event names.
3749
3750         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3751
3752         * gst/gstevent.h:
3753         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3754         bug #319392.
3755
3756 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3757
3758         * docs/gst/gstreamer-sections.txt:
3759         * win32/common/libgstbase.def:
3760         * win32/libgstbase.def:
3761         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3762         (gst_collect_pads_class_init), (gst_collect_pads_init),
3763         (gst_collect_pads_finalize), (gst_collect_pads_new),
3764         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3765         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3766         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3767         (gst_collect_pads_start), (gst_collect_pads_stop),
3768         (gst_collect_pads_peek), (gst_collect_pads_pop),
3769         (gst_collect_pads_available), (gst_collect_pads_read),
3770         (gst_collect_pads_flush), (gst_collect_pads_event),
3771         (gst_collect_pads_chain):
3772         * gst/base/gstcollectpads.h:
3773           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3774           unimplemented functions as unimplemented. Add padding to
3775           GstCollectData. (#320766, #320423)
3776
3777 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3778
3779         * gst/gstmessage.c:
3780           Improve docs for DURATION message (usage of duration parameter)
3781           (#320113)
3782
3783 2005-11-20  Wim Taymans  <wim@fluendo.com>
3784
3785         * check/Makefile.am:
3786         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3787         (main):
3788         * gst/Makefile.am:
3789         * gst/gst.h:
3790         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3791         (gst_segment_set_seek), (gst_segment_set_newsegment),
3792         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3793         (gst_segment_clip):
3794         * gst/gstsegment.h:
3795         Added segment helper structure and methods. Not fully implemented
3796         yet.
3797         Added segment check.
3798
3799 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3800
3801         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3802           Add a deserialisation test for fractions
3803         * examples/metadata/read-metadata.c: (message_loop),
3804         (make_pipeline), (main):
3805           Fix up metadata reading sample.
3806         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3807           Debug format fix
3808         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3809           Don't try and fixate empty caps
3810         * gst/gst_private.h:
3811           Wrap in G_BEGIN_DECLS/G_END_DECLS
3812         * gst/gstvalue.c: (gst_value_collect_fraction),
3813         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3814         (gst_value_transform_string_fraction),
3815         (gst_value_compare_fraction):
3816           Add some extra guards to ensure that we don't end up 
3817           with an invalid denominator of 0 in a gstfraction and
3818           that fractions always get reduced.
3819
3820 2005-11-20  Wim Taymans  <wim@fluendo.com>
3821
3822         * docs/gst/gstreamer-sections.txt:
3823         * gst/gstbuffer.h:
3824         * gst/gstelement.c:
3825         * gst/gstformat.c:
3826         * gst/gstformat.h:
3827         * gst/gstindex.h:
3828         * gst/gstquery.c:
3829         * gst/gstquery.h:
3830         * gst/gstvalue.c:
3831         Doc fixes.
3832
3833 2005-11-20  Wim Taymans  <wim@fluendo.com>
3834
3835         * docs/design/part-TODO.txt:
3836         * gst/gstcaps.h:
3837         Make a proper enum of the flag.
3838
3839 2005-11-19  Wim Taymans  <wim@fluendo.com>
3840
3841         * docs/design/part-TODO.txt:
3842         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3843         (gst_format_to_quark), (gst_format_register):
3844         * gst/gstformat.h:
3845         * gst/gstquery.c: (_gst_query_initialize),
3846         (gst_query_type_get_name), (gst_query_type_to_quark),
3847         (gst_query_type_register):
3848         * gst/gstquery.h:
3849         Add type to quark and type to string conversions.
3850
3851 2005-11-19  Andy Wingo  <wingo@pobox.com>
3852
3853         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3854         #320097.
3855
3856 2005-11-19  Wim Taymans  <wim@fluendo.com>
3857
3858         * docs/design/part-TODO.txt:
3859         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3860         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3861         (gst_bin_handle_message_func):
3862         * gst/gstbin.h:
3863         Make message handling overridable.
3864
3865 2005-11-19  Andy Wingo  <wingo@pobox.com>
3866
3867         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3868
3869         * gst/gstclock.h:
3870         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3871         be a GstClockTime.
3872         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3873         is a GstClockTime. Fixes #321710.
3874
3875         * gst/gstclock.h (GstClock): Remove offset property. Add
3876         internal_calibration and external_calibration. Fix padding. Pad
3877         also by GstClockTime so we don't run into problems.
3878
3879         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3880         (gst_clock_get_rate_offset): Remove.
3881         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3882
3883         * gst/gstutils.h:
3884         * gst/gstutils.c (g_static_rec_cond_wait)
3885         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3886
3887         * gst/gstbin.c: Remove terrible continue_state prototype.
3888
3889         * gst/gstelement.h (gst_element_continue_state): Make public.
3890
3891         * gst/gstelement.h:
3892         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3893         by continue_state. Fixes #319389.
3894
3895         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3896         Really fixes #168438. However I don't see anywhere where the
3897         filter function is called... stupid GStreamer...
3898         
3899         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3900         don't have a dispose function, so it won't get called when the
3901         object is unreffed, but oh well!
3902
3903         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3904         allows a destroy function to be set so user_data can be freed.
3905         Fixes #168438.
3906         (gst_index_set_filter): Call gst_index_set_filter_full.
3907
3908         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3909
3910         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3911         string should produce an error, given the lack of a way to
3912         represent NULL strings. Fixes #165650.
3913         
3914         * gst/gstvalue.h: 
3915         * gst/gstvalue.c (gst_value_array_append_value) 
3916         (gst_value_array_prepend_value, gst_value_array_get_size) 
3917         (gst_value_array_get_value): New API, copied from
3918         gst_value_list_*, only operates on arrays.
3919         (gst_value_list_append_value, gst_value_list_prepend_value) 
3920         (gst_value_list_concat, gst_value_list_get_size) 
3921         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3922
3923         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3924         init_list, because it works on both.
3925         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3926         (gst_value_copy_list_or_array): Renamed from copy_list.
3927         (gst_value_free_list_or_array): Renamed from free_list.
3928         (gst_value_collect_list_or_array): Renamed from collect_list.
3929         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3930         (gst_value_list_or_array_peek_pointer): Renamed from
3931         list_peek_pointer.
3932         (_gst_value_array_value_table, _gst_value_list_value_table):
3933         Update value table functions.
3934         (gst_value_compare_list_or_array): Renamed from compare_list.
3935
3936         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3937         some constness.
3938
3939         * gst/gsttaglist.c:
3940         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3941         GstTagList*. Fixes #143472.
3942
3943         * gst/gststructure.h: Clarify what the foreach/map functions can
3944         or can't do to their arguments.
3945
3946 2005-11-18  Wim Taymans  <wim@fluendo.com>
3947
3948         * gst/gstclock.c: (gst_clock_set_calibration),
3949         (gst_clock_get_calibration):
3950         Doc and API fixes.
3951         Calibration can be set with internal time equal to current
3952         internal time too.
3953
3954 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3955
3956         * gst/gsterror.c:
3957         * gst/gsterror.h:
3958           document
3959
3960 2005-11-18  Andy Wingo  <wingo@pobox.com>
3961
3962         * configure.ac: 
3963         * pkgconfig/gstreamer-net.pc.in:
3964         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3965         * pkgconfig/Makefile.am: Add net pkgconfig files.
3966
3967 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3968
3969         * gst/gstcaps.c:
3970         * gst/gstghostpad.c:
3971         * gst/gsttrace.c:
3972         * gst/gstvalue.c:
3973         * gst/gstvalue.h:
3974           docs fixes
3975
3976 2005-11-18  Andy Wingo  <wingo@pobox.com>
3977
3978         * gst/net/gstnetclientclock.c: Turn off debugging.
3979
3980         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3981         times connverge somewhat. Can't make a real test.
3982
3983         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3984         integer arithmetic. Return the minimum of the domain, which can be
3985         set as "internal" for gst_clock_set_calibration.
3986         (gst_net_client_clock_observe_times): Call _set_calibration.
3987         (gst_net_client_clock_new): Call _set_calibration instead of
3988         rate_offset.
3989
3990         * check/net/gstnetclientclock.c (test_functioning): Use the right
3991         adjustment api.
3992
3993         * gst/gstclock.h:
3994         * gst/gstclock.c (gst_clock_get_calibration) 
3995         (gst_clock_set_calibration): New functions, obsolete the ones I
3996         added yesterday. Doh. Precision issues mean we have to extrapolate
3997         from a point in the more recent past than 1970.
3998         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3999         obsolete.
4000         (gst_clock_adjust_unlocked): Use the right calibration data.
4001
4002 2005-11-18  Edward Hervey  <edward@fluendo.com>
4003
4004         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
4005         Also reset the ->current_* values in READY->PAUSED
4006
4007 2005-11-18  Andy Wingo  <wingo@pobox.com>
4008
4009         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
4010         Whoops, check the right fd. Also add some debugging.
4011         (gst_net_client_clock_observe_times): Adjust for int64 offset.
4012         (do_linear_regression): Add a crapload of debugging. Subtract off
4013         the minimum values from the input series to discard unneeded bits.
4014         Use only int arithmetic. There is still double arithmetic when
4015         calculating the intercept that needs fixing. Return boolean to
4016         indicate success; FALSE would mean the domain or range is too
4017         great. Still needs fixes.
4018
4019 2005-11-18  Wim Taymans  <wim@fluendo.com>
4020
4021         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4022         For the current position in stream time, we need to subtract
4023         accumulated time.
4024         
4025         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4026         Release lock before calling the callback function of async
4027         entries.
4028
4029 2005-11-18  Andy Wingo  <wingo@pobox.com>
4030
4031         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
4032         Port goes all the way to MAXUINT16.
4033
4034         * gst/net/gstnettimeprovider.c: Make the port range the same as
4035         for the kernel: 0 assigns, otherwise ports are less than
4036         MAXUINT16.
4037
4038         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
4039         port change.
4040
4041         * check/net/gstnetclientclock.c (test_functioning): Add the start
4042         of another test. 
4043
4044 2005-11-18  Wim Taymans  <wim@fluendo.com>
4045
4046         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4047         (gst_bin_remove_func), (bin_bus_handler):
4048         * gst/gstbin.h:
4049         Removing a clock provider from a bin, triggers a clock lost message
4050         so that a new clock will be selected.
4051         Adding a clock to a bin triggers a clock provider message.
4052         Make sure we reselect a clock when we received a clock lost message.
4053         Keep a reference to the element that provided the clock.
4054
4055 2005-11-18  Andy Wingo  <wingo@pobox.com>
4056
4057         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
4058         the clock initially so it produces values around the base time.
4059         (gst_net_client_clock_class_init): Typo fix.
4060         (gst_net_client_clock_thread): Add note on when the socket gets
4061         closed.
4062
4063 2005-11-17  Wim Taymans  <wim@fluendo.com>
4064
4065         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
4066         Free remote and local time arrays.
4067
4068 2005-11-17  Wim Taymans  <wim@fluendo.com>
4069
4070         * gst/net/gstnetclientclock.c: (do_linear_regression),
4071         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
4072         Fix compilation, uninitialized vars and a forgotten continue.
4073
4074 2005-11-17  Andy Wingo  <wingo@pobox.com>
4075
4076         * check/Makefile.am (check_PROGRAMS): 
4077         * check/net/gstnetclientclock.c: Add a most minimal test for the
4078         net client clock. More to come later.
4079
4080         * gst/net/gstnet.h: 
4081         * gst/net/Makefile.am: Add netclientclock.
4082
4083         * gst/net/gstnetclientclock.h:
4084         * gst/net/gstnetclientclock.c: New files, implement an untested
4085         GstClock that takes its time from a network time provider.
4086         Implements the algorithm in network-clock.scm.
4087
4088         * tests/network-clock.scm (*window-size*): Rename from
4089         *queue-length*.
4090         * tests/network-clock.scm (network-time): 
4091         * tests/network-clock-utils.scm (q-push): Update callers.
4092
4093 2005-11-17  Wim Taymans  <wim@fluendo.com>
4094
4095         * gst/gstbin.c: (gst_bin_provide_clock_func),
4096         (gst_bin_sort_iterator_new):
4097         And unref the child too..
4098
4099 2005-11-17  Wim Taymans  <wim@fluendo.com>
4100
4101         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4102         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
4103         Refactor the sort iterator so it can be used while holding the
4104         LOCK too.
4105         Make clock selection select a clock closest to the source.
4106
4107 2005-11-17  Michael Smith <msmith@fluendo.com>
4108
4109         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
4110         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
4111         * gst/gstclock.h:
4112           Anonymous structs are a gcc (and some other compilers) extension, so
4113           don't use them. Since this is only for ABI-compatibility, and our
4114           API/ABI freeze is over in a few days, this whole thing will only
4115           last a few days, so don't bother trying to think up a meaningful
4116           name for the struct.
4117
4118 2005-11-17  Andy Wingo  <wingo@pobox.com>
4119
4120         * gst/gstclock.h (GstClock): Add rate and offset properties,
4121         preserving ABI stability. Add rate/offset accessors. Will file bug
4122         for the freeze break.
4123
4124         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
4125         and offset, trying to keep precision and avoiding
4126         underflow/overflow.
4127         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
4128         functions. Make gst_clock_set_time_adjust obsolete.
4129         (gst_clock_set_time_adjust): Note that this function is obsolete.
4130         Will file bug soon.
4131
4132         * gst/base/gstbasetransform.h: Make the ABI-stability hack
4133         greppable by using GST_PADDING-1+1.
4134
4135 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
4136
4137         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4138
4139         * gst/gstmessage.c: (gst_message_parse_clock_lost):
4140           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
4141
4142         * gst/gstpadtemplate.h:
4143         * gst/gstpluginfeature.h:
4144           Don't use c++ style comments in headers (#321638).
4145
4146 2005-11-16  Andy Wingo  <wingo@pobox.com>
4147
4148         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
4149         buffer.
4150
4151         * check/net/gstnettimeprovider.c: Check to see that the time
4152         provider actually provides times. Works, yo!
4153
4154 2005-11-16  Wim Taymans  <wim@fluendo.com>
4155
4156         * check/Makefile.am:
4157         Enable more tests.
4158
4159         * check/elements/fakesrc.c: (GST_START_TEST):
4160         Set element to NULL before disposing it.
4161
4162 2005-11-16  Andy Wingo  <wingo@pobox.com>
4163
4164         * gst/net/Makefile.am:
4165         * gst/net/gstnet.h:
4166         * gst/net/gstnettimeprovider.c: 
4167         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
4168         provider, include it from gstnet.h, and add it to the build.
4169
4170         * gst/net/gstnettimepacket.h: 
4171         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
4172         sending and receiving.
4173
4174 2005-11-16  Wim Taymans  <wim@fluendo.com>
4175
4176         * check/Makefile.am:
4177         Enable valgrind check.
4178
4179         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
4180         (gst_fake_src_alloc_buffer):
4181         Fix memleak.
4182
4183 2005-11-16  Wim Taymans  <wim@fluendo.com>
4184
4185         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
4186         Call parent finalize too.
4187
4188 2005-11-16  Wim Taymans  <wim@fluendo.com>
4189
4190         * check/Makefile.am:
4191         Enable valgrind check that should work fine now.
4192
4193         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4194         * gst/gstqueue.c: (gst_queue_init):
4195         Fix memleaks in pad allocation.
4196
4197 2005-11-16  Andy Wingo  <wingo@pobox.com>
4198
4199         * gst/net/Makefile.am:
4200         * gst/net/gstnet.h: New part of core to hold network elements and
4201         objects. Put in core because it exposes API that applications want
4202         to use. The library is named libgstnet-tempname right now because
4203         of the existing libgstnet in gst-plugins-base. Solution is
4204         probably to rename the one in plugins-base; will file a bug for
4205         the freeze break.
4206
4207         * gst/net/gstnettimeprovider.c: 
4208         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
4209         get_time call over the network.
4210
4211         * configure.ac: 
4212         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
4213
4214         * check/Makefile.am:
4215         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
4216         get additions shortly.
4217
4218 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4219
4220         * gst/gstpad.c: (gst_pad_new_from_static_template):
4221         * gst/gstpad.h:
4222           add gst_pad_new_from_static_template functions
4223         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
4224         (gst_check_setup_sink_pad):
4225         * gst/elements/gsttee.c: (gst_tee_init):
4226           and use them
4227
4228 2005-11-16  Wim Taymans  <wim@fluendo.com>
4229
4230         * gst/gstpad.c: (gst_pad_pause_task):
4231         Removed warning, it's not really an error either.
4232
4233 2005-11-16  Wim Taymans  <wim@fluendo.com>
4234
4235         * gst/base/gstbasetransform.c:
4236         (gst_base_transform_prepare_output_buf),
4237         (gst_base_transform_event):
4238         Check if the caps are NULL, this can happen if the element
4239         is shutting down and the pad caps are set to NULL.
4240
4241 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4242
4243         * gst/elements/gsttee.c: (gst_tee_init):
4244           fix pad template leak in tee
4245
4246 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4247
4248         * gst/glib-compat.c: (g_value_dup_gst_object):
4249         * gst/glib-compat.h:
4250         * gst/gstpad.c: (gst_pad_set_property):
4251           use gst_object_ref when setting the pad template; this will
4252           trigger the pad template leaks on GLib 2.6 and the slaves
4253
4254 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4255
4256         * gst/glib-compat.c: (gst_flags_get_first_value):
4257         * gst/glib-compat.h:
4258         * gst/gstregistryxml.c:
4259           remove functions copied from GLib 2.6
4260
4261 2005-11-16  Michael Smith <msmith@fluendo.com>
4262
4263         * gst/Makefile.am:
4264           Don't link against VALGRIND_LIBS. That was always the wrong thing to
4265           do, but only breaks with newer valgrind versions. We're not a
4266           valgrind tool, we have no link-time dependencies on libcoregrind.
4267
4268 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4269
4270         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4271           some debug changes
4272         * gst/gstmessage.h:
4273           typo fixes
4274
4275 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4276
4277         * gst/base/gstbasesrc.c: (gst_base_src_init):
4278         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4279         * gst/gstqueue.c: (gst_queue_init):
4280         * gst/gstregistryxml.c: (load_feature):
4281           Revert all these unrefs, they don't even pass make check !
4282
4283 2005-11-15  Johan Dahlin  <johan@gnome.org>
4284
4285         * gst/base/gstbasesrc.c: (gst_base_src_init):
4286         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4287         * gst/gstqueue.c: (gst_queue_init): 
4288         Free pad templates, fixes a couple of leaks.
4289
4290 2005-11-15  Daniel Fischer  <dan at f3c dot com>
4291
4292         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4293
4294         * gst/gstpad.c: (gst_pad_get_property):
4295           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
4296           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
4297           (#321452)
4298
4299 2005-11-15  Wim Taymans  <wim@fluendo.com>
4300
4301         * gst/gstevent.c:
4302         Small doc update.
4303
4304 2005-11-15  Andy Wingo  <wingo@pobox.com>
4305
4306         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
4307
4308         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
4309         using GST_CLOCK_TIME_NONE to disable base time management.
4310         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
4311         time if it was NONE before.
4312         (gst_pipeline_change_state): Only munge the base time if
4313         stream_time != GST_CLOCK_TIME_NONE.
4314
4315         * check/gst/gstpipeline.c (test_base_time): Punt around the
4316         problem of the probe not being called, because that's not the
4317         issue I'm looking at. Add a check that setting stream_time to NONE
4318         disables base time management.
4319         
4320 2005-11-15  Wim Taymans  <wim@fluendo.com>
4321
4322         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4323         segment_stop == -1 at startup.
4324
4325         * gst/base/gstbasetransform.c: (gst_base_transform_event),
4326         (gst_base_transform_change_state):
4327         Init segment values at start.
4328
4329 2005-11-15  Wim Taymans  <wim@fluendo.com>
4330
4331         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4332         0 segment values are 0 in any format.
4333
4334         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4335         * gst/base/gstbasetransform.h:
4336         Parse newsegment correctly in basetransform
4337
4338         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4339         Sync to clock using updated segment values.
4340
4341 2005-11-15  Andy Wingo  <wingo@pobox.com>
4342
4343         * check/gst/gstpipeline.c (test_base_time): Add check that the
4344         base time and stream time are reset correctly.
4345
4346 2005-11-15  Wim Taymans  <wim@fluendo.com>
4347
4348         * docs/design/part-TODO.txt:
4349         Some more TODO items.
4350
4351 2005-11-15  Andy Wingo  <wingo@pobox.com>
4352
4353         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
4354         error if the user selected "no clock" as the clocking method.
4355
4356         * check/gst/gstpipeline.c (test_base_time): New test for buffer
4357         timestamps with live capture.
4358
4359         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
4360         is 0 but we are a live source, timestamp the buffers using the
4361         element's clock.
4362
4363 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
4364
4365         * docs/gst/gstreamer-sections.txt:
4366         * gst/gsterror.c:
4367         * gst/gstghostpad.c:
4368         * gst/gstobject.h:
4369         * gst/gstxml.c:
4370           more section docs
4371
4372 2005-11-14  Wim Taymans  <wim@fluendo.com>
4373
4374         * common/gst.supp:
4375           add suppressions from Wim's Debian machine
4376
4377 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4378
4379         * common/gst.supp:
4380           add suppressions from Andy's AMD64 Ubuntu machine
4381
4382 2005-11-14  Andy Wingo  <wingo@pobox.com>
4383
4384         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
4385         STATE_LOCK not necessary. Fixes #311489.
4386
4387         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
4388         #305291.
4389
4390         * gst/gstindex.c (gst_index_add_object): Note in the docs that
4391         this function is not implemented.
4392
4393 2005-11-14  Julien MOUTTE  <julien@moutte.net>
4394
4395         * gst/base/gstbasetransform.c:
4396         (gst_base_transform_prepare_output_buf):
4397         Ref the source pad caps while we need them.
4398         Fixes (#321386)
4399
4400 2005-11-11  Wim Taymans  <wim@fluendo.com>
4401
4402         * docs/gst/gstreamer-sections.txt:
4403         Added some docs for GstCollectData.
4404
4405         * gst/base/gstadapter.c:
4406         Some small code example fix.
4407
4408         * gst/base/gstcollectpads.c:
4409         * gst/base/gstcollectpads.h:
4410         Document some more.
4411
4412 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4413
4414         * configure.ac: back to HEAD
4415
4416 === release 0.9.5 ===
4417
4418 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
4419
4420         * configure.ac:
4421           releasing 0.9.5, "Bike Lunch Day"
4422
4423 2005-11-11  Wim Taymans  <wim@fluendo.com>
4424
4425         * gst/gstbuffer.c: (_gst_buffer_copy):
4426         Copy more flags.
4427
4428         * gst/gstcaps.c: (gst_caps_is_equal):
4429         Fix some docs.
4430         Make _is_equal fast in the trivial cases.
4431
4432         * gst/gstminiobject.c:
4433         * gst/gstminiobject.h:
4434         More docs. Spifify .h file.
4435
4436         * gst/gstutils.c:
4437         Small doc update.
4438
4439 2005-11-11  Wim Taymans  <wim@fluendo.com>
4440
4441         * gst/base/gstbasetransform.c:
4442         (gst_base_transform_prepare_output_buf),
4443         (gst_base_transform_handle_buffer):
4444         Small cleanups.
4445         If we're processing a buffer and need to allocate an output
4446         buffer, we cannot accept a format change. If we did get a 
4447         format change, we have to alloc a buffer ourselves of the 
4448         right size.
4449
4450 2005-11-11  Wim Taymans  <wim@fluendo.com>
4451
4452         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
4453         While checking the flag for reentrancy in the gstcaps function
4454         is nice to detect recursive invocations, it also makes it 
4455         impossible to call getcaps from multiple threads, which must be
4456         possible. So, checking for recursive calls has to go.
4457
4458 2005-11-11  Michael Smith <msmith@fluendo.com>
4459
4460         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4461           Don't sync on buffers that fall partially outside our current
4462           segment. Prevents an assertion failure/abort playing some files.
4463
4464 2005-11-10  Andy Wingo  <wingo@pobox.com>
4465
4466         * check/gst/gstbin.c (test_message_state_changed_children): Style
4467         fix..
4468
4469         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
4470         gst_bus_poll with the signal watch. Ensures that poll and a signal
4471         watch see the same messages.
4472
4473         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
4474         a poll and a watch at the same time get the same messages.
4475
4476 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4477
4478         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
4479         * gst/gstcaps.c: (gst_caps_intersect):
4480           Don't call gst_caps_do_simplify - it doesn't respect order of caps
4481           and it's not needed.
4482
4483 2005-11-10  Wim Taymans  <wim@fluendo.com>
4484
4485         * docs/design/part-TODO.txt:
4486         Updated todo.
4487
4488 2005-11-10  Wim Taymans  <wim@fluendo.com>
4489
4490         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4491         * gst/base/gstbasesrc.c: (gst_base_src_wait),
4492         (gst_base_src_do_sync), (gst_base_src_get_range):
4493         Implement clock sync in base class.
4494
4495 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4496
4497         patch by: Tim-Philipp Müller <tim at centricular dot net>
4498
4499         * gst/gststructure.c: (gst_structure_parse_field),
4500         (gst_structure_from_string):
4501           Forward-port a 0.8 patch to handle escaped spaces in structure string,
4502           so that gst_parse_launch() can deal with spaces in filtered link
4503           caps (fixes #164479)
4504         * check/gst/capslist.h:
4505         * check/gst/gststructure.c: (GST_START_TEST):
4506           add unit tests for this change
4507
4508 2005-11-10  Wim Taymans  <wim@fluendo.com>
4509
4510         * docs/gst/gstreamer-sections.txt:
4511         * gst/gstelement.c:
4512         * gst/gstelement.h:
4513         Fix docs, move some STATE macros to private.
4514
4515 2005-11-10  Wim Taymans  <wim@fluendo.com>
4516
4517         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4518         Added check for bug #317341
4519
4520         * gst/gstbuffer.c:
4521         * gst/gstbuffer.h:
4522         Some more spiffifying.
4523
4524         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
4525         Call peer linkfunction if we are a source pad. Totally fixes
4526         #317341
4527
4528         * gst/gstpad.c:
4529         Update docs, source pads should call the peer linkfunction
4530         so they can atomically perform the pad link.
4531
4532 2005-11-09  Wim Taymans  <wim@fluendo.com>
4533
4534         * gst/gstbuffer.c:
4535         * gst/gstbuffer.h:
4536         Uber-spiffy-spiffify some more.
4537
4538 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
4539
4540         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
4541         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4542         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4543         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
4544         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
4545         * gst/gstpad.c: (gst_pad_init):
4546           Use GST_DEBUG_FUNCPTR() more extensively.
4547
4548 2005-11-09  Wim Taymans  <wim@fluendo.com>
4549
4550         * gst/gstobject.c: (gst_object_class_init):
4551         * gst/gstobject.h:
4552         Documentation fixes.
4553
4554 2005-11-09  Edward Hervey  <edward@fluendo.com>
4555
4556         * gst/gsttypefindfactory.c:
4557         Fix docs.
4558         
4559 2005-11-09  Edward Hervey  <edward@fluendo.com>
4560
4561         * gst/base/gsttypefindhelper.c:
4562         * gst/gsttypefind.c:
4563         * gst/gsttypefind.h:
4564         Fix docs.
4565
4566 2005-11-09  Wim Taymans  <wim@fluendo.com>
4567
4568         * gst/gstiterator.c:
4569         Fix revision data.
4570
4571         * gst/gsttask.c:
4572         * gst/gsttask.h:
4573         Fix docs.
4574
4575 2005-11-09  Wim Taymans  <wim@fluendo.com>
4576
4577         * gst/gstevent.h:
4578         * gst/gsturi.h:
4579         Fix docs.
4580
4581 2005-11-09  Wim Taymans  <wim@fluendo.com>
4582
4583         * docs/gst/gstreamer-sections.txt:
4584         Moved the message async delivery private lock and cond
4585         to the private section.
4586
4587         * gst/gstmessage.c:
4588         * gst/gstmessage.h:
4589         Fixed docs.
4590
4591 2005-11-09  Edward Hervey  <edward@fluendo.com>
4592
4593         * docs/gst/gstreamer-sections.txt:
4594         * gst/gsturi.c:
4595         * gst/gsturi.h:
4596         Document GstURIHandler
4597
4598 2005-11-09  Wim Taymans  <wim@fluendo.com>
4599
4600         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
4601         (gst_iterator_find_custom):
4602         * gst/gstiterator.h:
4603         Fix iterator docs.
4604
4605 2005-11-09  Wim Taymans  <wim@fluendo.com>
4606
4607         * gst/gstbin.h:
4608         Document another field.
4609
4610         * gst/gststructure.c:
4611         * gst/gststructure.h:
4612         Document.
4613
4614 2005-11-09  Wim Taymans  <wim@fluendo.com>
4615
4616         * gst/gstbin.h:
4617         Documented structs.
4618
4619 2005-11-09  Wim Taymans  <wim@fluendo.com>
4620
4621         * docs/gst/gstreamer-sections.txt:
4622         Added some new macros.
4623
4624         * gst/gstclock.c:
4625         * gst/gstclock.h:
4626         * gst/gstobject.h:
4627         Docs updates.
4628
4629 2005-11-09  Wim Taymans  <wim@fluendo.com>
4630
4631         * docs/design/part-TODO.txt:
4632         Some more items for the TODO
4633
4634         * gst/gstcaps.c:
4635         * gst/gstcaps.h:
4636         Document GstCaps.
4637
4638 2005-11-09  Andy Wingo  <wingo@pobox.com>
4639
4640         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
4641         to work on something else now tho...
4642
4643         * gst/base/gstadapter.c: More adapter docs.
4644
4645         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4646         (gst_file_sink_stop): New functions, replace the state change
4647         handler.
4648         (gst_file_sink_class_init): Hook up the start and stop functions.
4649         (gst_file_sink_base_init): Don't set the state change handler any
4650         more. It was a bit ugly too, being set from here...
4651         (gst_file_sink_get_property, gst_file_sink_set_property):
4652         Cleanups...
4653         (gst_file_sink_set_location): More robust check that doesn't call
4654         GST_STATE. Ugggggg.
4655
4656 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4657
4658         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4659           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4660
4661 2005-11-08  Wim Taymans  <wim@fluendo.com>
4662
4663         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4664         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4665         (gst_base_sink_chain), (gst_base_sink_change_state):
4666         * gst/base/gstbasesink.h:
4667         * gst/base/gstbasesrc.h:
4668         * gst/gstelement.h:
4669         * gst/gstevent.h:
4670         Avoid excessive typechecking in macros.
4671
4672         * gst/gstminiobject.c: (gst_mini_object_get_type),
4673         (gst_mini_object_init), (gst_mini_object_new),
4674         (gst_mini_object_free):
4675         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4676         (gst_object_finalize):
4677         Remove cruft code, optimize alloc_trace.
4678
4679 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4680
4681         * docs/faq/gst-uninstalled:
4682           fix up PS1 for systems that try to reset it
4683
4684 2005-11-07  Wim Taymans  <wim@fluendo.com>
4685
4686         * gst/base/gstbasesrc.c: (gst_base_src_init),
4687         (gst_base_src_get_range):
4688         Set the segment_end to -1 initially. Fixed typefind.
4689
4690 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4691
4692         * gst/base/gstadapter.c:
4693           Debug category should be 'adapter', not 'GstAdapter'.
4694           
4695         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4696         (gst_collectpads_class_init), (gst_collectpads_init),
4697         (gst_collectpads_peek), (gst_collectpads_pop),
4698         (gst_collectpads_event), (gst_collectpads_chain):
4699           Add debug category and some debugging output. Use boilerplate
4700           macros. Remove some extraneous words from docs.
4701
4702 2005-11-05  Andy Wingo  <wingo@pobox.com>
4703
4704         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4705         macro.
4706
4707 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4708
4709         * docs/gst/gstreamer-sections.txt:
4710         * gst/gstcaps.h:
4711         * gst/gstinfo.c:
4712         * gst/gstminiobject.h:
4713         * gst/gstobject.h:
4714         * gst/gstutils.h:
4715           more docs added
4716
4717 2005-11-04  Wim Taymans  <wim@fluendo.com>
4718
4719         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4720         Small update to stop at the configured segment_end
4721         position.
4722
4723 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4724
4725         * gst/gstregistry.c:
4726         * gst/gstregistry.h:
4727           added missing docs
4728
4729 2005-11-04  Edward Hervey  <edward@fluendo.com>
4730
4731         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4732         Check if we are doing a segment seek and have arrived at the
4733         end of that segment.
4734
4735 2005-11-04  Wim Taymans  <wim@fluendo.com>
4736
4737         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4738         Don't leak a mutex unlock in case of an error.
4739
4740         * gst/gstbus.h:
4741         Doc fixes.
4742
4743 2005-11-04  Wim Taymans  <wim@fluendo.com>
4744
4745         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4746         (gst_bus_post):
4747         Get the context to wake up only once.
4748
4749 2005-11-03  Wim Taymans  <wim@fluendo.com>
4750
4751         * check/states/sinks.c: (GST_START_TEST):
4752         Uncomment fixed check.
4753
4754         * docs/design/part-TODO.txt:
4755         Updated TODO.
4756
4757         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4758         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4759         (gst_base_sink_get_position):
4760         If we are going to PLAYING, post the right pending state
4761         when we post the intermediate paused message.
4762
4763         * gst/gstelement.c: (gst_element_continue_state),
4764         (gst_element_set_state_func), (gst_element_change_state):
4765         Don't post state changes that were between the same state
4766         and were not ASYNC.
4767
4768 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4769
4770         * docs/gst/gstreamer-sections.txt:
4771         * gst/gstcaps.h:
4772         * gst/gstinfo.c:
4773         * gst/gstminiobject.h:
4774         * gst/gstobject.h:
4775         * gst/gstutils.h:
4776           more docs and doc style fixes
4777
4778 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4779
4780         * docs/gst/gstreamer-sections.txt:
4781         * gst/gstelement.c:
4782         * gst/gstminiobject.c:
4783         doc fixes
4784
4785 2005-11-03  Andy Wingo  <wingo@pobox.com>
4786
4787         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4788         state-changed messages actually have the right order and the right
4789         values.
4790
4791 2005-11-03  Wim Taymans  <wim@fluendo.com>
4792
4793         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4794         Added some more checks. Specifically the case where NO_PREROLL
4795         elements are in the pipeline.
4796
4797         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4798         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4799         (gst_base_sink_get_position):
4800         Post READY->PAUSED state change messages too.
4801         Fix bug where VOID was posted as pending state...
4802
4803         * gst/gstbin.c: (gst_bin_recalc_state):
4804         use _element_continue_state() to continue the state change.
4805
4806         * gst/gstelement.c: (gst_element_continue_state),
4807         (gst_element_commit_state), (gst_element_set_state_func),
4808         (gst_element_change_state), (gst_element_change_state_func):
4809         Lots of state change cleanups, assign the STATE_RETURN in
4810         a new continue_state() function that also propagates the
4811         last return value from a state change to the app.
4812         Update some debug statements with proper category.
4813
4814 2005-11-03  Wim Taymans  <wim@fluendo.com>
4815
4816         * docs/design/part-events.txt:
4817         * docs/design/part-gstpipeline.txt:
4818         * docs/design/part-messages.txt:
4819         * docs/design/part-overview.txt:
4820         * docs/design/part-seeking.txt:
4821         * docs/design/part-states.txt:
4822         * docs/design/part-trickmodes.txt:
4823         * docs/manual/advanced-position.xml:
4824         Small docs updates.
4825
4826         * gst/gstobject.h:
4827         People think !! is ugly, this looks better.
4828
4829         * gst/gstpad.c: (gst_pad_set_blocked_async):
4830         Remove !! since it's fixed elsewhere now.
4831
4832 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4833
4834         * gst/gstminiobject.h:
4835         * gst/gstobject.h:
4836           Add !! to _FLAG_IS_SET macros to make the result boolean.
4837
4838 2005-11-03  Edward Hervey  <edward@fluendo.com>
4839
4840         * gst/gstpad.c: (gst_pad_set_blocked_async):
4841         comparing a flag and a gboolean rarely returns coherent results...
4842         Added two characters (!!) to make that work correctly.
4843         
4844 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4845
4846         * gst/gstbus.c: (gst_bus_class_init):
4847           Fix some typos.
4848           
4849         * gst/gstqueue.c: (gst_queue_loop):
4850           Don't assume a miniobject that isn't a buffer is an
4851           event (it could be that there is a refcounting
4852           problem somewhere and the pointer is stale and
4853           refers to an already destroyed miniobject).
4854
4855 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4856
4857         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4858
4859 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4860
4861         * docs/manual/advanced-position.xml:
4862           Update seek example and explanations to current 0.9 API.
4863
4864         * gst/elements/gsttypefindelement.c:
4865         (gst_type_find_element_activate):
4866           Remove FIXME comment now that the found caps
4867           are unreffed.
4868
4869 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4870
4871         * gst/gstregistryxml.c: (load_feature):
4872           Add another GST_STR_NULL instance
4873
4874 2005-11-02  Edward Hervey  <edward@fluendo.com>
4875
4876         * gst/gstpad.c: (handle_pad_block):
4877         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4878         
4879 2005-11-02  Wim Taymans  <wim@fluendo.com>
4880
4881         * gst/gstbin.c:
4882         Fix typo in docs.
4883
4884         * gst/gstelement.c: (gst_element_commit_state):
4885         Remove unused value.
4886
4887         * gst/gstiterator.c:
4888         Mention that the returned element is reffed in the docs.
4889
4890 2005-11-02  Wim Taymans  <wim@fluendo.com>
4891
4892         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4893         (gst_pad_push), (gst_pad_push_event):
4894         Unlock blocked pads when they are flushed.
4895
4896 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4897
4898         * docs/README:
4899         * docs/gst/gstreamer-sections.txt:
4900         * gst/gstbin.c:
4901           doc updates
4902         * gst/gstregistry.c: (gst_registry_scan_path_level):
4903           fix for a nasty little missed situation where an installed plug-in
4904           which was in the cache did not get overridden by an uninstalled one
4905           which was earlier in the plugin path because the newly created plugin
4906           for the uninstalled one (not in the registry) didn't get its
4907           ->registered set to TRUE
4908
4909 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4910
4911         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4912         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4913         (gst_collectpads_is_active), (gst_collectpads_collect),
4914         (gst_collectpads_collect_range), (gst_collectpads_start),
4915         (gst_collectpads_stop), (gst_collectpads_peek),
4916         (gst_collectpads_pop), (gst_collectpads_available),
4917         (gst_collectpads_read), (gst_collectpads_flush):
4918           Guard public API with assertions.
4919         
4920         * gst/gstpad.c:
4921           Fix docs for gst_pad_set_link_function().
4922
4923 2005-11-02  Johan Dahlin  <johan@gnome.org>
4924
4925         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4926         Unref found_caps after we used it.
4927
4928 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4929
4930         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4931           Don't try to ref NULL.
4932
4933 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4934
4935         * win32/common/config.h.in:
4936           provide a GST_FUNCTION that just gives a string for now
4937
4938 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4939
4940         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4941         (gst_object_flags_get_type), (register_gst_bin_flags),
4942         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4943         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4944         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4945         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4946         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4947         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4948         (gst_clock_flags_get_type), (register_gst_state),
4949         (gst_state_get_type), (register_gst_state_change_return),
4950         (gst_state_change_return_get_type), (register_gst_state_change),
4951         (gst_state_change_get_type), (register_gst_element_flags),
4952         (gst_element_flags_get_type), (register_gst_core_error),
4953         (gst_core_error_get_type), (register_gst_library_error),
4954         (gst_library_error_get_type), (register_gst_resource_error),
4955         (gst_resource_error_get_type), (register_gst_stream_error),
4956         (gst_stream_error_get_type), (register_gst_event_type),
4957         (gst_event_type_get_type), (register_gst_seek_type),
4958         (gst_seek_type_get_type), (register_gst_seek_flags),
4959         (gst_seek_flags_get_type), (register_gst_format),
4960         (gst_format_get_type), (register_gst_index_certainty),
4961         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4962         (gst_index_entry_type_get_type),
4963         (register_gst_index_lookup_method),
4964         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4965         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4966         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4967         (gst_index_flags_get_type), (register_gst_debug_level),
4968         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4969         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4970         (gst_iterator_result_get_type), (register_gst_iterator_item),
4971         (gst_iterator_item_get_type), (register_gst_message_type),
4972         (gst_message_type_get_type), (register_gst_mini_object_flags),
4973         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4974         (gst_pad_link_return_get_type), (register_gst_flow_return),
4975         (gst_flow_return_get_type), (register_gst_activate_mode),
4976         (gst_activate_mode_get_type), (register_gst_pad_direction),
4977         (gst_pad_direction_get_type), (register_gst_pad_flags),
4978         (gst_pad_flags_get_type), (register_gst_pad_presence),
4979         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4980         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4981         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4982         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4983         (gst_plugin_flags_get_type), (register_gst_rank),
4984         (gst_rank_get_type), (register_gst_query_type),
4985         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4986         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4987         (gst_tag_flag_get_type), (register_gst_task_state),
4988         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4989         (gst_alloc_trace_flags_get_type),
4990         (register_gst_type_find_probability),
4991         (gst_type_find_probability_get_type), (register_gst_uri_type),
4992         (gst_uri_type_get_type), (register_gst_parse_error),
4993         (gst_parse_error_get_type):
4994         * win32/common/gstversion.h:
4995           update win32 copies
4996
4997 2005-11-01  Luca Ognibene  <luogni@tin.it>
4998
4999         * gst/gst.c:
5000           fix docs. popt is dead, long live GOption.
5001
5002 2005-10-31  Wim Taymans  <wim@fluendo.com>
5003
5004         * gst/gstbuffer.h:
5005         Small doc fix.
5006
5007 2005-10-31  Andy Wingo  <wingo@pobox.com>
5008
5009         * Boo!
5010
5011         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
5012
5013         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
5014         need to serialize property notifications on GLib 2.8. GLib 2.6 has
5015         the possibility of deadlocks here if code calling notify() or
5016         set() has a lock that can be taken in another notify handler (ABBA
5017         with class lock and e.g. python GIL state lock).
5018
5019 2005-10-28  Julien MOUTTE  <julien@moutte.net>
5020
5021         * gst/gstbus.c: Doc updates.
5022
5023 2005-10-28  Wim Taymans  <wim@fluendo.com>
5024
5025         * docs/design/part-TODO.txt:
5026         * gst/gstiterator.c:
5027         * gst/gstsystemclock.c:
5028         * gst/gstsystemclock.h:
5029         Doc updates.
5030
5031 2005-10-28  Edward Hervey  <edward@fluendo.com>
5032
5033         * docs/gst/gstreamer-docs.sgml:
5034         * docs/gst/gstreamer-sections.txt:
5035         the GstURIType documentation page is private, it only defines GstURIType
5036         which should be defined in the GstURIHandler page
5037         
5038 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5039
5040         * gst/gstbin.c: (gst_bin_class_init):
5041         * gst/gstbin.h:
5042         * gst/gstutils.c:
5043         Documentation updates.
5044
5045 2005-10-28  Wim Taymans  <wim@fluendo.com>
5046
5047         * docs/gst/gstreamer-sections.txt:
5048         * gst/gstclock.c:
5049         * gst/gstclock.h:
5050         Documented the clocks.
5051
5052 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
5053
5054         * docs/gst/gstreamer-sections.txt:
5055           move some macros to private sections
5056         * gst/gstminiobject.c:
5057         * gst/gstminiobject.h:
5058           add descriptions provided by ds and some more
5059         * gst/gstpad.h:
5060           mark macro as to be removed
5061
5062 2005-10-28  Wim Taymans  <wim@fluendo.com>
5063
5064         * docs/design/part-TODO.txt:
5065         Add an item to TODO.
5066
5067         * gst/gstiterator.c: (gst_iterator_fold),
5068         (gst_iterator_find_custom):
5069         * gst/gstiterator.h:
5070         Add iterator docs.
5071
5072 2005-10-28  Wim Taymans  <wim@fluendo.com>
5073
5074         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5075         (gst_base_transform_init):
5076         Don't leak class.
5077
5078         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
5079         An EOS event marks the queue as completely filled.
5080
5081 2005-10-27  Wim Taymans  <wim@fluendo.com>
5082
5083         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5084         (gst_base_sink_do_sync), (gst_base_sink_get_position):
5085         Some more debugging.
5086
5087         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
5088         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
5089         (gst_base_transform_event), (gst_base_transform_getrange),
5090         (gst_base_transform_chain):
5091         * gst/base/gstbasetransform.h:
5092         Fix debugging,
5093         Protect transform and concurrent buffer alloc with a new lock.
5094         Try not to break ABI/API.
5095
5096 2005-10-27  Wim Taymans  <wim@fluendo.com>
5097
5098         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5099         (gst_base_src_init), (gst_base_src_query),
5100         (gst_base_src_default_newsegment),
5101         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5102         (gst_base_src_send_event), (gst_base_src_event_handler),
5103         (gst_base_src_pad_get_range), (gst_base_src_loop),
5104         (gst_base_src_unlock), (gst_base_src_default_negotiate),
5105         (gst_base_src_start), (gst_base_src_deactivate),
5106         (gst_base_src_activate_push), (gst_base_src_change_state):
5107         Move some stuff around and cleanup things.
5108
5109 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
5110
5111         * gst/base/gstbasesrc.c: (gst_base_src_query):
5112           Add missing break statements.
5113
5114 2005-10-27  Wim Taymans  <wim@fluendo.com>
5115
5116         * check/gst/gstbin.c: (GST_START_TEST):
5117         An extra refcount is taken in basesrc.
5118
5119         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5120         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5121         (gst_base_src_loop):
5122         Small cleanups, check for flushing after being unlocked from the 
5123         LIVE_LOCK. take refcounts correctly (not yet everywhere).
5124         Don't send out EOS when going to READY.
5125
5126 2005-10-27  Wim Taymans  <wim@fluendo.com>
5127
5128         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5129         (gst_base_sink_get_position):
5130         Some more debug.
5131
5132         * gst/gstbin.c: (message_check), (bin_replace_message),
5133         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5134         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5135         (bin_query_duration_init), (bin_query_duration_fold),
5136         (bin_query_duration_done), (bin_query_generic_fold),
5137         (gst_bin_query):
5138         * tools/gst-launch.c: (main):
5139         Remove old option.
5140
5141 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
5142
5143         * examples/controller/audio-example.c: (main):
5144         * examples/queue/queue.c: (event_loop):
5145         * gst/base/gstbasetransform.h:
5146         * gst/gstelement.c: (gst_element_send_event):
5147         * gst/gstevent.h:
5148         * gst/gstpad.c: (gst_pad_send_event):
5149           fixing examples
5150           fixing docs typos
5151           changing log priority in error situations
5152
5153 2005-10-25  Wim Taymans  <wim@fluendo.com>
5154
5155         * gst/gstbin.c: (message_check), (bin_replace_message),
5156         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5157         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5158         (bin_query_duration_init), (bin_query_duration_fold),
5159         (bin_query_duration_done), (bin_query_generic_fold),
5160         (gst_bin_query):
5161         Some doc and debug updates.
5162         Cache previously requested query DURATION for speed. invalidate
5163         cached duration if element posts a DURATION message.
5164
5165 2005-10-25  Wim Taymans  <wim@fluendo.com>
5166
5167         * docs/design/part-TODO.txt:
5168         Update TODO.
5169
5170         * gst/gstbin.c: (message_check), (bin_replace_message),
5171         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5172         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5173         (bin_query_duration_init), (bin_query_duration_fold),
5174         (bin_query_duration_done), (bin_query_generic_fold),
5175         (gst_bin_query):
5176         Handle SEGMENT_START/DONE messages correctly.
5177         More evolved query algorithm that handles duration queries
5178         correctly.
5179
5180         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
5181         (gst_element_get_state_func), (gst_element_abort_state),
5182         (gst_element_commit_state), (gst_element_lost_state):
5183         Some more debugging.
5184
5185         * gst/gstmessage.h:
5186         Added doc.
5187
5188 2005-10-25  Wim Taymans  <wim@fluendo.com>
5189
5190         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5191         Don't use invalid stream_time.
5192
5193         * gst/gstevent.c: (gst_event_new_newsegment):
5194         stream_time in newsegment cannot be undefined.
5195
5196 2005-10-24  Wim Taymans  <wim@fluendo.com>
5197
5198         * gst/gstbus.c:
5199         Doc fix.
5200
5201         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5202         (gst_queue_loop):
5203         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
5204
5205 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
5206
5207         * docs/libs/tmpl/gstdparam.sgml:
5208         * docs/libs/tmpl/gstdplinint.sgml:
5209         * docs/libs/tmpl/gstdpman.sgml:
5210         * docs/libs/tmpl/gstdpsmooth.sgml:
5211         * docs/libs/tmpl/gstunitconvert.sgml:
5212           these are obsolete
5213
5214 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5215
5216         * configure.ac:
5217           back to HEAD
5218
5219 === release 0.9.4 ===
5220
5221 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5222
5223         * configure.ac:
5224           releasing 0.9.4, "Tyrannosaurus Rex"
5225
5226 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
5227
5228         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5229         (gst_file_sink_get_current_offset):
5230           Use fseeko() and ftello() if available. When falling back on
5231           lseek() to get the current offset, fflush() first to make sure
5232           everything is up-to-date and we get the right offset.
5233
5234 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5235
5236         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5237         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5238         * gst/gsterror.c: (_gst_stream_errors_init):
5239         * gst/gsterror.h:
5240         * gst/gstqueue.c: (gst_queue_loop):
5241         * po/POTFILES.in:
5242           remove prematurely added error category and clean up the instances
5243
5244 2005-10-21  Wim Taymans  <wim@fluendo.com>
5245
5246         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5247         (gst_base_sink_get_position), (gst_base_sink_query),
5248         (gst_base_sink_change_state):
5249         Simply set the right flag when going to playing, that's all
5250         we need to do instead of calling a function inside the object
5251         lock (that could take the lock as well and deadlock)
5252
5253 2005-10-21  Wim Taymans  <wim@fluendo.com>
5254
5255         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
5256         (gst_base_src_loop):
5257         Don't warn, the peer element knows what to do best when
5258         the seek failed, it might try something else.
5259
5260 2005-10-21  Wim Taymans  <wim@fluendo.com>
5261
5262         * gst/base/gstbasesrc.c: (gst_base_src_init),
5263         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5264         Fix seeking.
5265
5266 2005-10-21  Wim Taymans  <wim@fluendo.com>
5267
5268         * docs/design/part-segments.txt:
5269         More docs.
5270
5271         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5272         Correctly set caps, even on the subbufer.
5273
5274 2005-10-21  Wim Taymans  <wim@fluendo.com>
5275
5276         * docs/gst/gstreamer-docs.sgml:
5277         * docs/gst/gstreamer-sections.txt:
5278         * gst/gstelement.h:
5279         * gst/gstevent.c:
5280         * gst/gstevent.h:
5281         * gst/gstmessage.h:
5282         * gst/gstpad.h:
5283         * gst/gstparse.h:
5284         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
5285         * gst/gsttask.h:
5286         * gst/gstutils.c:
5287         * gst/gstutils.h:
5288         And 2% more doc coverage.
5289
5290 2005-10-21  Andy Wingo  <wingo@pobox.com>
5291
5292         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
5293         position reporting.
5294
5295 2005-10-20  Wim Taymans  <wim@fluendo.com>
5296
5297         * gst/gsterror.c: (gst_error_get_message):
5298         * gst/gstparse.h:
5299         * gst/gstquery.h:
5300         * gst/gststructure.c:
5301         * gst/gsttrace.c:
5302         * gst/gstutils.c:
5303         More docs.
5304
5305 2005-10-20  Wim Taymans  <wim@fluendo.com>
5306
5307         * gst/gstbuffer.h:
5308         * gst/gstpad.c:
5309         * gst/gstparse.c:
5310         Another 1% more coverage.
5311
5312 2005-10-20  Wim Taymans  <wim@fluendo.com>
5313
5314         * docs/gst/gstreamer-sections.txt:
5315         * gst/gstelement.c: (gst_element_get_state_func),
5316         (gst_element_abort_state), (gst_element_commit_state),
5317         (gst_element_lost_state):
5318         * gst/gstevent.h:
5319         * gst/gstquery.c: (gst_query_set_position),
5320         (gst_query_parse_position), (gst_query_set_duration),
5321         (gst_query_parse_duration), (gst_query_new_convert):
5322         * gst/gstutils.c:
5323         Yay! 1% more docs coverage.
5324
5325 2005-10-20  Wim Taymans  <wim@fluendo.com>
5326
5327         * gst/gstpad.h:
5328         * gst/gstquery.c: (gst_query_set_position),
5329         (gst_query_parse_position), (gst_query_set_duration),
5330         (gst_query_parse_duration), (gst_query_new_convert):
5331         * gst/gstquery.h:
5332         * gst/gstutils.c: (gst_element_query_convert):
5333         * gst/gstutils.h:
5334         Docs and consistency fixes.
5335
5336 2005-10-20  Wim Taymans  <wim@fluendo.com>
5337
5338         * gst/gsttask.c:
5339         * gst/gsttask.h:
5340         More docs.
5341
5342 2005-10-20  Wim Taymans  <wim@fluendo.com>
5343
5344         * gst/gstbin.c: (message_check), (bin_replace_message),
5345         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5346         (update_degree), (gst_bin_sort_iterator_next),
5347         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
5348         Reworked the message handling a bit, cache the messages instead of
5349         only the senders. alows us to do more in the future.
5350
5351 2005-10-20  Wim Taymans  <wim@fluendo.com>
5352
5353         * docs/design/part-TODO.txt:
5354         Update TODO
5355
5356         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5357         (gst_base_sink_query):
5358         Don't use clock time to report position when in EOS.
5359
5360 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
5361
5362         * tools/gst-inspect.c: (print_interfaces),
5363         (print_element_properties_info), (print_element_info):
5364           Fix interface output with gst-inspect -a; don't print
5365           newlines after double/float properties.
5366
5367 2005-10-20  Wim Taymans  <wim@fluendo.com>
5368
5369         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5370         (gst_base_sink_query):
5371         Speed up current position calculation.
5372
5373         * gst/base/gstbasesrc.c: (gst_base_src_query),
5374         (gst_base_src_default_newsegment):
5375         Correctly set stream position in newsegment.
5376
5377         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
5378         (update_degree), (gst_bin_sort_iterator_next),
5379         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
5380         * gst/gstmessage.c: (gst_message_new_custom):
5381         Clean up debugging info
5382
5383         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
5384         (gst_queue_loop), (gst_queue_handle_src_query):
5385         Pause task faster.
5386
5387 2005-10-19  Wim Taymans  <wim@fluendo.com>
5388
5389         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5390         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5391         Fix query handling again.
5392
5393 2005-10-19  Wim Taymans  <wim@fluendo.com>
5394
5395         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5396         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5397         * gst/base/gstbasesrc.c: (gst_base_src_query):
5398         * gst/elements/gstfilesink.c: (gst_file_sink_query):
5399         * gst/elements/gsttypefindelement.c:
5400         (gst_type_find_handle_src_query), (find_element_get_length),
5401         (gst_type_find_element_activate):
5402         API change fix.
5403
5404         * gst/gstquery.c: (gst_query_new_position),
5405         (gst_query_set_position), (gst_query_parse_position),
5406         (gst_query_new_duration), (gst_query_set_duration),
5407         (gst_query_parse_duration), (gst_query_set_segment),
5408         (gst_query_parse_segment):
5409         * gst/gstquery.h:
5410         Bundling query position/duration is not a good idea since duration
5411         does not change much and we don't want to recalculate it for every
5412         position query, so they are separated again..
5413         Base value in segment query is not needed.
5414
5415         * gst/gstqueue.c: (gst_queue_handle_src_query):
5416         * gst/gstutils.c: (gst_element_query_position),
5417         (gst_element_query_duration), (gst_pad_query_position),
5418         (gst_pad_query_duration):
5419         * gst/gstutils.h:
5420         Updates for query API change.
5421         Added some docs here and there.
5422
5423 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5424
5425         * check/gst/gstbin.c: (GST_START_TEST):
5426         * check/gst/gstghostpad.c: (GST_START_TEST):
5427         * check/pipelines/cleanup.c: (GST_START_TEST):
5428           wait on thread to die so we can check refcount correctly
5429
5430 2005-10-18  Wim Taymans  <wim@fluendo.com>
5431
5432         * check/pipelines/stress.c: (GST_START_TEST):
5433         Make check a little more time consuming.
5434
5435 2005-10-18  Wim Taymans  <wim@fluendo.com>
5436
5437         * check/Makefile.am:
5438         * check/pipelines/stress.c: (GST_START_TEST),
5439         (simple_launch_lines_suite), (main):
5440         Small state change torture test.
5441
5442         * docs/design/part-states.txt:
5443         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5444         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
5445         (gst_base_sink_change_state):
5446         Never take state lock from streaming thread, clean up ugly
5447         hacks. Unfortunatly core does not yet support nice ways to
5448         async commit state.
5449         
5450         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
5451         (bin_bus_handler):
5452         Start state recalc if a STATE_DIRTY message is posted, but only
5453         on the toplevel bin.
5454
5455         * gst/gstelement.c: (gst_element_sync_state_with_parent),
5456         (gst_element_get_state_func), (gst_element_abort_state),
5457         (gst_element_commit_state), (gst_element_lost_state),
5458         (gst_element_set_state_func), (gst_element_change_state):
5459         * gst/gstelement.h:
5460         State variables are now protected with the LOCK, the state
5461         lock is only used to serialize _set_state().
5462
5463 2005-10-18  Wim Taymans  <wim@fluendo.com>
5464
5465         * check/gst/gstbin.c: (GST_START_TEST):
5466         * check/gst/gstmessage.c: (GST_START_TEST):
5467         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5468         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
5469         (bin_bus_handler):
5470         * gst/gstelement.c: (gst_element_abort_state),
5471         (gst_element_commit_state), (gst_element_lost_state):
5472         * gst/gstmessage.c: (gst_message_new_state_changed),
5473         (gst_message_new_state_dirty), (gst_message_new_segment_start),
5474         (gst_message_new_segment_done), (gst_message_new_duration),
5475         (gst_message_parse_state_changed),
5476         (gst_message_parse_segment_start),
5477         (gst_message_parse_segment_done), (gst_message_parse_duration):
5478         * gst/gstmessage.h:
5479         * tools/gst-launch.c: (event_loop):
5480         Seriously, this is better than a previous commit as we only need
5481         to notify the fact that an element changed state in a streaming
5482         thread, marking the state of the parents dirty, hence the 
5483         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
5484         message.
5485
5486 2005-10-18  Wim Taymans  <wim@fluendo.com>
5487
5488         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5489         (gst_bin_recalc_func):
5490         * gst/gstelement.c: (gst_element_set_clock),
5491         (gst_element_abort_state), (gst_element_lost_state):
5492         Cleanups, prepare for state change fixes.
5493
5494 2005-10-18  Wim Taymans  <wim@fluendo.com>
5495
5496         * gst/gstbin.h:
5497         * gst/gstelement.c: (gst_element_class_init),
5498         (gst_element_set_state), (gst_element_set_state_func):
5499         * gst/gstelement.h:
5500         Pending ABI changes.
5501         GThreadPool in GstBinClass to monitor async state changes.
5502         state_cookie in GstElement to detect concurrent gst/set state.
5503         set_state is now virtual too in case a very complicated element
5504         has to be constructed.
5505
5506 2005-10-18  Wim Taymans  <wim@fluendo.com>
5507
5508         * check/gst/gstbin.c: (GST_START_TEST):
5509         * check/gst/gstmessage.c: (GST_START_TEST):
5510         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5511         * gst/gstbin.c: (bin_bus_handler):
5512         * gst/gstelement.c: (gst_element_commit_state),
5513         (gst_element_lost_state):
5514         * gst/gstmessage.c: (gst_message_new_state_changed),
5515         (gst_message_new_segment_start), (gst_message_new_segment_done),
5516         (gst_message_new_duration), (gst_message_parse_state_changed),
5517         (gst_message_parse_segment_start),
5518         (gst_message_parse_segment_done), (gst_message_parse_duration):
5519         * gst/gstmessage.h:
5520         * tools/gst-launch.c: (event_loop):
5521         Make messages future proof.
5522         state-change gets a flag if it was a message comming from the
5523         streaming thread.
5524         segment-start/stop can also be specified in other formats.
5525         A message to notify an app that a pipeline changed playback 
5526         duration.
5527         Also fix a GstMessage leak in -launch
5528
5529 2005-10-18  Andy Wingo  <wingo@pobox.com>
5530
5531         * gst/gstelement.c (gst_element_dispose): More helpful message.
5532
5533 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5534
5535         reviewed by: <delete if not using a buddy>
5536
5537         * common/gtk-doc.mak:
5538
5539 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5540
5541         * gst/gstregistry.c: (gst_registry_scan_path_level):
5542           unref a plug-in we get that was already initialized
5543
5544 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
5545
5546         * docs/gst/gstreamer-sections.txt:
5547         * docs/libs/gstreamer-libs-sections.txt:
5548         * gst/gstelement.h:
5549           add new api entries
5550           hide internal macro
5551
5552 2005-10-17  Andy Wingo  <wingo@pobox.com>
5553
5554         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
5555         cleanup.
5556
5557         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
5558
5559         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
5560
5561         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
5562         (gst_element_get_state_func): Better debug message.
5563         (gst_element_commit_state): s/INFO/DEBUG/.
5564         (gst_element_lost_state, gst_element_change_state): 
5565
5566         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
5567         (gst_message_new_custom): s/INFO/LOG/.
5568
5569 2005-10-17  Michael Smith <msmith@fluendo.com>
5570
5571         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5572           Check if end time is valid using end time, not start time.
5573
5574 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
5575
5576         * check/gst-libs/controller.c: (GST_START_TEST),
5577         (gst_controller_suite):
5578         * libs/gst/controller/gstcontroller.c:
5579         (gst_controlled_property_set_interpolation_mode):
5580         * libs/gst/controller/gstcontroller.h:
5581         * libs/gst/controller/gstinterpolation.c:
5582         * testsuite/controller/.cvsignore:
5583         * testsuite/controller/Makefile.am:
5584         * testsuite/controller/interpolator.c:
5585           merge controller testsuites
5586           fix broken tests
5587           remove mem-chunk from docs
5588
5589 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5590
5591         * gst/gstmemchunk.c:
5592         * gst/gstmemchunk.h:
5593         * gst/gsttrashstack.c:
5594         * gst/gsttrashstack.h:
5595           out.  get out.  you're fired.  to the Attic !
5596
5597 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5598
5599         * gst/gstcaps.c: (gst_caps_intersect):
5600           fix signedness issues in a (hopefully) correct way
5601         * gst/gstelement.c: (gst_element_pads_activate):
5602           some debugging
5603         * gst/gstobject.c: (gst_object_set_parent):
5604           some debugging
5605
5606 2005-10-17  Julien MOUTTE  <julien@moutte.net>
5607
5608         * gst/gstvalue.h: Fix prototypes.
5609
5610 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5611
5612         * docs/gst/gstreamer-sections.txt:
5613         * gst/gst.c: (gst_version_string):
5614         * gst/gst.h:
5615         * gst/gstversion.h.in:
5616         * win32/common/libgstreamer.def:
5617           add gst_version_string ()
5618
5619 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5620
5621         * configure.ac:
5622           clean up further
5623         * gst/gst.c: (init_post):
5624         * win32/common/config.h.in:
5625           it's PLUGINDIR now
5626         * gst/gstcaps.c: (gst_caps_intersect):
5627           use gint64, the range could be bigger than a guint
5628
5629 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5630
5631         * gst/gstclock.h:
5632           document potential problem in 2038
5633
5634 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5635
5636         * gst/gstcaps.c: (gst_caps_intersect):
5637           Fix guint j diving under 0
5638
5639 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5640
5641         * configure.ac:
5642         * win32/common/config.h:
5643         * win32/common/config.h.in:
5644           check for process.h, declares getpid() on Windows
5645         * gst/gstinfo.c:
5646           include process.h if we have it
5647         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5648         * gst/gstmemchunk.h:
5649           fix signedness issues
5650         * win32/common/libgstreamer.def:
5651           fix get_type's
5652
5653 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5654
5655         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5656         fix. Because of unsigned ints, caps intersection was going nuts and
5657         trying to access structures with G_MAXUINT index. That fixes
5658         videotestsrc ! ffmpegcolorspace ! fakesink
5659         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5660         consistency.
5661
5662 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5663
5664         * configure.ac:
5665           use the gettext macro
5666         * gst/elements/gstelements.c:
5667         * gst/gst.c:
5668         * gst/indexers/gstindexers.c:
5669           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5670         * win32/common/config.h:
5671           updated config.h
5672         * win32/common/config.h.in:
5673           add the template to generate config.h
5674         * win32/common/gstenumtypes.c:
5675         * win32/common/gstversion.h:
5676           updated copies
5677
5678 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5679
5680         * gst/gst.c: (gst_version):
5681         * gst/gstversion.h.in:
5682           add the nano
5683
5684 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5685
5686         * gst/gstevent.h:
5687           Oops, add missing closing bracket.
5688
5689 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5690
5691         * configure.ac:
5692           use common m4's for argument checking
5693
5694 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5695
5696         * docs/gst/gstreamer-sections.txt:
5697         * gst/gstevent.h:
5698           Add GST_EVENT_TYPE_NAME() macro.
5699
5700 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5701
5702         * gst/gstinfo.c:
5703         * gst/gstpluginfeature.c:
5704         * gst/gsttask.c:
5705           privatize more symbols
5706
5707 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5708
5709         * configure.ac:
5710           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5711           everything that uses GStreamer API should have the includes
5712
5713 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5714
5715         * docs/gst/gstreamer-sections.txt:
5716         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5717         * gst/gstvalue.h:
5718           give each value a _get_type, removes the DATA exports
5719
5720 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5721
5722         * gst/gst.c:
5723         * gst/gst.h:
5724           remove _gst_registry_auto_load, not used anymore
5725         * gst/gstbin.c: (gst_bin_get_type):
5726         * gst/gstbin.h:
5727         * gst/gstelement.c: (gst_element_get_type):
5728         * gst/gstelement.h:
5729         * gst/gstobject.c: (gst_object_get_type):
5730         * gst/gstobject.h:
5731         * gst/gstpad.c: (gst_pad_get_type):
5732         * gst/gstpad.h:
5733           make _get_type functions similar, fixes data export from library
5734
5735 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5736
5737         * configure.ac:
5738           correctly make conditionals
5739         * gst/elements/Makefile.am:
5740         * gst/elements/gstelements.c:
5741           fix typo causing fdsrc not to build
5742
5743 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5744
5745         * testsuite/Makefile.am:
5746         * testsuite/bytestream/.cvsignore:
5747         * testsuite/bytestream/Makefile.am:
5748         * testsuite/bytestream/filepadsink.c:
5749         * testsuite/bytestream/gstbstest.c:
5750         * testsuite/bytestream/test1.c:
5751         * testsuite/bytestream/testfile1:
5752         * testsuite/caps/normalisation.c:
5753         * testsuite/caps/random.c: (main):
5754         * testsuite/cleanup/.cvsignore:
5755         * testsuite/cleanup/Makefile.am:
5756         * testsuite/cleanup/cleanup1.c:
5757         * testsuite/cleanup/cleanup2.c:
5758         * testsuite/cleanup/cleanup3.c:
5759         * testsuite/cleanup/cleanup4.c:
5760         * testsuite/cleanup/cleanup5.c:
5761         * testsuite/controller/interpolator.c:
5762         * testsuite/debug/printf_extension.c: (main):
5763         * testsuite/elements/tee.c:
5764         * testsuite/negotiation/.cvsignore:
5765         * testsuite/negotiation/Makefile.am:
5766         * testsuite/negotiation/pad_link.c:
5767         * testsuite/pad/Makefile.am:
5768         * testsuite/pad/chainnopull.c:
5769         * testsuite/pad/getnopush.c:
5770         * testsuite/pad/link.c:
5771         * testsuite/refcounting/sched.c: (create_pipeline):
5772         * testsuite/registry/Makefile.am:
5773         * testsuite/registry/gst-print-formats.c:
5774         * testsuite/schedulers/.cvsignore:
5775         * testsuite/schedulers/142183-2.c:
5776         * testsuite/schedulers/142183.c:
5777         * testsuite/schedulers/143777-2.c:
5778         * testsuite/schedulers/143777.c:
5779         * testsuite/schedulers/147713.c:
5780         * testsuite/schedulers/147819.c:
5781         * testsuite/schedulers/147894-2.c:
5782         * testsuite/schedulers/147894.c:
5783         * testsuite/schedulers/Makefile.am:
5784         * testsuite/schedulers/group_link.c:
5785         * testsuite/schedulers/queue_link.c:
5786         * testsuite/schedulers/relink.c:
5787         * testsuite/schedulers/unlink.c:
5788         * testsuite/schedulers/unref.c:
5789         * testsuite/schedulers/useless_iteration.c:
5790         * testsuite/states/bin.c:
5791           clean out/remove some stuff from the testsuite directories
5792
5793 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5794
5795         * configure.ac:
5796           check for some headers
5797         * gst/elements/Makefile.am:
5798         * gst/elements/gstelements.c:
5799           don't compile fdsrc without sys/socket.h
5800         * gst/indexers/Makefile.am:
5801         * gst/indexers/gstindexers.c: (plugin_init):
5802           don't compile fileindex without mmap
5803
5804 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5805
5806         * configure.ac:
5807           reorganize
5808           clean up
5809           document more
5810           remove cruft
5811         * check/Makefile.am:
5812         * docs/gst/Makefile.am:
5813         * examples/helloworld/Makefile.am:
5814         * gst/Makefile.am:
5815         * gst/base/Makefile.am:
5816         * gst/check/Makefile.am:
5817         * gst/elements/Makefile.am:
5818         * gst/indexers/Makefile.am:
5819         * gst/parse/Makefile.am:
5820         * libs/gst/controller/Makefile.am:
5821         * libs/gst/dataprotocol/Makefile.am:
5822         * examples/helloworld/helloworld.c: (event_loop):
5823           compile fixes, though it's not being compiled currently
5824
5825 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5826
5827         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5828           Add some simple tests for the new taglist date API.
5829
5830 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5831
5832         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5833         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5834           Beautify 'last-message' output: print 'none' for buffer timestamps
5835           and durations if none is set; improve alignment with next messages.
5836
5837 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5838
5839         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5840         * gst/gstpluginfeature.h:
5841         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5842         * gst/gstregistry.h:
5843         * docs/gst/gstreamer-sections.txt:
5844           Add new API to check plugin feature version requirements.
5845
5846         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5847           Some basic tests for the above.         
5848
5849 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5850
5851         * gst/gststructure.c: (gst_structure_to_string):
5852           guard against NULL printf - happens when for example
5853           a message structure with GstClock gets serialized
5854
5855 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5856
5857         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5858           Fix presumable copy'n'pasto.
5859
5860 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5861
5862         * gst/elements/gstfakesrc.h:
5863         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5864         * gst/elements/gsttypefindelement.c:
5865           fix some signedness
5866         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5867           I wonder if this could actually write +2GB files before
5868
5869 2005-10-13  Andy Wingo  <wingo@pobox.com>
5870
5871         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5872         Fix Timmeke Waymans bug.
5873         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5874         string of the proper length to gst_caps_from_string. There's a
5875         potential for, before this fix, that this could cause someone
5876         connecting over the network to cause a segfault if the payload is
5877         not NUL-terminated.
5878
5879 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5880
5881         * docs/design/draft-push-pull.txt:
5882         * docs/design/part-overview.txt:
5883         * docs/random/TODO-pre-0.9:
5884         * docs/random/old/ChangeLog.gstreamer:
5885         * gst/base/gstpushsrc.c:
5886         * gst/gstclock.c:
5887           fixed typos
5888
5889 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5890
5891         * gst/glib-compat.c: (gst_flags_get_first_value):
5892         * gst/glib-compat.h:
5893         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5894         (gst_value_compare_double), (gst_value_serialize_flags):
5895           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5896           infinite loop
5897
5898 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5899
5900         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5901         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5902           fix up debugging
5903         * tools/gst-launch.c: (event_loop):
5904           print out clock nicely
5905
5906 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5907
5908         * docs/gst/gstreamer-sections.txt:
5909         * gst/gsttaglist.h:
5910         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5911         (gst_tag_list_get_date_index):
5912           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5913           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5914
5915 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5916
5917         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5918         (gst_collectpads_chain):
5919         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5920         in CollectData.
5921
5922 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5923
5924         * docs/gst/gstreamer-sections.txt:
5925         * gst/gst.c:
5926         * gst/gsterror.h:
5927         * tools/gst-inspect.c: (main):
5928         * tools/gst-launch.c: (main):
5929         * tools/gst-run.c: (main):
5930         * tools/gst-xmlinspect.c: (main):
5931           fix GOption context leaks
5932           doc fixes
5933
5934 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5935
5936         * gst/gstbus.c:
5937           use HAVE_UNISTD_H
5938         * win32/common/config.h:
5939           update config
5940         * win32/vs6/grammar.dsp:
5941         * win32/vs6/libgstelements.dsp:
5942         * win32/vs6/libgstreamer.dsp:
5943           update vs6 files
5944
5945 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5946
5947         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5948         * gst/base/gstbasesrc.c: (gst_base_src_query):
5949           fix more guint64<->gdouble conversions
5950
5951 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5952
5953         * Makefile.am:
5954           add win32-update target
5955         * win32/common/gstconfig.h:
5956         * win32/common/gstenumtypes.c:
5957         * win32/common/gstenumtypes.h:
5958         * win32/common/gstversion.h:
5959           add files that visual studio can't generate
5960
5961 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5962
5963         * Makefile.am:
5964           add a win32-update target
5965         * configure.ac:
5966
5967 2005-10-12  Wim Taymans  <wim@fluendo.com>
5968
5969         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5970         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5971         * gst/gstelement.c: (gst_element_commit_state),
5972         (gst_element_set_state):
5973         Protect flags with proper lock.
5974         unref provided cached clock in dispose.
5975
5976 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5977
5978         * gst/gst.c:
5979         * gst/gstminiobject.h:
5980         * gst/gstpad.h:
5981         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5982           removed unused flags from miniobject
5983           doc fixes
5984
5985 2005-10-12  Wim Taymans  <wim@fluendo.com>
5986
5987         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5988         (gst_file_sink_event), (gst_file_sink_render):
5989         Flush before seeking.
5990
5991 2005-10-12  Andy Wingo  <wingo@pobox.com>
5992
5993         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5994         always been the case.
5995
5996 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5997
5998         * check/gst/gstbin.c: (GST_START_TEST):
5999         * docs/gst/gstreamer-sections.txt:
6000         * gst/base/gstbasesink.c: (gst_base_sink_init):
6001         * gst/base/gstbasesrc.c: (gst_base_src_init),
6002         (gst_base_src_get_range), (gst_base_src_check_get_range),
6003         (gst_base_src_start), (gst_base_src_stop):
6004         * gst/base/gstbasesrc.h:
6005         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
6006         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6007         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
6008         (bin_bus_handler):
6009         * gst/gstbin.h:
6010         * gst/gstbuffer.h:
6011         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
6012         * gst/gstbus.h:
6013         * gst/gstelement.c: (gst_element_is_locked_state),
6014         (gst_element_set_locked_state), (gst_element_commit_state),
6015         (gst_element_set_state):
6016         * gst/gstelement.h:
6017         * gst/gstindex.c: (gst_index_init):
6018         * gst/gstindex.h:
6019         * gst/gstminiobject.h:
6020         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
6021         (gst_object_set_parent):
6022         * gst/gstobject.h:
6023         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
6024         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
6025         * gst/gstpad.h:
6026         * gst/gstpadtemplate.h:
6027         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
6028         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
6029         * gst/gstpipeline.h:
6030         * gst/indexers/gstfileindex.c: (gst_file_index_load),
6031         (gst_file_index_commit):
6032         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6033         * testsuite/pad/link.c: (gst_test_src_init),
6034         (gst_test_filter_init), (gst_test_sink_init):
6035         * testsuite/states/locked.c: (main):
6036           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
6037           moved bitshift from macro to enum definition
6038
6039 2005-10-12  Wim Taymans  <wim@fluendo.com>
6040
6041         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
6042         * gst/elements/gstfilesink.c: (gst_file_sink_event),
6043         (gst_file_sink_render):
6044         Some more debugging info.
6045
6046 2005-10-12  Wim Taymans  <wim@fluendo.com>
6047
6048         * docs/design/part-states.txt:
6049         * tools/gst-launch.c: (main):
6050         Some doc updates.
6051         Revert non-intentional change.
6052
6053 2005-10-12  Wim Taymans  <wim@fluendo.com>
6054
6055         * check/gst/gstbin.c: (GST_START_TEST):
6056         * check/gst/gstelement.c: (GST_START_TEST):
6057         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
6058         * check/gst/gstghostpad.c: (GST_START_TEST):
6059         * check/gst/gstpipeline.c: (GST_START_TEST):
6060         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6061         * check/states/sinks.c: (GST_START_TEST):
6062         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6063         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6064         (gst_bin_remove_func), (gst_bin_get_state_func),
6065         (gst_bin_recalc_state), (gst_bin_change_state_func),
6066         (bin_bus_handler):
6067         * gst/gstelement.c: (gst_element_get_state_func),
6068         (gst_element_get_state), (gst_element_abort_state),
6069         (gst_element_commit_state), (gst_element_set_state),
6070         (gst_element_change_state), (gst_element_change_state_func):
6071         * gst/gstelement.h:
6072         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
6073         (gst_pipeline_provide_clock_func):
6074         * gst/gstutils.c: (gst_element_link_pads_filtered):
6075         * tools/gst-launch.c: (main):
6076         * tools/gst-typefind.c: (main):
6077         Use GstClockTime in _get_state() instead of GTimeVal.
6078         Remove old code in gstutils.c
6079
6080 2005-10-12  Andy Wingo  <wingo@pobox.com>
6081
6082         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
6083         removed.
6084
6085         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
6086         there is no task. Shouldn't affect any code, as nothing in our
6087         plugins checks this return value.
6088         (gst_pad_stop_task): Also take the stream lock if the pad has no
6089         task. Docs updated.
6090
6091 2005-10-12  Wim Taymans  <wim@fluendo.com>
6092
6093         * gst/gstpad.c: (pre_activate), (post_activate),
6094         (gst_pad_activate_pull), (gst_pad_activate_push):
6095         Cleanup activation code. Reset old state if
6096         activation failed.
6097
6098 2005-10-12  Wim Taymans  <wim@fluendo.com>
6099
6100         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6101         (gst_base_sink_change_state):
6102         No need to prerol after receiving EOS.
6103
6104         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6105         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
6106         * gst/elements/gstidentity.c: (gst_identity_event):
6107         Print events more verbosely.
6108
6109 2005-10-12  Wim Taymans  <wim@fluendo.com>
6110
6111         * check/Makefile.am:
6112         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6113         * check/states/sinks2.c:
6114         Moved sinks2 testcode in sinks check.
6115
6116         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6117         (gst_bin_remove_func), (gst_bin_recalc_state),
6118         (gst_bin_change_state_func), (bin_bus_handler):
6119         Fix potential race condition when _get_state() iterated over an
6120         ASYNC element right before it posted a state completion.
6121
6122         * gst/gstclock.h:
6123         Do proper cast here.
6124
6125         * gst/gstevent.c: (gst_event_new_newsegment),
6126         (gst_event_parse_newsegment):
6127         A playback rate of 0.0 is not allowed.
6128
6129 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6130
6131         * win32/common/config.h:
6132         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
6133         (_trewinddir), (_ttelldir), (_tseekdir):
6134         * win32/common/dirent.h:
6135         * win32/common/gtchar.h:
6136         * win32/common/libgstbase.def:
6137         * win32/common/libgstreamer.def:
6138         * win32/vs6/grammar.dsp:
6139         * win32/vs6/gst_inspect.dsp:
6140         * win32/vs6/gst_launch.dsp:
6141         * win32/vs6/gstreamer.dsw:
6142         * win32/vs6/libgstbase.dsp:
6143         * win32/vs6/libgstelements.dsp:
6144         * win32/vs6/libgstreamer.dsp:
6145           Visual Studio 6 project files, and a new common directory.
6146           Phear.
6147
6148 2005-10-11  Wim Taymans  <wim@fluendo.com>
6149
6150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6151         (gst_base_sink_do_sync), (gst_base_sink_query),
6152         (gst_base_sink_change_state):
6153         * gst/base/gstbasesink.h:
6154         Correctly parse newsegment info.
6155
6156 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6157
6158         * gst/gst.c: (init_post):
6159           split plugin paths correctly
6160
6161 2005-10-11  Wim Taymans  <wim@fluendo.com>
6162
6163         * check/gst/gstevent.c: (GST_START_TEST):
6164         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6165         (gst_base_sink_change_state):
6166         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
6167         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6168         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6169         * gst/gstevent.c: (gst_event_new_newsegment),
6170         (gst_event_parse_newsegment):
6171         * gst/gstevent.h:
6172         Added extra flag to newsegment for future API freeze.
6173         Updated check and base elements.
6174
6175 2005-10-11  Julien MOUTTE  <julien@moutte.net>
6176
6177         * gst/base/gstcollectpads.c: (gst_collectpads_init),
6178         (gst_collectpads_add_pad), (gst_collectpads_pop),
6179         (gst_collectpads_event), (gst_collectpads_chain):
6180         * gst/base/gstcollectpads.h: Handle EOS correctly.
6181
6182 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6183
6184         * tools/gst-launch.c: (main):
6185           more null protecting
6186
6187 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6188
6189         * gst/gst-i18n-lib.h:
6190           check for ENABLE_NLS, not GETTEXT_PACKAGE
6191         * gst/gstregistry.c: (gst_registry_add_plugin),
6192         (gst_registry_scan_path_level),
6193         (_gst_registry_remove_cache_plugins):
6194           protect possibly NULL strings
6195         * gst/parse/types.h:
6196           config.h already included before
6197         * tools/gst-inspect.c: (main):
6198           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
6199           check for ENABLE_NLS, not GETTEXT_PACKAGE
6200         * tools/gst-launch.c: (main):
6201           check for ENABLE_NLS, not GETTEXT_PACKAGE
6202
6203 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6204
6205         * configure.ac:
6206           if we don't have glib, fail before testing 2.8
6207         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
6208           fix a leak, should fix plugins-base testsuite
6209
6210 2005-10-11  Andy Wingo  <wingo@pobox.com>
6211
6212         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
6213         take the mode we're going to as an arg. Go head and set the mode
6214         and flushing flags now, so that if the activate function starts a
6215         thread all the flags will be in the right state.
6216         (post_activate): Renamed also. Just handle making sure streaming
6217         finishes for the deactivation case, and setting the deactivated
6218         mode.
6219         (gst_pad_set_active): Complain loudly if deactivation fails.
6220         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
6221         (gst_pad_activate_push): Adapt to pre/post_activate changes,
6222         remove the terrible hack.
6223
6224 2005-10-11  Wim Taymans  <wim@fluendo.com>
6225
6226         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6227         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
6228         (gst_bin_recalc_state), (gst_bin_change_state_func),
6229         (gst_bin_dispose), (bin_bus_handler):
6230         * gst/gstbin.h:
6231         Prepare to make current EOS message queue more generic.
6232         Fix some typos.
6233
6234         * gst/gstevent.c: (gst_event_new_newsegment),
6235         (gst_event_parse_newsegment):
6236         * gst/gstevent.h:
6237         Rename base to stream_time.
6238
6239         * gst/gstmessage.h:
6240         Fix typo in docs.
6241
6242 2005-10-11  Wim Taymans  <wim@fluendo.com>
6243
6244         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6245         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
6246         (gst_bin_change_state_func), (bin_bus_handler):
6247         * gst/gstbin.h:
6248         Work on proper clock selection.
6249
6250 2005-10-11  Edward Hervey  <edward@fluendo.com>
6251
6252         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
6253         * libs/gst/controller/gstcontroller.h:
6254         Added GList* version of _remove_properties() in order to be able to wrap
6255         it in bindings.
6256
6257 2005-10-11  Wim Taymans  <wim@fluendo.com>
6258
6259         * docs/design/part-states.txt:
6260         Some more docs.
6261
6262         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
6263         (gst_bin_change_state_func), (bin_bus_handler):
6264         Doc updates. Don't distribute the same clock over and over again.
6265
6266         * gst/gstclock.c:
6267         * gst/gstclock.h:
6268         Doc updates.
6269
6270         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
6271         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
6272         (gst_pad_send_event):
6273         * gst/gstpad.h:
6274         Make probe emission threadsafe again.
6275         Register quarks and move _get_name() from utils.
6276         Doc updates.
6277
6278         * gst/gstpipeline.c: (gst_pipeline_class_init),
6279         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6280         Only redistribute the clock of it changed.
6281
6282         * gst/gstsystemclock.h:
6283         Doc updates. 
6284
6285         * gst/gstutils.c:
6286         * gst/gstutils.h:
6287         Moved the _flow_get_name() to GstPad.
6288
6289 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6290
6291         * check/gst-libs/gdp.c: (GST_START_TEST):
6292         * check/gst/gstcaps.c: (GST_START_TEST):
6293         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6294         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
6295         (gst_dp_packet_from_caps):
6296           fix more valgrind warnings before turning up the heat
6297
6298 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6299
6300         * gst/parse/grammar.y:
6301           some cleanup before the hacking
6302
6303 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6304
6305         * gst/base/gstbasesrc.c: (gst_base_src_query):
6306           use conversions
6307         * gst/gstutils.c: (gst_guint64_to_gdouble),
6308         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
6309         * gst/gstutils.h:
6310           externalize, basesrc uses it
6311           obviously the implementation needs testing
6312
6313 2005-10-10  Wim Taymans  <wim@fluendo.com>
6314
6315         * tests/sched/Makefile.am:
6316         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
6317         (make_pipeline3), (make_pipeline4), (print_elem), (main):
6318
6319 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6320
6321         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
6322           apparently converting from guint64 to double is not implemented
6323           on MSVC
6324
6325 2005-10-10  Wim Taymans  <wim@fluendo.com>
6326
6327         * check/Makefile.am:
6328         * check/generic/states.c: (GST_START_TEST):
6329         * check/gst/gstbin.c: (GST_START_TEST):
6330         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6331         * check/states/sinks.c: (GST_START_TEST):
6332         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
6333         (main):
6334         Check fixes, use API as stated in design docs, remove hacks.
6335
6336         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6337         (gst_base_sink_change_state):
6338         Catch stopping our task while we're shutting down.
6339
6340         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6341         (gst_bin_remove_func), (gst_bin_get_state_func),
6342         (gst_bin_recalc_state), (gst_bin_change_state_func),
6343         (bin_bus_handler):
6344         * gst/gstbin.h:
6345         * gst/gstelement.c: (gst_element_init),
6346         (gst_element_get_state_func), (gst_element_abort_state),
6347         (gst_element_commit_state), (gst_element_lost_state),
6348         (gst_element_set_state), (gst_element_change_state),
6349         (gst_element_change_state_func):
6350         * gst/gstelement.h:
6351         New state change algorithm (see #318116)
6352
6353         * gst/gstpipeline.c: (gst_pipeline_class_init),
6354         (gst_pipeline_init), (gst_pipeline_set_property),
6355         (gst_pipeline_get_property), (do_pipeline_seek),
6356         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6357         * gst/gstpipeline.h:
6358         Remove crude state change hacks.
6359
6360         * gst/gstutils.h:
6361         Remove crude hacks.
6362
6363         * tools/gst-launch.c: (main):
6364         Fixes for state change. Needs some more work to fully use the
6365         new stuff.
6366
6367 2005-10-10  Andy Wingo  <wingo@pobox.com>
6368
6369         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
6370
6371         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
6372         this flag, but it's not even in GLib 2.6. Odd. Hack around the
6373         issue.
6374
6375 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6376
6377         * gst/gstiterator.c: (gst_iterator_new):
6378           Fix my previous commit: GTypes passed to gst_iterator_new()
6379           can be fundamental types.
6380
6381 2005-10-10  Wim Taymans  <wim@fluendo.com>
6382
6383         * gst/gstelement.c: (gst_element_iterate_pad_list),
6384         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
6385         (gst_element_iterate_sink_pads):
6386         Use src/sink pads lists for the respective iterators instead
6387         of filtering.
6388
6389 2005-10-10  Andy Wingo  <wingo@pobox.com>
6390
6391         Merged in popt removal + GOption addition patch from Ronald, bug
6392         #169772.
6393
6394         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
6395         GstElement macros around, remove popt-related symbols, add goption
6396         stuff.
6397
6398         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
6399         
6400         * docs/gst/Makefile.am:
6401         * docs/libs/Makefile.am: No POPT_CFLAGS.
6402         
6403         * examples/manual/Makefile.am:
6404         * docs/manual/basics-init.xml: Doc updates with an example.
6405         
6406         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6407         (gst_init), (parse_one_option), (parse_goption_arg):
6408         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
6409         bit of hand merging and debugging to get the GOption stuff working
6410         tho.
6411         
6412         * tests/Makefile.am:
6413         * tools/Makefile.am:
6414         * tools/gst-inspect.c: (main):
6415         * tools/gst-launch.c: (main):
6416         * tools/gst-run.c: (main):
6417         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
6418
6419 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6420
6421         * gst/gstiterator.c: (gst_iterator_new):
6422           Add assertions to make sure passed GType is likely to really
6423           be a GType (as the compiler won't catch it if the size and
6424           GType arguments get mixed up, see #318447).
6425
6426 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
6427
6428         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6429
6430         * gst/gstbin.c: (gst_bin_iterate_sorted):
6431           Pass GType and size arguments to gst_iterator_new() in the right
6432           order (maybe we should make _new() take the GType as first argument
6433           just like _new_list()?) (#318447).
6434           
6435
6436 2005-10-10  Wim Taymans  <wim@fluendo.com>
6437
6438         * gst/gstelement.c: (gst_element_finalize):
6439         And free the GStaticRecMutex too
6440
6441 2005-10-10  Andy Wingo  <wingo@pobox.com>
6442
6443         * gst/gstelement.c (gst_element_init, gst_element_finalize):
6444         Allocate and free the mutex properly.
6445
6446         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
6447         New macros.
6448         (GstElement): The state_lock is now recursive. Rebuild your
6449         plugins, suckers. Old macros adapted.
6450
6451         * docs/gst/gstreamer-sections.txt: Doc updates.
6452
6453         * gst/gstutils.h:
6454         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
6455         (g_static_rec_cond_wait): Ported from state changes patch, while
6456         we wait on bug #317802 to be solved in a well-distributed GLib.
6457
6458         * gst/gstelement.c (gst_element_change_state_func): Renamed from
6459         gst_element_change_state, variable name changes.
6460         (gst_element_change_state): Split out of gst_element_set_state in
6461         preparation for the state change merge. Doesn't pay attention to
6462         the 'transition' argument.
6463         (gst_element_set_state): Updates, hopefully purely cosmetic.
6464         (gst_element_sync_state_with_parent): MT-safety. Ported from the
6465         state change patch.
6466         (gst_element_get_state_func): Renamed from get_state, cosmetic
6467         changes.
6468
6469 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6470
6471         * gst/elements/gstelements.c:
6472         * win32/GStreamer.vcproj:
6473         * win32/config.h:
6474         * win32/dirent.c: (_tseekdir):
6475         * win32/gst-inspect.vcproj:
6476         * win32/gst-launch.vcproj:
6477         * win32/gstconfig.h:
6478         * win32/gstelements.vcproj:
6479         * win32/gstenumtypes.c: (gst_object_flags_get_type):
6480         * win32/gstreamer.def:
6481         * win32/msvc71.sln:
6482           updates for the win32 build (patch from Sebastien Moutte)
6483
6484 2005-10-10  Andy Wingo  <wingo@pobox.com>
6485
6486         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
6487         gst_bin_get_state, cleaned up (but no logic changes).
6488         (bin_element_is_sink): Comment updates.
6489         (sink_iterator_filter): Remove needless cast.
6490         (gst_bin_iterate_sinks): Doc update.
6491         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
6492         cleaned up (but no logic changes).
6493
6494         * check/states/sinks.c (test_src_sink): Cleanups from the state
6495         change patch.
6496         (test_livesrc_sink): Sync on the state.
6497
6498         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
6499         the state change patch.
6500
6501         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
6502         change patch.
6503
6504         * check/gst/gstbin.c: Merge in some style fixes and additional
6505         checks from Wim's state change patch.
6506
6507 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6508
6509         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6510         (gst_type_find_helper):
6511           Check whether we have the requested data already in our list of
6512           cached buffers before pulling a new buffer; also make the buffer
6513           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
6514
6515 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6516
6517         * gst/gstcaps.c:
6518         * gst/gstevent.c:
6519           doc updates
6520         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6521           don't use long long, it's not portable.  Replacing with
6522           gint64 seems to work; let's hope no skeletons fall out of the closet.
6523
6524 2005-10-10  Andy Wingo  <wingo@pobox.com>
6525
6526         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
6527
6528 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
6529
6530         * docs/gst/gstreamer-sections.txt:
6531         * gst/gstevent.c:
6532         * gst/gstevent.h:
6533         * gst/gstinfo.c:
6534         * gst/gstinfo.h:
6535         * gst/gstmessage.c: (gst_message_parse_state_changed):
6536         * gst/gstpad.c:
6537         * gst/gstpad.h:
6538           more docs, fix compilation
6539
6540 2005-10-09  Philippe Khalaf <burger@speedy.org>
6541         * gst/gstmessage.c:
6542           Fixed a few forgotten variables on previous commit
6543
6544 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6545
6546         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6547           Fix evil typefind crasher: getrange() might return a short
6548           buffer at the end of a file, but gst_type_find_peek() must
6549           either return the full data as requested or NULL, but
6550           never a short buffer.
6551
6552 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         * gst/gstmessage.c: (gst_message_new_state_changed),
6555         (gst_message_parse_state_changed):
6556         * gst/gstmessage.h:
6557           don't use "new", it's a C++ keyword
6558
6559 2005-10-08  Wim Taymans  <wim@fluendo.com>
6560
6561         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
6562         * gst/gstelement.c: (gst_element_post_message):
6563         * gst/gstpipeline.c: (gst_pipeline_change_state):
6564         Small docs and debug updates.
6565
6566 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6567
6568         * docs/gst/gstreamer-sections.txt:
6569         * gst/gstelementfactory.c:
6570         * gst/gstevent.c:
6571         * gst/gsttaglist.c:
6572           more docs
6573
6574 2005-10-08  Wim Taymans  <wim@fluendo.com>
6575
6576         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
6577         (gst_bin_dispose), (bin_bus_handler):
6578         Fix typos, add comments.
6579         Clear EOS list when going to PAUSED from any direction and do it
6580         in a threadsafe way.
6581         Get base time in a threadsafe way too.
6582         Fix confusing debug in the change_state function.
6583         Various other small cleanups.
6584         
6585         * gst/gstelement.c: (gst_element_post_message):
6586         Fix very verbose bus posting code.
6587
6588         * gst/gstpipeline.c: (gst_pipeline_class_init),
6589         (gst_pipeline_set_property), (gst_pipeline_get_property),
6590         (gst_pipeline_change_state):
6591         Small ARG_ -> PROP_ cleanup
6592
6593 2005-10-08  Wim Taymans  <wim@fluendo.com>
6594
6595         * gst/gstbin.c: (is_eos), (bin_bus_handler):
6596         Do a less CPU demanding EOS check because we can.
6597
6598 2005-10-08  Wim Taymans  <wim@fluendo.com>
6599
6600         * libs/gst/dataprotocol/dataprotocol.c:
6601         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6602         (gst_dp_packet_from_event):
6603         * libs/gst/dataprotocol/dataprotocol.h:
6604         * libs/gst/dataprotocol/dp-private.h:
6605         It's about time we bump the version number.
6606         Since event types don't fit in the guint8 anymore describing
6607         the payload type, make payload type 16 bits wide.
6608
6609 2005-10-08  Wim Taymans  <wim@fluendo.com>
6610
6611         * docs/design/part-TODO.txt:
6612         * docs/design/part-clocks.txt:
6613         * docs/design/part-events.txt:
6614         * docs/design/part-gstbin.txt:
6615         * docs/design/part-gstelement.txt:
6616         * docs/design/part-gstpipeline.txt:
6617         * docs/design/part-live-source.txt:
6618         * docs/design/part-messages.txt:
6619         * docs/design/part-overview.txt:
6620         * docs/design/part-states.txt:
6621         Many doc updates.
6622
6623 2005-10-08  Wim Taymans  <wim@fluendo.com>
6624
6625         * gst/gstevent.c:
6626         * gst/gstevent.h:
6627         Fix event quark registration.
6628         Add some space between events so we can insert them in the
6629         right groups.
6630
6631 2005-10-08  Wim Taymans  <wim@fluendo.com>
6632
6633         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6634         (gst_base_sink_handle_buffer):
6635         Better log message.
6636
6637         * gst/gstbus.h:
6638         * gst/gstelement.h:
6639         More docs.
6640
6641         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6642         (gst_queue_set_property), (gst_queue_get_property):
6643         * gst/gstqueue.h:
6644         Remove old unused properties.
6645
6646 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6647         * docs/gst/gstreamer-sections.txt:
6648         * gst/gstmessage.c:
6649         * gst/gstmessage.h:
6650         * gst/gstminiobject.c:
6651         * gst/gstminiobject.h:
6652         * gst/gstobject.h:
6653         * gst/gstpad.h:
6654         * gst/gstutils.h:
6655           lots of new docs and doc fixes
6656
6657 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6658
6659         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6660         * gst/gstplugin.h:
6661         * gst/gstregistry.c: (gst_registry_lookup_locked),
6662         (gst_registry_scan_path_level):
6663         * gst/gstregistryxml.c: (load_plugin):
6664           Only ever load one plugin for a given plugin basename.
6665           This ensures correct overriding of GST_PLUGIN_PATH over
6666           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6667           system installed plugins.
6668
6669 2005-10-08  Wim Taymans  <wim@fluendo.com>
6670
6671         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6672         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6673         Prepare for doing QOS.
6674
6675 2005-10-08  Wim Taymans  <wim@fluendo.com>
6676
6677         * check/gst/gstbin.c: (GST_START_TEST):
6678         * check/pipelines/cleanup.c: (GST_START_TEST):
6679         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6680         Allow new clock message too.
6681
6682 2005-10-08  Wim Taymans  <wim@fluendo.com>
6683
6684         * gst/gstmessage.c: (gst_message_new_error),
6685         (gst_message_new_warning), (gst_message_new_tag),
6686         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6687         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6688         (gst_message_new_segment_start), (gst_message_new_segment_done),
6689         (gst_message_parse_state_changed),
6690         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6691         (gst_message_parse_new_clock):
6692         * gst/gstmessage.h:
6693         Also carry the clock in question.
6694
6695 2005-10-08  Wim Taymans  <wim@fluendo.com>
6696
6697         * gst/gstmessage.c: (gst_message_new_custom),
6698         (gst_message_new_eos), (gst_message_new_error),
6699         (gst_message_new_warning), (gst_message_new_tag),
6700         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6701         (gst_message_new_new_clock), (gst_message_new_segment_start),
6702         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6703         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6704         * gst/gstmessage.h:
6705         Clean up.
6706         Added clock related messages.
6707
6708         * gst/gstpipeline.c: (gst_pipeline_change_state):
6709         Post message when the clock changed.
6710
6711         * tools/gst-launch.c: (event_loop):
6712         Print new clock.
6713
6714 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6715
6716         * tools/gst-inspect.c: (print_element_properties_info):
6717           Can't pass NULL strings to g_print() on windows.
6718
6719 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6720
6721         * docs/Makefile.am:
6722         * docs/gst/Makefile.am:
6723         * docs/gst/gstreamer-docs.sgml:
6724         * docs/gst/running.xml:
6725         * docs/version.entities.in:
6726           add a chapter on running GStreamer.
6727           document GST_DEBUG and GST_PLUGIN* env vars
6728
6729 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6730
6731         * Makefile.am:
6732           remove include dir
6733         * configure.ac:
6734           remove PLUGINS_BUILDDIR stuff
6735         * gst/gst.c: (init_post):
6736           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6737         * idiottest.mak:
6738           remove, it was condescending and not needed
6739
6740 2005-10-08  Wim Taymans  <wim@fluendo.com>
6741
6742         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6743         (gst_base_sink_handle_object), (gst_base_sink_event),
6744         (gst_base_sink_wait), (gst_base_sink_handle_event),
6745         (gst_base_sink_change_state):
6746         * gst/base/gstbasesink.h:
6747         Repost EOS message while going to PLAYING if still EOS.
6748         Make sure that when receiving a FLUSH_START we don't attempt
6749         to sync on the clock anymore.
6750
6751 2005-10-08  Wim Taymans  <wim@fluendo.com>
6752
6753         * tools/gst-launch.c: (event_loop):
6754         Better message printout.
6755
6756 2005-10-08  Wim Taymans  <wim@fluendo.com>
6757
6758         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6759         (gst_bin_child_proxy_get_children_count):
6760         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6761         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6762         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6763         (gst_child_proxy_set_valist):
6764         * gst/parse/grammar.y:
6765         Make ChildProxy threadsafe and fix mem leaks.
6766
6767 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6768
6769         * gst/gst.c: (init_post):
6770           debug the GST_PLUGIN_ env vars
6771
6772 2005-10-08  Wim Taymans  <wim@fluendo.com>
6773
6774         * check/gst/gstbin.c: (GST_START_TEST):
6775         * check/gst/gstmessage.c: (GST_START_TEST):
6776         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6777         * gst/gstelement.c: (gst_element_commit_state),
6778         (gst_element_lost_state):
6779         * gst/gstmessage.c: (gst_message_new_state_changed),
6780         (gst_message_parse_state_changed):
6781         * gst/gstmessage.h:
6782         * tools/gst-launch.c: (event_loop):
6783         Added extra field to STATE_CHANGE message with the pending
6784         state, which will be different from the new state soon.
6785
6786 2005-10-08  Wim Taymans  <wim@fluendo.com>
6787
6788         * gst/gstbus.c: (gst_bus_pop):
6789         * gst/gstclock.c:
6790         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6791         Small cleanups and doc updates.
6792
6793 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6794
6795         * gst/gst.c: (init_pre):
6796         * gst/gstbin.c: (gst_bin_add_func):
6797           log distributing clocks and base time
6798         * gst/gstregistry.c: (gst_registry_add_plugin),
6799         (gst_registry_scan_path_level), (gst_registry_scan_path):
6800           clean up the debugging output a little
6801         * gst/gstutils.c: (gst_element_state_get_name):
6802           warn about a memleak (I've actually seen this be used, though
6803           it was probably a bug)
6804
6805 2005-10-07  Wim Taymans  <wim@fluendo.com>
6806
6807         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6808         (gst_base_src_init), (gst_base_src_default_newsegment),
6809         (gst_base_src_newsegment), (gst_base_src_do_seek),
6810         (gst_base_src_loop), (gst_base_src_start):
6811         * gst/base/gstbasesrc.h:
6812         Make the newsegment event customizable by subclasses.
6813
6814 2005-10-07  Wim Taymans  <wim@fluendo.com>
6815
6816         * gst/gstevent.c: (gst_event_new_buffersize),
6817         (gst_event_parse_buffersize):
6818         * gst/gstevent.h:
6819         New event for future idea.
6820
6821 2005-10-07  Andy Wingo  <wingo@pobox.com>
6822
6823         * gst/gstelement.c (gst_element_post_message): Doc update.
6824
6825         * docs/gst/gstreamer-sections.txt: Update.
6826
6827         * gst/gstmessage.c (gst_message_new_application): Made into a
6828         function like honest API calls.
6829         (gst_message_new_element): New message type.
6830
6831         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6832
6833         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6834         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6835         times.
6836
6837         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6838         NO_PREROLL from gst_element_change_state to fall through.
6839
6840 2005-10-07  Wim Taymans  <wim@fluendo.com>
6841
6842         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6843         (gst_ghost_pad_do_activate_push):
6844         Activating a ghostpad with no internal pad in push mode
6845         is ok.
6846
6847 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6848
6849         * gst/gstobject.h:
6850           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6851           Fixes compilation on Windows.
6852
6853 2005-10-07  Michael Smith <msmith@fluendo.com>
6854
6855         * tools/gst-inspect.c:
6856           Print out feature and plugin count at the end when printing out
6857           all features.
6858
6859 2005-10-04  Michael Smith <msmith@fluendo.com>
6860
6861         * gst/gsterror.c: (_gst_stream_errors_init):
6862           Add another error string used in a few existing plugins.
6863
6864         * gst/gstplugin.c:
6865         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6866         * tools/gst-inspect.c: (print_element_info):
6867           When a feature disappears from a plugin (and the feature exists in
6868           the cached registry file), things went horribly wrong. This isn't a
6869           complete fix, we should actually be removing the 'missing' features
6870           from the features list when we load the actual plugin. That's not
6871           yet implemented. 
6872
6873 2005-10-04  Johan Dahlin  <johan@gnome.org>
6874
6875         * check/gst/gstiterator.c: (GST_START_TEST):
6876         * gst/gstbin.c: (gst_bin_iterate_elements),
6877         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6878         * gst/gstelement.c: (gst_element_iterate_pads):
6879         * gst/gstformat.c: (gst_format_iterate_definitions):
6880         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6881         (gst_iterator_new_list), (gst_iterator_filter):
6882         * gst/gstiterator.h:
6883         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6884         Add a GType to GstIterator, update callsites and tests.
6885
6886 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6887
6888         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6889           give events a chance to be handled by event probes when the pad
6890           is not linked
6891
6892 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6893
6894         * gst/gstevent.c: (gst_event_type_get_name),
6895         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6896         * gst/gstevent.h:
6897           add string representations for event types
6898
6899 2005-10-06  Wim Taymans  <wim@fluendo.com>
6900
6901         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6902         Don't use NULL pointers.
6903
6904 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6905
6906         * gst/gst_private.h:
6907         * gst/gstbus.c:
6908         * gst/gstelement.c:
6909         * gst/gstinfo.c:
6910         * gst/gstpluginfeature.c:
6911           widen the debug category in output to fit the biggest one we have
6912           add a bus category and use it
6913           play with the colors
6914           fix up some categories
6915
6916 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6917
6918         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6919           add push activation of sink ghost pads.
6920           Andye, please verify
6921
6922 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6923
6924         * gst/gstutils.c: (gst_element_link_pads):
6925           fix a bug in the case where neither element has a pad
6926         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6927           add a test for that case
6928
6929 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6930
6931         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6932           emit have-data before checking for peers.  This allows
6933           for probe handlers to connect elements.  This helps autopluggers.
6934         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6935         (gst_pad_suite):
6936           add six checks, linked/unlinked with no/true/false probe
6937
6938 2005-10-04  Wim Taymans  <wim@fluendo.com>
6939
6940         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6941         (gst_fake_sink_event), (gst_fake_sink_preroll),
6942         (gst_fake_sink_render), (gst_fake_sink_change_state):
6943         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6944         (gst_fake_src_get_property), (gst_fake_src_create),
6945         (gst_fake_src_stop):
6946         * gst/elements/gstidentity.c: (gst_identity_stop):
6947         Protect last_message with lock.
6948
6949 2005-10-04  Edward Hervey  <edward@fluendo.com>
6950
6951         * gst/gstformat.h: 
6952         Added precision in the comments for GST_FORMAT_DEFAULT
6953
6954 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6955
6956         * tools/gst-launch.c: (main):
6957           Don't try to run erroneous pipelines.
6958
6959 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6960
6961         * gst/gstbus.c: We don't need this header.
6962
6963 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6964
6965         * configure.ac:
6966           back to development
6967
6968 === release 0.9.3 ===
6969
6970 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6971
6972         * README:
6973         * configure.ac:
6974           Releasing 0.9.3, "Unregistered"
6975
6976 2005-10-03  Andy Wingo  <wingo@pobox.com>
6977
6978         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6979         whereby calling a pad's activatepush() function can start a thread
6980         that starts to push or pull before the pad gets the FLUSHING flag
6981         unset. Hack around it by holding the stream lock until the flag is
6982         set. Need to replace this with a proper solution. Together with
6983         the ghost pad fixes, this fixes mp3 playing/tagreading.
6984
6985         * docs/design/part-gstghostpad.txt: Add a note about activation of
6986         proxy pads outside of ghost pads.
6987
6988         * gst/gstghostpad.c: Implement the ghost pad activation design.
6989
6990 2005-10-02  Andy Wingo  <wingo@pobox.com>
6991
6992         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6993         It is volatile, after all.
6994
6995         * docs/design/part-gstghostpad.txt: Flesh out activation with
6996         ghost pads.
6997
6998         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6999         GST_DEBUG_FUNCPTR.
7000
7001 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7002
7003         * configure.ac:
7004           Fix (unused) AM_CONDITIONAL tests.
7005
7006 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
7007
7008         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7009
7010         * gst/gstutils.c: (gst_pad_query_convert):
7011           Add assertion that makes sure src_val is >=0, just like
7012           gst_query_new_convert() has. (#315895)
7013
7014 2005-09-30  Edward Hervey  <edward@fluendo.com>
7015
7016         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
7017         Let's not iterate pads we're not interested in, it avoids getting 
7018         sky-high refcounts on sinkpad.
7019
7020 2005-09-30  Wim Taymans  <wim@fluendo.com>
7021
7022         * gst/gstelement.c: (gst_element_set_state),
7023         (gst_element_change_state):
7024         Small tweak, element in ASYNC remains ASYNC.
7025
7026 2005-09-30  Wim Taymans  <wim@fluendo.com>
7027
7028         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7029         Only error is an error.
7030
7031         * gst/gstbin.c: (gst_bin_change_state):
7032         Better debugging.
7033
7034         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
7035         Also call pad_block in pad alloc.
7036
7037         * gst/gstutils.c: (gst_flow_get_name):
7038         Better debugging.
7039
7040 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7041
7042         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7043         (gst_base_src_get_range):
7044           Fix documentation typos. Add some more debug info.
7045
7046 2005-09-29  David Schleef  <ds@schleef.org>
7047
7048         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
7049           more end-user friendly.
7050         * tools/gst-inspect.c: (main): Check if command-line argument is
7051           a file and attempt to load that file as a plugin.
7052
7053 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7054
7055         * check/gst/gstbin.c:
7056         * check/states/sinks.c:
7057           fix tests for the new warning
7058         * check/gst/gstpipeline.c:
7059           add a test for pipeline and bus interaction
7060         * gst/gstelement.c:
7061           elements should be NULL if they get disposed; add a warning if not
7062
7063 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7064
7065         * gst/gstobject.c:
7066           for 2.6 refcounting, make debug log more correct by printing
7067           the actual refcounts at the time of swap (Wim)
7068
7069 2005-09-29  Andy Wingo  <wingo@pobox.com>
7070
7071         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
7072         removes signal watches previously added via
7073         gst_bus_add_signal_watch.
7074         (gst_bus_add_signal_watch): Don't return the source id, just store
7075         it on the bus if there wasn't an id already.
7076
7077         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
7078         add_signal_watch and remove_signal_watch.
7079
7080 2005-09-29  Edward Hervey  <edward@fluendo.com>
7081
7082         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
7083         Better if we actually iterate the list :)
7084
7085 2005-09-29  Wim Taymans  <wim@fluendo.com>
7086
7087         * check/gst/gstbin.c: (GST_START_TEST):
7088         Change for new bus API.
7089
7090         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7091         (send_messages), (GST_START_TEST), (gstbus_suite):
7092         Change for new bus signal API.
7093
7094         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
7095         (gst_bus_source_prepare), (gst_bus_source_check),
7096         (gst_bus_create_watch), (gst_bus_add_watch_full),
7097         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
7098         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
7099         * gst/gstbus.h:
7100         Remove support for multiple GSources operating on different
7101         message types as it is too complex and unneeded when using
7102         signals.
7103         Added support for receiving signals from the bus.
7104
7105 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7106
7107         * docs/libs/tmpl/gstdataprotocol.sgml:
7108         * docs/manual/advanced-dataaccess.xml:
7109         * gst/elements/gstcapsfilter.c:
7110         * gst/gstutils.c:
7111           rename filter-caps to caps property
7112
7113 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7114
7115         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7116           More robust fraction string parsing.
7117
7118         * docs/pwg/appendix-porting.xml:
7119           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
7120
7121 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7122
7123         * gst/gstcaps.c: (gst_caps_do_simplify):
7124           Thou shalt not free a structure and then continue using it
7125           in the next loop iteration.
7126
7127         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
7128         (gst_caps_suite):
7129           Add test case for caps simplification.
7130
7131 2005-09-29  Wim Taymans  <wim@fluendo.com>
7132
7133         * check/gst/gstbin.c: (GST_START_TEST):
7134         Oops.
7135
7136 2005-09-29  Wim Taymans  <wim@fluendo.com>
7137
7138         * check/gst/gstbin.c: (GST_START_TEST):
7139         Add bus to bin.
7140
7141         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7142         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7143         (find_element), (gst_bin_sort_iterator_next),
7144         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7145         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7146         (gst_bin_change_state), (gst_bin_dispose):
7147         A bin does not have a bus, it gets the bus from the parent.
7148
7149         * gst/gstelement.c: (gst_element_requires_clock),
7150         (gst_element_provides_clock), (gst_element_is_indexable),
7151         (gst_element_is_locked_state), (gst_element_change_state),
7152         (gst_element_set_bus_func):
7153         Small cleanups.
7154
7155         * gst/gstpipeline.c: (gst_pipeline_class_init),
7156         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
7157         The pipeline provides a bus.
7158
7159 2005-09-28  Johan Dahlin  <johan@gnome.org>
7160
7161         * gst/gstmessage.c (gst_message_parse_state_changed): Use
7162         gst_structure_get_enum instead of gst_structure_get_int
7163
7164         * gst/gststructure.c (gst_structure_get_enum): Impl.
7165
7166         * gst/gststructure.h (gst_structure_get_enum): Add
7167
7168         * docs/gst/gstreamer-sections.txt: Ditto
7169
7170         * gst/gstmessage.c (gst_message_new_state_changed): Use
7171         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
7172         which does introspection.
7173         Reviewed by Christian Schaller
7174
7175 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7176
7177         * gst/gstinfo.c: (gst_debug_log_default):
7178           don't do dummy g_strdup()s
7179         * libs/gst/controller/gstcontroller.c:
7180         (on_object_controlled_property_changed),
7181         (gst_controlled_property_new), (gst_controller_new_valist),
7182         (gst_controller_new_list),
7183         (gst_controller_remove_properties_valist), (gst_controller_set),
7184         (gst_controller_get), (gst_controller_sync_values),
7185         (gst_controller_get_value_array), (_gst_controller_class_init),
7186         (gst_controller_get_type):
7187         * libs/gst/controller/gstcontroller.h:
7188         * libs/gst/controller/gstinterpolation.c:
7189         (gst_controlled_property_find_timed_value_node):
7190           convert // to /**/ comments
7191
7192 2005-09-28  Wim Taymans  <wim@fluendo.com>
7193
7194         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
7195         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
7196         (gst_bus_sync_signal_handler):
7197         * gst/gstbus.h:
7198         Added async-message and sync-message signals to the bus.
7199         Added helper BusFunc to emit signals for all posted messages.
7200
7201         * gst/gstmessage.c: (gst_message_type_get_name),
7202         (gst_message_type_to_quark), (gst_message_get_type):
7203         * gst/gstmessage.h:
7204         Register quarks for message names.
7205
7206 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7207
7208         * docs/libs/gstreamer-libs-sections.txt:
7209         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7210         (gst_controller_new_list):
7211         * libs/gst/controller/gstcontroller.h:
7212           added another constructor for language bindings
7213
7214 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7215
7216         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7217           add another check
7218         * gst/gstbus.c:
7219           add some doc
7220         * gst/gstinfo.c: (_gst_debug_init):
7221           slightly more readable color for refcount debugging
7222
7223 2005-09-28  Wim Taymans  <wim@fluendo.com>
7224
7225         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7226         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7227         (find_element), (gst_bin_sort_iterator_next),
7228         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7229         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7230         (gst_bin_change_state), (gst_bin_dispose):
7231         Small doc fixes. get_clock -> provide_clock.
7232
7233         * gst/gstelement.c: (gst_element_class_init),
7234         (gst_element_provides_clock), (gst_element_provide_clock),
7235         (gst_element_get_clock), (gst_element_commit_state),
7236         (gst_element_lost_state):
7237         * gst/gstelement.h:
7238         Make get/set_clock() symetric. Add provide_clock vmethod since
7239         that is actually what this function does.
7240
7241         * gst/gstpipeline.c: (gst_pipeline_class_init),
7242         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
7243         (gst_pipeline_get_clock):
7244         get_clock -> provide_clock.
7245
7246 2005-09-28  Andy Wingo  <wingo@pobox.com>
7247
7248         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
7249         lieu of real docs...
7250
7251         * gst/elements/gstfdsrc.c: Cleaned up a bit.
7252
7253 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
7254
7255         * gst/elements/gstcapsfilter.c:
7256         * gst/elements/gstfakesink.c:
7257         * gst/elements/gstfakesrc.c:
7258         * gst/elements/gstfdsink.c:
7259         * gst/elements/gstfdsrc.c:
7260         * gst/elements/gstfilesink.c:
7261         * gst/elements/gstfilesrc.c:
7262         * gst/elements/gstidentity.c:
7263         * gst/elements/gsttee.c:
7264         * gst/elements/gsttypefindelement.c:
7265           Make element details static.
7266
7267 2005-09-28  Wim Taymans  <wim@fluendo.com>
7268
7269         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7270         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7271         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7272         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7273         (gst_bin_change_state), (gst_bin_dispose):
7274         Some documentation updates.
7275         Clean up dispose handlers.
7276
7277         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
7278         * gst/gstpad.c: (gst_pad_dispose):
7279         Clean up dispose handler.
7280
7281         * gst/gstpipeline.c: (gst_pipeline_change_state):
7282         Removed spurious UNLOCK.
7283
7284 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
7285
7286         * docs/gst/gstreamer-sections.txt:
7287         * gst/base/gstbasesrc.h:
7288         * gst/gstelement.h:
7289         * gst/gstevent.h:
7290         * gst/gstobject.h:
7291         * gst/gstpad.h:
7292         * gst/gstpipeline.c:
7293         * gst/gstpipeline.h:
7294         * gst/gstutils.h:
7295         * gst/gstxml.h:
7296           added two new functions to the docs
7297                 documents all undocumented GstXXXFlags
7298                 completed some incomplete docs 
7299
7300 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7301
7302         * gst/gstbin.c: (gst_bin_dispose):
7303         * gst/gstelement.c: (gst_element_dispose):
7304           remove now useless and leaky resurrection code in dispose
7305         * gst/base/gstbasesrc.c: (gst_base_src_init):
7306         * gst/gstelementfactory.c: (gst_element_factory_create):
7307         * gst/gstobject.c: (gst_object_set_parent):
7308           add some debugging
7309
7310 2005-09-27  Wim Taymans  <wim@fluendo.com>
7311
7312         * docs/design/part-TODO.txt:
7313         Update TODO.
7314
7315         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7316         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7317         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7318         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7319         (gst_bin_change_state):
7320         * gst/gstelement.h:
7321         Remove element variable, we keep element info in the iterator now.
7322
7323 2005-09-27  Andy Wingo  <wingo@pobox.com>
7324
7325         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
7326         values.
7327
7328 2005-09-27  Wim Taymans  <wim@fluendo.com>
7329
7330         * check/gst/gstbin.c: (GST_START_TEST):
7331         Enable check that works now.
7332
7333         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7334         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7335         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7336         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7337         (gst_bin_change_state):
7338         * gst/gstbin.h:
7339         Redid the state change algorithm using a topological sort algo.
7340         Handles all cases correctly.
7341         Exposed iterator for state change order.
7342
7343         * gst/gstelement.h:
7344         Temp storage for state changes. Need to get rid of this soon.
7345
7346 2005-09-27  Wim Taymans  <wim@fluendo.com>
7347
7348         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
7349         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
7350         (link_fold_func), (gst_pad_proxy_setcaps):
7351         Leak fixes, the fold functions need to unref the passed object and
7352         _get_parent_*() returns ref to parent.
7353
7354 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7355
7356         * check/gst/gstbuffer.c: (test_make_writable):
7357           Plug leak in test case and fix 'make check-valgrind'
7358
7359 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7360
7361         * gst/gstbuffer.c: (gst_subbuffer_init):
7362           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
7363           works correctly in all circumstances (we could have just copied
7364           the parent buffer's readonly flag, but conceptually it seems
7365           cleaner to mark all subbuffers as read-only). (based on patch
7366           by Alessandro Decina, #314710).
7367         
7368         * check/gst/gstbuffer.c: (create_read_only_buffer),
7369         (test_make_writable), (test_subbuffer_make_writable),
7370         (gst_test_suite):
7371           Add some tests for gst_buffer_make_writable().
7372
7373 2005-09-27  Wim Taymans  <wim@fluendo.com>
7374
7375         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
7376         use gst_object_has_ancestor().
7377
7378         * gst/gstobject.c: (gst_object_has_ancestor):
7379         * gst/gstobject.h:
7380         gst_object_has_ancestor() copied from gstbin.c as it is a
7381         usefull function.
7382
7383         * tests/instantiate/create.c: (create_all_elements):
7384         * tests/lat.c: (handoff_src), (handoff_sink):
7385         * tests/sched/runxml.c: (main):
7386         * tests/seeking/seeking1.c: (main):
7387         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7388         (main):
7389         Fix compilation of some tests.
7390
7391 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7392
7393         * gst/gsterror.h:
7394           Remove comment. GST_TYPE_G_ERROR is here to stay,
7395           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
7396           (#316961, #300610).
7397
7398 2005-09-26  Wim Taymans  <wim@fluendo.com>
7399
7400         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7401         Added check that shows error in state change order.
7402
7403 2005-09-26  Wim Taymans  <wim@fluendo.com>
7404
7405         * gst/gstbin.c: (gst_bin_change_state):
7406         Make state change function use 3 queues again, we were
7407         adding elements in the wrong order.
7408
7409         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7410         Some debug info,
7411
7412         * gst/gstpad.c: (gst_pad_dispose):
7413         Added some debug info first.
7414
7415 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
7416
7417         * docs/design/draft-push-pull.txt:
7418         * docs/design/part-events.txt:
7419         * docs/design/part-overview.txt:
7420         * docs/design/part-scheduling.txt:
7421           Replace all _pull_region() with _pull_range()
7422           
7423 2005-09-26  Andy Wingo  <wingo@pobox.com>
7424
7425         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
7426
7427         * check/gst-libs/controller.c: Update for controller api change.
7428
7429         * configure.ac: 
7430         * tests/Makefile.am:
7431         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
7432         over by GLib bug 118439.
7433         
7434         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
7435         routines to a function.
7436
7437         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
7438
7439         * libs/gst/controller/gsthelper.c:
7440         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
7441         (gst_object_sync_values): Renamed from sink_values. Ugh.
7442
7443         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
7444
7445         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
7446         Renamed from controller_key, as it is exported.
7447
7448         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
7449
7450 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7451
7452         * gst/Makefile.am:
7453         * gst/gst.h:
7454         * gst/gstpad.h:
7455         * gst/gstpadtemplate.h:
7456         * gst/gstquery.c:
7457         * gst/gstquery.h:
7458         * gst/gstqueryutils.c:
7459         * gst/gstqueryutils.h:
7460           remove queryutils headers after moving the two used functions
7461           to gstquery.  also fixes build problem for gstsiddec
7462
7463 2005-09-26  Michael Smith <msmith@fluendo.com>
7464
7465         * tools/gst-launch.1.in:
7466         Correct documentation in manpage of debug syntax
7467
7468 2005-09-26  Wim Taymans  <wim@fluendo.com>
7469
7470         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7471         (gst_base_src_is_seekable), (gst_base_src_change_state):
7472         Some more debugging info.
7473
7474 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7475
7476         * docs/gst/gstreamer-sections.txt:
7477         * gst/base/gstbasetransform.h:
7478         * gst/gstindex.h:
7479           added more docs
7480
7481 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7482
7483         * docs/gst/.cvsignore:
7484         * docs/gst/tmpl/.cvsignore:
7485         * docs/gst/tmpl/gstpipeline.sgml:
7486         * docs/gst/tmpl/gstplugin.sgml:
7487         * gst/gstpipeline.c:
7488         * gst/gstplugin.c:
7489         * gst/gstplugin.h:
7490           inlined the last two docs files
7491           removed the tmpl directory from cvs (no more conflicts here!)
7492
7493 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7494
7495         * docs/gst/gstreamer-sections.txt:
7496         * docs/gst/tmpl/.cvsignore:
7497         * docs/gst/tmpl/gstpad.sgml:
7498         * docs/gst/tmpl/gstpadtemplate.sgml:
7499         * gst/Makefile.am:
7500         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7501         (gst_pad_finalize), (gst_pad_set_pad_template):
7502         * gst/gstpad.h:
7503         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
7504         (gst_pad_template_class_init), (gst_pad_template_init),
7505         (gst_pad_template_dispose), (name_is_valid),
7506         (gst_static_pad_template_get), (gst_pad_template_new),
7507         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
7508         (gst_pad_template_pad_created):
7509         * gst/gstpadtemplate.h:
7510           inlined two more docs
7511           factored gstpadtemplate out of gstpad
7512
7513 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
7514
7515         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7516         (test_children_state_change_order_semi_sink):
7517           Fix test case: we can't rely on a fixed state change order when
7518           going from READY => PAUSED because the sink might commit its 
7519           new state first when the first buffer created by the source 
7520           reaches the sink before the source has finished its change state.
7521           (Test case still fails at times, see #316856, comment 5 onwards)
7522
7523 2005-09-24  Wim Taymans  <wim@fluendo.com>
7524
7525         * docs/design/part-events.txt:
7526         * docs/design/part-gstbus.txt:
7527         * docs/design/part-gstpipeline.txt:
7528         * docs/design/part-messages.txt:
7529         * docs/design/part-overview.txt:
7530         * docs/design/part-segments.txt:
7531         * gst/gstbin.c:
7532         * gst/gstbuffer.c:
7533         * gst/gstclock.c:
7534         * gst/gstelement.c:
7535         * gst/gstevent.c:
7536         * gst/gstfilter.c:
7537         * gst/gstiterator.c:
7538         Various documentation updates.
7539
7540 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7541
7542         * gst/gstclock.h:
7543           Well, that's embarassing.  Luckily we weren't using
7544           GST_CLOCK_DIFF anywhere.
7545
7546 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7547
7548         * common/gtk-doc.mak:
7549           don't fail on building XML, FC4 slave shows a bunch of doc
7550           missing bits that I don't get
7551         * gst/gstpad.c:
7552         * gst/gstpipeline.c:
7553         * gst/gststructure.c:
7554           some doc updates
7555
7556 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7557
7558         * docs/design/part-gstbin.txt:
7559         * docs/design/part-gstbus.txt:
7560         * gst/gstbus.c:
7561           Add blurb about how the bus goes into flushing mode and
7562           drops all messages when its bin goes from READY into NULL 
7563           state.
7564
7565 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7566
7567         * docs/gst/gstreamer-sections.txt:
7568         * gst/gststructure.c: (gst_structure_get_clock_time):
7569         * gst/gststructure.h:
7570           add a method to get a GstClockTime out of a structure
7571
7572 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7573
7574         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7575         (test_children_state_change_order_semi_sink), (gst_bin_suite):
7576           Added test to check state change order in bins (can still be made
7577           to fail here under heavy disk load; bails out with 'Push on pad
7578           fakesink:sink0, but it was not activated in push mode').
7579
7580         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
7581           Fix state change order when there is only a semi sink (#316856)
7582
7583         * gst/gstbus.c: (gst_bus_class_init):
7584           Use _class_peek_parent(), not _class_ref(); fix docs to say
7585           'default main context' instead of 'mainloop' where that is
7586           what's meant.
7587
7588         * gst/gstelement.c: (gst_element_commit_state),
7589         (gst_element_set_state):
7590           Fix typos in debug messages
7591
7592 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7593
7594         * docs/README:
7595         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
7596         * gst/gstpluginfeature.c:
7597         * gst/gstutils.c:
7598           various doc updates
7599         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7600           change an assert into an error until it gets fixed properly
7601
7602 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
7603
7604         * docs/gst/gstreamer-sections.txt:
7605         * docs/gst/tmpl/.cvsignore:
7606         * docs/gst/tmpl/gstelement.sgml:
7607         * docs/gst/tmpl/gstinfo.sgml:
7608         * docs/gst/tmpl/gstobject.sgml:
7609         * gst/gstelement.c:
7610         * gst/gstelement.h:
7611         * gst/gstinfo.c:
7612         * gst/gstinfo.h:
7613         * gst/gstobject.c: (gst_object_class_init):
7614         * gst/gstobject.h:
7615           inlined 3 more biiiig doc files and added some missing docs on the fly
7616
7617 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7618
7619         * check/gst/.cvsignore:
7620         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
7621         * gst/gstregistryxml.c: (load_plugin),
7622         (gst_registry_xml_save_plugin):
7623           put back source in registry.  add checks for find_plugin.
7624         * testsuite/states/bin.c: (assert_state), (empty_bin),
7625         (test_adding_one_element), (main):
7626         * testsuite/states/locked.c: (main):
7627           some compile/run fixes
7628
7629 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7630
7631         * check/gst/gstvalue.c: (GST_START_TEST):
7632           fix leaks in the test itself
7633
7634 2005-09-22  Wim Taymans  <wim@fluendo.com>
7635
7636         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7637         (gst_base_sink_send_event), (gst_base_sink_peer_query),
7638         (gst_base_sink_query):
7639         Prepare for more accurate position reporting and query
7640         handling.
7641
7642         * gst/gstelement.c: (gst_element_send_event),
7643         (gst_element_set_state):
7644         Add some comment.
7645
7646 2005-09-22  Wim Taymans  <wim@fluendo.com>
7647
7648         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7649         (gst_query_parse_segment):
7650         * gst/gstquery.h:
7651         More documentation.
7652         Add segment query for future use.
7653
7654 2005-09-22  Wim Taymans  <wim@fluendo.com>
7655
7656         * gst/gstbin.c: (gst_bin_add_func):
7657         Some more debug info.
7658
7659         * gst/gstelement.c: (gst_element_send_event):
7660         Simplify send_event
7661
7662         * gst/gstelement.h:
7663         Don't know how flags got broken.
7664
7665         * gst/gstquery.h:
7666         Added new query.
7667
7668 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7669
7670         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7671           Add simplistic test suite for GST_TYPE_DATE serialisation and
7672           deserialisation.
7673
7674 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7675
7676         * docs/gst/gstreamer-sections.txt:
7677         * gst/gststructure.c: (gst_structure_set_valist),
7678         (gst_structure_get_date):
7679         * gst/gststructure.h:
7680         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7681         (gst_date_copy), (gst_value_compare_date),
7682         (gst_value_serialize_date), (gst_value_deserialize_date),
7683         (gst_value_transform_date_string),
7684         (gst_value_transform_string_date), (_gst_value_initialize):
7685         * gst/gstvalue.h:
7686           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7687           bunch of utility functions along with a hack that checks that
7688           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7689           is required. Part of the grand scheme in #170777.
7690
7691 2005-09-22  Andy Wingo  <wingo@pobox.com>
7692
7693         * gst/gstconfig.h.in: Psych out gtk-doc.
7694
7695         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7696
7697         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7698
7699         * tools/gst-inspect.c (print_element_list): Plug some
7700         inconsequential leaks.
7701
7702         * gst/gstregistry.c (gst_registry_get_default): Doc.
7703
7704         * check/gst/gstplugin.c: 
7705         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7706         * gst/gstelementfactory.c (gst_element_factory_create): 
7707         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7708         refcount changes.
7709
7710         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7711         (gst_plugin_feature_load): Doc, don't eat refs.
7712
7713         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7714         (gst_plugin_list_free): Doc.
7715         (gst_plugin_load_file): Doc updates.
7716
7717         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7718         accessors returning refcounted objects, return a ref.
7719
7720         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7721         accessor for caps. IDEMPOTENCE. Oh yes.
7722
7723 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7724
7725         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7726
7727         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7728         (_gst_debug_register_funcptr):
7729           Add mutex to serialise access to the hash table with
7730           the function pointer => function name string mapping;
7731           make that hash table static scope (#316809).
7732
7733         * gst/registries/.cvsignore:
7734           Remove left-over file.
7735
7736 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7737
7738         * docs/pwg/appendix-porting.xml:
7739           And something about newsegment events and caps-on-buffers to
7740           the porting guide (feel free to improve).
7741
7742 2005-09-21  Andy Wingo  <wingo@pobox.com>
7743
7744         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7745         data and event probes on the same pad.
7746         (test_buffer_probe_once): Test that removing probes from within
7747         the probe functions works.
7748
7749 2005-09-21  Andy Wingo  <wingo@pobox.com>
7750
7751         * check/gst/gstutils.c: New file.
7752         (test_buffer_probe_n_times): A simple buffer probe test. More to
7753         come, foolios.
7754
7755         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7756         have-data::buffer, not have-data.
7757         (gst_pad_add_event_probe): Likewise for have-data::event.
7758         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7759         peer' isn't quite right yet though.
7760         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7761         (gst_pad_remove_data_probe): Change to take the guint handler_id
7762         as their arg, not the function+data, which is more glib-like.
7763
7764         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7765         the signal emission to indicate if the data is a buffer or an
7766         event.
7767         (gst_pad_get_type): Initialize buffer and event quarks.
7768         (gst_pad_class_init): have-data is now a detailed signal, yes it
7769         is.
7770
7771 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7772
7773         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7774         * gst/gstutils.c: (gst_util_set_value_from_string),
7775         (gst_util_set_object_arg):
7776           Don't put functional code in g_return_if_fail() or
7777           g_return_val_if_fail() statements, otherwise things will 
7778           break when G_DISABLE_CHECKS is defined during compilation.
7779
7780 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7781
7782         * docs/gst/tmpl/.cvsignore:
7783         * docs/gst/tmpl/gstvalue.sgml:
7784         * gst/gstvalue.c:
7785         * gst/gstvalue.h:
7786           inlied another one and added  some obvious docs
7787
7788 2005-09-21  Wim Taymans  <wim@fluendo.com>
7789
7790         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7791         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7792         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7793         (gst_fdsrc_get_property), (gst_fdsrc_create):
7794         * gst/elements/gstfdsrc.h:
7795         Properly implement fdsrc. Removed signal and timeout,
7796         better implemented somewhere else.
7797
7798 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7799
7800         * docs/gst/tmpl/.cvsignore:
7801         * docs/gst/tmpl/gstimplementsinterface.sgml:
7802         * gst/gstinterface.c:
7803           inlined more docs
7804
7805 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7806
7807         * docs/gst/gstreamer-sections.txt:
7808         * docs/gst/tmpl/.cvsignore:
7809         * docs/gst/tmpl/gstenumtypes.sgml:
7810           remove obsolete doc file
7811
7812 2005-09-21  David Schleef  <ds@schleef.org>
7813
7814         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7815         little beer, fix a little leak.
7816
7817 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7818
7819         * docs/gst/gstreamer-docs.sgml:
7820         * docs/gst/gstreamer-sections.txt:
7821         * docs/gst/tmpl/.cvsignore:
7822         * gst/Makefile.am:
7823         * gst/gst.h:
7824         * gst/gstbin.c:
7825         * gst/gstelement.h:
7826         * gst/gstindex.c: (gst_index_class_init):
7827         * gst/gstindex.h:
7828         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7829         (gst_index_factory_class_init), (gst_index_factory_init),
7830         (gst_index_factory_finalize), (gst_index_factory_new),
7831         (gst_index_factory_destroy), (gst_index_factory_find),
7832         (gst_index_factory_create), (gst_index_factory_make):
7833         * gst/gstindexfactory.h:
7834         * gst/gstpluginfeature.c:
7835         * gst/gstpluginfeature.h:
7836         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7837           more docs inlined, splitted gstindex.{c,h}
7838
7839 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7840
7841         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7842           fix a leak
7843
7844 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7845
7846         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7847           Set sync to FALSE by default.
7848
7849 2005-09-20  Wim Taymans  <wim@fluendo.com>
7850
7851         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7852         (gst_base_sink_init):
7853         Make sync property settable from subclass.
7854
7855         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7856         (gst_fake_sink_change_state):
7857         Set sync to FALSE by default.
7858
7859 2005-09-20  Wim Taymans  <wim@fluendo.com>
7860
7861         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7862         * tools/gst-launch.c: (main):
7863         The timeout handler should have lower priority than the source
7864         so we don't timeout before popping a message with 0 timeout.
7865         Dump error messages after failed state change.
7866
7867 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7868
7869         * tools/gst-inspect.c: (print_element_properties_info):
7870           Fix two typos.
7871
7872 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7873
7874         * check/gst/gstevent.c:
7875         * gst/elements/gstfakesink.c:
7876         * gst/elements/gstfakesink.h:
7877           remove the sync property from fakesink.
7878           has the side effect of setting sync TRUE
7879           for fakesink, which is a change.  Anyone who knows how
7880           to fix this nicely in a GObject-y way, feel free.
7881
7882 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7883
7884         * docs/gst/gstreamer-docs.sgml:
7885           remove probe refsection
7886
7887 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7888
7889         * check/Makefile.am:
7890           disable valgrinding the controller test again
7891         * docs/gst/gstreamer-sections.txt:
7892           update for api-changes
7893
7894 2005-09-20  Wim Taymans  <wim@fluendo.com>
7895
7896         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7897         (gst_base_sink_set_property), (gst_base_sink_get_property),
7898         (gst_base_sink_do_sync):
7899         * gst/base/gstbasesink.h:
7900         Added sync property to basesink to disable clock sync.
7901
7902 2005-09-20  Andy Wingo  <wingo@pobox.com>
7903
7904         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7905         eating the caller's refcount.
7906
7907         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7908         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7909         refcount.
7910
7911         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7912         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7913         of GLib 2.8 public, so we can know which refcount to check in
7914         tests.
7915
7916         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7917         (gst_object_init): Only set the gst refcount if we're going ahead
7918         with the refcount hack.
7919
7920 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7921
7922         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7923         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7924           more leaks plumbed, added more debug-logging
7925         * gst/gstmacros.h:
7926           whitespace fix
7927
7928 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7929
7930         * gst/gstmessage.c:
7931           remove include of gstmemchunk.h
7932
7933 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7934
7935         * gst/gstclock.c: (_gst_clock_id_free):
7936           Commit from the Political Party For More Atomic CVS Commits,
7937           so that people don't waste too much of their day fishing
7938           out obvious leaks out of massive commits.
7939           Oh, and fix a pretty damn obvious leak in the memchunk
7940           removal code.
7941
7942 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7943
7944         * check/Makefile.am:
7945         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7946           plug mem-leak, re-add to valgrindable tests
7947
7948 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7949
7950         * gst/gstplugin.h:
7951           unbreak the build for those who have chronic arthritis
7952           and typing "make check" is just too taxing on the hands
7953
7954 2005-09-20  Andy Wingo  <wingo@pobox.com>
7955
7956         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7957         really want it out, you should fix plugins at the same time.
7958
7959 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7960
7961         * configure.ac:
7962         * docs/gst/gstreamer-sections.txt:
7963         * gst/gstobject.c:
7964           added missing symbols to api docs
7965           disable ref-count hack if we have glib >= 2.8
7966
7967 2005-09-19  David Schleef  <ds@schleef.org>
7968
7969         * docs/gst/Makefile.am: Ignore a few more internal headers
7970         * docs/gst/gstreamer-docs.sgml: Remove old sections
7971         * docs/gst/gstreamer-sections.txt: Remove old sections
7972         * docs/gst/tmpl/gstobject.sgml: update
7973         * docs/gst/tmpl/gstplugin.sgml: update
7974         * docs/gst/tmpl/gstpluginfeature.sgml: update
7975         * docs/random/ds/0.9-suggested-changes: update.
7976         * gst/Makefile.am: remove memchunk and trashstack, since they're
7977           not used.
7978         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7979         * gst/gst.h: don't include some headers
7980         * gst/gstchildproxy.c: add gstmarshal.h
7981         * gst/gstclock.c: Don't use memchunks
7982         * gst/gstminiobject.c: Add some docs
7983         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7984         * gst/gstobject.h: same
7985         * gst/gstplugin.c: include gstmacros.h
7986         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7987         * gst/gstquery.c: don't use memchunks
7988         * gst/gstregistry.c: rename gst_registry_deinit()
7989         * gst/gstregistry.h: same
7990
7991 2005-09-19  David Schleef  <ds@schleef.org>
7992
7993         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7994         * docs/libs/gstreamer-libs-sections.txt:
7995         * docs/libs/tmpl/gstgetbits.sgml:
7996         * docs/libs/tmpl/gstputbits.sgml:
7997
7998 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7999
8000         * win32/gstenumtypes.c:
8001         * win32/gstenumtypes.h:
8002           Update.
8003
8004 2005-09-19  Wim Taymans  <wim@fluendo.com>
8005
8006         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
8007         Automatically PAUSE and RESUME a pipeline when a flushing seek
8008         is performed.
8009
8010 2005-09-19  Andy Wingo  <wingo@pobox.com>
8011
8012         * gst/gstregistry.h: Spacing fixen.
8013
8014 2005-09-19  Wim Taymans  <wim@fluendo.com>
8015
8016         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
8017         Handle state change failure more correctly.
8018
8019 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8020
8021         * check/Makefile.am:
8022         * check/pipelines/cleanup.c: (run_pipeline):
8023         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8024         (GST_START_TEST):
8025           enable cleanup again after fixing the leak
8026         * docs/README:
8027           some more info on docs
8028
8029 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8030
8031         * check/Makefile.am:
8032           re-enable tests now that leaks are plugged
8033         * check/gst/gst.c:
8034         * check/gst/gstbin.c:
8035         * check/gst/gstpipeline.c:
8036           add some more tests while fixing leaks
8037         * common/check.mak:
8038           make sure binaries are uptodate when valgrinding/gdbing
8039         * gst/gst.c:
8040         * gst/gstelementfactory.c:
8041           remove a ref too many, and add a FIXME for when we get
8042           round to disposing of classes
8043         * gst/gstplugin.c:
8044           fix the refcounting when loading a plugin from a file and
8045           the code pretends that the pointer is the same even though
8046           of course it can change
8047         * gst/gstpluginfeature.c:
8048           unref plugins marked cached (a bit confusing as a name)
8049           as the docs state should be done
8050           various doc additions to explain refcounting
8051         * gst/gstregistry.c:
8052         * gst/gstregistryxml.c:
8053           debugging
8054
8055 2005-09-19  Wim Taymans  <wim@fluendo.com>
8056
8057         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8058         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8059         (send_messages), (GST_START_TEST), (gstbus_suite):
8060         * check/gst/gstpipeline.c: (GST_START_TEST):
8061         * check/pipelines/cleanup.c: (run_pipeline):
8062         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8063         (GST_START_TEST):
8064         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
8065         (gst_bus_source_check), (gst_bus_source_dispatch),
8066         (gst_bus_create_watch), (gst_bus_add_watch_full),
8067         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
8068         * gst/gstbus.h:
8069         * tools/gst-launch.c: (event_loop):
8070         * tools/gst-md5sum.c: (event_loop):
8071         GstBusHandler -> GstBusFunc, return value has the same meaning as
8072         any other GSource (FALSE == remove source).
8073         _add_watch() and _add_watch_full() now take a MessageType mask to
8074         only handle specific types of messages.
8075         _poll() returns the GstMessage instead of the message type to avoid
8076         race conditions.
8077         _have_pending() takes a MessageType mask now too.
8078         Added testsuite for multiple bus watches.
8079         Fix testsuites and applications for new bus API.
8080
8081 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8082
8083         * check/Makefile.am:
8084           mark a bunch of the tests as to fix until we fix them
8085
8086 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8087
8088         * common/check.mak:
8089           use GST_PLUGIN settings for valgrind tests as well, so we're
8090           valgrinding the correct thing
8091         * gst/gst.c: (init_post):
8092           plug another leak
8093
8094 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8095
8096         * gst/gst.c: (init_post), (gst_deinit):
8097         * gst/gstelementfactory.c: (gst_element_factory_class_init),
8098         (gst_element_factory_finalize), (gst_element_factory_cleanup):
8099         * gst/gstindex.c: (gst_index_factory_class_init),
8100         (gst_index_factory_finalize):
8101         * gst/gstobject.c: (gst_object_dispose):
8102         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
8103         (gst_plugin_load_file), (gst_plugin_desc_free):
8104         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
8105         (gst_plugin_feature_finalize):
8106         * gst/gstregistry.c: (gst_registry_class_init),
8107         (gst_registry_init), (gst_registry_finalize),
8108         (gst_registry_get_default), (gst_registry_deinit):
8109         * gst/gstregistry.h:
8110         * gst/gstregistryxml.c: (load_feature), (load_plugin):
8111           various cleanups and memleak plugging.  make valgrind is happy now.
8112
8113 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8114
8115         * common/check.mak:
8116           add a check-valgrind target
8117
8118 2005-09-18  David Schleef  <ds@schleef.org>
8119
8120         * tools/gst-inspect.c: Revert the GOption code.
8121
8122 2005-09-17  David Schleef  <ds@schleef.org>
8123
8124         * check/Makefile.am: Fix environment variables.
8125         * check/gst/gstplugin.c: Fix for API changes.
8126         * tools/gst-inspect.c: Fix for API changes.
8127         * tools/gst-xmlinspect.c: Fix for API changes.
8128         * gst/gstelementfactory.c:
8129         * gst/gstplugin.c:
8130         * gst/gstplugin.h:
8131         * gst/gstpluginfeature.c:
8132         * gst/gstpluginfeature.h:
8133         * gst/gstregistry.c:
8134         * gst/gstregistry.h:
8135         * gst/gstregistryxml.c:
8136         * gst/gsttypefind.c:
8137         * gst/gsttypefindfactory.c:
8138         * gst/indexers/gstfileindex.c:
8139         * gst/indexers/gstmemindex.c:
8140         * gst/schedulers/Makefile.am:
8141           Change registry to keep track of both plugins and features,
8142           removing the feature tracking from plugins themselves.
8143
8144 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8145
8146         * check/Makefile.am:
8147         * tools/gst-register.1.in:
8148           remove gst-register
8149
8150 2005-09-15  David Schleef  <ds@schleef.org>
8151
8152         * check/gst/gstplugin.c:
8153         * gst/gstelementfactory.c:
8154         * gst/gstplugin.c:
8155         * gst/gstpluginfeature.c:
8156         * gst/gstregistry.c:
8157           Getting tired of debugging.  Disabled all the unreffing of
8158           plugins and features, which fixes the segfaults, but of
8159           course leaks like crazy.  At least playbin works.
8160
8161 2005-09-15  David Schleef  <ds@schleef.org>
8162
8163         * check/gst/gstplugin.c: (register_check_elements),
8164         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
8165         More testing
8166         * gst/elements/gsttypefindelement.c: Fix refcounting.
8167         * gst/gsttypefind.c:
8168         * gst/gsttypefindfactory.c:
8169         * gst/gsttypefindfactory.h:
8170
8171 2005-09-15  David Schleef  <ds@schleef.org>
8172
8173         * gst/gstindex.c: get refcounting correct.
8174         * gst/gstregistry.c: Handle the case where a feature/plugin is
8175           not found.
8176
8177 2005-09-15  David Schleef  <ds@schleef.org>
8178
8179         * check/Makefile.am:
8180         * check/gst/gstplugin.c: Add test
8181         * gst/gstplugin.c: Fix problems noticed by testsuite
8182         * gst/gstplugin.h:
8183         * gst/gstregistry.c: 
8184         * gst/gstregistry.h:
8185
8186 2005-09-15  David Schleef  <ds@schleef.org>
8187
8188         * gst/gstplugin.c: Implement semi-decent recounting and locking
8189           in plugins and plugin features.
8190         * gst/gstplugin.h:
8191         * gst/gstpluginfeature.c:
8192         * gst/gstpluginfeature.h:
8193         * gst/gstregistry.c:
8194
8195 2005-09-15  Michael Smith <msmith@fluendo.com>
8196
8197         * gst/gstregistry.c: (gst_registry_get_feature_list):
8198           Implement this. Makes oggdemux work; decodebin still broken.
8199
8200 2005-09-14  David Schleef  <ds@schleef.org>
8201
8202         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
8203           #316076)
8204         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
8205         * gst/check/Makefile.am:
8206         * libs/gst/controller/Makefile.am:
8207         * libs/gst/dataprotocol/Makefile.am:
8208
8209 2005-09-14  David Schleef  <ds@schleef.org>
8210
8211         * configure.ac: Remove getbits library.  Nothing uses it, and
8212           it should be in something like liboil if someone did want
8213           to use it.
8214         * libs/gst/Makefile.am:
8215         * libs/gst/getbits/Makefile.am:
8216         * libs/gst/getbits/gbtest.c:
8217         * libs/gst/getbits/getbits.c:
8218         * libs/gst/getbits/getbits.h:
8219         * libs/gst/getbits/gstgetbits_generic.c:
8220         * libs/gst/getbits/gstgetbits_i386.s:
8221         * libs/gst/getbits/gstgetbits_inl.h:
8222
8223 2005-09-14  David Schleef  <ds@schleef.org>
8224
8225         * gst/Makefile.am: Dist glib-compat.h
8226
8227 2005-09-14  David Schleef  <ds@schleef.org>
8228
8229         * configure.ac: Remove gst/registries, since it's no longer used.
8230         * gst/registries/Makefile.am:
8231         * gst/registries/gstlibxmlregistry.c:
8232         * gst/registries/gstlibxmlregistry.h:
8233         * gst/registries/gstxmlregistry.c:
8234         * gst/registries/gstxmlregistry.h:
8235         * gst/registries/registrytest.c:
8236
8237 2005-09-14  David Schleef  <ds@schleef.org>
8238
8239         * gst/glib-compat.h:
8240         * gst/gstregistryxml.c:
8241           Convergence is near.  Seriously.
8242
8243 2005-09-14  David Schleef  <ds@schleef.org>
8244
8245         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8246         * gst/glib-compat.h:
8247           Attempt #4 to appease the buildbots.
8248
8249 2005-09-14  David Schleef  <ds@schleef.org>
8250
8251         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8252           Attempt #3.
8253
8254 2005-09-14  David Schleef  <ds@schleef.org>
8255
8256         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8257         Attempt #2.
8258
8259 2005-09-14  David Schleef  <ds@schleef.org>
8260
8261         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
8262           the new functions.
8263
8264 2005-09-14  David Schleef  <ds@schleef.org>
8265
8266         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8267         * gst/glib-compat.h: Add some functions that are in newer versions
8268           of glib than we care to require.
8269         * gst/gstregistryxml.c: Use them.
8270
8271 2005-09-14  David Schleef  <ds@schleef.org>
8272
8273         * po/POTFILES.in: remove gst-register.c
8274
8275 2005-09-14  David Schleef  <ds@schleef.org>
8276
8277         * docs/gst/gstreamer-docs.sgml:
8278         * docs/gst/gstreamer-sections.txt:
8279         * docs/gst/gstreamer.types:
8280         * docs/gst/tmpl/gstelement.sgml:
8281         * docs/gst/tmpl/gstplugin.sgml:
8282         * docs/gst/tmpl/gstpluginfeature.sgml:
8283           Documentation updates for registry changes.
8284
8285 2005-09-14  David Schleef  <ds@schleef.org>
8286
8287         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
8288           because we don't require glib-2.8.
8289
8290 2005-09-14  David Schleef  <ds@schleef.org>
8291
8292         * gst/gstregistryxml.c: Added.  Essentially moved out of the
8293           registries directory.
8294
8295 2005-09-14  David Schleef  <ds@schleef.org>
8296
8297         * check/Makefile.am:
8298         * check/generic/states.c:
8299         * gst/Makefile.am:
8300         * gst/gst.c:
8301         * gst/gst.h:
8302         * gst/gst_private.h:
8303         * gst/gstelementfactory.c:
8304         * gst/gstindex.c:
8305         * gst/gstinfo.c:
8306         * gst/gstplugin.c:
8307         * gst/gstplugin.h:
8308         * gst/gstpluginfeature.c:
8309         * gst/gstpluginfeature.h:
8310         * gst/gstregistry.c:
8311         * gst/gstregistry.h:
8312         * gst/gstregistrypool.c: remove
8313         * gst/gstregistrypool.h: remove
8314         * gst/gsttypefind.c:
8315         * gst/gsttypefindfactory.c:
8316         * gst/gsturi.c:
8317         * tools/Makefile.am:
8318         * tools/gst-compprep.c:
8319         * tools/gst-inspect.c:
8320         * tools/gst-register.c: remove
8321         * tools/gst-xmlinspect.c:
8322           Registry rewrite.  Changes registry from being a file created
8323           by a tool into a simple cache file created automatically by 
8324           libgstreamer.  Removed gst-register (because it's no longer
8325           needed).  Remove registry pools, because we only have one
8326           registry implementation (XML).  Fix up other subsystems as
8327           necessary.
8328
8329 2005-09-13  Michael Smith <msmith@fluendo.com>
8330
8331         * gst/gstconfig.h.in:
8332           Don't Use windows linking attributes for MinGW. Fixes #316157
8333
8334 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8335
8336         * gst/gstutils.c: (set_state_async_thread_func),
8337         (gst_element_set_state_async):
8338           Apparently people think it's better if this function doesn't
8339           try to set the state to whatever state was asked for on the first
8340           call to this function for any object.  Seriously.
8341
8342 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8343
8344         * check/gst/gstpipeline.c: (GST_START_TEST):
8345         * docs/gst/gstreamer-sections.txt:
8346         * gst/gstutils.c: (set_state_async_thread_func),
8347         (gst_element_set_state_async):
8348         * gst/gstutils.h:
8349           add a "gst_element_set_state_async" method that
8350           sets the state and starts a thread to make sure the state
8351           change completes as best as it can
8352
8353 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8354
8355         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8356           codify design+behaviour in testsuite after discussion
8357
8358 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8359
8360         * docs/gst/tmpl/gstelement.sgml:
8361         * docs/manual/appendix-quotes.xml:
8362           add a quote
8363         * gst/gstelement.c: (gst_element_set_state):
8364           add some debug
8365
8366 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
8367
8368         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8369         (gst_base_transform_prepare_output_buf),
8370         (gst_base_transform_handle_buffer):
8371         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
8372         (gst_capsfilter_prepare_buf):
8373           Remove the requirement for sub-classes to call the parent
8374           implementation of prepare_output_buffer with a wrapper function.
8375           
8376         * gst/gsttaglist.h:
8377         * gst/gsttagsetter.h:
8378           Fix #define wrapper
8379
8380 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
8381
8382         * docs/gst/gstreamer-sections.txt:
8383           more doc cleanups
8384
8385 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8386
8387         * docs/gst/gstreamer-sections.txt:
8388         * docs/gst/tmpl/gstelement.sgml:
8389         * docs/gst/tmpl/gstplugin.sgml:
8390         * gst/gstminiobject.c:
8391         * gst/gstvalue.h:
8392           docs now stop throwing warnings
8393
8394 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8395
8396         * docs/gst/gstreamer-sections.txt:
8397         * docs/gst/gstreamer.types:
8398         * docs/gst/tmpl/gstpad.sgml:
8399         * docs/gst/tmpl/gsttypes.sgml:
8400         * gst/base/gstadapter.h:
8401         * gst/base/gstbasesink.h:
8402         * gst/base/gstbasesrc.h:
8403         * gst/gstbin.h:
8404         * gst/gstbuffer.h:
8405         * gst/gstbus.h:
8406         * gst/gstcaps.h:
8407         * gst/gstclock.h:
8408         * gst/gstelement.h:
8409         * gst/gstevent.h:
8410         * gst/gstmessage.h:
8411         * gst/gstpad.h:
8412         * gst/gststructure.c:
8413         * gst/registries/gstlibxmlregistry.h:
8414           various documentation fixes
8415
8416 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8417
8418         * docs/gst/gstreamer-sections.txt:
8419         * docs/gst/tmpl/gstvalue.sgml:
8420           rearrange gstvalue section
8421         * gst/gstutils.c: (gst_element_state_get_name):
8422           NONE -> VOID
8423         * gst/gstvalue.c: (_gst_value_initialize):
8424         * gst/gstvalue.h:
8425           doc updates
8426
8427 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
8428
8429         * check/gst-libs/controller.c:
8430           Header include fix.
8431         * gst/base/gstbasetransform.c:
8432         (gst_base_transform_default_prepare_buf),
8433         (gst_base_transform_handle_buffer):
8434         * gst/base/gstbasetransform.h:
8435           Some more basetransform changes and fixes to enable sub-classes
8436           that modify buffer metadata only.
8437         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8438         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
8439         (gst_capsfilter_prepare_buf):
8440           If the output pad has fixed allowed caps and input buffers 
8441           don't have any, set the fixed caps on outgoing buffers.
8442
8443 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
8444         * check/elements/identity.c: (GST_START_TEST):
8445           Make the error a little clearer when the test fails because
8446           identity made a copy of the buffer.
8447         * docs/gst/gstreamer-sections.txt:
8448           New symbols in gstbasetransform.h
8449         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8450         (gst_base_transform_init), (gst_base_transform_transform_size),
8451         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8452         (gst_base_transform_default_prepare_buf),
8453         (gst_base_transform_get_unit_size),
8454         (gst_base_transform_buffer_alloc),
8455         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8456         (gst_base_transform_change_state),
8457         (gst_base_transform_set_passthrough),
8458         (gst_base_transform_set_in_place),
8459         (gst_base_transform_is_in_place):
8460         * gst/base/gstbasetransform.h:
8461           Change BaseTransform to separate in_place operate from same_caps
8462           output. in_place implies that the element can perform the transform
8463           on incoming buffers in-place, even if the caps on the output are
8464           different.
8465           Sub-class elements can now implement special buffer allocation
8466           methods for outgoing buffers if they wish to.
8467           Big documentation addition.
8468         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
8469         * gst/elements/gstelements.c:
8470           Changes for basetransform modifications.
8471         * gst/elements/Makefile.am:
8472         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
8473           Compile fix. Extra debug output.
8474
8475 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8476
8477         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
8478         (gst_pad_suite):
8479           add tests for valid pad naming
8480         * gst/check/gstcheck.c: (gst_check_log_message_func),
8481         (gst_check_log_critical_func):
8482           add ASSERT_WARNING
8483           remove printing of code, it is fragile when the code contains
8484           % and the line number is enough info
8485         * gst/check/gstcheck.h:
8486         * gst/gstpad.c: (gst_pad_template_new):
8487           fix memleaks
8488
8489 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8490
8491         * configure.ac:
8492           say what CHECK flags we use
8493         * docs/libs/gstreamer-libs.types:
8494         * libs/gst/controller/Makefile.am:
8495         * libs/gst/controller/gst-controller.c:
8496         * libs/gst/controller/gst-controller.h:
8497         * libs/gst/controller/gst-helper.c:
8498         * libs/gst/controller/gst-interpolation.c:
8499         * libs/gst/controller/gstcontroller.c:
8500         * libs/gst/controller/gsthelper.c:
8501         * libs/gst/controller/gstinterpolation.c:
8502         * tools/gst-inspect.c: (print_plugin_info):
8503           we don't use dashes in header names
8504
8505 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8506
8507         * check/Makefile.am:
8508         * check/gst/.cvsignore:
8509         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
8510         (gst_pipeline_suite), (main):
8511           adding a test for pipelines and state changes
8512         * gst/gstutils.c: (get_state_func):
8513           add some debugging
8514         * gstreamer.spec.in:
8515           fix up spec file
8516
8517 2005-09-08  Michael Smith <msmith@fluendo.com>
8518
8519         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
8520         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
8521         (gst_file_src_is_seekable), (gst_file_src_get_size),
8522         (gst_file_src_start):
8523         * gst/elements/gstfilesrc.h:
8524           Various fixes for unseekable, unmmapable, and non-normal files, so
8525           that fallback to read() rather than mmap() works.
8526         * gst/gstevent.c: (gst_event_new_newsegment):
8527           Allow newsegment events with segment_start == segment_end, as will
8528           correctly happen if you use filesrc on a zero-size file, for
8529           example.
8530
8531 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8532
8533         * gst/gstplugin.c: (gst_plugin_load_file):
8534           Call g_module_close when we don't load the module
8535
8536         * gst/registries/gstlibxmlregistry.c:
8537         (gst_xml_registry_get_property):
8538           Port leak fix from 0.8
8539
8540 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8541
8542         * docs/gst/gstreamer-docs.sgml:
8543         * docs/gst/tmpl/.cvsignore:
8544         * docs/gst/tmpl/gsttrace.sgml:
8545         * docs/gst/tmpl/gsttrashstack.sgml:
8546         * gst/Makefile.am:
8547         * gst/gst.h:
8548         * gst/gstelement.h:
8549         * gst/gstevent.h:
8550         * gst/gstmessage.c:
8551         * gst/gstmessage.h:
8552         * gst/gsttag.c:
8553         * gst/gsttag.h:
8554         * gst/gsttaginterface.c:
8555         * gst/gsttaginterface.h:
8556         * gst/gsttaglist.c:
8557         * gst/gsttaglist.h:
8558         * gst/gsttagsetter.c:
8559         * gst/gsttagsetter.h:
8560         * gst/gsttrace.c:
8561         * gst/gsttrace.h:
8562         * gst/gsttrashstack.c:
8563           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
8564           inlined docs for gsttrace, gsttrashstack
8565
8566 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8567
8568         * gst/Makefile.am:
8569         * gst/elements/gstbufferstore.h:
8570         * gst/elements/gsttypefindelement.c:
8571         * gst/elements/gsttypefindelement.h:
8572         * gst/gst.h:
8573         * gst/gsttypefind.c:
8574         * gst/gsttypefind.h:
8575         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
8576         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
8577         (gst_type_find_factory_dispose),
8578         (gst_type_find_factory_unload_thyself),
8579         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
8580         (gst_type_find_factory_get_caps),
8581         (gst_type_find_factory_get_extensions),
8582         (gst_type_find_factory_call_function):
8583         * gst/gsttypefindfactory.h:
8584         * gst/registries/gstlibxmlregistry.c:
8585         * gst/registries/gstxmlregistry.c:
8586           splitted gsttypefind into gsttypefind, gsttypefindfactory
8587
8588 2005-09-07  Andy Wingo  <wingo@pobox.com>
8589
8590         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
8591         condition whereby the pad's task function is entered before the
8592         pad_mode variable was set.
8593
8594 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8595
8596         * gst/gstpad.c: (gst_pad_alloc_buffer):
8597           Catch misbehaving pad_alloc functions that don't
8598           set up caps and do it for them.
8599
8600 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8601
8602         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8603           test for pipe!=NULL
8604         * docs/gst/tmpl/.cvsignore:
8605         * docs/gst/tmpl/gstmemchunk.sgml:
8606         * docs/gst/tmpl/gstparse.sgml:
8607         * docs/gst/tmpl/gsttaglist.sgml:
8608         * docs/gst/tmpl/gsttagsetter.sgml:
8609         * docs/gst/tmpl/gsttypefind.sgml:
8610         * docs/gst/tmpl/gsttypefindfactory.sgml:
8611         * gst/gstmemchunk.c:
8612         * gst/gstparse.c:
8613         * gst/gsttag.c:
8614         * gst/gsttaginterface.c:
8615         * gst/gsttypefind.c:
8616         * gst/gsttypefind.h:
8617           inlined more docs
8618
8619 === release 0.9.2 ===
8620
8621 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8622
8623         * NEWS:
8624         * RELEASE:
8625         * configure.ac:
8626           releasing 0.9.2, "South"
8627
8628 2005-09-05  Andy Wingo  <wingo@pobox.com>
8629
8630         * gst/registries/gstxmlregistry.h:
8631         * gst/registries/gstxmlregistry.c: Um... resurrect...
8632         
8633         * gst/registries/gstxmlregistry.h:
8634         * gst/registries/gstxmlregistry.c: and update to newer API.
8635         Incidentally they should be a bit faster now that they don't have
8636         to parse the caps.
8637         
8638 2005-09-05  Andy Wingo  <wingo@pobox.com>
8639
8640         * gst/registries/gstxmlregistry.h:
8641         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
8642         replaced by the libxml registry a while back
8643
8644 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8645
8646         * docs/gst/tmpl/gstplugin.sgml:
8647         * gst/elements/gstelements.c:
8648         * gst/gst.c:
8649         * gst/gstplugin.c: (gst_plugin_register_func),
8650         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8651         (gst_plugin_get_source):
8652         * gst/gstplugin.h:
8653         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8654         (gst_xml_registry_save_plugin):
8655         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8656         (gst_xml_registry_save_plugin):
8657         * tools/gst-inspect.c: (print_plugin_info):
8658           add a "source" plugin description field, to represent the source
8659           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8660           will set it to PACKAGE, which is automake's idea of the name of
8661           the source project.
8662
8663 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8664
8665         * Makefile.am:
8666         * autogen.sh:
8667         * configure.ac:
8668         * docs/Makefile.am:
8669         * docs/faq/Makefile.am:
8670         * docs/gst/tmpl/gstelement.sgml:
8671         * docs/gst/tmpl/gsttypes.sgml:
8672         * docs/htmlinstall.mak:
8673         * docs/manual/Makefile.am:
8674         * docs/pwg/Makefile.am:
8675           reorganize doc build a little
8676           split out docbook and gtk-doc stuff
8677           have two separate --enable's and enable them through autogen
8678           but disable by default in configure (to be similar to other
8679           projects)
8680         * gstreamer.spec.in:
8681           clean up docs install
8682         * po/af.po:
8683         * po/az.po:
8684         * po/ca.po:
8685         * po/cs.po:
8686         * po/de.po:
8687         * po/en_GB.po:
8688         * po/fr.po:
8689         * po/it.po:
8690         * po/nb.po:
8691         * po/nl.po:
8692         * po/ru.po:
8693         * po/sq.po:
8694         * po/sr.po:
8695         * po/sv.po:
8696         * po/tr.po:
8697         * po/uk.po:
8698         * po/vi.po:
8699           translation updates
8700
8701 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8702
8703         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8704           Add comment.
8705           
8706         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8707         (gst_fake_sink_change_state):
8708           Make state change function thread-safe.
8709           
8710         * gst/gstpad.c: (gst_pad_alloc_buffer):
8711           Set offset on generic buffer allocated by fallback.
8712
8713 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8714
8715         * docs/gst/gstreamer-sections.txt:
8716         * docs/gst/tmpl/gstelement.sgml:
8717         * gst/gstpad.c:
8718         * libs/gst/controller/gst-controller.c:
8719         (gst_controlled_property_set_interpolation_mode),
8720         (gst_controlled_property_new),
8721         (gst_controller_find_controlled_property):
8722          run the wingo-magic script against the docs
8723
8724 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8725
8726         * docs/gst/gstreamer-docs.sgml:
8727         * docs/gst/gstreamer-sections.txt:
8728         * docs/gst/tmpl/.cvsignore:
8729         * docs/gst/tmpl/gstelementdetails.sgml:
8730         * docs/gst/tmpl/gstelementfactory.sgml:
8731         * gst/gst.c:
8732         * gst/gstbus.c:
8733         * gst/gstelementfactory.c:
8734         * gst/gstelementfactory.h:
8735           merged elementdetails docs into elementfactory docs
8736           inlined both
8737
8738 2005-09-02  Andy Wingo  <wingo@pobox.com>
8739
8740         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8741         consider this enum an enum and not a flags.
8742
8743 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8744
8745         * docs/gst/gstreamer-docs.sgml:
8746         * docs/gst/tmpl/.cvsignore:
8747         * docs/gst/tmpl/gstghostpad.sgml:
8748         * docs/gst/tmpl/gstiterator.sgml:
8749         * docs/gst/tmpl/gstmacros.sgml:
8750         * docs/gst/tmpl/gstrealpad.sgml:
8751         * docs/gst/tmpl/gstregistry.sgml:
8752         * docs/gst/tmpl/gstregistrypool.sgml:
8753         * docs/gst/tmpl/gststructure.sgml:
8754         * docs/gst/tmpl/gstsystemclock.sgml:
8755         * docs/gst/tmpl/gsttrace.sgml:
8756         * gst/gstghostpad.c:
8757         * gst/gstmacros.h:
8758         * gst/gstmemchunk.c:
8759         * gst/gstmemchunk.h:
8760         * gst/gstqueue.c:
8761         * gst/gstregistry.c:
8762         * gst/gstregistrypool.c:
8763         * gst/gststructure.c:
8764         * gst/gstsystemclock.c:
8765           more docs inlined
8766
8767 2005-09-02  Andy Wingo  <wingo@pobox.com>
8768
8769         * gst/gstelement.h (GstState): Renamed from GstElementState,
8770         changed to be a normal enum instead of flags.
8771         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8772         munged to be GST_STATE_CHANGE_*.
8773         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8774         work with the new state representation.
8775         (GstStateChange): New enumeration of possible state transitions.
8776         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8777         (GstElementClass::change_state): Pass the GstStateChange along as
8778         an argument. Helps language bindings, so they don't have to use
8779         tricky lock-needing macros like GST_STATE_CHANGE ().
8780
8781         * scripts/update-states (file): New script. Run it on a file to
8782         update it for state naming and API changes. Updates files in
8783         place.
8784
8785         * All files updated for the new API.
8786
8787 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8790         * gst/gstutils.c: (gst_util_set_value_from_string),
8791         (gst_util_set_object_arg):
8792           fix a bunch of unchecked return values
8793         * tools/gst-complete.c: (main):
8794         * gstreamer.spec.in:
8795           clean up a little
8796
8797 2005-09-01  Wim Taymans  <wim@fluendo.com>
8798
8799         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8800         (gst_base_sink_event), (gst_base_sink_do_sync),
8801         (gst_base_sink_handle_event):
8802         * gst/base/gstbasesink.h:
8803         Handle newsegments more correctly.
8804
8805         * gst/gstbus.c:
8806         Fix docs.
8807
8808         * gst/gstevent.c: (gst_event_new_newsegment):
8809         A newsegment cannot have a start_time of -1
8810
8811 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8812
8813         * win32/gstenumtypes.c:
8814         * win32/gstenumtypes.h:
8815           Update
8816
8817 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8818
8819         * libs/gst/controller/gst-controller.c:
8820         (gst_controlled_property_set_interpolation_mode),
8821         (gst_controlled_property_new):
8822          fixed boolean again
8823
8824 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8825
8826         * docs/faq/gst-uninstalled:
8827           add -good
8828         * gst/gstevent.c:
8829         * gst/gstevent.h:
8830           remove wrong docs
8831         * gst/gstutils.c: (gst_element_link_filtered):
8832         * gst/gstutils.h:
8833           add gst_element_link_filtered
8834
8835 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8836
8837         * docs/gst/gstreamer-docs.sgml:
8838         * docs/gst/gstreamer-sections.txt:
8839         * docs/gst/tmpl/.cvsignore:
8840         * docs/gst/tmpl/gsterror.sgml:
8841         * docs/gst/tmpl/gstfilter.sgml:
8842         * docs/gst/tmpl/gsturihandler.sgml:
8843         * docs/gst/tmpl/gsturitype.sgml:
8844         * docs/gst/tmpl/gstutils.sgml:
8845         * docs/gst/tmpl/gstxml.sgml:
8846         * gst/gsterror.c:
8847         * gst/gsterror.h:
8848         * gst/gstfilter.c:
8849         * gst/gsturi.c:
8850         * gst/gsturitype.c:
8851         * gst/gstutils.c:
8852         * gst/gstxml.c:
8853           inlined more docs, fixed double id-ref
8854
8855 2005-08-31  Wim Taymans  <wim@fluendo.com>
8856
8857         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8858         (gst_base_transform_handle_buffer):
8859         Passthrough elements don't need the caps as they don't care.
8860
8861 2005-08-31  Wim Taymans  <wim@fluendo.com>
8862
8863         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8864         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8865         Don't leak refcounts on buffers.
8866
8867 2005-08-31  Wim Taymans  <wim@fluendo.com>
8868
8869         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8870         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8871         (gst_base_transform_chain), (gst_base_transform_change_state):
8872         * gst/base/gstbasetransform.h:
8873         Handle the case where we are not negotiated more gracefully.
8874
8875 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8876
8877         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8878         (gst_file_src_map_region):
8879           Set READONLY flag on mmap'ed buffers, otherwise
8880           gst_buffer_make_writable() won't work properly (#314708).
8881
8882 2005-08-31  Wim Taymans  <wim@fluendo.com>
8883
8884         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8885         passthrough elements can even do inplace on non writable
8886         buffers (as they don't touch them).
8887
8888 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8889
8890         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8891         (gst_test_mono_source_set_property),
8892         (gst_test_mono_source_class_init), (GST_START_TEST),
8893         (gst_controller_suite):
8894           more tests (hehe I have the most)
8895         * gst/gstbus.c:
8896           describe popping messages whenusing mulltiple sources
8897         * libs/gst/controller/gst-controller.c:
8898         (gst_controlled_property_set_interpolation_mode),
8899         (gst_controlled_property_new):
8900         * libs/gst/controller/gst-controller.h:
8901         * libs/gst/controller/gst-interpolation.c:
8902           implement boolean properties
8903
8904 2005-08-31  Wim Taymans  <wim@fluendo.com>
8905
8906         * gst/gstminiobject.c: (gst_mini_object_ref):
8907         Cannot assert that the refcount has to be positive
8908         since a disposed object can be resurrected.
8909
8910 2005-08-31  Wim Taymans  <wim@fluendo.com>
8911
8912         * gst/gstpad.c: (gst_pad_init):
8913         Revert change, need to first fix badly behaving 
8914         apps.
8915
8916 2005-08-30  Wim Taymans  <wim@fluendo.com>
8917
8918         * check/elements/fakesrc.c: (setup_fakesrc):
8919         * check/elements/identity.c: (setup_identity):
8920         Activate pads before using them.
8921
8922 2005-08-30  Wim Taymans  <wim@fluendo.com>
8923
8924         * gst/base/gstadapter.c: (gst_adapter_flush):
8925         Flushing out 0 bytes is ok for this function.
8926
8927         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8928         no newsegment gives a warning and sets the start/stop to 
8929         invalid.
8930
8931         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8932         (gst_base_transform_set_passthrough):
8933         Some debug info.
8934
8935         * gst/gstminiobject.c: (gst_mini_object_ref):
8936         Check refcount here too.
8937
8938         * gst/gstpad.c: (gst_pad_init):
8939         Pads are initially flushing and refusing data.
8940
8941         * gst/gstutils.c: (gst_element_link_pads_filtered):
8942         When adding a capsfilter element make sure it has the
8943         same state as the parent bin.
8944
8945 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8946
8947         * docs/gst/tmpl/.cvsignore:
8948         * docs/gst/tmpl/gstformat.sgml:
8949         * docs/gst/tmpl/gstversion.sgml:
8950         * gst/gstbus.h:
8951         * gst/gstformat.c:
8952         * gst/gstformat.h:
8953         * gst/gstversion.h.in:
8954           more docs and two more inlined
8955
8956 2005-08-30  Wim Taymans  <wim@fluendo.com>
8957
8958         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8959         Don't sync to clock.
8960
8961 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8962
8963         * docs/gst/gstreamer-sections.txt:
8964           ultral33t func10ns deserve to appear in the docs actually
8965         * docs/gst/tmpl/.cvsignore:
8966         * docs/gst/tmpl/gstcompat.sgml:
8967         * docs/gst/tmpl/gstconfig.sgml:
8968         * gst/check/gstcheck.c:
8969         * gst/gstcompat.h:
8970         * gst/gstconfig.h.in:
8971           inlined more docs
8972
8973 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8974
8975         * docs/gst/tmpl/.cvsignore:
8976         * docs/gst/tmpl/gstquery.sgml:
8977         * docs/gst/tmpl/gstutils.sgml:
8978         * gst/gstquery.c:
8979         * gst/gstquery.h:
8980           inlined and extended docs
8981
8982 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8983
8984         * check/gst-libs/controller.c: (GST_START_TEST),
8985         (gst_controller_suite):
8986           more tests
8987         * docs/gst/tmpl/gstutils.sgml:
8988         * docs/libs/gstreamer-libs-sections.txt:
8989         * docs/libs/tmpl/gstdataprotocol.sgml:
8990           include path fixes
8991         * examples/controller/audio-example.c: (main):
8992           controller example works now
8993         * gst/gstclock.h:
8994           doc fixes
8995         * tools/gst-inspect.c: (print_element_properties_info):
8996           show param spec flags
8997
8998 2005-08-29  Andy Wingo  <wingo@pobox.com>
8999
9000         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
9001
9002 2005-08-28  Andy Wingo  <wingo@pobox.com>
9003
9004         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
9005         as having two arguments instead of just one. Allows superclasses
9006         to access information on subclasses -- see the terrible for() loop
9007         in gtype.c:g_type_create_instance for the reason why. All callers
9008         changed.
9009
9010 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9011
9012         * docs/design/part-messages.txt:
9013           update info
9014         * docs/gst/tmpl/.cvsignore:
9015         * docs/gst/tmpl/gstcaps.sgml:
9016         * docs/gst/tmpl/gstclock.sgml:
9017         * gst/gstbus.c:
9018         * gst/gstcaps.c:
9019         * gst/gstcaps.h:
9020         * gst/gstclock.c:
9021         * gst/gstclock.h:
9022         * gst/gstmessage.c:
9023           added descriptions for bus and message
9024           inline caps and clock docs
9025
9026 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9027
9028         * gst/gstmessage.c:
9029         * gst/gstmessage.h:
9030           doc fixes
9031
9032 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9033
9034         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9035           fix div-by-zero
9036
9037 2005-08-26  Andy Wingo  <wingo@pobox.com>
9038
9039         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
9040         element_set_state's return val.
9041         (test_2_elements): Add test that's been disabled for months.
9042
9043         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
9044         can-activate-pull properties.
9045
9046         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
9047         can-activate-pull properties. Implement is_seekable so fakesrc can
9048         operate in pull mode.
9049
9050         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
9051         properties.
9052         (gst_base_sink_activate, gst_base_sink_activate_pull)
9053         (gst_base_sink_activate_push): Make activation mode choosing work.
9054         Cleanups.
9055         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
9056         is right. Make pull mode work. Post an eos before pausing in pull
9057         mode.
9058         (gst_base_sink_change_state): Pay attention to the core's
9059         change_state() return val.
9060         
9061         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
9062         has-getrange properties. Cleanups.
9063         
9064         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
9065         has_getrange and replace with can_activate_pull and
9066         can_activate_push.
9067
9068         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
9069         locking comments. Remove has_loop, has_chain and replace with
9070         can_activate_pull and can_activate_push.
9071
9072 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
9073
9074         * configure.ac:
9075         * examples/Makefile.am:
9076         * examples/metadata/Makefile.am:
9077         * examples/metadata/read-metadata.c: (message_loop),
9078         (have_pad_handler), (make_pipeline), (print_tag), (main):
9079           Add metadata reading example that loops over a list of filenames,
9080           dumping any tags found.
9081
9082         * gst/gstbus.c: (gst_bus_dispose):
9083         * gst/gstelement.c: (gst_element_dispose):
9084           Release a few potentially-held references in dispose.
9085
9086 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9087
9088         * docs/gst/tmpl/gstminiobject.sgml:
9089           do *not* add tmpl/*.sgml files to CVS!
9090
9091 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9092
9093         * libs/gst/bytestream/.cvsignore:
9094         * libs/gst/bytestream/Makefile.am:
9095         * libs/gst/bytestream/adapter.c:
9096         * libs/gst/bytestream/adapter.h:
9097         * libs/gst/bytestream/bytestream.c:
9098         * libs/gst/bytestream/bytestream.h:
9099         * libs/gst/bytestream/filepad.c:
9100         * libs/gst/bytestream/filepad.h:
9101           removing obsolete files
9102
9103 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9104
9105         * docs/gst/gstreamer-docs.sgml:
9106         * docs/libs/gstreamer-libs-docs.sgml:
9107           disabed additional index entries again, as this makes docs-gen just
9108           slow and they aren't useful yet
9109         * docs/libs/gstreamer-libs-sections.txt:
9110           little -section.txt cleanup for libs
9111
9112 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9113
9114         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9115         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
9116           fix up some debugging
9117         (gst_base_transform_get_unit_size),
9118         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9119         (gst_base_transform_handle_buffer):
9120         * gst/base/gstbasetransform.h:
9121           handle and store timed NEWSEGMENT events so that subclasses that
9122           calculate time by counting samples have a segment_start time they
9123           need to add to their timestamps - see audioresample
9124
9125 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9126
9127         * gst/gstbin.h:
9128           removed ';' from the end of macro defs
9129         * docs/gst/gstreamer-docs.sgml:
9130         * docs/gst/gstreamer-sections.txt:
9131         * docs/gst/tmpl/.cvsignore:
9132         * gst/gstbus.h:
9133         * gst/gstelement.c: (gst_element_class_init),
9134         (gst_element_set_state), (activate_pads),
9135         (gst_element_save_thyself):
9136         * gst/gstevent.c: (gst_event_new_newsegment):
9137         * gst/gstevent.h:
9138         * gst/gstiterator.c:
9139         * gst/gstiterator.h:
9140         * gst/gstpad.c:
9141         * gst/gstprobe.h:
9142         * gst/gstutils.c: (gst_pad_query_convert):
9143         * gst/gstutils.h:
9144           fixed parameter name mismatches between source, header and docs
9145           added some more docs, resolved the last batch of unused elements in
9146           docs (now someone needs to doc them)
9147
9148 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9149
9150         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
9151         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
9152           don't walk through the plugins backwards.  Where is all this
9153           reversed logic coming from ?
9154
9155 2005-08-25  Wim Taymans  <wim@fluendo.com>
9156
9157         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9158         (gst_base_transform_transform_size),
9159         (gst_base_transform_configure_caps),
9160         (gst_base_transform_get_unit_size),
9161         (gst_base_transform_buffer_alloc),
9162         (gst_base_transform_change_state):
9163         * gst/base/gstbasetransform.h:
9164         Cache caps unit_size.
9165         Make sure we cannot negotiate up and downstream at the
9166         same time.
9167
9168 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9169
9170         * gst/gst.c: (init_pre), (init_post):
9171           register the installed plugin path after the env var
9172         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
9173         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
9174           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
9175           directories, so the tests can prefer uninstalled over installed
9176
9177 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9178
9179         * gst/base/gstbasetransform.h:
9180           comment
9181         * gst/gstpad.c:
9182           add to docs
9183
9184 2005-08-25  Wim Taymans  <wim@fluendo.com>
9185
9186         * gst/gstbin.c: (bin_bus_handler):
9187         Be a bit more conservative about the posted message.
9188         
9189         * gst/gstbus.c: (gst_bus_post):
9190         Some cleanups, warn wrong return values.
9191
9192 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
9193
9194         * check/gst/gstbin.c: (GST_START_TEST):
9195         * gst/gstbin.c: (bin_bus_handler):
9196         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9197         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9198         (gst_message_new_warning), (gst_message_new_tag),
9199         (gst_message_new_state_changed), (gst_message_new_segment_start),
9200         (gst_message_new_segment_done), (gst_message_new_custom):
9201         * gst/gstmessage.h:
9202         * tools/gst-launch.c: (event_loop):
9203         * tools/gst-md5sum.c: (event_loop):
9204           Revert unpopular change for GST_MESSAGE_SRC to GObject.
9205
9206 2005-08-25  Wim Taymans  <wim@fluendo.com>
9207
9208         * check/generic/states.c: (GST_START_TEST):
9209         Cleanup can be done at the end.
9210
9211         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
9212         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9213         (gst_task_get_state), (gst_task_start), (gst_task_pause):
9214         Oh boy.. Thanks for finding this, Thomas. 
9215
9216 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9217
9218         * docs/gst/gstreamer.types:
9219           added missing types
9220
9221 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9222
9223         * docs/gst/gstreamer-docs.sgml:
9224         * docs/gst/gstreamer-sections.txt:
9225         * docs/gst/tmpl/.cvsignore:
9226         * gst/gstbin.c:
9227         * gst/gstiterator.c:
9228         * gst/gstutils.c:
9229         * gst/registries/gstxmlregistry.h:
9230           added missing classes and symbols (123 more to go)
9231           removed removed symbols from section file
9232           fixed many doc-comments
9233
9234 2005-08-24  Wim Taymans  <wim@fluendo.com>
9235
9236         * check/generic/states.c: (GST_START_TEST):
9237         Make sure all tasks are stopped.
9238
9239         * check/gst/gstbin.c: (GST_START_TEST):
9240         Unref after usage for proper valgrinding.
9241
9242         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
9243         Really wait for the task to stop before destroying the
9244         mutex.
9245
9246         * gst/gstqueue.c: (gst_queue_sink_activate_push),
9247         (gst_queue_src_activate_push):
9248         Small cleanups. Don't stop the task when we did not start
9249         it.
9250
9251         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
9252         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9253         (gst_task_get_state), (gst_task_start), (gst_task_pause),
9254         (gst_task_join):
9255         * gst/gsttask.h:
9256         Protect the stream lock with the object lock.
9257         Disallow setting the stream lock when running.
9258         Add cleanup_all to wait for the threadpool to finish.
9259         Remove code to autoallocate a mutex if none was provided.
9260         Add _join() to wait for a task to stop.
9261         Protect the thread pool with a global lock.
9262
9263 2005-08-24  Wim Taymans  <wim@fluendo.com>
9264
9265         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9266         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9267         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
9268         * gst/base/gstbasesink.h:
9269         Handle newsegment events correctly.
9270         Drop buffers out of the segment range.
9271
9272 2005-08-22  Andy Wingo  <wingo@pobox.com>
9273
9274         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
9275         macro, implements an interface and gstimplementsinterface for a
9276         new type.
9277
9278 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9279
9280         * check/Makefile.am:
9281         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
9282           add a test that does a bunch of state changes on elements
9283           needs some fixing for valgrind
9284         * check/states/sinks.c: (gst_object_suite):
9285           whitespace
9286         * gst/gstcaps.h:
9287           add prototype for gst_caps_is_equal_fixed
9288         * gst/gstplugin.c:
9289         * gst/gstregistrypool.c:
9290           doc fixes
9291
9292 2005-08-24  Andy Wingo  <wingo@pobox.com>
9293
9294         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
9295         convert a negative value. Doesn't make much sense. Mostly this is
9296         here to force callers to ensure -1 maps to -1.
9297
9298 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9299
9300         * docs/pwg/advanced-types.xml:
9301           Well done to Michael for catching my deliberate introduction
9302           of this spelling mistake. 
9303         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
9304         * gst/gstelement.h:
9305           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
9306           unlink pads before removing the element from the bin.
9307
9308 2005-08-24  Andy Wingo  <wingo@pobox.com>
9309
9310         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
9311         the same thing as GST_DEBUG=*:4.
9312         (parse_debug_level, parse_debug_category): New helper parsers.
9313
9314 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9315
9316         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9317         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
9318         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
9319         (gst_base_transform_buffer_alloc),
9320         (gst_base_transform_handle_buffer):
9321           use gboolean return values and pointers to size so we can use the
9322           full GST_BUFFER_SIZE range (guint) for buffer sizes
9323           use GstPadDirection for transform_caps
9324         * gst/base/gstbasetransform.h:
9325           rename get_size to get_unit_size since that's what it is
9326         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
9327           use GstPadDirection for transform_caps
9328         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9329         * gst/gstutils.h:
9330           cleanup and debugging
9331
9332 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9333
9334         * gst/gstelement.c: (gst_element_class_init),
9335         (gst_element_set_state), (activate_pads),
9336         (gst_element_save_thyself):
9337         * tools/gst-compprep.c: (main):
9338         * tools/gst-inspect.c: (print_element_properties_info):
9339         * tools/gst-xmlinspect.c: (print_element_properties):
9340           Fixed long standing mem-leak
9341
9342 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9343
9344         * check/gst/gstbin.c: (GST_START_TEST):
9345         * gst/gstbin.c: (bin_bus_handler):
9346         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9347         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9348         (gst_message_new_warning), (gst_message_new_tag),
9349         (gst_message_new_state_changed), (gst_message_new_segment_start),
9350         (gst_message_new_segment_done), (gst_message_new_custom):
9351         * gst/gstmessage.h:
9352         * tools/gst-launch.c: (event_loop):
9353         * tools/gst-md5sum.c: (event_loop):
9354           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
9355           that applications can sensibly post custom messages with references
9356           to their own objects.
9357
9358 2005-08-24  Andy Wingo  <wingo@pobox.com>
9359
9360         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
9361         already.
9362
9363 2005-08-24  Wim Taymans  <wim@fluendo.com>
9364
9365         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9366         (gst_base_transform_transform_caps),
9367         (gst_base_transform_transform_size),
9368         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9369         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9370         (gst_base_transform_handle_buffer):
9371         * gst/base/gstbasetransform.h:
9372         Many fixes and new features added by Thomas. Can now also do
9373         transforms with variable sizes and a custom fixate_caps function.
9374
9375 2005-08-24  Wim Taymans  <wim@fluendo.com>
9376
9377         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9378         Some debugging.
9379
9380         * gst/gstclock.h:
9381         Cast to ClockTime before formatting to time.
9382
9383         * gst/gstutils.h:
9384         Cleanups.
9385
9386 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9387
9388         * check/gst-libs/controller.c: (GST_START_TEST),
9389         (gst_controller_suite):
9390         * docs/gst/tmpl/gstcaps.sgml:
9391         * docs/gst/tmpl/gstghostpad.sgml:
9392         * docs/gst/tmpl/gstquery.sgml:
9393         * docs/gst/tmpl/gstutils.sgml:
9394         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
9395         (gst_object_sink_values), (gst_object_get_value_arrays),
9396         (gst_object_get_value_array):
9397           gracefully handle helper method calls to objects that are not beeing
9398           controlled, added test case for that          
9399
9400 2005-08-23  Wim Taymans  <wim@fluendo.com>
9401
9402         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
9403         (gst_event_new_newsegment), (gst_event_parse_newsegment),
9404         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
9405         (gst_event_parse_qos), (gst_event_new_seek),
9406         (gst_event_parse_seek):
9407         * gst/gstevent.h:
9408         Some more debugging output and doc cleanups.
9409
9410         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9411         Fix possible deadlock.
9412
9413 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9414
9415         * docs/gst/gstreamer-docs.sgml:
9416         * docs/gst/gstreamer-sections.txt:
9417         * docs/gst/gstreamer.types:
9418         * docs/gst/tmpl/.cvsignore:
9419         * gst/gstbin.h:
9420         * gst/gstbus.c:
9421         * gst/gstelement.c:
9422         * gst/gstevent.h:
9423           added 100 symbols from gstreamer-unused.txt to the right sections
9424           fixed more broken comments
9425           added GstBus to docs
9426
9427 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9428
9429         * docs/gst/gstreamer-sections.txt:
9430         * docs/gst/tmpl/.cvsignore:
9431         * docs/gst/tmpl/gstbin.sgml:
9432         * docs/gst/tmpl/gstbuffer.sgml:
9433         * gst/base/gstbasesrc.c:
9434         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
9435         * gst/gstbuffer.c:
9436         * gst/gstbuffer.h:
9437         * tools/gst-launch.1.in:
9438           inlined more doc comments, added missing comments and fixed comments
9439           fixed typos
9440
9441 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9442
9443         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9444           some debugging
9445         * gst/gstcaps.h:
9446           whitespace fixes
9447         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
9448           more debugging
9449         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
9450         * gst/gststructure.h:
9451           add a fixate function for booleans; add a FIXME that these func
9452           names should probably be gst_structure_fixate_*
9453
9454 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9455
9456         * docs/gst/gstreamer-docs.sgml:
9457         * docs/gst/gstreamer-sections.txt:
9458         * gst/Makefile.am:
9459         * gst/gstbin.c: (gst_bin_get_type),
9460         (gst_bin_child_proxy_get_child_by_index),
9461         (gst_bin_child_proxy_get_children_count),
9462         (gst_bin_child_proxy_init):
9463         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9464         (gst_child_proxy_get_child_by_index),
9465         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
9466         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
9467         (gst_child_proxy_get), (gst_child_proxy_set_property),
9468         (gst_child_proxy_set_valist), (gst_child_proxy_set),
9469         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
9470         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
9471         * gst/gstchildproxy.h:
9472         * gst/parse/grammar.y:
9473         * tools/gst-inspect.c: (print_interfaces),
9474         (print_element_properties_info), (print_element_info):
9475           ported gstchildproxy over from 0.8
9476           ported gst-inspect fixes and enhancements over from 0.8
9477
9478 2005-08-22  Wim Taymans  <wim@fluendo.com>
9479
9480         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9481         (gst_base_transform_handle_buffer):
9482         Also call the transform function if we have ANY caps.
9483
9484         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
9485         Fix debug info.
9486
9487 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9488
9489         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
9490           Don't pretend to handle seek events if the source is not seekable
9491
9492 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9493
9494         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9495           Remove extra parameter to debug output
9496
9497         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9498         (gst_base_src_do_seek), (gst_base_src_activate_push):
9499           Fix seek event handling.
9500
9501         * gst/gstpipeline.c: (gst_pipeline_change_state):
9502         * gst/gstqueue.c: (gst_queue_handle_sink_event),
9503         (gst_queue_src_activate_push):
9504           Don't start the src pad task on FLUSH_STOP if the pad
9505           isn't linked.
9506           Debug changes.
9507
9508 2005-08-22  Wim Taymans  <wim@fluendo.com>
9509
9510         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9511         Added check for gst_static_caps_get() refcounting.
9512
9513 2005-08-22  Wim Taymans  <wim@fluendo.com>
9514
9515         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
9516         Make _static_caps_get() refcounting sane.
9517         
9518         * gst/gstelement.c: (gst_element_set_state):
9519         Add g_return_val_if_fail() to protect against segfaults.
9520
9521 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
9522
9523         * docs/gst/tmpl/gstevent.sgml:
9524         * gst/gstevent.c:
9525         * gst/gstevent.h:
9526           inlined remaining docs, added missing doc comments
9527
9528 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9529
9530         * check/gst/gstbin.c: (GST_START_TEST):
9531           since we don't know when preroll is done, use refcount range
9532           check for the sink
9533         * gst/check/gstcheck.h:
9534           add macro for checking refcount range
9535
9536 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9537
9538         * check/Makefile.am:
9539           clean up environment for when registry gets built versus
9540           when actual tests are run; valgrind seems to not report
9541           leaks if GST_PLUGIN_PATH is set to some specific values
9542         * check/gst/gstbin.c: (GST_START_TEST):
9543           add more refcounting checks; maybe this exposes a
9544           preroll lock bug ?
9545         * common/check.mak:
9546         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9547         * gst/check/gstcheck.h:
9548         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
9549         (gst_bin_change_state):
9550         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
9551           add/fix debugging/whitespace
9552
9553 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9554
9555         * check/gst/gstevent.c: (event_probe), (test_event),
9556         (GST_START_TEST):
9557          Er, don't call gst_bin_watch_for_state_change you idiot.
9558
9559 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9560
9561         * check/Makefile.am:
9562           Use CHECK_CFLAGS and CHECK_LIBS
9563         * check/gst/gstevent.c: (event_probe), (test_event),
9564         (GST_START_TEST):
9565           Don't leak events.
9566         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9567         (gst_base_src_start), (gst_base_src_stop),
9568         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9569         (gst_base_src_change_state):
9570           Sprinkle gst_base_src_stop liberally around error paths to fix
9571           problems reusing a source after failed state changes.
9572         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9573         (helper_find_suggest), (gst_type_find_helper):
9574           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
9575         * gst/gstevent.h:
9576         * docs/gst/tmpl/gstevent.sgml:
9577           Migrate part of the docs from the SGML file. Wait for ensonic to
9578           tell me how I did it wrong ;)
9579         * tools/gst-typefind.c: (main):
9580           Extra robustness to state changes between files.
9581
9582 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9583
9584         * check/Makefile.am:
9585           don't valgrind the controller test - it's leaking - Stefan, HELP
9586         * gst/check/gstcheck.c: (gst_check_message_error),
9587         (gst_check_chain_func), (gst_check_setup_element),
9588         (gst_check_teardown_element), (gst_check_setup_src_pad),
9589         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9590         (gst_check_teardown_sink_pad):
9591         * gst/check/gstcheck.h:
9592           add a bunch of methods to set up elements, and src and sink pads
9593         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
9594         * check/elements/identity.c: (setup_identity), (cleanup_identity),
9595         (GST_START_TEST):
9596           use them
9597         * gst/gstmessage.c:
9598         * gst/gsttag.h:
9599           whitespace/doc fixes
9600
9601 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9602
9603         * gst/gstelement.h:
9604           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
9605           be handled by the application and not always printed as well
9606
9607 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9608
9609         * check/Makefile.am:
9610           set GST_TOOLS_DIR
9611         * gst/check/gstcheck.c: (gst_check_message_error):
9612         * gst/check/gstcheck.h:
9613           add a fail_unless_equals_int
9614           add fail_unless for error messages
9615
9616 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * check/Makefile.am:
9619         * check/gst.supp:
9620         * common/Makefile.am:
9621         * common/check.mak:
9622         * common/gst.supp:
9623           factor out some of the common stuff so we can use it
9624
9625 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9626
9627         * check/Makefile.am:
9628         * check/gst/gstiterator.c: (GST_START_TEST):
9629         * check/gst/gstsystemclock.c: (GST_START_TEST),
9630         (gst_systemclock_suite):
9631         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9632         * gst/gstclock.c:
9633           valgrind more tests
9634
9635 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9636
9637         * check/elements/.cvsignore:
9638         * check/elements/gstfakesrc.c:
9639           rename to name of element
9640         * check/elements/identity.c: (chain_func), (event_func),
9641         (setup_identity), (cleanup_identity), (GST_START_TEST),
9642         (identity_suite), (main):
9643           add a test for identity
9644         * check/Makefile.am:
9645         * pkgconfig/Makefile.am:
9646         * pkgconfig/gstreamer-check.pc.in:
9647         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9648         * gst/check:
9649         * gst/Makefile.am:
9650         * configure.ac:
9651           move the check stuff to a library that gets installed
9652         * check/gst-libs/controller.c: (GST_START_TEST):
9653         * check/gst-libs/gdp.c:
9654         * check/gst/gst.c: (GST_START_TEST):
9655         * check/gst/gstbin.c:
9656         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9657         * check/gst/gstbus.c:
9658         * check/gst/gstcaps.c: (GST_START_TEST):
9659         * check/gst/gstelement.c:
9660         * check/gst/gstghostpad.c:
9661         * check/gst/gstiterator.c:
9662         * check/gst/gstmessage.c:
9663         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9664         * check/gst/gstobject.c:
9665         * check/gst/gstpad.c: (GST_START_TEST):
9666         * check/gst/gststructure.c: (GST_START_TEST):
9667         * check/gst/gstsystemclock.c: (GST_START_TEST),
9668         (gst_systemclock_suite):
9669         * check/gst/gsttag.c: (gst_tag_suite):
9670         * check/gst/gstvalue.c:
9671         * check/pipelines/cleanup.c:
9672         * check/pipelines/simple_launch_lines.c:
9673         * check/states/sinks.c:
9674           change include statement
9675
9676         * docs/gst/gstreamer-sections.txt:
9677         * docs/gst/tmpl/gstpad.sgml:
9678           document more pad stuff
9679         * gst/gstminiobject.c: (gst_mini_object_ref),
9680         (gst_mini_object_unref):
9681           debug refcounting
9682
9683 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9684
9685         * docs/gst/tmpl/gst.sgml:
9686         * gst/gst.c:
9687           eliminate another tmpl file, fix spelling in the long-description
9688
9689 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9690
9691         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9692         (test_event), (timediff), (gstevents_suite):
9693           Should fix build on 64-bit arch's
9694
9695 2005-08-18  Andy Wingo  <wingo@pobox.com>
9696
9697         Make sure that when a pipeline goes to PLAYING, that data has
9698         actually hit the sink.
9699
9700         * check/states/sinks.c (test_sink): A sink that doesn't get any
9701         data shouldn't return SUCCESS for going to either PLAYING or
9702         PAUSED. Test also the return values on the way back down.
9703
9704         * gst/gstelement.c (gst_element_set_state): When changing the
9705         state of an element currently changing state asynchronously, go to
9706         lost-state after commiting the pending state. Makes future calls
9707         to get_state continue to return ASYNC.
9708
9709         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9710         ASYNC when going to PLAYING if we still don't have preroll, as can
9711         happen with live sources.
9712
9713 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9714
9715         * docs/pwg/advanced-types.xml:
9716           Hack long paragraph into 2 chunks as a workaround for buggy
9717           jadetex version in sid and breezy that loops infinitely and
9718           eats all RAM.
9719
9720 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9721
9722         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9723         (test_event), (timediff), (gstevents_suite):
9724           Provide more error margin in clock measurements to allow for 
9725           g_get_current_time inaccuracies.
9726
9727 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9728
9729         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9730         (test_event), (timediff), (gstevents_suite):
9731            Fix error message output so I might be able to tell why the
9732            test works here but fails on the build farm.
9733
9734 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9735
9736         * check/Makefile.am:
9737         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9738         (test_event), (timediff), (gstevents_suite), (main):
9739           I wrote a test!
9740
9741         * docs/design/part-seeking.txt:
9742           Spelling correction
9743
9744         * docs/gst/tmpl/gstevent.sgml:
9745         * docs/gst/tmpl/gstfakesrc.sgml:
9746           Docs updates.
9747
9748         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9749           Treat a buffer-without-newsegment the same as a receiving 
9750           a newsegment not in time format, and disable syncing to the clock
9751           with a warning.
9752
9753         * gst/gstbus.c: (gst_bus_set_sync_handler):
9754           Assert if anyone tries to replace the existing sync_handler for bus, 
9755           as only the owner should be setting it.
9756
9757         * gst/gstevent.h:
9758           Have a fixed set of custom event enums with events identified by
9759           their structure name (as in 0.8), rather than a free-for-all
9760           allowing collisions between enum values from different plugins.
9761
9762         * gst/gstpad.c: (gst_pad_class_init):
9763           Docs change.
9764           
9765         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9766           Handle out-of-band downstream events from the sending thread.
9767
9768 2005-08-17  Andy Wingo  <wingo@pobox.com>
9769
9770         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9771         play-timeout==0 to mean no timeout at all. In that case, don't
9772         bother with a get_state or a warning, just return directly, even
9773         if it's ASYNC.
9774
9775         * gst/base/gstbasetransform.c: Debug changes.
9776
9777         * gst/gstutils.h:
9778         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9779         ensure bins post state change messages. A bit of a hack but I can't
9780         think of a way to avoid it.
9781
9782         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9783
9784 2005-08-16  Andy Wingo  <wingo@pobox.com>
9785
9786         * gst/base/gstadapter.h:
9787         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9788         peek() but you own the data. Not terribly efficient atm.
9789
9790 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9791
9792         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9793         (gst_element_found_tags):
9794         * gst/gstutils.h:
9795           Add two utility functions for tag handling.
9796
9797 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9798
9799         * docs/manual/advanced-dataaccess.xml:
9800         * docs/manual/basics-helloworld.xml:
9801           Fix docs to use _bin_add() before _link(), which fixes the examples
9802           with recent core versions (reported by Madhan Raj M
9803           <raj_madan@rediffmail.com>, #313199).
9804
9805 2005-08-16  Wim Taymans  <wim@fluendo.com>
9806
9807         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9808         Added subtract checks.
9809
9810         * docs/design/part-events.txt:
9811         Some more docs about newsegment
9812
9813         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9814         Fix FIXME
9815
9816         * gst/gstcaps.c: (gst_caps_to_string):
9817         Add comments, cleanups.
9818         
9819         * gst/gstelement.c: (gst_element_save_thyself):
9820         cleanups
9821         
9822         * gst/gstvalue.c: (gst_value_collect_int_range),
9823         (gst_string_unwrap), (gst_value_union_int_int_range),
9824         (gst_value_union_int_range_int_range),
9825         (gst_value_intersect_int_int_range),
9826         (gst_value_intersect_int_range_int_range),
9827         (gst_value_intersect_double_double_range),
9828         (gst_value_intersect_double_range_double_range),
9829         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9830         (gst_value_subtract_int_range_int),
9831         (gst_value_subtract_double_range_double),
9832         (gst_value_subtract_double_range_double_range),
9833         (gst_value_subtract_from_list), (gst_value_subtract_list),
9834         (gst_value_can_compare), (gst_value_compare_fraction):
9835         Cleanups, add comments, remove unneeded asserts.
9836
9837 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9838
9839         * tools/gst-launch.c: (event_loop):
9840           don't convert NULL structures to strings
9841
9842 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9843
9844         * docs/gst/gstreamer-sections.txt:
9845           made some defines private
9846         * docs/gst/tmpl/gstconfig.sgml:
9847         * docs/gst/tmpl/gstqueue.sgml:
9848         * docs/gst/tmpl/gsttaglist.sgml:
9849         * docs/gst/tmpl/gsttypes.sgml:
9850         * docs/gst/tmpl/gstutils.sgml:
9851         * docs/pwg/appendix-porting.xml:
9852         * gst/base/gstbasesink.h:
9853         * gst/base/gstbasesrc.c:
9854         * gst/base/gstbasesrc.h:
9855         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9856         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9857         * gst/gstelement.c: (gst_element_class_init):
9858         * gst/gstpad.c: (gst_pad_class_init):
9859         * gst/gstqueue.c: (gst_queue_class_init):
9860         * gst/gstxml.c: (gst_xml_class_init):
9861           documented all undocumented signal inline
9862         * libs/gst/controller/gst-controller.h:
9863           added padding
9864
9865 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9866
9867         * docs/pwg/appendix-porting.xml:
9868           Document _set_link_function -> _set_setcaps_function.
9869
9870 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9871
9872         * check/Makefile.am:
9873           add a .check target for running the check
9874         * check/gst-libs/controller.c: (GST_START_TEST):
9875           cosmetic fixups
9876         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9877           complete checks for gstbuffer; would be nice if I could get the
9878           gcov stuff to work so I can see if I actually completed gstbuffer.c
9879         * check/gstcheck.h:
9880           add ASSERT_BUFFER_REFCOUNT
9881
9882 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9883
9884         * docs/gst/gstreamer-sections.txt:
9885         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9886         * gst/gsttag.h:
9887           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9888           spew out a warning if a tag that is already registered
9889           is re-registered, unless it is re-registered with a 
9890           different type (#308438).
9891
9892 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9893
9894         * docs/pwg/appendix-porting.xml:
9895         * docs/pwg/building-state.xml:
9896           Add some paragraphs about state changes in 0.9 to the PWG
9897           and the porting guide, in particular about the new meaning
9898           of GST_STATE_PAUSED and how to write state change functions
9899           with concurrent access by multiple threads in mind.
9900
9901 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9902
9903         * docs/gst/gstreamer-docs.sgml:
9904         * docs/libs/gstreamer-libs-docs.sgml:
9905           added deprecation and since indexes
9906         * libs/gst/controller/gst-controller.c:
9907         * libs/gst/controller/gst-helper.c:
9908           added since tags
9909
9910
9911 2005-08-11  Wim Taymans  <wim@fluendo.com>
9912
9913         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9914         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9915         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9916         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9917         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9918         (gst_ghost_pad_set_target):
9919         Actually implement (re)setting the target on a ghostpad
9920         as described in the docs.
9921
9922 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9923
9924         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9925           Check whether GST_DEBUG_NO_COLOR environment variable is
9926           set and disable coloured debug output if that is the case.
9927
9928 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9929
9930         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9931         (gst_type_find_helper):
9932           The memory returned by gst_type_find_peek() needs to
9933           stay valid until the end of a typefind function, and
9934           typefind functions may keep results from different 
9935           offsets around, so we can't just unref the buffer from
9936           the previous _peek(), but have to save all buffers 
9937           returned by _peek() until typefinding is done and only
9938           free them then.
9939
9940 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9941
9942         * docs/gst/gstreamer-sections.txt:
9943         * gst/gstutils.h:
9944           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9945
9946 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9947
9948         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9949           Fix a pretty good memleak.
9950
9951 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9952
9953         * gst/gstiterator.h:
9954           Fix wrong include and 'make distcheck'.
9955
9956 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9957
9958         * gst/gstbin.c: (bin_bus_handler):
9959           Use gst_element_post_message() instead.
9960
9961 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9962
9963         * gst/base/gstadapter.h:
9964         * gst/base/gstbasesink.h:
9965         * gst/base/gstbasesrc.h:
9966         * gst/base/gstbasetransform.h:
9967         * gst/base/gstcollectpads.h:
9968         * gst/base/gstpushsrc.h:
9969         * gst/gstiterator.h:
9970           Add padding to our base elements' class and instance structs and
9971           to GstIterator (you will need to rebuild all plugins and apps!)
9972
9973 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9974
9975         * gst/gstbin.c: (bin_bus_handler):
9976           Make default message forwarding from child->bus to bin->bus
9977           threadsafe and make it not emit warnings if the parent has no bus.
9978
9979 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9980
9981         * gst/gstelement.c: (activate_pads):
9982           On paused->ready, set pad->caps to NULL, as is the documented
9983           behaviour in this state change. Fixes playback of series of
9984           media files when visualization is enabled in Totem.
9985
9986 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9987
9988         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9989           Allow NULL as filter-caps (which means "any").
9990
9991 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9992
9993         * docs/libs/gstreamer-libs-sections.txt:
9994         * libs/gst/controller/gst-controller.c:
9995         * libs/gst/controller/gst-controller.h:
9996         * libs/gst/controller/gst-helper.c:
9997           adding more entries to the docs and fix small doc-bugs
9998
9999 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10000
10001         * docs/gst/gstreamer-docs.sgml:
10002         * docs/gst/gstreamer-sections.txt:
10003         * docs/gst/gstreamer.types:
10004         * docs/gst/tmpl/gstbasesink.sgml:
10005         * docs/gst/tmpl/gstbasesrc.sgml:
10006         * docs/gst/tmpl/gstbasetransform.sgml:
10007         * docs/gst/tmpl/gstfakesrc.sgml:
10008         * gst/base/gstcollectpads.c:
10009         * gst/base/gstcollectpads.h:
10010         * libs/gst/controller/gst-controller.c:
10011         * libs/gst/controller/gst-controller.h:
10012         * libs/gst/controller/gst-helper.c:
10013         * libs/gst/controller/gst-interpolation.c:
10014         * libs/gst/controller/lib.c:
10015           added long/short desc for controller docs
10016           added collectpads base class docs
10017           added correct includes to base-class docs
10018
10019 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10020
10021         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10022         (gst_test_mono_source_set_property),
10023         (gst_test_mono_source_class_init), (GST_START_TEST),
10024         (gst_controller_suite):
10025         * docs/gst/gstreamer-docs.sgml:
10026         * docs/gst/gstreamer-sections.txt:
10027         * docs/gst/gstreamer.types:
10028         * docs/libs/gstreamer-libs-docs.sgml:
10029         * docs/libs/gstreamer-libs-sections.txt:
10030         * gst/base/gstadapter.c:
10031         * libs/gst/controller/gst-controller.c:
10032         (gst_controlled_property_new), (gst_controlled_property_free),
10033         (gst_controller_new_valist),
10034         (gst_controller_remove_properties_valist),
10035         (gst_controller_sink_values), (_gst_controller_finalize):
10036         * libs/gst/controller/gst-controller.h:
10037         * libs/gst/controller/gst-helper.c:
10038         (gst_object_control_properties), (gst_object_uncontrol_properties),
10039         (gst_object_get_controller), (gst_object_set_controller),
10040         (gst_object_sink_values), (gst_object_get_value_arrays),
10041         (gst_object_get_value_array):
10042           more tests (and fixes) for the controller
10043           more docs for the controller
10044           integrated companies docs for the adapter 
10045
10046 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10047
10048         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
10049         (GST_START_TEST), (fakesrc_suite):
10050           add tests for sizetype
10051
10052 2005-08-04  Andy Wingo  <wingo@pobox.com>
10053
10054         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
10055         fixes buffer_alloc proxying among other things.
10056
10057         * gst/base/gstbasetransform.c:
10058         * gst/base/gstbasetransform.h:
10059         Revert patch to gstbasetransform from 7-28 removing
10060         delay_configure.
10061
10062         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
10063         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
10064         Semantics changed, should return not the size of the output buffer
10065         but the byte size of a buffer with a given caps.
10066
10067         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
10068         debug object.
10069         (gst_base_transform_configure_caps): Don't set out_size here: (in,
10070         out) are not the pad caps until setcaps finishes.
10071         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
10072         not-in-place case as well. Deal with changing from in-place to
10073         not-in-place within calling pad_alloc_buffer. Still a bit
10074         concerned about the overhead here...
10075
10076 2005-08-03  Andy Wingo  <wingo@pobox.com>
10077
10078         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
10079         fixating is an error.
10080
10081 2005-08-04  Edward Hervey  <edward@fluendo.com>
10082
10083         * gst/base/gstadapter.h: 
10084         Added gst_adapter_get_type() to the header
10085
10086 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10087
10088         * check/Makefile.am:
10089         * check/gst-libs/controller.c:
10090         * libs/gst/controller/gst-controller.c:
10091         (gst_controller_new_valist):
10092           added check test suite for the controller
10093         * gst/base/gstpushsrc.c:
10094           fixed a doc typo
10095
10096 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10097
10098         * docs/gst/Makefile.am:
10099         * docs/gst/gstreamer-docs.sgml:
10100         * docs/gst/gstreamer-sections.txt:
10101         * docs/gst/gstreamer.types:
10102         * docs/gst/tmpl/gstfakesrc.sgml:
10103         * gst/base/README:
10104         * gst/base/gstbasesink.c:
10105         * gst/base/gstbasesink.h:
10106         * gst/base/gstbasesrc.c:
10107         * gst/base/gstbasesrc.h:
10108         * gst/base/gstbasetransform.c:
10109         * gst/base/gstpushsrc.c:
10110         * gst/base/gstpushsrc.h:
10111           add short/long description docs to base classes
10112           add pushsrc to the docs
10113           remove consolidated doc fragments
10114
10115 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10116
10117         * configure.ac:
10118         * docs/libs/Makefile.am:
10119         * docs/libs/gstreamer-libs-docs.sgml:
10120         * docs/libs/gstreamer-libs-sections.txt:
10121         * docs/libs/gstreamer-libs.types:
10122         * examples/Makefile.am:
10123         * examples/controller/.cvsignore:
10124         * examples/controller/Makefile.am:
10125         * examples/controller/audio-example.c: (main):
10126         * libs/gst/Makefile.am:
10127         * libs/gst/controller/.cvsignore:
10128         * libs/gst/controller/Makefile.am:
10129         * libs/gst/controller/gst-controller.c:
10130         (on_object_controlled_property_changed), (gst_timed_value_compare),
10131         (gst_timed_value_find),
10132         (gst_controlled_property_set_interpolation_mode),
10133         (gst_controlled_property_new), (gst_controlled_property_free),
10134         (gst_controller_find_controlled_property),
10135         (gst_controller_new_valist), (gst_controller_new),
10136         (gst_controller_remove_properties_valist),
10137         (gst_controller_remove_properties), (gst_controller_set),
10138         (gst_controller_set_from_list), (gst_controller_unset),
10139         (gst_controller_get), (gst_controller_get_all),
10140         (gst_controller_sink_values), (gst_controller_get_value_arrays),
10141         (gst_controller_get_value_array),
10142         (gst_controller_set_interpolation_mode),
10143         (_gst_controller_finalize), (_gst_controller_init),
10144         (_gst_controller_class_init), (gst_controller_get_type):
10145         * libs/gst/controller/gst-controller.h:
10146         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
10147         (g_object_uncontrol_properties), (g_object_get_controller),
10148         (g_object_set_controller), (g_object_sink_values),
10149         (g_object_get_value_arrays), (g_object_get_value_array):
10150         * libs/gst/controller/gst-interpolation.c:
10151         (gst_controlled_property_find_timed_value_node),
10152         (interpolate_none_get), (interpolate_trigger_get),
10153         (interpolate_trigger_get_value_array):
10154         * libs/gst/controller/lib.c: (gst_controller_init):
10155         * pkgconfig/Makefile.am:
10156         * pkgconfig/gstreamer-control-uninstalled.pc.in:
10157         * pkgconfig/gstreamer-control.pc.in:
10158         * testsuite/Makefile.am:
10159         * testsuite/controller/.cvsignore:
10160         * testsuite/controller/Makefile.am:
10161         * testsuite/controller/interpolator.c: (main):
10162           added controller code
10163           removed dparam pc files
10164
10165 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10166         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
10167         (gst_collectpads_stop):
10168           Broadcast the condition when shutting down, to make sure we wake all
10169           threads up. Shut down pads on finalize, for safety.
10170
10171 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10172         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10173         (gst_base_transform_handle_buffer),
10174         (gst_base_transform_change_state):
10175           Handle PAUSED->READY->PAUSED transition after negotiation
10176           occurred already.
10177         * gst/gstmessage.c: (gst_message_init):
10178           Extra piece of debug for new messages.
10179
10180 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
10181
10182         * configure.ac:
10183         * docs/gst/tmpl/gstbasesrc.sgml:
10184         * docs/gst/tmpl/gstelement.sgml:
10185         * docs/gst/tmpl/gstevent.sgml:
10186         * docs/gst/tmpl/gstfakesrc.sgml:
10187         * docs/gst/tmpl/gstformat.sgml:
10188         * docs/gst/tmpl/gstghostpad.sgml:
10189         * docs/gst/tmpl/gstpad.sgml:
10190         * docs/gst/tmpl/gstquery.sgml:
10191         * docs/gst/tmpl/gststructure.sgml:
10192         * docs/gst/tmpl/gsttaglist.sgml:
10193         * docs/gst/tmpl/gstvalue.sgml:
10194         * docs/libs/gstreamer-libs-docs.sgml:
10195         * docs/libs/gstreamer-libs-sections.txt:
10196         * docs/libs/gstreamer-libs.types:
10197         * libs/gst/Makefile.am:
10198         * libs/gst/control/.cvsignore:
10199         * libs/gst/control/Makefile.am:
10200         * libs/gst/control/control.c:
10201         * libs/gst/control/control.h:
10202         * libs/gst/control/dparam.c:
10203         * libs/gst/control/dparam.h:
10204         * libs/gst/control/dparam_smooth.c:
10205         * libs/gst/control/dparam_smooth.h:
10206         * libs/gst/control/dparamcommon.h:
10207         * libs/gst/control/dparammanager.c:
10208         * libs/gst/control/dparammanager.h:
10209         * libs/gst/control/dplinearinterp.c:
10210         * libs/gst/control/dplinearinterp.h:
10211         * libs/gst/control/unitconvert.c:
10212         * libs/gst/control/unitconvert.h:
10213         * testsuite/Makefile.am:
10214         * testsuite/dynparams/.cvsignore:
10215         * testsuite/dynparams/Makefile.am:
10216         * testsuite/dynparams/dparamstest.c:
10217         * tools/Makefile.am:
10218         * tools/gst-inspect.c: (print_element_info), (main):
10219         * tools/gst-xmlinspect.c: (print_element_info), (main):
10220           deactivate and remove dparams (libgstcontrol)
10221
10222 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10223
10224         * gst/elements/gsttypefindelement.c:
10225         (gst_type_find_element_have_type), (gst_type_find_element_init),
10226         (stop_typefinding), (gst_type_find_element_handle_event),
10227         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10228         * gst/elements/gsttypefindelement.h:
10229           Set caps on all outgoing buffers, not just the first one.
10230
10231 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10232
10233         * gst/elements/gsttypefindelement.c:
10234         (gst_type_find_element_have_type),
10235         (gst_type_find_element_check_set_buffer_caps),
10236         (gst_type_find_element_init), (stop_typefinding),
10237         (gst_type_find_element_handle_event),
10238         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10239         * gst/elements/gsttypefindelement.h:
10240           Set caps on first outgoing buffer when we've found the type.
10241
10242 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10243
10244         * docs/gst/gstreamer-docs.sgml:
10245         * docs/gst/gstreamer-sections.txt:
10246         * docs/gst/tmpl/gstscheduler.sgml:
10247         * docs/gst/tmpl/gstschedulerfactory.sgml:
10248           Remove some old cruft from docs.
10249
10250 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
10251
10252         * gst/gstpad.h:
10253           Fix inline docs for GstPadLinkReturn.
10254           
10255         * gst/gststructure.c: (gst_structure_has_name):
10256         * gst/gststructure.h:
10257         * docs/gst/gstreamer-sections.txt:
10258           New API: gst_structure_has_name().
10259
10260 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
10261
10262         * configure.ac:
10263           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
10264           and _LARGEFILE_SOURCE in config.h as required. Do not 
10265           export those flags in our .pc files any longer (#142209).
10266
10267           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
10268
10269         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
10270         (gst_file_sink_do_seek), (gst_file_sink_event),
10271         (gst_file_sink_get_current_offset), (gst_file_sink_render):
10272           Redo seek/tell calls with large file support in mind; add some
10273           debugging messages; add log message that tells us when large
10274           file support is unavailable or not enabled for some reason.
10275
10276         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
10277           Add log message that tells us when large file support 
10278           is unavailable or not enabled for some reason.
10279
10280 2005-07-29  Wim Taymans  <wim@fluendo.com>
10281
10282         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10283         Added test for removing an element with ghostpad from a bin.
10284         Fixed test as current implementation does the right thing.
10285
10286         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
10287         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
10288         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
10289         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
10290         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
10291         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10292         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10293         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10294         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
10295         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
10296         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
10297         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
10298         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10299         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
10300         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
10301         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10302         * gst/gstghostpad.h:
10303         Clean up ghostpads, remove properties for internal stuff.
10304         Make threadsafe.
10305         Fix refcounting.
10306         Prepare for switching targets, not all use cases work yet.
10307
10308 2005-07-29  Wim Taymans  <wim@fluendo.com>
10309
10310         * docs/design/part-gstghostpad.txt:
10311         Small update.
10312
10313         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10314         (gst_bin_remove_func):
10315         Unlinking pads while holding the bin LOCK is not a good
10316         idea.
10317
10318         * gst/gstpad.c: (gst_pad_class_init),
10319         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
10320         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
10321         No prob setting template after creating the pad.
10322
10323 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
10324
10325         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
10326         (gst_bus_peek), (gst_bus_source_dispatch),
10327         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
10328         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
10329           gst_bus_poll may be called from other threads. Handle
10330           this nicely by not making poll_data disappear off the
10331           stack once gst_bus_poll returns.
10332           gst_bus_peek now increments the refcount on the returned
10333           message.
10334
10335 2005-07-29  Wim Taymans  <wim@fluendo.com>
10336
10337         * docs/design/part-gstghostpad.txt:
10338         Overview of current GhostPad datastructures and use
10339         cases for changing the target.
10340
10341 2005-07-28  Wim Taymans  <wim@fluendo.com>
10342
10343         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10344         Added checks for hierarchy consistency whan adding linked
10345         elements to bins.
10346
10347         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10348         Added check to test element scheduling without bin/pipeline.
10349
10350         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10351         First add elements to bin, then link.
10352         
10353         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10354         (gst_bin_remove_func):
10355         Unlink pads from elements added/removed from bin to maintain
10356         hierarchy consistency.
10357
10358 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10359
10360         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10361         (gst_base_transform_handle_buffer):
10362         * gst/base/gstbasetransform.h:
10363           Remove broken delay_configure (fixes renegotiation of software
10364           scaling pipelines); remove some leftover printf()s.
10365
10366 2005-07-28  Wim Taymans  <wim@fluendo.com>
10367
10368         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10369         Added some more tests for wrong hierarchy
10370
10371         * docs/design/part-overview.txt:
10372         Some updates.
10373
10374         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
10375         Cleanups.
10376
10377         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
10378         (gst_element_dispose):
10379         Some more cleanups.
10380
10381         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10382         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
10383         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10384         (gst_pad_set_caps), (gst_pad_send_event):
10385         Check for correct hierarchy when linking pads. Moving to
10386         strict requirement for ghostpads when linking elements in
10387         different bins.
10388
10389         * gst/gstpad.h:
10390         Clean ups. Added WRONG_HIERARCHY return value.
10391
10392 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10393
10394         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10395           Better debug if no transform is possible.
10396
10397 2005-07-27  Wim Taymans  <wim@fluendo.com>
10398
10399         * docs/random/wtay/network-transp:
10400         Some old doc I had.
10401
10402 2005-07-27  Wim Taymans  <wim@fluendo.com>
10403
10404         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10405         (gst_dp_event_from_packet):
10406         Fix serialization of seek events.
10407
10408 2005-07-27  Wim Taymans  <wim@fluendo.com>
10409
10410         * check/gst-libs/gdp.c: (GST_START_TEST):
10411         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10412         Fix compilation and fix event serialization.
10413
10414 2005-07-27  Wim Taymans  <wim@fluendo.com>
10415
10416         * CHANGES-0.9:
10417         * docs/design/part-TODO.txt:
10418         * docs/design/part-events.txt:
10419         Some docs updates
10420
10421         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10422         (gst_base_sink_event), (gst_base_sink_do_sync),
10423         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10424         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10425         (gst_base_src_do_seek), (gst_base_src_event_handler),
10426         (gst_base_src_loop):
10427         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10428         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10429         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10430         (gst_base_transform_event), (gst_base_transform_handle_buffer),
10431         (gst_base_transform_set_passthrough),
10432         (gst_base_transform_is_passthrough):
10433         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10434         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10435         Event updates.
10436
10437         * gst/gstbuffer.h:
10438         Use faster casts.
10439
10440         * gst/gstelement.c: (gst_element_seek):
10441         * gst/gstelement.h:
10442         Update gst_element_seek.
10443
10444         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
10445         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
10446         (gst_event_new_flush_start), (gst_event_new_flush_stop),
10447         (gst_event_new_eos), (gst_event_new_newsegment),
10448         (gst_event_parse_newsegment), (gst_event_new_tag),
10449         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
10450         (gst_event_parse_qos), (gst_event_new_seek),
10451         (gst_event_parse_seek), (gst_event_new_navigation):
10452         * gst/gstevent.h:
10453         Make GstEvent use GstStructure. Add parsing code, make sure the
10454         API is sufficiently generic.
10455         Mark possible directions of events and serialization.
10456
10457         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
10458         (_gst_message_copy), (gst_message_new_segment_start),
10459         (gst_message_new_segment_done), (gst_message_new_custom),
10460         (gst_message_parse_segment_start),
10461         (gst_message_parse_segment_done):
10462         Small cleanups.
10463
10464         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10465         (gst_pad_set_caps), (gst_pad_send_event):
10466         Update for new events. 
10467         Catch events sent in wrong directions.
10468
10469         * gst/gstqueue.c: (gst_queue_link_src),
10470         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10471         (gst_queue_handle_src_query):
10472         Event updates.
10473
10474         * gst/gsttag.c:
10475         * gst/gsttag.h:
10476         Remove event code from this file.
10477
10478         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10479         (gst_dp_event_from_packet):
10480         Event updates.
10481
10482 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10483
10484         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
10485         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10486         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
10487           Make debugging actually useful.
10488
10489 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10490
10491         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
10492         (gst_pad_fixate_caps):
10493           Implement default fixation once again, so that gst_pad_fixate()
10494           actually does anything at all. This probably needs to be some
10495           sort of a last resort, and use profile-based fixation first, but
10496           since that doesn't exist yet, this is the best we have. Fixes
10497           visualization in Totem.
10498
10499 2005-07-22  Wim Taymans  <wim@fluendo.com>
10500
10501         * docs/design/part-events.txt:
10502         Small update.
10503
10504         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10505         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
10506         (gst_base_sink_activate_pull):
10507         Some more comments.
10508
10509         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
10510         (gst_fake_src_create):
10511         Fix handoff marshall.
10512
10513         * gst/elements/gstidentity.c: (gst_identity_class_init),
10514         (gst_identity_transform_ip):
10515         We're a real inplace element.
10516
10517         * gst/gstbus.c: (gst_bus_post):
10518         Added some comments.
10519
10520         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
10521         * tests/muxing/case1.c: (main):
10522         * tests/sched/dynamic-pipeline.c: (main):
10523         * tests/sched/interrupt1.c: (main):
10524         * tests/sched/interrupt2.c: (main):
10525         * tests/sched/interrupt3.c: (main):
10526         * tests/sched/runxml.c: (main):
10527         * tests/sched/sched-stress.c: (main):
10528         * tests/seeking/seeking1.c: (event_received), (main):
10529         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10530         (main):
10531         * tests/threadstate/threadstate3.c: (main):
10532         * tests/threadstate/threadstate4.c: (main):
10533         * tests/threadstate/threadstate5.c: (main):
10534         Fix the tests.
10535
10536 2005-07-21  Wim Taymans  <wim@fluendo.com>
10537
10538         * docs/design/part-seeking.txt:
10539         Some small additions.
10540
10541         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10542         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10543         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10544         * gst/base/gstbasesink.h:
10545         discont values are gint64, handle the math correctly.
10546
10547         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10548         Make the basesrc report error if the source pad is not linked.
10549
10550         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10551         (gst_queue_loop), (gst_queue_handle_src_query),
10552         (gst_queue_src_activate_push):
10553         Make queue collect data even if the srcpad is not linked.
10554         Start pushing out data as soon as it is linked.
10555
10556         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
10557         * gst/gstutils.h:
10558         Added gst_flow_get_name() to ease error reporting.
10559
10560 2005-07-20  Wim Taymans  <wim@fluendo.com>
10561
10562         * gst/gstmessage.c: (gst_message_new_segment_start),
10563         (gst_message_new_segment_done), (gst_message_parse_segment_start),
10564         (gst_message_parse_segment_done):
10565         * gst/gstmessage.h:
10566         Added a bunch of messages for advanced seeking.
10567
10568         * gst/parse/grammar.y:
10569         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
10570         (gst_dpman_state_changed):
10571         Fix some new-pad -> pad-added signals
10572
10573 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10574
10575         * docs/manual/appendix-porting.xml:
10576         * docs/pwg/appendix-porting.xml:
10577           Document new-pad/state-change signal renames and the FixedList
10578           type rename.
10579
10580 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10581
10582         * docs/manual/advanced-autoplugging.xml:
10583         * docs/manual/basics-helloworld.xml:
10584         * docs/manual/basics-pads.xml:
10585         * docs/random/ds/0.9-suggested-changes:
10586         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
10587         * gst/gstelement.h:
10588         * gst/gstevent.h:
10589         * gst/gstformat.h:
10590         * gst/gstquery.h:
10591         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10592         (gst_structure_parse_array), (gst_structure_parse_value):
10593         * gst/gstvalue.c: (gst_type_is_fixed),
10594         (gst_value_list_prepend_value), (gst_value_list_append_value),
10595         (gst_value_list_get_size), (gst_value_list_get_value),
10596         (gst_value_transform_array_string), (gst_value_serialize_array),
10597         (gst_value_deserialize_array), (gst_value_intersect_array),
10598         (gst_value_is_fixed), (_gst_value_initialize):
10599         * gst/gstvalue.h:
10600           GstElement::new-pad -> pad-added, GstElement::state-change ->
10601           state-changed, GstValueFixedList -> GstValueArray, add format and
10602           flags as their own arguments in gst_element_seek() (should improve
10603           "bindeability"), remove function generators since they don't work
10604           under a whole bunch of compilers (they were deprecated already
10605           anyway).
10606
10607 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10608
10609         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10610         (_gst_debug_register_funcptr):
10611         * gst/gstinfo.h:
10612           Fix illegal cast on some platforms (#309253).
10613
10614 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10615
10616         * gst/gstmessage.c: (gst_message_new_custom):
10617         * gst/gstmessage.h:
10618           Add _new_custom, make _new_application a macro to _new_custom.
10619
10620 2005-07-20  Wim Taymans  <wim@fluendo.com>
10621
10622         * gst/base/gstbasesrc.c: (gst_base_src_init),
10623         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10624         * gst/base/gstbasesrc.h:
10625         Add a gboolean to decide when to push out a discont.
10626
10627         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10628         (gst_queue_loop), (gst_queue_handle_src_query),
10629         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
10630         (gst_queue_set_property), (gst_queue_get_property):
10631         Some cleanups.
10632
10633         * tests/threadstate/threadstate1.c: (main):
10634         Make a thread test compile and run... very silly..
10635
10636
10637 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10638
10639         * docs/manual/appendix-porting.xml:
10640           Mention removal of libgstgconf-0.9.la and existence of gconf
10641           elements.
10642
10643 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10644
10645         * docs/pwg/advanced-clock.xml:
10646         * docs/pwg/appendix-porting.xml:
10647         * docs/pwg/intro-preface.xml:
10648         * docs/pwg/other-base.xml:
10649         * docs/pwg/other-manager.xml:
10650         * docs/pwg/other-nton.xml:
10651         * docs/pwg/other-ntoone.xml:
10652         * docs/pwg/other-oneton.xml:
10653         * docs/pwg/pwg.xml:
10654           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10655           demuxer), remove n-to-n (was never written), fix some code examples
10656           and links and update the porting section to include all this.
10657
10658 2005-07-19  Wim Taymans  <wim@fluendo.com>
10659
10660         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10661         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10662         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10663         (gst_queue_src_activate_push), (gst_queue_change_state),
10664         (gst_queue_get_property):
10665         * gst/gstqueue.h:
10666         Propagate GstFlowReturn more intelligently upstream and output
10667         an ERROR/EOS when streaming stopped due to fatal error.
10668
10669 2005-07-19  Wim Taymans  <wim@fluendo.com>
10670
10671         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10672         Don't block forever for the state change to complete, the
10673         pipeline already did with a sensible timeout.
10674
10675 2005-07-19  Wim Taymans  <wim@fluendo.com>
10676
10677         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10678         Make sure we never call the create function is we
10679         got deactivated.
10680
10681 2005-07-19  Andy Wingo  <wingo@pobox.com>
10682
10683         * gst/parse/parse.l: Attempt to solve bug #172815.
10684
10685 2005-07-19  Wim Taymans  <wim@fluendo.com>
10686
10687         * docs/design/part-clocks.txt:
10688         * docs/design/part-events.txt:
10689         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10690         Small docs updates.
10691         Only update the seeking values when we are not
10692         busy streaming.
10693
10694 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10695
10696         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10697           Oops, ignore the result of gst_pad_push_event here.
10698
10699 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10700
10701         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10702         (gst_base_src_activate_push):
10703           Send discont event from the loop function, as pads
10704           aren't activated yet in the activate_push handler.
10705
10706         * gst/gstbin.c: (bin_bus_handler):
10707           Don't leak element name.
10708
10709 2005-07-18  Andy Wingo  <wingo@pobox.com>
10710
10711         * configure.ac: Use AS_LIBTOOL_TAGS.
10712
10713 2005-07-18  Wim Taymans  <wim@fluendo.com>
10714
10715         * docs/gst/gstreamer.types:
10716         Remove deleted types.
10717
10718 2005-07-18  Wim Taymans  <wim@fluendo.com>
10719
10720         * check/elements/gstfakesrc.c: (GST_START_TEST):
10721         * configure.ac:
10722         * gst/Makefile.am:
10723         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10724         (init_popt_callback):
10725         * gst/gst.h:
10726         * gst/gst_private.h:
10727         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10728         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10729         * gst/gstbin.h:
10730         * gst/gstbus.h:
10731         * gst/gstconfig.h.in:
10732         * gst/gstelement.c: (gst_element_class_init),
10733         (gst_element_set_base_time), (gst_element_get_base_time),
10734         (iterator_fold_with_resync), (gst_element_change_state),
10735         (gst_element_dispose), (gst_element_get_bus):
10736         * gst/gstelement.h:
10737         * gst/gstelementfactory.h:
10738         * gst/gsterror.c: (_gst_core_errors_init):
10739         * gst/gsterror.h:
10740         * gst/gstevent.h:
10741         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10742         * gst/gstindex.c:
10743         * gst/gstinfo.c: (_gst_debug_init):
10744         * gst/gstmessage.c: (_gst_message_copy):
10745         * gst/gstmessage.h:
10746         * gst/gstminiobject.h:
10747         * gst/gstobject.c:
10748         * gst/gstobject.h:
10749         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10750         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10751         * gst/gstpad.h:
10752         * gst/gstparse.h:
10753         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10754         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10755         (gst_pipeline_get_last_stream_time):
10756         * gst/gstpipeline.h:
10757         * gst/gstpluginfeature.h:
10758         * gst/gstquery.h:
10759         * gst/gstscheduler.c:
10760         * gst/gstscheduler.h:
10761         * gst/gststructure.h:
10762         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10763         (gst_task_finalize), (gst_task_func), (gst_task_create),
10764         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10765         (gst_task_stop), (gst_task_pause):
10766         * gst/gsttask.h:
10767         * gst/gsttypefind.h:
10768         * gst/gsttypes.h:
10769         * gst/registries/gstlibxmlregistry.c: (load_feature),
10770         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10771         * gst/registries/gstxmlregistry.c:
10772         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10773         * gst/schedulers/threadscheduler.c:
10774         * libs/gst/control/dparammanager.h:
10775         * tools/gst-inspect.c: (print_element_list),
10776         (print_plugin_features), (print_element_features):
10777         * tools/gst-xmlinspect.c: (print_element_list),
10778         (print_plugin_info), (main):
10779         Removed plugable schedulers.
10780         Removed Scheduler/Manager from elements.
10781         Removed gsttypes.h, rearranged includes.
10782         Removed dependency pad<->element, element<>pipeline, and
10783         various others,  fix includes.
10784         implement gst_pad_get_parent() with gst_object_get_parent()
10785         Make GstTask sefcontained.
10786         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10787         timeout.
10788         Fix endless loop in iterator_fold_with_resync.
10789
10790
10791 2005-07-18  Wim Taymans  <wim@fluendo.com>
10792
10793         * gst/Makefile.am:
10794         * gst/gstarch.h:
10795         Remove old file.
10796
10797 2005-07-18  Wim Taymans  <wim@fluendo.com>
10798
10799         * gst/Makefile.am:
10800         No more cothreads.h
10801
10802 2005-07-18  Wim Taymans  <wim@fluendo.com>
10803
10804         * gst/cothreads.c:
10805         * gst/cothreads.h:
10806         Let's remove these.
10807
10808 2005-07-18  Wim Taymans  <wim@fluendo.com>
10809
10810         * docs/design/part-dynamic.txt:
10811         * docs/design/part-events.txt:
10812         * docs/design/part-seeking.txt:
10813         Some more docs in the works.
10814
10815         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10816         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10817         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10818         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10819         (gst_base_transform_handle_buffer),
10820         (gst_base_transform_sink_activate_push),
10821         (gst_base_transform_src_activate_pull),
10822         (gst_base_transform_set_passthrough),
10823         (gst_base_transform_is_passthrough):
10824         Refcounting fixes.
10825
10826         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10827         Cleanups.
10828
10829         * gst/gstevent.c: (gst_event_finalize):
10830         Set SRC to NULL.
10831
10832         * gst/gstutils.c: (gst_element_unlink),
10833         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10834         (gst_pad_proxy_setcaps):
10835         * gst/gstutils.h:
10836         Add _get_parent_element() to get a pads parent as an element.
10837
10838 2005-07-18  Wim Taymans  <wim@fluendo.com>
10839
10840         * check/gst/gstbin.c: (GST_START_TEST):
10841         Remove bogus test.
10842
10843 2005-07-18  Wim Taymans  <wim@fluendo.com>
10844
10845         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10846         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10847         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10848         (gst_base_sink_event), (gst_base_sink_do_sync),
10849         (gst_base_sink_chain), (gst_base_sink_loop),
10850         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10851         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10852         Refcounting fixes.
10853         Fix logic for returning ASYNC when not prerolled.
10854
10855 2005-07-18  Wim Taymans  <wim@fluendo.com>
10856
10857         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10858         Fix nasty refcount bug.
10859
10860 2005-07-16 Philippe Khalaf <burger@speedy.org>
10861
10862         * gst/elements/gstfdsrc.c:
10863         * gst/elements/gstfdsrc.h:
10864         * gst/elements/gstelements.c:
10865         * gst/elements/Makefile.am:
10866         Ported fdsrc to 0.9.
10867
10868 2005-07-16  Wim Taymans  <wim@fluendo.com>
10869
10870         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10871         (gst_base_sink_do_sync):
10872         Fix compile error.
10873
10874 2005-07-16  Wim Taymans  <wim@fluendo.com>
10875
10876         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10877         (gst_base_sink_event), (gst_base_sink_get_times),
10878         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10879         * gst/base/gstbasesink.h:
10880         Store and use discont values when syncing buffers as described
10881         in design docs.
10882         
10883         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10884         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10885         (gst_base_src_activate_push):
10886         Push discont event when starting.
10887
10888         * gst/elements/gstidentity.c: (gst_identity_transform):
10889         Small cleanups.
10890
10891         * gst/gstbin.c: (gst_bin_change_state):
10892         Small cleanups in base_time  distribution.
10893
10894         * gst/gstelement.c: (gst_element_set_base_time),
10895         (gst_element_get_base_time), (gst_element_change_state):
10896         * gst/gstelement.h:
10897         Added methods for the base_time of the element.
10898         Some MT fixes.
10899
10900         * gst/gstpipeline.c: (gst_pipeline_send_event),
10901         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10902         (gst_pipeline_get_last_stream_time):
10903         * gst/gstpipeline.h:
10904         MT fixes.
10905         Handle seeking as described in design doc, remove stream_time
10906         hack.
10907         Cleanups clock and stream_time selection code. Added accessors
10908         for the stream_time.
10909         
10910
10911 2005-07-16  Andy Wingo  <wingo@pobox.com>
10912
10913         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10914         (#305291).
10915
10916 2005-07-16  Wim Taymans  <wim@fluendo.com>
10917
10918         * check/gst/gstbin.c: (GST_START_TEST):
10919         Make elements silent as the deep_notify refs the
10920         parent, which might make the test fail.
10921
10922         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10923         Don't hold the lock for too long.
10924
10925 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10926
10927         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10928           Don't unref the caps we passed to gst_caps_make_writable() after
10929           passing them. gst_caps_make_writable() will do that for us.
10930
10931 2005-07-15  Andy Wingo  <wingo@pobox.com>
10932
10933         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10934         (#157311).
10935
10936         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10937         own marshalling function for the handoff signal. Properly type the
10938         buffer as a buffer. Fixes some warnings. Should do a more general
10939         solution.
10940         (gst_identity_class_init): Plug into the right marshaller.
10941
10942 2005-07-15  Wim Taymans  <wim@fluendo.com>
10943
10944         * docs/design/part-TODO.txt:
10945         * docs/design/part-clocks.txt:
10946         * docs/design/part-element-sink.txt:
10947         * docs/design/part-events.txt:
10948         * docs/design/part-gstpipeline.txt:
10949         Updated docs, mostly DISCONT related.
10950
10951 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10952
10953         * docs/pwg/building-pads.xml:
10954           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10955
10956 2005-07-15  Andy Wingo  <wingo@pobox.com>
10957
10958         * tools/gst-typefind.c: Update, add copyright block.
10959
10960         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10961         Normalize and truncate caps before fixation.
10962
10963         * gst/gstcaps.h:
10964         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10965         discards all but the first structure from its argument.
10966
10967 2005-07-15  Wim Taymans  <wim@fluendo.com>
10968
10969         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10970         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10971         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10972         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10973         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10974         (gst_base_transform_chain), (gst_base_transform_change_state),
10975         (gst_base_transform_set_passthrough),
10976         (gst_base_transform_is_passthrough):
10977         * gst/base/gstbasetransform.h:
10978         Make passthrough work using the bufferpools.
10979         Changed API a bit, subclasses have to write into a buffer
10980         provided by the base class.
10981         More debug info in nego functions.
10982         
10983         * gst/elements/gstidentity.c: (gst_identity_init),
10984         (gst_identity_transform):
10985         Port to new base class.
10986
10987 2005-07-15  Wim Taymans  <wim@fluendo.com>
10988
10989         * gst/gstmessage.c: (gst_message_new_state_changed):
10990         * tools/gst-launch.c: (event_loop), (main):
10991         Totally dump messages in -launch with the -m option.
10992         Fix message name for State messages,
10993
10994 2005-07-14  Wim Taymans  <wim@fluendo.com>
10995
10996         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10997         Post error messages on errors.
10998
10999 2005-07-14  Wim Taymans  <wim@fluendo.com>
11000
11001         * gst/gstcaps.c: (gst_caps_do_simplify):
11002         Remove debug info.
11003
11004         * gst/gsterror.h:
11005         Define error for stream stopped.
11006
11007         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11008         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
11009         Do proper return values.
11010
11011         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11012         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
11013         (gst_pad_get_range):
11014         Better return values.
11015
11016         * gst/gstpad.h:
11017         Reorganise return values, add macro to check for fatal errors.
11018
11019         * gst/gstqueue.c: (gst_queue_chain):
11020         Return proper GstFlowReturn values,
11021
11022 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11023
11024         * docs/gst/gstreamer-sections.txt:
11025         * docs/gst/gstreamer.types:
11026         * docs/gst/tmpl/gst.sgml:
11027         * docs/gst/tmpl/gstbasesink.sgml:
11028         * docs/gst/tmpl/gstbasesrc.sgml:
11029         * docs/gst/tmpl/gstbasetransform.sgml:
11030         * docs/gst/tmpl/gstbin.sgml:
11031         * docs/gst/tmpl/gstbuffer.sgml:
11032         * docs/gst/tmpl/gstcaps.sgml:
11033         * docs/gst/tmpl/gstclock.sgml:
11034         * docs/gst/tmpl/gstcompat.sgml:
11035         * docs/gst/tmpl/gstconfig.sgml:
11036         * docs/gst/tmpl/gstelement.sgml:
11037         * docs/gst/tmpl/gstelementdetails.sgml:
11038         * docs/gst/tmpl/gstelementfactory.sgml:
11039         * docs/gst/tmpl/gstenumtypes.sgml:
11040         * docs/gst/tmpl/gsterror.sgml:
11041         * docs/gst/tmpl/gstevent.sgml:
11042         * docs/gst/tmpl/gstfakesink.sgml:
11043         * docs/gst/tmpl/gstfakesrc.sgml:
11044         * docs/gst/tmpl/gstfilesink.sgml:
11045         * docs/gst/tmpl/gstfilesrc.sgml:
11046         * docs/gst/tmpl/gstfilter.sgml:
11047         * docs/gst/tmpl/gstformat.sgml:
11048         * docs/gst/tmpl/gstghostpad.sgml:
11049         * docs/gst/tmpl/gstimplementsinterface.sgml:
11050         * docs/gst/tmpl/gstindex.sgml:
11051         * docs/gst/tmpl/gstindexfactory.sgml:
11052         * docs/gst/tmpl/gstinfo.sgml:
11053         * docs/gst/tmpl/gstiterator.sgml:
11054         * docs/gst/tmpl/gstmacros.sgml:
11055         * docs/gst/tmpl/gstmemchunk.sgml:
11056         * docs/gst/tmpl/gstminiobject.sgml:
11057         * docs/gst/tmpl/gstobject.sgml:
11058         * docs/gst/tmpl/gstpad.sgml:
11059         * docs/gst/tmpl/gstpadtemplate.sgml:
11060         * docs/gst/tmpl/gstparse.sgml:
11061         * docs/gst/tmpl/gstpipeline.sgml:
11062         * docs/gst/tmpl/gstplugin.sgml:
11063         * docs/gst/tmpl/gstpluginfeature.sgml:
11064         * docs/gst/tmpl/gstquery.sgml:
11065         * docs/gst/tmpl/gstqueue.sgml:
11066         * docs/gst/tmpl/gstregistry.sgml:
11067         * docs/gst/tmpl/gstregistrypool.sgml:
11068         * docs/gst/tmpl/gstscheduler.sgml:
11069         * docs/gst/tmpl/gstschedulerfactory.sgml:
11070         * docs/gst/tmpl/gststructure.sgml:
11071         * docs/gst/tmpl/gstsystemclock.sgml:
11072         * docs/gst/tmpl/gsttaglist.sgml:
11073         * docs/gst/tmpl/gsttagsetter.sgml:
11074         * docs/gst/tmpl/gsttrace.sgml:
11075         * docs/gst/tmpl/gsttrashstack.sgml:
11076         * docs/gst/tmpl/gsttypefind.sgml:
11077         * docs/gst/tmpl/gsttypefindfactory.sgml:
11078         * docs/gst/tmpl/gsttypes.sgml:
11079         * docs/gst/tmpl/gsturihandler.sgml:
11080         * docs/gst/tmpl/gsturitype.sgml:
11081         * docs/gst/tmpl/gstutils.sgml:
11082         * docs/gst/tmpl/gstvalue.sgml:
11083         * docs/gst/tmpl/gstversion.sgml:
11084         * docs/gst/tmpl/gstxml.sgml:
11085         * docs/libs/tmpl/gstcontrol.sgml:
11086         * docs/libs/tmpl/gstdataprotocol.sgml:
11087         * docs/libs/tmpl/gstdparam.sgml:
11088         * docs/libs/tmpl/gstdplinint.sgml:
11089         * docs/libs/tmpl/gstdpman.sgml:
11090         * docs/libs/tmpl/gstdpsmooth.sgml:
11091         * docs/libs/tmpl/gstgetbits.sgml:
11092         * docs/libs/tmpl/gstunitconvert.sgml:
11093         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
11094         (gst_push_src_base_init), (gst_push_src_class_init),
11095         (gst_push_src_init), (gst_push_src_create):
11096         * gst/base/gstpushsrc.h:
11097         * gst/elements/gstelements.c:
11098         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
11099         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
11100         (gst_fake_sink_init), (gst_fake_sink_set_property),
11101         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
11102         (gst_fake_sink_event), (gst_fake_sink_preroll),
11103         (gst_fake_sink_render), (gst_fake_sink_change_state):
11104         * gst/elements/gstfakesink.h:
11105         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11106         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11107         (gst_fake_src_base_init), (gst_fake_src_class_init),
11108         (gst_fake_src_init), (gst_fake_src_event_handler),
11109         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
11110         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
11111         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
11112         (gst_fake_src_create_buffer), (gst_fake_src_create),
11113         (gst_fake_src_start), (gst_fake_src_stop):
11114         * gst/elements/gstfakesrc.h:
11115         * gst/elements/gstfilesink.c: (_do_init),
11116         (gst_file_sink_base_init), (gst_file_sink_class_init),
11117         (gst_file_sink_init), (gst_file_sink_dispose),
11118         (gst_file_sink_set_location), (gst_file_sink_set_property),
11119         (gst_file_sink_get_property), (gst_file_sink_open_file),
11120         (gst_file_sink_close_file), (gst_file_sink_query),
11121         (gst_file_sink_event), (gst_file_sink_render),
11122         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
11123         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
11124         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
11125         * gst/elements/gstfilesink.h:
11126         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
11127         (gst_file_src_class_init), (gst_file_src_init),
11128         (gst_file_src_finalize), (gst_file_src_set_location),
11129         (gst_file_src_set_property), (gst_file_src_get_property),
11130         (gst_file_src_map_region), (gst_file_src_map_small_region),
11131         (gst_file_src_create_mmap), (gst_file_src_create_read),
11132         (gst_file_src_create), (gst_file_src_is_seekable),
11133         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
11134         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
11135         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
11136         (gst_file_src_uri_handler_init):
11137         * gst/elements/gstfilesrc.h:
11138           more autistic cleanliness in functions/names/defines
11139
11140 2005-07-13  Andy Wingo  <wingo@pobox.com>
11141
11142         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
11143         source couldn't negotiate.
11144
11145         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
11146         connections again.
11147
11148         * gst/gstutils.h:
11149         * gst/gstutils.c (gst_element_link_pads_filtered): New old
11150         function. I am channeling Hades. Put your boots on suckers!!!
11151
11152 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11153
11154         * testsuite/caps/Makefile.am:
11155         * testsuite/caps/value_compare.c:
11156         * testsuite/caps/value_intersect.c:
11157         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11158           move two testsuite apps over to the check dir
11159
11160 2005-07-12  Wim Taymans  <wim@fluendo.com>
11161
11162         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11163         Added more debug info in the negotiate process.
11164
11165         * gst/gstmessage.h:
11166         Prepare for segment playback.
11167
11168         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
11169         Better debugging.
11170
11171         * gst/gstutils.c:
11172         Some more docs.
11173
11174         * tools/gst-launch.c: (main):
11175         NULL pipeline on errors.
11176
11177 2005-07-12  Andy Wingo  <wingo@pobox.com>
11178
11179         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
11180         not it comes from a malloc region. Make sure our copy gets freed.
11181
11182 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11183
11184         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11185         * check/gst/gstmessage.c: (GST_START_TEST):
11186         * check/gst/gststructure.c: (GST_START_TEST),
11187         (gst_structure_suite), (main):
11188           more testing
11189         * gst/gstelement.c: (gst_element_message_full):
11190           clean up GError and debug string now that they get copied
11191         * gst/gstmessage.c: (gst_message_new_error),
11192         (gst_message_new_warning), (gst_message_parse_error),
11193         (gst_message_parse_warning):
11194           use GST_TYPE_G_ERROR for structure_new, and take copies of
11195           arguments, so that we don't mess up refcounting
11196
11197 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11198
11199         * check/Makefile.am:
11200           add per-test valgrind targets
11201         * check/gst-libs/gdp.c: (GST_START_TEST),
11202         (gst_data_protocol_suite), (main):
11203           clean up
11204
11205 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11206
11207         * check/Makefile.am:
11208           instate more valgrindable tests
11209         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11210         (GST_START_TEST), (fakesrc_suite):
11211         * check/gst/gstpad.c: (GST_START_TEST):
11212         * check/gst/gststructure.c: (GST_START_TEST):
11213           fix test leaks
11214         * docs/gst/tmpl/gstminiobject.sgml:
11215         * gst/gstpad.c: (gst_pad_finalize):
11216           fix the static mutex leak
11217
11218 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11219
11220         * check/Makefile.am:
11221           add two more tests for valgrinding
11222         * check/gst/gstvalue.c: (GST_START_TEST):
11223           test refcount of deserialized buffer, found a leak
11224         * docs/gst/gstreamer-docs.sgml:
11225         * docs/gst/gstreamer-sections.txt:
11226         * docs/gst/gstreamer.types:
11227         * docs/gst/tmpl/gstminiobject.sgml:
11228           add miniobject to docs
11229         * gst/gstminiobject.c:
11230           add some docs
11231         * gst/gstvalue.c: (gst_value_deserialize_buffer),
11232         (gst_string_unwrap):
11233           fix a hard-to-find invalid write for one of the tests
11234           fix a leak for deserialized buffers
11235
11236 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11237
11238         * docs/pwg/advanced-events.xml:
11239         * docs/pwg/advanced-request.xml:
11240         * docs/pwg/advanced-scheduling.xml:
11241         * docs/pwg/appendix-porting.xml:
11242         * docs/pwg/building-boiler.xml:
11243         * docs/pwg/intro-preface.xml:
11244         * docs/pwg/other-ntoone.xml:
11245           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
11246           of example code and explanation for pad activation, loop() and
11247           getrange() functions and a bit more. Remove old comments pointing
11248           to loop-functions.
11249         * examples/pwg/Makefile.am:
11250           Add loop/getrange examples.
11251
11252 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11253
11254         * configure.ac:
11255           check for valgrind binary + some fixes
11256         * check/gst.supp:
11257           valgrind suppressions for the tests
11258         * check/Makefile.am:
11259           add a valgrind: target that valgrinds the unit tests
11260         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
11261         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11262         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11263         * check/gst/gstghostpad.c:
11264           added some cleanup
11265         * check/gst/gstdata.c:
11266           removed
11267         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
11268         (thread_unref), (gst_mini_object_suite), (main):
11269           added
11270         * gst/gst.c: (gst_deinit):
11271         * gst/gst.h:
11272           add a method to clean up.
11273         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11274         (gst_system_clock_obtain):
11275           allow for disposing the system clock.
11276         * tools/gst-launch.c: (main):
11277           deinit
11278
11279 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11280
11281         * docs/gst/tmpl/gstbasesrc.sgml:
11282         * docs/gst/tmpl/gstfakesrc.sgml:
11283         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11284         (gst_base_src_init), (gst_base_src_set_property),
11285         (gst_base_src_get_property), (gst_base_src_get_range),
11286         (gst_base_src_start):
11287         * gst/base/gstbasesrc.h:
11288           add num-buffers property
11289         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11290         (gst_fakesrc_init), (gst_fakesrc_set_property),
11291         (gst_fakesrc_get_property), (gst_fakesrc_create),
11292         (gst_fakesrc_start):
11293           remove num-buffers property
11294
11295 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11296
11297         * docs/gst/gstreamer-sections.txt:
11298         * docs/gst/tmpl/gstbasesink.sgml:
11299         * docs/gst/tmpl/gstbasesrc.sgml:
11300         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11301         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11302         (gst_base_sink_finalize), (gst_base_sink_set_clock),
11303         (gst_base_sink_set_property), (gst_base_sink_get_property),
11304         (gst_base_sink_handle_object), (gst_base_sink_event),
11305         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11306         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
11307         (gst_base_sink_loop), (gst_base_sink_deactivate),
11308         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
11309         (gst_base_sink_change_state):
11310         * gst/base/gstbasesink.h:
11311         * gst/base/gstbasesrc.h:
11312         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
11313         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11314         (gst_filesink_init):
11315           more macro splitting
11316
11317 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11318
11319         * gst/gstelement.c: (gst_element_get_bus):
11320           add debug
11321         * tools/gst-launch.c: (check_intr), (event_loop):
11322           fix bus leaks
11323
11324 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11325
11326         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11327           fix a caps leak
11328
11329 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11330
11331         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11332         (gst_base_src_finalize):
11333           add finalize method and clean up properly
11334         * gst/gstpipeline.c: (gst_pipeline_dispose):
11335           add debug
11336
11337 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11338
11339         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
11340         (gst_bin_suite):
11341           add more things to check
11342         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11343         * gst/gstelement.c:
11344           more debug
11345
11346 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11347
11348         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11349         (GST_START_TEST), (fakesrc_suite):
11350         * check/gst-libs/gdp.c: (GST_START_TEST):
11351         * check/gst/gst.c: (GST_START_TEST):
11352         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11353         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11354         * check/gst/gstbus.c: (GST_START_TEST):
11355         * check/gst/gstcaps.c: (GST_START_TEST):
11356         * check/gst/gstdata.c: (GST_START_TEST):
11357         * check/gst/gstelement.c: (GST_START_TEST):
11358         * check/gst/gstghostpad.c: (GST_START_TEST):
11359         * check/gst/gstiterator.c: (GST_START_TEST):
11360         * check/gst/gstmessage.c: (GST_START_TEST):
11361         * check/gst/gstobject.c: (GST_START_TEST):
11362         * check/gst/gstpad.c: (GST_START_TEST):
11363         * check/gst/gststructure.c: (GST_START_TEST):
11364         * check/gst/gstsystemclock.c: (GST_START_TEST),
11365         (gst_systemclock_suite):
11366         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11367         * check/gst/gstvalue.c: (GST_START_TEST):
11368         * check/pipelines/cleanup.c: (GST_START_TEST):
11369         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11370         * check/states/sinks.c: (GST_START_TEST):
11371         * check/gstcheck.c: (gst_check_init):
11372         * check/gstcheck.h:
11373           add debugging category
11374           use GST_START_TEST now, so we add a debug line
11375
11376 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11377
11378         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
11379           add test for state change message on a bin
11380         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
11381           add another test
11382         * gst/gstbin.c: (gst_bin_init):
11383         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
11384         * gst/gstelement.c: (gst_element_post_message),
11385         (gst_element_set_state):
11386         * gst/gstelementfactory.c: (gst_element_factory_create):
11387         * gst/gstmessage.c: (gst_message_new):
11388         * gst/gstscheduler.c:
11389           various debugging additions and cleanups
11390
11391 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11392
11393         * check/Makefile.am:
11394         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
11395         (main):
11396           adding tests for elements
11397         * gst/gstelement.c: (gst_element_dispose):
11398
11399 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11400
11401         * gst/registries/gstlibxmlregistry.c: (load_feature):
11402           plug more leaks.  A simple gst_init() now is leakfree, yay.
11403
11404 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11405
11406         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
11407         (gst_xml_registry_load):
11408           plug another memleak
11409
11410 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11411
11412         * configure.ac:
11413           use GST_SET_ERROR_CFLAGS
11414         * docs/faq/cvs.xml:
11415           change to ERROR_CFLAGS
11416
11417 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11418
11419         * configure.ac:
11420           make GST_ERROR_CFLAGS overridable and re-enable Werror
11421         * docs/faq/cvs.xml:
11422           add a note about error CFLAGS
11423         * docs/gst/tmpl/gstfakesrc.sgml:
11424         * gst/elements/gstfakesrc.c:
11425           comment out some unused code
11426         * gst/gst.c: (split_and_iterate):
11427         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
11428         (load_feature):
11429           plug some memleaks
11430
11431 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11432
11433         * common/Makefile.am:
11434         * common/gtk-doc.mak:
11435         * docs/gst/Makefile.am:
11436           factor out gtk-doc.mak
11437
11438 2005-07-07  Wim Taymans  <wim@fluendo.com>
11439
11440         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
11441         (gst_thread_scheduler_dispose):
11442         Unlock the STREAM_LOCK completely.
11443
11444 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11445
11446         * check/Makefile.am:
11447         * check/elements/.cvsignore:
11448         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11449         (START_TEST), (fakesrc_suite), (main):
11450         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11451         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11452         (gst_fakesrc_create), (gst_fakesrc_start):
11453         * gst/elements/gstfakesrc.h:
11454           adding a first element test
11455
11456 2005-07-07  Andy Wingo  <wingo@pobox.com>
11457
11458         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
11459         debug message.
11460
11461 2005-07-07  Wim Taymans  <wim@fluendo.com>
11462
11463         * gst/gstquery.c:
11464         * gst/gstquery.h:
11465         Remove old types
11466
11467 2005-07-07  Wim Taymans  <wim@fluendo.com>
11468
11469         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11470         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
11471         Allow subclasses to implement their own negotiation.
11472
11473 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11474
11475         * docs/design/part-gstbin.txt:
11476         * docs/design/part-gstpipeline.txt:
11477           Update design notes to reflect the movement of
11478           responsibility for bus handling from GstPipeline to
11479           GstBin
11480
11481 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11482
11483         * configure.ac:
11484           Remove unnecessary queue2/3/4 examples.
11485
11486 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11487
11488         * examples/Makefile.am:
11489         * examples/helloworld/helloworld.c: (event_loop), (main):
11490         * examples/queue/queue.c: (event_loop), (main):
11491         * examples/queue2/queue2.c: (main):
11492           Update a couple of the examples to work again.
11493
11494         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11495         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
11496          Spelling corrections and extra debug.
11497         
11498         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
11499         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
11500         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
11501         * gst/gstbin.h:
11502         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11503         (gst_pipeline_change_state):
11504         * gst/gstpipeline.h:
11505           Move the bus handler for children to the GstBin, and create a
11506           separate bus for receiving messages from children to the one the
11507           bus sends 'upwards' on.
11508
11509 2005-07-06  Wim Taymans  <wim@fluendo.com>
11510
11511         * gst/base/README:
11512         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11513         (gst_base_sink_handle_object), (gst_base_sink_loop),
11514         (gst_base_sink_change_state):
11515         * gst/base/gstbasesink.h:
11516         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11517         (gst_base_src_init), (gst_base_src_setcaps),
11518         (gst_base_src_getcaps), (gst_base_src_loop),
11519         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
11520         (gst_base_src_start), (gst_base_src_change_state):
11521         * gst/base/gstbasesrc.h:
11522         Make basesrc negotiate.
11523         Handle the case where preroll fails in basesink.
11524         Update README.
11525
11526 2005-07-06  Wim Taymans  <wim@fluendo.com>
11527
11528         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
11529         Implement the fixate function.
11530         Clean up acceptcaps.
11531
11532 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11533
11534         * docs/pwg/building-filterfactory.xml:
11535         * docs/pwg/pwg.xml:
11536           Remove never-written filter-factory chapter; I'll add the various
11537           base classes to part 4 ("other element types") later on.
11538
11539 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11540
11541         * docs/pwg/advanced-negotiation.xml:
11542         * docs/pwg/building-boiler.xml:
11543         * docs/pwg/building-pads.xml:
11544         * docs/pwg/pwg.xml:
11545         * examples/pwg/Makefile.am:
11546           Add a chapter on caps negotiation, simplify the original code
11547           samples a bit w.r.t. caps negotiation, add link to the advanced
11548           section. Add a bunch of examples showing different use cases of
11549           different types of caps negotiation. Upstream renegotiation isn't
11550           fully documented yet since nobody knows how that works.
11551
11552 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11553
11554         * check/gst/gstpad.c:
11555         * check/gstcheck.c:
11556         * gst/gstpad.c: (gst_pad_get_internal_links_default):
11557           if pad has no parent, return NULL as list of internal links
11558
11559 2005-07-05  Andy Wingo  <wingo@pobox.com>
11560
11561         * gst/elements/gstfilesrc.c:
11562         * gst/elements/gstfakesrc.c: 
11563         * gst/base/gstpushsrc.c:
11564         * gst/base/gstbasesrc.h: 
11565         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
11566         
11567 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
11568
11569         * Makefile.am:
11570           better report generation target (lcov needs a patch)
11571
11572 2005-07-05  Andy Wingo  <wingo@pobox.com>
11573
11574         * gst/elements, testsuite: Null if we got it...
11575
11576 2005-07-05  Wim Taymans  <wim@fluendo.com>
11577
11578         * configure.ac:
11579         * libs/gst/dataprotocol/Makefile.am:
11580         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
11581         * libs/gst/dataprotocol/dataprotocol.h:
11582         * pkgconfig/Makefile.am:
11583         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
11584         * pkgconfig/gstreamer-dataprotocol.pc.in:
11585         Ported dataprotol to 0.9. 
11586         Added pkgconfig files.
11587
11588 2005-07-05  Andy Wingo  <wingo@pobox.com>
11589
11590         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
11591         Default to returning TRUE for the case when tranform_caps returns
11592         a fixed caps, like for identity or volume.
11593
11594         * check/gst/gstbus.c (pound_bus_with_messages): 
11595         * check/gst/gstmessage.c (START_TEST): 
11596         * check/pipelines/simple_launch_lines.c (got_handoff): Application
11597         message API change.
11598
11599         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
11600         logic weaks here: always run transform_caps, trying passthrough
11601         operation only if the original caps intersects with the transform.
11602
11603         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
11604         source and sink caps.
11605
11606         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
11607         Intersect the peer caps with the pad template before going into
11608         transform_caps.
11609         (gst_base_transform_transform_caps): More debugging.
11610
11611         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
11612         src argument.
11613
11614 2005-07-04  Edward Hervey  <edward@fluendo.com>
11615
11616         * gst/gstutils.c:
11617         * gst/gstutils.h:
11618         (gst_pad_add_*_probe): now returns the signal id for better wrapping
11619         in bindings.
11620
11621 2005-07-04  Andy Wingo  <wingo@pobox.com>
11622
11623         * check/gst/gstpad.c: Only set explicit caps on pads.
11624
11625 2005-07-01  Andy Wingo  <wingo@pobox.com>
11626
11627         * tests/network-clock.scm: Commentary update.
11628
11629         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
11630         Didn't really make sense, not implementable with basetransform,
11631         etc.
11632         (gst_identity_transform): Unref inbuf via make_writable. Feeble
11633         attempt at implementing the sync property, needs an unlock method.
11634
11635         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
11636         New func, by default returns the same caps (the identity
11637         transformation).
11638         (gst_base_transform_getcaps): Uses transform_caps to return
11639         something sensible.
11640         (gst_base_transform_setcaps): Complicated logic to get caps on
11641         both pads, even if they are different, and to call set_caps once
11642         for every time both pads get their caps set.
11643         (gst_base_transform_handle_buffer): Give the ref to the transform
11644         function. Allows in-place modification of the buffer.
11645
11646         * gst/base/gstbasetransform.h (transform_caps): New class method.
11647         Given caps on one side, what can I do on the other.
11648         (set_caps): Take two caps, one for each side of the element.
11649
11650         * gst/gstpad.h:
11651         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11652         caps in place. This is safe because we can check the mutability of
11653         the caps, and a good idea because fixate functions are just called
11654         as a matter of last resort. (Not actually implemented.)
11655         (gst_pad_set_caps): If the caps we're setting is actually the same
11656         as the existing pad caps, just update the pointer without calling
11657         setcaps. Assert that caps is either NULL or fixed, as per the
11658         docs.
11659
11660         * gst/gstghostpad.c: Update for fixate changes.
11661
11662 2005-07-02  Andy Wingo  <wingo@pobox.com>
11663
11664         * gst/gstcaps.c:
11665         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11666         two refcounts makes it immutable, which is enough. Doc more.
11667
11668 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11669
11670         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11671           Put the mini_object into GValue as a mini_object,
11672           not a gpointer, since that's how we declared
11673           the signal.
11674
11675 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11676
11677         * examples/pwg/Makefile.am:
11678           Fix buildbot again.
11679
11680 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11681
11682         * docs/pwg/building-testapp.xml:
11683           Add extra check.
11684         * examples/pwg/Makefile.am:
11685           Fix buildbot.
11686
11687 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11688
11689         * configure.ac:
11690         * examples/Makefile.am:
11691         * examples/pwg/Makefile.am:
11692         * examples/pwg/extract.pl:
11693           Enable building the PWG examples.
11694         * docs/pwg/advanced-interfaces.xml:
11695           Add URI interface stub.
11696         * docs/pwg/advanced-types.xml:
11697         * docs/pwg/other-autoplugger.xml:
11698         * docs/pwg/appendix-porting.xml:
11699         * docs/pwg/pwg.xml:
11700           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11701         * docs/pwg/building-boiler.xml:
11702         * docs/pwg/building-chainfn.xml:
11703         * docs/pwg/building-pads.xml:
11704         * docs/pwg/building-props.xml:
11705         * docs/pwg/building-state.xml:
11706         * docs/pwg/building-testapp.xml:
11707           Update the building-*.xml parts for 0.9 changes. All examples
11708           code blocks compile in examples/pwg/*.
11709
11710 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11711
11712         * docs/manual/advanced-autoplugging.xml:
11713         * docs/manual/appendix-checklist.xml:
11714         * docs/manual/appendix-integration.xml:
11715         * docs/manual/highlevel-components.xml:
11716           Fix playbin/decodebin examples, update docs a bit, mention bus
11717           instead of signals in various places, mention kmplayer and
11718           kaffeine since they have a working GStreamer backend in the KDE
11719           section.
11720
11721 2005-06-30  Wim Taymans  <wim@fluendo.com>
11722
11723         * CHANGES-0.9:
11724         * docs/design/draft-ghostpads.txt:
11725         * docs/design/draft-push-pull.txt:
11726         * docs/design/draft-query.txt:
11727         * docs/design/part-TODO.txt:
11728         * docs/design/part-query.txt:
11729         Added CHANGES-0.9 doc, updated status of other docs.
11730         
11731         * gst/gstquery.h:
11732         Remove "hmm" macro
11733
11734 2005-06-30  Wim Taymans  <wim@fluendo.com>
11735
11736         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11737         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11738         (gst_base_sink_change_state):
11739         * gst/base/gstbasesink.h:
11740         Some tweaks, only EOS and a buffer complete a preroll.
11741
11742 2005-06-30  Andy Wingo  <wingo@pobox.com>
11743
11744         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11745         activate_push down to the internal pad as well.
11746
11747 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11748
11749         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11750
11751         * gst/gsttaginterface.c:
11752           Some documentation fixes (#307394 and #307397).
11753
11754 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11755
11756         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11757
11758         * gst/gstvalue.c: (gst_value_intersect_list):
11759           Fix memleak (#309125).
11760
11761 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11762
11763         * docs/manual/advanced-dataaccess.xml:
11764           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11765         * docs/manual/basics-pads.xml:
11766           Add reference for filtered caps to above chapter.
11767
11768 2005-06-30  Wim Taymans  <wim@fluendo.com>
11769
11770         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11771         (gst_bin_change_state):
11772         Probes are gone.
11773         Lame attempt at making the state change function a bit
11774         more readable.
11775
11776 2005-06-30  Wim Taymans  <wim@fluendo.com>
11777
11778         * docs/design/part-clocks.txt:
11779         * docs/design/part-element-sink.txt:
11780         * docs/design/part-events.txt:
11781         * docs/design/part-preroll.txt:
11782         * docs/design/part-states.txt:
11783         Some more tweeks and additions to the docs.
11784
11785 2005-06-30  Wim Taymans  <wim@fluendo.com>
11786
11787         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11788         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11789         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11790         (gst_pad_check_pull_range), (gst_pad_get_range),
11791         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11792         * gst/gstpad.h:
11793         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11794         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11795         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11796         (gst_pad_remove_buffer_probe):
11797         Removed atomic operations, use existing LOCK.
11798         Move exception handling out of main code path.
11799
11800 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11801
11802         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11803         (silly_return_true_function), (gst_pad_class_init),
11804         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11805         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11806         (gst_pad_send_event):
11807           Fix accumulator, add default value by using _emitv() instead
11808           of _emit() for signal emission.
11809
11810 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11811
11812         * docs/manual/advanced-dataaccess.xml:
11813         * examples/manual/Makefile.am:
11814           Add probe example.
11815         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11816           Make work (??).
11817
11818 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11819
11820         * gst/elements/gstfilesink.c: (gst_filesink_render):
11821           Simplify code so that we don't have to handle short
11822           writes and return GST_FLOW_ERROR if an error occured.
11823
11824 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11825
11826         * docs/gst/gstreamer-docs.sgml:
11827           Remove probes more.
11828
11829 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11830
11831         * docs/gst/gstreamer-sections.txt:
11832         * docs/gst/tmpl/gstpad.sgml:
11833         * docs/gst/tmpl/gstprobe.sgml:
11834         * gst/Makefile.am:
11835         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11836         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11837         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11838         (gst_pad_push_event), (gst_pad_send_event):
11839         * gst/gstpad.h:
11840         * gst/gstutils.c: (gst_pad_add_data_probe),
11841         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11842         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11843         (gst_pad_remove_buffer_probe):
11844         * gst/gstutils.h:
11845           Remove old probes, add new g-signal-based probes and some utility
11846           functions.
11847
11848 2005-06-29  Edward Hervey  <edward@fluendo.com>
11849
11850         * gst/gstelementfactory.c:
11851         * gst/gstutils.h:
11852         * gst/gstutils.c:
11853         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11854         the definition to the header file.
11855
11856 2005-06-29  Andy Wingo  <wingo@pobox.com>
11857
11858         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11859         plugins from the source directory.
11860
11861 2005-06-29  Wim Taymans  <wim@fluendo.com>
11862
11863         * docs/gst/tmpl/gstbuffer.sgml:
11864         * docs/gst/tmpl/gstclock.sgml:
11865         Some fixings for blantently wrong text.
11866
11867 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11868
11869         * check/Makefile.am:
11870         * gst/gst.c: (add_path_func), (init_pre):
11871         * gst/gstregistry.c: (gst_registry_add_path):
11872           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11873           only scan the GST_PLUGIN_PATH locations, and not add
11874           system locations
11875
11876 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11877
11878         * docs/gst/gstreamer-sections.txt:
11879         * docs/gst/tmpl/gstbasesrc.sgml:
11880         * gst/gstelement.c:
11881         * gst/gstelement.h:
11882         * gst/gstevent.c:
11883         * gst/gstutils.c:
11884           doc fixes
11885
11886 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11887
11888         * docs/manual/advanced-autoplugging.xml:
11889           Fix autoplugging example.
11890
11891 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11892
11893         * docs/manual/advanced-autoplugging.xml:
11894         * docs/manual/mime-world.fig:
11895           Try to get autoplugging working, fix type detection. Fix text
11896           in hello-world image.
11897
11898 2005-06-29  Wim Taymans  <wim@fluendo.com>
11899
11900         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11901         (gst_base_sink_change_state):
11902         Small debug line.
11903
11904         * gst/gstclock.h:
11905         map SIGNAL and BROADCAST to the right function.
11906
11907         * gst/gstobject.h:
11908         Remove redundant braces.
11909
11910         * gst/gstpad.c: (gst_pad_set_caps):
11911         Don't call setcaps function when reseting caps to NULL.
11912
11913         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11914         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11915         (gst_system_clock_id_unschedule):
11916         Use BROADCAST as this is what we do.
11917
11918 2005-06-29  Wim Taymans  <wim@fluendo.com>
11919
11920         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11921         We are actually prerolling before commiting the state
11922         change. 
11923
11924 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11925
11926         * docs/manual/advanced-clocks.xml:
11927         * docs/manual/advanced-interfaces.xml:
11928         * docs/manual/advanced-metadata.xml:
11929         * docs/manual/advanced-position.xml:
11930         * docs/manual/advanced-schedulers.xml:
11931         * docs/manual/advanced-threads.xml:
11932         * docs/manual/appendix-porting.xml:
11933         * docs/manual/basics-bins.xml:
11934         * docs/manual/basics-bus.xml:
11935         * docs/manual/basics-elements.xml:
11936         * docs/manual/basics-helloworld.xml:
11937         * docs/manual/basics-pads.xml:
11938         * docs/manual/highlevel-components.xml:
11939         * docs/manual/manual.xml:
11940         * docs/manual/thread.fig:
11941           Update (until threads/scheduling) Application Development Manual;
11942           remove GstThread, add GstBus, add simple porting checklist, add
11943           documentation for tag writing, clocks, make all examples until this
11944           part compile and run.
11945         * examples/manual/Makefile.am:
11946           Update from changes to Application Development Manual; add bus
11947           example, remove thread example.
11948
11949 2005-06-28  Wim Taymans  <wim@fluendo.com>
11950
11951         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11952         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11953         (gst_bus_source_dispatch):
11954         Add debugging messages.
11955         Make internal methods static.
11956         Handle the case where the bus is flushed in the handler.
11957         
11958         * gst/gstelement.c: (gst_element_get_bus):
11959         Fix refcount in _get_bus();
11960
11961         * gst/gstpipeline.c: (gst_pipeline_change_state),
11962         (gst_pipeline_get_clock_func):
11963         Clock refcounting fixes.
11964         Handle the case where preroll timed out more gracefully.
11965         
11966         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11967         Clean up the internal thread in dispose. This is needed
11968         for subclasses that actually get disposed.
11969         
11970         * gst/schedulers/threadscheduler.c:
11971         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11972         (gst_thread_scheduler_dispose):
11973         Free thread pool in dispose.
11974
11975 2005-06-28  Andy Wingo  <wingo@pobox.com>
11976
11977         * tests/network-clock-utils.scm (debug, print-event): New utils.
11978
11979         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11980         (*packet-loss*): Unified loss probability.
11981         (network-time): Report out-of-band events.
11982
11983         * tests/plot-data: Add support for out-of-band events. Hack it
11984         into this script instead of passing it down the pipe; should fix
11985         this later.
11986
11987 2005-06-28  Wim Taymans  <wim@fluendo.com>
11988
11989         * docs/gst/gstreamer.types:
11990         * docs/gst/tmpl/gstbasesrc.sgml:
11991         * docs/gst/tmpl/gstpad.sgml:
11992         Docs fixes.
11993
11994 2005-06-28  Wim Taymans  <wim@fluendo.com>
11995
11996         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11997         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11998         (gst_proxy_pad_do_fixatecaps):
11999         Correctly proxy the check_pull_range function.
12000
12001 2005-06-28  Andy Wingo  <wingo@pobox.com>
12002
12003         * tests/network-clock.scm: Removed need for slib.
12004         
12005 2005-06-28  Wim Taymans  <wim@fluendo.com>
12006
12007         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
12008         (gst_basesink_preroll_queue_flush):
12009         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
12010         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
12011         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12012         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12013         (gst_proxy_pad_set_property):
12014         * gst/gstpad.c:
12015         * gst/gstpad.h:
12016         * gst/gstqueue.c: (gst_queue_init):
12017         The deprecated pad loop function is removed now.
12018
12019 2005-06-28  Andy Wingo  <wingo@pobox.com>
12020
12021         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
12022         New parameters, simulate network packet loss.
12023
12024         * tests/network-clock-utils.scm: Initialize the RNG.
12025
12026 2005-06-28  Wim Taymans  <wim@fluendo.com>
12027
12028         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
12029         (gst_basesink_event), (gst_basesink_deactivate):
12030         Flushing the preroll queue always needs to unlock the waiters.
12031
12032 2005-06-28  Edward Hervey  <edward@fluendo.com>
12033
12034         * gst/gstpipeline.c: (gst_pipeline_send_event): 
12035         Wheen a seek was successful on a pipeline, set the stream_time to the
12036         seek offset in order to have a synchronized stream_time.
12037
12038 2005-06-28  Wim Taymans  <wim@fluendo.com>
12039
12040         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12041         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12042         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
12043         (gst_proxy_pad_do_fixatecaps):
12044         Call wrapper function instead of just calling the function
12045         pointers. This takes care of any locking and whatmore.
12046
12047 2005-06-28  Wim Taymans  <wim@fluendo.com>
12048
12049         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
12050         (gst_pad_pull_range):
12051         * gst/gstpad.h:
12052         CONNECTED -> LINKED.
12053
12054 2005-06-28  Andy Wingo  <wingo@pobox.com>
12055
12056         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
12057         source-munging commit!!!
12058
12059         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
12060         (gst_object_sink): Take gpointer arguments, not GstObject --
12061         avoids casts. Like GLib.
12062
12063         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
12064         activate.
12065
12066 2005-06-27  Andy Wingo  <wingo@pobox.com>
12067
12068         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
12069         remaining buffer.
12070
12071         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
12072         returns a sorted copy of the trace list.
12073         (gst_alloc_trace_print_live): New API, only prints traces with
12074         live objects. Sort the list.
12075         (gst_alloc_trace_print_all): Sort the list.
12076         (gst_alloc_trace_print): Align columns.
12077
12078         * gst/elements/gstttypefindelement.c:
12079         * gst/elements/gsttee.c:
12080         * gst/base/gstbasesrc.c:
12081         * gst/base/gstbasesink.c:
12082         * gst/base/gstbasetransform.c:
12083         * gst/gstqueue.c: Adapt for pad activation changes.
12084
12085         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
12086         sched.
12087         (gst_pipeline_dispose): Drop ref on sched.
12088
12089         * gst/gstpad.c (gst_pad_init): Set the default activate func.
12090         (gst_pad_activate_default): Push mode by default.
12091         (pre_activate_switch, post_activate_switch): New stubs, things to
12092         do before and after switching activation modes on pads.
12093         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
12094         the pad's activate function to choose which mode to activate.
12095         Shortcut on deactivation and call the right function directly.
12096         (gst_pad_activate_pull): New API, (de)activates a pad in pull
12097         mode.
12098         (gst_pad_activate_push): New API, same for push mode.
12099         (gst_pad_set_activate_function) 
12100         (gst_pad_set_activatepull_function) 
12101         (gst_pad_set_activatepush_function): Setters for new API.
12102
12103         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
12104         Trace all miniobjects.
12105         (gst_mini_object_make_writable): Unref the arg if we copy, like
12106         gst_caps_make_writable.
12107
12108         * gst/gstmessage.c (_gst_message_initialize): No trace init.
12109
12110         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
12111         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
12112         Adapt for new pad API.
12113
12114         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
12115
12116         * gst/gstelement.h:
12117         * gst/gstelement.c (gst_element_iterate_src_pads) 
12118         (gst_element_iterate_sink_pads): New API functions.
12119         
12120         * gst/gstelement.c (iterator_fold_with_resync): New utility,
12121         should fold into gstiterator.c in some form.
12122         (gst_element_pads_activate): Simplified via use of fold and
12123         delegation of decisions to gstpad->activate.
12124
12125         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
12126         help in debugging.
12127
12128         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
12129         class once in init, like gstmessage. Didn't run into this issue
12130         but it seems correct. Don't initialize a trace, gstminiobject does
12131         that.
12132
12133         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
12134         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
12135         to the bus.
12136         (assert_live_count): New util function, uses alloc traces to check
12137         cleanup.
12138
12139         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
12140         To be modified when unlink drops the internal pad.
12141
12142 2005-06-27  Wim Taymans  <wim@fluendo.com>
12143
12144         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
12145         (gst_bin_change_state):
12146         Cleanup the get_state() function a little, make sure it
12147         iterates the same set of elements.
12148         Added stub iterate_state_order().
12149
12150 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12151
12152         * docs/gst/gstreamer-docs.sgml:
12153         * docs/gst/gstreamer-sections.txt:
12154         * docs/gst/gstreamer.types:
12155         * docs/gst/tmpl/gstbasesink.sgml:
12156         * docs/gst/tmpl/gstbasesrc.sgml:
12157         * docs/gst/tmpl/gstbasetransform.sgml:
12158         * docs/gst/tmpl/gstelement.sgml:
12159         * docs/gst/tmpl/gstiterator.sgml:
12160         * gst/base/gstbasesrc.c:
12161         * gst/base/gstbasesrc.h:
12162         * gst/base/gstbasetransform.h:
12163         * gst/gstelement.c:
12164         * gst/gstiterator.h:
12165           adding basetransform and iterator docs
12166
12167 2005-06-27  Andy Wingo  <wingo@pobox.com>
12168
12169         * docs/design/part-activation.txt: Notes on how activation should
12170         work -- not quite implemented yet.
12171
12172 2005-06-25  Wim Taymans  <wim@fluendo.com>
12173
12174         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
12175         At least get the chain function correct, needs more
12176         fixing.
12177
12178 2005-06-25  Wim Taymans  <wim@fluendo.com>
12179
12180         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12181         (gst_basesink_handle_object), (gst_basesink_event),
12182         (gst_basesink_do_sync), (gst_basesink_handle_event),
12183         (gst_basesink_change_state):
12184         * gst/gsttask.h:
12185         Right, two problems here: ghostpads don't take locks and
12186         glib _rec_mutex_lock_full() with depth==0 still locks.
12187         Catch illegal locking and g_warn them.
12188
12189 2005-06-25  Wim Taymans  <wim@fluendo.com>
12190
12191         * check/states/sinks.c: (START_TEST), (gst_object_suite):
12192         Have to check for completion now...
12193
12194 2005-06-25  Wim Taymans  <wim@fluendo.com>
12195
12196         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12197         (gst_basesink_handle_object), (gst_basesink_event),
12198         (gst_basesink_do_sync), (gst_basesink_handle_event),
12199         (gst_basesink_change_state):
12200         * gst/gstpad.h:
12201         Unlock STREAM_LOCK whatever the recursion was.
12202
12203 2005-06-25  Wim Taymans  <wim@fluendo.com>
12204
12205         * gst/base/gstbasesink.c: (gst_basesink_set_property),
12206         (gst_basesink_preroll_queue_empty),
12207         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
12208         (gst_basesink_event), (gst_basesink_do_sync),
12209         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
12210         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
12211         (gst_basesink_change_state):
12212         Reworked the base sink, handle event and buffer serialisation
12213         correctly and removed possible deadlock.
12214         Handle EOS correctly.
12215
12216 2005-06-25  Wim Taymans  <wim@fluendo.com>
12217
12218         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
12219         (gst_pipeline_change_state):
12220         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12221         Allow elements to post EOS in the state change function.
12222         Fix up -launch, make it exit the poll loop when the
12223         pipeline actually changed state.
12224         Fix up warning parsing in -launch.
12225
12226 2005-06-25  Wim Taymans  <wim@fluendo.com>
12227
12228         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
12229         (gst_tee_sink_activate):
12230         Core takes STREAM_LOCK for us now.
12231
12232 2005-06-25  Wim Taymans  <wim@fluendo.com>
12233
12234         * gst/gstelement.c: (gst_element_get_state_func),
12235         (gst_element_set_state):
12236         * gst/gstelement.h:
12237         * gst/gstmessage.c: (gst_message_parse_error),
12238         (gst_message_parse_warning):
12239         Keep track of current target state while performing a state
12240         change so that subclasses can do something interesting.
12241         Fix parsing of warning/error messages when GError is NULL.
12242
12243 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12244
12245         * docs/gst/Makefile.am:
12246         * docs/gst/gstreamer-docs.sgml:
12247         * docs/gst/gstreamer-sections.txt:
12248         * docs/gst/gstreamer.types:
12249         * docs/gst/tmpl/gstbasesink.sgml:
12250         * docs/gst/tmpl/gstbasesrc.sgml:
12251         * docs/gst/tmpl/gstbin.sgml:
12252         * docs/gst/tmpl/gstcompat.sgml:
12253         * docs/gst/tmpl/gstfakesink.sgml:
12254         * docs/gst/tmpl/gstfakesrc.sgml:
12255         * docs/gst/tmpl/gstfilesink.sgml:
12256         * docs/gst/tmpl/gstfilesrc.sgml:
12257         * docs/gst/tmpl/gstindex.sgml:
12258         * docs/manual/appendix-quotes.xml:
12259         * gst/base/gstbasesrc.h:
12260         * gst/elements/gstfakesrc.h:
12261         * gst/gstmessage.h:
12262           start pulling in base classes and elements in our docs
12263
12264 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
12265
12266         * docs/gst/Makefile.am:
12267         * docs/libs/Makefile.am:
12268           fixed make distcheck with gtk-doc 1.3
12269
12270 2005-06-23  Wim Taymans  <wim@fluendo.com>
12271
12272         * gst/gstelement.c: (gst_element_get_state_func),
12273         (gst_element_set_state), (gst_element_change_state):
12274         When the state did not change, also report NO_PREROLL
12275         when it matters.
12276
12277 2005-06-23  Wim Taymans  <wim@fluendo.com>
12278
12279         * gst/gstpad.c: (gst_pad_event_default):
12280         * gst/gstqueue.c: (gst_queue_loop):
12281         No unsafe task pausing please.
12282
12283 2005-06-23  Wim Taymans  <wim@fluendo.com>
12284
12285         * gst/schedulers/threadscheduler.c:
12286         (gst_thread_scheduler_task_start),
12287         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
12288         Ref the task before pushing it on the threadpool. This
12289         makes sure that we have a ref when the threadfunction is
12290         actually called.
12291
12292 2005-06-23  Andy Wingo  <wingo@pobox.com>
12293
12294         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
12295         offset is greater than the file's size.
12296
12297         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
12298         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
12299         * gst/gstobject.c (gst_object_class_init): Make the class lock
12300         recursive. Wim won't let me drop deep_notify. Decodebin works
12301         again, whoopdy doo.
12302
12303         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
12304         internal pad, and hacks accordingly. Doesn't do it on the target
12305         pad because we change its caps. Probably catches all cases of
12306         interest tho.
12307         (gst_ghost_pad_set_property): Connect to notify::caps as
12308         appropritate.
12309
12310         * tests/network-clock.scm (plot-simulation): Pipe data to the
12311         elite python skript.
12312
12313         * tests/network-clock-utils.scm (define-parameter): New macro,
12314         defines a parameter that can be set via the command line.
12315         (set-parameter!, parse-parameter-arguments): Command line args
12316         parser.
12317
12318         * tests/plot-data: Simple matplotlib-based plotter, takes input on
12319         stdin.
12320
12321 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
12322
12323         * gst/elements/gsttypefindelement.c:
12324         (gst_type_find_element_handle_event):
12325           Don't restart typefinding on a discont.
12326         * gst/gstelement.c: (gst_element_set_state):
12327           Debug spelling fix.
12328         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
12329           Allow changing mode of an active pad.
12330           Debug output fixes.
12331         * gst/registries/gstlibxmlregistry.c: (load_feature):
12332           Don't cast a static pad template to a normal pad template.
12333
12334 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12335
12336         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12337         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12338           remove gst_strtoll completely, since it didn't actually do
12339           anything more than what g_ascii_strtoull already does.
12340           check for range errors when deserializing
12341           do a cast for the unsigned cases; but further fixing needs
12342           a decision on what the interpretation of "(int)" and
12343           deserialization should be for values that fall outside the
12344           type's boundaries (ie, refuse, or interpret as casting)
12345
12346 2005-06-23  Wim Taymans  <wim@fluendo.com>
12347
12348         * check/Makefile.am:
12349         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
12350         * docs/design/part-live-source.txt:
12351         * docs/design/part-states.txt:
12352         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12353         (gst_basesrc_set_live), (gst_basesrc_is_live),
12354         (gst_basesrc_get_range), (gst_basesrc_activate),
12355         (gst_basesrc_change_state):
12356         * gst/base/gstbasesrc.h:
12357         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12358         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12359         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
12360         * gst/gstelement.c: (gst_element_get_state_func),
12361         (gst_element_set_state):
12362         * gst/gstelement.h:
12363         * gst/gsttypes.h:
12364         * tools/gst-launch.c: (event_loop), (main):
12365         Added support for live sources and other elements that
12366         cannot do preroll.
12367         Updated design docs, added live-source design doc.
12368         Implemented live source functionality in basesrc
12369         Fix error condition in _bin_get_state()
12370         Implement live source handling in -launch.
12371         Added check for live sources.
12372         Fixed case in GstBin where elements were changed state
12373         multiple times.
12374
12375
12376 2005-06-23  Andy Wingo  <wingo@pobox.com>
12377
12378         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
12379         borken refcounting.
12380
12381         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
12382         gst_caps_replace takes care of this for us.
12383
12384         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
12385         gst_pad_set_caps on the target, not just its setcaps() function.
12386
12387         * tests/network-clock.scm: 
12388         * tests/network-clock-utils.scm: A network clock simulator.
12389         Something of an algorithmic testbed before doing something in C.
12390
12391 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12392
12393         * check/Makefile.am:
12394         * check/gst/capslist.h:
12395           copy over from 0.8, and add two with bitmasks specified with
12396           (int) 0xFF...
12397         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12398           add test to parse everything from capslist.h
12399         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
12400         (main):
12401           add test for structure deserialization
12402         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12403           add tests for deserialization of strings to int types
12404         * gst/gststructure.c: (gst_structure_nth_field_name):
12405         * gst/gststructure.h:
12406           add a way to get the name of a field referenced by index
12407         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12408           instead of checking if the resulting long long lies between
12409           min and max, we check if the long long would fit into
12410           a number of bytes for the final type.
12411           This fixes cases where a string represents 2^32 - 1, which
12412           when cast to int would be the (valid) -1, but is bigger than
12413           G_MAXINT
12414
12415 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12416
12417         * gst/parse/grammar.y:
12418           add a log line for type deserialization
12419
12420 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12421
12422         * check/gst/gstvalue.c: (START_TEST):
12423         * gst/gstvalue.c: (gst_value_deserialize):
12424           return long long, not int, so gint64 deserialization actually
12425           works.  Is there any flag that makes the compiler check this ?
12426           Fixes #308559
12427
12428 2005-06-22  Wim Taymans  <wim@fluendo.com>
12429
12430         * gst/gstbuffer.h:
12431         Added convenience macros for setting buffers in GValue.
12432
12433 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12434
12435         * check/gst/.cvsignore:
12436         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12437           add a test deserializing int64, and comment part out because
12438           it fails, yay !
12439
12440 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12441
12442         * check/Makefile.am:
12443         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
12444         * testsuite/Makefile.am:
12445         * testsuite/caps/Makefile.am:
12446         * testsuite/caps/value_serialize.c:
12447         * testsuite/test_gst_init.c:
12448           move a value_serialize test over
12449
12450 2005-06-20  Wim Taymans  <wim@fluendo.com>
12451
12452         * gst/gstpad.c:
12453         Small doc updates.
12454         
12455         * gst/gstvalue.c: (gst_value_compare_buffer),
12456         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
12457         (gst_value_compare_flags), (gst_value_serialize_flags),
12458         (gst_value_deserialize_flags), (_gst_value_initialize):
12459         Fix serialisation of buffers, they are not boxed types anymore
12460
12461 2005-06-20  Wim Taymans  <wim@fluendo.com>
12462
12463         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12464         Testcase to show error in buffer-on-caps serialisation.
12465
12466 2005-06-20  Andy Wingo  <wingo@pobox.com>
12467
12468         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
12469         will be adding to later.
12470
12471         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
12472         if its socks fill with rocks.
12473         (gst_system_clock_obtain): Set the name on object construction.
12474         Avoid double-checked locking.
12475
12476 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
12477
12478         * gst/gsturi.c: (gst_element_make_from_uri):
12479           Fix potential endless loop.
12480
12481 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12482
12483         * check/Makefile.am:
12484           add gsttag
12485         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
12486         (main):
12487           move over from testsuite dir and clean up
12488         * configure.ac:
12489         * gst/gsttag.c:
12490         * testsuite/Makefile.am:
12491         * testsuite/tags/.cvsignore:
12492         * testsuite/tags/Makefile.am:
12493         * testsuite/tags/merge.c:
12494           remove testsuite/tags
12495
12496 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12497
12498         * docs/gst/gstreamer-sections.txt:
12499         * docs/gst/tmpl/gstenumtypes.sgml:
12500         * win32/gstenumtypes.c:
12501           clean up documentation build a little
12502
12503 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12504
12505         * check/gstcheck.h:
12506           add macros for checking refcounts on objects and caps
12507         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
12508           add some more unit tests
12509         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12510         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
12511           fix leaked refcounts (I hope :)) so unittest works
12512         * gst/gstpad.h:
12513           whitespace removal
12514
12515 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12516
12517         * configure.ac: back to HEAD
12518
12519 === release 0.9.1 ===
12520
12521 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12522
12523         * NEWS:
12524         * RELEASE:
12525           updated
12526
12527 2005-06-17  Andy Wingo  <wingo@pobox.com>
12528
12529         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
12530         assert; it's always possible that the pad gets deactivated in
12531         between the checks in gstpad.c and the implementation. Rely on
12532         finish_preroll() to return a FLUSHING or similar instead of on the
12533         assert.
12534         
12535         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
12536         clock and post an EOS message if we come out of finish_preroll in
12537         the playing state.
12538
12539 2005-06-16  David Schleef  <ds@schleef.org>
12540
12541         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12542         (gst_capsfilter_set_property): Allow NULL as possible value
12543         for filter_caps property, indicating GST_CAPS_ANY.
12544
12545 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12546
12547         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
12548           fix debug output
12549         * gst/schedulers/Makefile.am:
12550           use libgst prefix
12551         * gstreamer.spec.in:
12552           fix spec for it
12553
12554 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12555
12556         * gstreamer.spec.in:
12557           clean up
12558
12559 2005-06-08  Andy Wingo  <wingo@pobox.com>
12560
12561         * gst/gstutils.c: RPAD fixes all around.
12562         (gst_element_link_pads): Refcounting fixes.
12563
12564         * tools/gst-inspect.c:
12565         * tools/gst-xmlinspect.c:
12566         * parse/grammar.y:
12567         * gst/base/gsttypefindhelper.c:
12568         * gst/base/gstbasesink.c:
12569         * gst/gstqueue.c: RPAD fixes.
12570
12571         * gst/gstghostpad.h:
12572         * gst/gstghostpad.c: New ghost pad implementation as full proxy
12573         pads. The tricky thing is they provide both source and sink
12574         interfaces, since they proxy the internal pad for the external
12575         pad, and vice versa. Implement with lower-level ProxyPad objects,
12576         with the interior proxy pad as a child of the exterior ghost pad.
12577         Should write a doc on this.
12578         
12579         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
12580         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
12581         gst_object API.
12582         
12583         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
12584         pads are real pads. No ghost pads in this file. Not documenting
12585         the myriad s/RPAD/PAD/ and REALIZE fixes.
12586         (gst_pad_class_init): Add properties for "direction" and
12587         "template". Both are construct-only, so they can't change during
12588         the life of the pad. Fixes properly deriving from GstPad.
12589         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
12590         derived objects, just set properties when creating the objects via
12591         g_object_new.
12592         (gst_pad_get_parent): Implement as a function, return NULL if the
12593         parent is not an element.
12594         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
12595         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
12596         
12597         * gst/gstobject.c (gst_object_class_init): Make name a construct
12598         property. Don't set it in the object init.
12599
12600         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
12601         with UNKNOWN direction.
12602         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
12603         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
12604         (gst_element_remove_pad): Remove ghost-pad special cases.
12605         (gst_element_pads_activate): Remove rpad cruft.
12606
12607         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
12608         catch the pad's-parent-not-an-element case.
12609
12610         * gst/gst.h: Include gstghostpad.h.
12611
12612         * gst/gst.c (init_post): No more real, ghost pads.
12613
12614         * gst/Makefile.am: Add gstghostpad.[ch].
12615
12616         * check/Makefile.am:
12617         * check/gst/gstbin.c:
12618         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
12619         into a bin creates ghost pads, and that the refcounts are right.
12620         Partly moved from gstbin.c.
12621
12622 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12623
12624         * check/gst-libs/.cvsignore:
12625         * check/gst/.cvsignore:
12626         * check/pipelines/.cvsignore:
12627           ignore more
12628         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
12629         (START_TEST), (cleanup_suite), (main):
12630           add some tests related to cleanup after running pipelines
12631
12632 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12633
12634         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
12635           add a testsuite for GstBuffer
12636
12637 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12638
12639         * gst/gstminiobject.h:
12640           add defines for accessing the refcount
12641
12642 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
12643
12644         * Makefile.am: added support for html unit test coverage reports
12645
12646 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12647
12648         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12649           Free existing caps if the capsfilter changes. Add a FIXME about
12650           setting those caps on the pads.
12651
12652         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12653           Before adding a ghost pad to a parent bin, check that there isn't
12654           already one for the element on the bin. Prevents infinite recursion
12655           when using decodebin in parse pipelines. Andy says he'll rewrite the
12656           way this works anyway, so ignore the hack.
12657
12658 2005-06-02  Andy Wingo  <wingo@pobox.com>
12659
12660         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12661         file size, pass it on to the type find helper.
12662
12663         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12664         segment_start and segment_end properly according to the seek
12665         method. Segment_end is still a bit flaky because offset can be
12666         negative for CUR and END cases, but it takes -1 as an "unset"
12667         value.
12668
12669 2005-06-02  Wim Taymans  <wim@fluendo.com>
12670
12671         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12672         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12673         (gst_basesink_activate):
12674         * gst/base/gstbasesink.h:
12675         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12676         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12677         (gst_pad_query), (gst_pad_start_task):
12678         * gst/gstpad.h:
12679         * gst/gstqueue.c: (gst_queue_bufferalloc),
12680         (gst_queue_handle_sink_event), (gst_queue_chain):
12681         Bufferalloc: return GstFlowReturn to more accuratly report
12682         why allocation failed.
12683
12684 2005-06-02  Wim Taymans  <wim@fluendo.com>
12685
12686         * gst/gstpipeline.c: (gst_pipeline_send_event):
12687         Take snapshot of state without blocking.
12688
12689 2005-06-02  Wim Taymans  <wim@fluendo.com>
12690
12691         * docs/design/part-TODO.txt:
12692         * docs/design/part-caps.txt:
12693         * docs/design/part-clocks.txt:
12694         * docs/design/part-negotiation.txt:
12695         * docs/design/part-preroll.txt:
12696         Small doc updates 
12697
12698 2005-05-30  Wim Taymans  <wim@fluendo.com>
12699
12700         * gst/elements/gstidentity.c: (gst_identity_event),
12701         (gst_identity_transform), (gst_identity_get_property):
12702         Protect last_message property as it is accessed from
12703         multiple threads.
12704
12705 2005-05-30  Wim Taymans  <wim@fluendo.com>
12706
12707         * gst/gstelement.c: (gst_element_init),
12708         (gst_element_pads_activate), (gst_element_change_state):
12709         Slicker pad activation code.
12710
12711 2005-05-30  Wim Taymans  <wim@fluendo.com>
12712
12713         * gst/Makefile.am:
12714         * gst/gstelement.h:
12715         * gst/gstelementfactory.h:
12716         * gst/gsttypes.h:
12717         Move elementfactory methods to separate .h file.
12718
12719 2005-05-30  Wim Taymans  <wim@fluendo.com>
12720
12721         * docs/design/part-overview.txt:
12722         * gst/gstsystemclock.h:
12723         Small typo fixes, doc updates.
12724
12725 2005-05-30  Wim Taymans  <wim@fluendo.com>
12726
12727         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12728         (init_popt_callback):
12729         Remove cpu-opt flag.
12730
12731 2005-05-30  Wim Taymans  <wim@fluendo.com>
12732
12733         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12734         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12735         * gst/gstbuffer.h:
12736         Avoid typechecking in places where not needed.
12737         Added accessor for malloc_data.
12738
12739 2005-05-30  Wim Taymans  <wim@fluendo.com>
12740
12741         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12742         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12743         (gst_pad_configure_sink), (gst_pad_configure_src),
12744         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12745         (gst_pad_start_task):
12746         Propagate errors from _set_caps() in configure_src/sink
12747         functions instead of returning TRUE.
12748         FLUSH events can travel up and downstream
12749
12750
12751 2005-05-30  Wim Taymans  <wim@fluendo.com>
12752
12753         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12754         (gst_basesink_activate):
12755         Handle EOS in preroll.
12756
12757 2005-05-30  Wim Taymans  <wim@fluendo.com>
12758
12759         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12760         (gst_queue_loop), (gst_queue_handle_src_event):
12761         Remove old pieces of code
12762         Flushing the queue in an upstream event is a very bad idea.
12763
12764 2005-05-26  Andy Wingo  <wingo@pobox.com>
12765
12766         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12767         gst_value_set_mini_object so as to add a ref on the object (which
12768         will be removed when the value is unset).
12769
12770         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12771         arg type in ::handoff.
12772
12773         * gst/gstelement.c (gst_element_change_state): Also deactivate
12774         pads in READY->NULL, just in case the element didn't make it to
12775         PAUSED. Wingo tested, Wim approved.
12776
12777 2005-05-26  Wim Taymans  <wim@fluendo.com>
12778
12779         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12780         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12781         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12782         A flushing pad cannot be used to alloc_buffer from.
12783
12784 2005-05-26  Wim Taymans  <wim@fluendo.com>
12785
12786         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12787         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12788         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12789         (gst_bus_create_watch), (gst_bus_add_watch_full):
12790         * gst/gstbus.h:
12791         Implement a real GSource and use g_main_context_wakeup() to
12792         signal new messages instead of the socketpair.
12793
12794 2005-05-25  Wim Taymans  <wim@fluendo.com>
12795
12796         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12797         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12798         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12799         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12800         (gst_pad_send_event), (gst_pad_start_task):
12801         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12802         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12803         (gst_queue_sink_activate), (gst_queue_src_activate),
12804         (gst_queue_change_state):
12805         * gst/gstqueue.h:
12806         Fix state changes for non sinks. We now change sinks, then elements
12807         with unconnected srcpads, then the rest.
12808         More efficient queue unlocking in flush and state changes.
12809         Set the pad activate mode even if it does not have an activate
12810         function.
12811
12812 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12813
12814         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12815           Don't go in pull mode for non-seekable sources.
12816         * gst/elements/gsttypefindelement.h:
12817         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12818         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12819         (free_entry), (stop_typefinding),
12820         (gst_type_find_element_handle_event), (find_peek),
12821         (gst_type_find_element_chain), (do_pull_typefind),
12822         (gst_type_find_element_change_state):
12823           Allow typefinding (w/o seeking) in push-mode, simplified version
12824           of what was in 0.8.
12825         * gst/gstutils.c: (gst_buffer_join):
12826         * gst/gstutils.h:
12827           gst_buffer_join() from 0.8.
12828
12829 2005-05-25  Wim Taymans  <wim@fluendo.com>
12830
12831         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12832         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12833         (gst_pad_send_event), (gst_pad_start_task):
12834         Disable attempt at mode switching until it is figured out.
12835
12836 2005-05-25  Wim Taymans  <wim@fluendo.com>
12837
12838         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12839         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12840         (gst_basesink_finish_preroll), (gst_basesink_chain),
12841         (gst_basesink_loop), (gst_basesink_activate),
12842         (gst_basesink_change_state):
12843         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12844         (gst_basesrc_get_range), (gst_basesrc_loop),
12845         (gst_basesrc_activate):
12846         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12847         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12848         (gst_real_pad_init), (gst_real_pad_set_property),
12849         (gst_real_pad_get_property), (gst_pad_set_active),
12850         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12851         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12852         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12853         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12854         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12855         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12856         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12857         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12858         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12859         (gst_pad_stop_task):
12860         * gst/gstpad.h:
12861         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12862         (gst_queue_loop), (gst_queue_src_activate):
12863         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12864         (gst_task_get_state):
12865         * gst/gsttask.h:
12866         * gst/schedulers/threadscheduler.c:
12867         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12868         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12869         in task function.
12870         Remove ACTIVE pad flag, use FLUSHING everywhere
12871         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12872         functions.
12873         Add locks around IS_FLUSHING when reading.
12874         Take STREAM lock in chain(), get_range() functions so plugins
12875         don't need to take it anymore.
12876         
12877
12878
12879 2005-05-25  Wim Taymans  <wim@fluendo.com>
12880
12881         * tools/gst-launch.c: (event_loop):
12882         Unref message after using its contents instead of
12883         before.
12884
12885 2005-05-24  Wim Taymans  <wim@fluendo.com>
12886
12887         * docs/design/draft-ghostpads.txt:
12888         * docs/design/draft-push-pull.txt:
12889         * docs/design/draft-query.txt:
12890         * docs/design/part-overview.txt:
12891         Docs updates, added general overview doc.
12892
12893 2005-05-21  David Schleef  <ds@schleef.org>
12894
12895         * docs/gst/tmpl/old/GstBin.sgml:
12896         * docs/gst/tmpl/old/GstBuffer.sgml:
12897         * docs/gst/tmpl/old/GstCaps.sgml:
12898         * docs/gst/tmpl/old/GstClock.sgml:
12899         * docs/gst/tmpl/old/GstCompat.sgml:
12900         * docs/gst/tmpl/old/GstData.sgml:
12901         * docs/gst/tmpl/old/GstElement.sgml:
12902         * docs/gst/tmpl/old/GstEvent.sgml:
12903         * docs/gst/tmpl/old/GstIndex.sgml:
12904         * docs/gst/tmpl/old/GstStructure.sgml:
12905         * docs/gst/tmpl/old/GstTag.sgml:
12906         * docs/gst/tmpl/old/cothreads.sgml:
12907         * docs/gst/tmpl/old/cothreads_compat.sgml:
12908         * docs/gst/tmpl/old/gettext.sgml:
12909         * docs/gst/tmpl/old/gobject2gtk.sgml:
12910         * docs/gst/tmpl/old/grammar.tab.sgml:
12911         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12912         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12913         * docs/gst/tmpl/old/gst_private.sgml:
12914         * docs/gst/tmpl/old/gstaggregator.sgml:
12915         * docs/gst/tmpl/old/gstarch.sgml:
12916         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12917         * docs/gst/tmpl/old/gstbufferstore.sgml:
12918         * docs/gst/tmpl/old/gstdata_private.sgml:
12919         * docs/gst/tmpl/old/gstdisksink.sgml:
12920         * docs/gst/tmpl/old/gstdisksrc.sgml:
12921         * docs/gst/tmpl/old/gstelementfactory.sgml:
12922         * docs/gst/tmpl/old/gstextratypes.sgml:
12923         * docs/gst/tmpl/old/gstfakesink.sgml:
12924         * docs/gst/tmpl/old/gstfakesrc.sgml:
12925         * docs/gst/tmpl/old/gstfdsink.sgml:
12926         * docs/gst/tmpl/old/gstfdsrc.sgml:
12927         * docs/gst/tmpl/old/gstfilesink.sgml:
12928         * docs/gst/tmpl/old/gstfilesrc.sgml:
12929         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12930         * docs/gst/tmpl/old/gstidentity.sgml:
12931         * docs/gst/tmpl/old/gstindexfactory.sgml:
12932         * docs/gst/tmpl/old/gstmarshal.sgml:
12933         * docs/gst/tmpl/old/gstmd5sink.sgml:
12934         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12935         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12936         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12937         * docs/gst/tmpl/old/gstpipefilter.sgml:
12938         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12939         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12940         * docs/gst/tmpl/old/gstshaper.sgml:
12941         * docs/gst/tmpl/old/gstspider.sgml:
12942         * docs/gst/tmpl/old/gstspideridentity.sgml:
12943         * docs/gst/tmpl/old/gststatistics.sgml:
12944         * docs/gst/tmpl/old/gsttee.sgml:
12945         * docs/gst/tmpl/old/gsttimecache.sgml:
12946         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12947         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12948         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12949         * docs/gst/tmpl/old/types.sgml:
12950           I didn't intend to add these or check them in.
12951
12952 2005-05-19  David Schleef  <ds@schleef.org>
12953
12954         * configure.ac: Use -no-common everywhere.  In a sane world, it
12955           would be the default in libtool, because without it, you can't
12956           build DLLs on Windows.
12957         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12958         * docs/gst/gstreamer-sections.txt:
12959         * docs/gst/tmpl/gstcpu.sgml:
12960         * docs/gst/tmpl/gstdata.sgml:
12961         * docs/gst/tmpl/gstthread.sgml:
12962
12963 2005-05-19  David Schleef  <ds@schleef.org>
12964
12965         * gst/gstminiobject.c: (gst_value_set_mini_object),
12966         (gst_value_take_mini_object), (gst_value_get_mini_object):
12967         * gst/gstminiobject.h: Add GValue set/get functions.
12968
12969 2005-05-19  Wim Taymans  <wim@fluendo.com>
12970
12971         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12972         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12973         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12974         * gst/gstbuffer.h:
12975         * gst/gstbus.c: (gst_bus_post):
12976         * gst/gstelement.c: (gst_element_get_random_pad):
12977         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12978         Make subbufer unref the parent in finalize.
12979         some more debugging info.
12980
12981
12982 2005-05-19  Wim Taymans  <wim@fluendo.com>
12983
12984         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12985         (gst_basesink_init), (gst_basesink_finalize),
12986         (gst_basesink_activate), (gst_basesink_change_state):
12987         Don't free preroll queue too early.
12988
12989 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12990
12991         * gst/Makefile.am:
12992         * gst/ROADMAP:
12993           Hi, I'm outdated. Please shoot me.
12994
12995 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12996
12997         * gst/gstpipeline.c: (gst_pipeline_send_event):
12998           Do not access variables after they have been deleted.
12999
13000 2005-05-19  Wim Taymans  <wim@fluendo.com>
13001
13002         * tools/gst-inspect.c: (print_plugin_features):
13003         A plugin feature does unfortunatly not use the
13004         object name yet...
13005
13006 2005-05-18  Wim Taymans  <wim@fluendo.com>
13007
13008         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
13009         Port _span() functions to new subbuffers.
13010
13011 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13012
13013         * gst/gstbin.c: (gst_bin_add_func):
13014           Fix clock settery in bins when adding kids after the clock has
13015           been selected.
13016
13017 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13018
13019         * gst/elements/gstidentity.c: (gst_identity_class_init):
13020           Workaround until signals support GstMiniObject.
13021
13022 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13023
13024         * gst/gstbuffer.c:
13025         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
13026
13027 2005-05-18  Wim Taymans  <wim@fluendo.com>
13028
13029         * gst/base/Makefile.am:
13030         * gst/base/gstadapter.c: (gst_adapter_base_init),
13031         (gst_adapter_class_init), (gst_adapter_init),
13032         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
13033         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
13034         (gst_adapter_flush), (gst_adapter_available),
13035         (gst_adapter_available_fast):
13036         * gst/base/gstadapter.h:
13037         Ported and added adapter to the base classes.
13038
13039 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13040
13041         * gst/gst.c:
13042         * gst/gstmessage.c:
13043           Make sure the class is reffed/unreffed once before threads can be
13044           used.  Fixes #304551.
13045
13046 2005-05-17  Wim Taymans  <wim@fluendo.com>
13047
13048         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
13049         (gst_basesink_chain_unlocked), (gst_basesink_activate):
13050         * gst/gstminiobject.c: (gst_mini_object_get_type),
13051         (gst_mini_object_free):
13052         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
13053         (gst_pad_push), (gst_pad_push_event):
13054         * gst/gstqueue.c: (gst_queue_change_state):
13055         Don't queue buffers in basesink when we are flushing.
13056         Unref buffer when flushing in basesink.
13057         Flush queue when going to READY
13058         Unref buffer when _push() returns an error.
13059         Don't free MiniObject instance when refcount is incremented
13060         in _finalize() so that we can recover objects.
13061
13062 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13063
13064         * docs/manual/advanced-schedulers.xml:
13065         * docs/manual/appendix-checklist.xml:
13066         * docs/pwg/advanced-clock.xml:
13067         * docs/pwg/advanced-interfaces.xml:
13068         * docs/pwg/advanced-request.xml:
13069         * docs/pwg/advanced-types.xml:
13070         * docs/pwg/intro-preface.xml:
13071         * examples/plugins/example.c: (gst_example_get_type),
13072         (gst_example_class_init), (gst_example_chain),
13073         (gst_example_set_property), (gst_example_get_property),
13074         (gst_example_change_state), (plugin_init):
13075         * examples/plugins/example.h:
13076           small doc fixes
13077
13078 2005-05-17  Wim Taymans  <wim@fluendo.com>
13079
13080         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
13081         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
13082         * gst/gstqueue.c: (gst_queue_change_state):
13083         Clear queue when going to READY.
13084         Remove IN_SETCAPS flag too.
13085
13086 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
13087
13088         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
13089           Remove implicit cast from gboolean to GstElementStateReturn;
13090           make sure we still return failure in paused => ready case if
13091           the parent class fails to change state and our own stop 
13092           vfunc succeeds.
13093
13094 2005-05-17  Wim Taymans  <wim@fluendo.com>
13095
13096         * tools/gst-launch.c: (event_loop):
13097         Message was unreffed too soon.
13098
13099 2005-05-16  Andy Wingo  <wingo@pobox.com>
13100
13101         * gst/gstbin.c (sink_iterator_filter): Err... um...
13102
13103         * check/gst/gstbin.c (test_ghost_pads): New test for the
13104         ghosting-if-elements-not-in-same-bin behavior.
13105
13106 2005-05-16  David Schleef  <ds@schleef.org>
13107
13108         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
13109         accessing refcount directly.
13110
13111 2005-05-15  David Schleef  <ds@schleef.org>
13112
13113         * check/Makefile.am: remove GstData checks
13114         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
13115         * gst/Makefile.am: add miniobject, remove data
13116         * gst/gst.h: add miniobject, remove data
13117         * gst/gstdata.c: remove
13118         * gst/gstdata.h: remove
13119         * gst/gstdata_private.h: remove
13120         * gst/gsttypes.h: remove GstEvent and GstMessage
13121         * gst/gstelement.c: (gst_element_post_message): fix for API changes
13122         * gst/gstmarshal.list: change BOXED -> OBJECT
13123
13124         Implement GstMiniObject.
13125         * gst/gstminiobject.c:
13126         * gst/gstminiobject.h:
13127
13128         Modify to be subclasses of GstMiniObject.
13129         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
13130         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
13131         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
13132         (gst_subbuffer_get_type), (gst_subbuffer_init),
13133         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
13134         (gst_buffer_span):
13135         * gst/gstbuffer.h:
13136         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
13137         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
13138         (_gst_event_copy), (gst_event_new):
13139         * gst/gstevent.h:
13140         * gst/gstmessage.c: (_gst_message_initialize),
13141         (gst_message_get_type), (gst_message_class_init),
13142         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
13143         (gst_message_new), (gst_message_new_error),
13144         (gst_message_new_warning), (gst_message_new_tag),
13145         (gst_message_new_state_changed), (gst_message_new_application):
13146         * gst/gstmessage.h:
13147         * gst/gstprobe.c: (gst_probe_perform),
13148         (gst_probe_dispatcher_dispatch):
13149         * gst/gstprobe.h:
13150         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
13151         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
13152         (_gst_query_copy), (gst_query_new):
13153
13154         Update elements for GstData -> GstMiniObject changes
13155         * gst/gstquery.h:
13156         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
13157         (gst_queue_chain), (gst_queue_loop):
13158         * gst/elements/gstbufferstore.c:
13159         (gst_buffer_store_add_buffer_func),
13160         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
13161         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13162         (gst_fakesink_render):
13163         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13164         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
13165         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
13166         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
13167         (gst_filesrc_create_read):
13168         * gst/elements/gstidentity.c: (gst_identity_class_init):
13169         * gst/elements/gsttypefindelement.c:
13170         (gst_type_find_element_src_event), (free_entry_buffers),
13171         (gst_type_find_element_handle_event):
13172         * libs/gst/dataprotocol/dataprotocol.c:
13173         (gst_dp_header_from_buffer):
13174         * libs/gst/dataprotocol/dataprotocol.h:
13175         * libs/gst/dataprotocol/dp-private.h:
13176
13177 2005-05-15  David Schleef  <ds@schleef.org>
13178
13179         * gst/elements/gstelements.c: Don't include headers that were
13180         just removed.
13181
13182 2005-05-15  David Schleef  <ds@schleef.org>
13183
13184         * gst/elements/Makefile.am: Remove some elements that don't
13185         need to be in the core (or even exist at all).
13186         * gst/elements/gstaggregator.c:
13187         * gst/elements/gstaggregator.h:
13188         * gst/elements/gstmd5sink.c:
13189         * gst/elements/gstmd5sink.h:
13190         * gst/elements/gstmultifilesrc.c:
13191         * gst/elements/gstmultifilesrc.h:
13192         * gst/elements/gstpipefilter.c:
13193         * gst/elements/gstpipefilter.h:
13194         * gst/elements/gstshaper.c:
13195         * gst/elements/gstshaper.h:
13196         * gst/elements/gststatistics.c:
13197         * gst/elements/gststatistics.h:
13198         * po/POTFILES.in: Remove above files.
13199
13200 2005-05-14  Andy Wingo  <wingo@pobox.com>
13201
13202         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
13203         so as to get the refs right.
13204         (sink_iterator_filter): New function, wraps bin_element_is_sink,
13205         unreffing objects that don't pass the filter.
13206
13207         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
13208         gst_element_set_bus.
13209         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
13210         normal cases, this will destroy the bus.
13211
13212         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
13213         object.
13214
13215         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
13216         has no sinks.
13217
13218 2005-05-13  Andy Wingo  <wingo@pobox.com>
13219
13220         * gst/gstutils.c (gst_element_link_pads): Instead of calling
13221         gst_pad_link, call pad_link_maybe_ghosting,
13222         (pad_link_maybe_ghosting): Links pads, making sure that the
13223         elements being linked are in the same bin.
13224         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
13225         Helpers for pad_link_maybe_ghosting.
13226
13227 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13228
13229         * configure.ac:
13230           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
13231
13232 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13233
13234         * docs/design/part-element-source.txt:
13235           Mention GstPushSrc
13236
13237 2005-05-12  Wim Taymans  <wim@fluendo.com>
13238
13239         * gst/base/gstbasesink.c: (gst_basesink_init),
13240         (gst_basesink_activate):
13241         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
13242         (gst_basesrc_is_seekable):
13243         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13244         (bin_element_is_sink), (gst_bin_change_state):
13245         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13246         * gst/gstelement.h:
13247         Identify sinks by their flag to avoid overly complicated
13248         checks (fow now).
13249         Do state changes even for elements not reachable from the
13250         sinks.
13251         BaseSink is a sink now :)
13252         Some more debugging info in the basesrc.
13253
13254
13255 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13256
13257         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
13258           Implement _query on a bin, similar to _send_event.
13259
13260 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13261
13262         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
13263           Discont event offset format should be GST_FORMAT_BYTES,
13264           not GST_FORMAT_TIME.
13265
13266 2005-05-12  Wim Taymans  <wim@fluendo.com>
13267
13268         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
13269         Same fix as Ronald's but without the signal. 
13270
13271 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13272
13273         * gst/gstutils.c: (gst_element_query_position):
13274           No, an element is not a pad.
13275
13276 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13277
13278         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
13279         (gst_bin_get_state):
13280           If a child is removed from a bin while we remove the child from
13281           the bin and while we're retrieving its state, signal this to the
13282           get_state function so we abort the wait (instead of waiting for
13283           a timeout) and can immediately re-iterate over all other elements.
13284
13285 2005-05-12  Wim Taymans  <wim@fluendo.com>
13286
13287         * gst/base/Makefile.am:
13288         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
13289         (gst_basesrc_start):
13290         * gst/base/gstbasesrc.h:
13291         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
13292         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
13293         (gst_pushsrc_init), (gst_pushsrc_create):
13294         * gst/base/gstpushsrc.h:
13295         Added is_seekable to BaseSrc
13296         Added simple PushSrc.
13297
13298 2005-05-11  Wim Taymans  <wim@fluendo.com>
13299
13300         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13301         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13302         (gst_element_link_pads), (gst_element_query_position),
13303         (gst_element_query_convert), (intersect_caps_func),
13304         (gst_pad_query_position), (gst_pad_query_convert):
13305         Fix refcounting in utils function.
13306         No point in trying to activate a pad when it's added, it could
13307         be added from the state change function and then we deadlock, the
13308         element has to decide what to do.
13309
13310 2005-05-10  Andy Wingo  <wingo@pobox.com>
13311
13312         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
13313         *all* the arguments.
13314
13315         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
13316         stream lock if it's a FLUSH_DONE; normal flushes don't get the
13317         lock (according to the docs -- if this is wrong change the docs).
13318
13319         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
13320         flush messages in the NULL state.
13321
13322         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
13323         message immediately and return.
13324         (gst_bus_set_flushing): New function. If a bus is flushing, it
13325         flushes out any queued messages and immediately unrefs new
13326         messages. This is so when an element goes to NULL, all of the
13327         unhandled messages coming from it can be freed, and their
13328         references to the element dropped. In other words: message source
13329         ref considered harmful :P
13330
13331         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
13332         we're finished with it.
13333
13334         * gst/gstmessage.c (gst_message_new_state_changed): 
13335
13336 2005-05-10  Wim Taymans  <wim@fluendo.com>
13337
13338         * gst/gstvalue.c: (gst_value_compare_flags),
13339         (gst_value_serialize_flags), (gst_value_deserialize_flags),
13340         (_gst_value_initialize):
13341         Added flags serialize/deserialize/compare code.
13342
13343 2005-05-09  Andy Wingo  <wingo@pobox.com>
13344
13345         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
13346         Intersect the peer's caps with our caps.
13347
13348 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13349
13350         * gst/base/gsttypefindhelper.c: (helper_find_peek):
13351         * gst/elements/gsttypefindelement.c: (find_peek):
13352           Handle negative offsets better. Fixes decodebin.
13353
13354 2005-05-09  Wim Taymans  <wim@fluendo.com>
13355
13356         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
13357         (gst_base_transform_event):
13358         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
13359         Implement accept_caps.
13360         Fix silly lock/unlock mismatch in base class.
13361
13362 2005-05-09  Wim Taymans  <wim@fluendo.com>
13363
13364         * docs/design/draft-push-pull.txt:
13365         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
13366         * gst/elements/gstfilesink.c: (gst_filesink_init),
13367         (gst_filesink_query):
13368         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13369         (gst_type_find_handle_src_query), (find_element_get_length):
13370         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
13371         * gst/gstelement.h:
13372         * gst/gstmessage.c:
13373         * gst/gstmessage.h:
13374         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
13375         (gst_real_pad_get_caps_unlocked),
13376         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
13377         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13378         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
13379         (gst_real_pad_dispose), (gst_real_pad_finalize),
13380         (gst_pad_load_and_link), (gst_pad_save_thyself),
13381         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
13382         (gst_pad_check_pull_range), (gst_pad_pull_range),
13383         (gst_pad_template_get_type), (gst_pad_template_class_init),
13384         (gst_pad_template_init), (gst_pad_template_dispose),
13385         (name_is_valid), (gst_static_pad_template_get),
13386         (gst_pad_template_new), (gst_static_pad_template_get_caps),
13387         (gst_pad_template_get_caps), (gst_pad_set_element_private),
13388         (gst_pad_get_element_private), (gst_pad_start_task),
13389         (gst_pad_pause_task), (gst_pad_stop_task),
13390         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
13391         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
13392         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
13393         (gst_ghost_pad_new):
13394         * gst/gstpad.h:
13395         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
13396         (gst_query_new_position), (gst_query_set_position),
13397         (gst_query_parse_position), (gst_query_new_convert),
13398         (gst_query_set_convert), (gst_query_parse_convert):
13399         * gst/gstquery.h:
13400         * gst/gstqueryutils.c:
13401         * gst/gstqueryutils.h:
13402         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13403         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13404         (gst_queue_handle_src_query):
13405         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13406         (gst_element_query_position), (gst_element_query_convert),
13407         (intersect_caps_func), (gst_pad_query_position),
13408         (gst_pad_query_convert):
13409         * gst/gstutils.h:
13410         * tools/gst-inspect.c: (print_pad_info):
13411         * tools/gst-xmlinspect.c: (print_element_info):
13412         Remove old query functions. Ported old code.
13413         Added position/convert helper functions to gstutils.
13414         Reordered gstpad.c code, grouping relevant things.
13415         Remove gst_message_new(), always need to speficy a specific
13416         message.
13417
13418
13419 2005-05-09  Andy Wingo  <wingo@pobox.com>
13420
13421         * gst/gstiterator.h: Add some includes.
13422
13423         * gst/gstqueryutils.h: Include more headers.
13424
13425         * gst/gstpad.h:
13426         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
13427         some uses of gst_pad_query.
13428
13429         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
13430         NULL out parameters.
13431         (gst_query_new_position): New proc, allocates a new position
13432         query.
13433
13434         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
13435         gstqueryutils.c to the build.
13436
13437         * gst/gststructure.c (gst_structure_set_valist): Implement with
13438         the generic G_VALUE_COLLECT.
13439         
13440 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
13441
13442         * gst/Makefile.am: (gst_headers):
13443         Added gstqueryutils.h to the list of headers to install, that was
13444         a 'nachty' move wingo :)
13445
13446 2005-05-06  Andy Wingo  <wingo@pobox.com>
13447
13448         * gst/gstquery.h
13449         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
13450         GstData, init a memchunk.
13451         (standard_definitions): Add a few query types, deprecate a few.
13452         (gst_query_get_type): New proc.
13453         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
13454         implementation.
13455         (gst_query_new_application, gst_query_get_structure): New public
13456         procs.
13457
13458         * docs/design/draft-query.txt: Removed LINKS from the query types,
13459         because all the rest can be dispatched to other pads -- seemed
13460         ugly to have a query that couldn't be dispatched. internal_links
13461         is fine as a pad method.
13462
13463         * gst/gstpad.h: Add query2 as a pad method, add the new functions
13464         in gstpad.c, but maintain binary compatibility for the moment.
13465         Will fix before 0.9 is out.
13466
13467         * gst/gstqueryutils.c: 
13468         * gst/gstqueryutils.h: New files, implement 3 methods for each
13469         query type: parse_query, parse_response, and set. Probably need an
13470         allocator as well.
13471
13472         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
13473
13474         * gst/elements/gstfilesink.c (gst_filesink_query2):
13475         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
13476         query_types, and formats methods.
13477
13478         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
13479         (gst_pad_set_query2_function): New functions.
13480         (gst_real_pad_init): Set query2_default as the default query2
13481         function. Basically just dispatches to internally linked pads.
13482
13483         Needs review!
13484         
13485         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
13486         without using the atomic operations. Only one thread can possibly
13487         be accessing the data at this point. Changed so as to avoid
13488         gst_atomic operations.
13489
13490 2005-05-06  Wim Taymans  <wim@fluendo.com>
13491
13492         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
13493         Also set caps if we use the fallback buffer alloc.
13494
13495 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
13496
13497         * docs/gst/Makefile.am:
13498         * docs/gst/gstreamer-docs.sgml:
13499         * docs/gst/gstreamer-sections.txt:
13500         * docs/gst/tmpl/gstatomic.sgml:
13501         * docs/gst/tmpl/gstmemchunk.sgml:
13502         * testsuite/elements/struct_i386.h:
13503         * win32/GStreamer.vcproj:
13504         * win32/Makefile:
13505           Purge GstAtomic stuff from docs and win32 makefiles as well
13506
13507 2005-05-06  Wim Taymans  <wim@fluendo.com>
13508
13509         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
13510         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
13511         * gst/gstpad.c: (gst_pad_peer_get_caps):
13512         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13513         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13514         (gst_queue_src_activate), (gst_queue_change_state):
13515         * gst/gstqueue.h:
13516         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13517         (intersect_caps_func):
13518         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
13519         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
13520         Some fixes for the peer_get_caps() change.
13521
13522 2005-05-06  Wim Taymans  <wim@fluendo.com>
13523
13524         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13525         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
13526         (gst_basesink_activate):
13527         Actually do something with error codes returned from the push
13528         functions.
13529
13530 2005-05-06  Wim Taymans  <wim@fluendo.com>
13531
13532         * docs/design/part-element-sink.txt:
13533         * docs/design/part-element-source.txt:
13534         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13535         (gst_basesink_event), (gst_basesink_activate):
13536         * gst/base/gstbasesink.h:
13537         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
13538         (gst_basesrc_activate):
13539         * gst/base/gstbasesrc.h:
13540         * gst/gstelement.c: (gst_element_pads_activate):
13541         Some more documentation.
13542         Fixed scheduling decision in _pads_activate().
13543
13544 2005-05-05  Andy Wingo  <wingo@pobox.com>
13545
13546         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
13547         the test suite.
13548
13549 2005-05-05  Wim Taymans  <wim@fluendo.com>
13550
13551         * gst/base/Makefile.am:
13552         * gst/base/gstbasesink.h:
13553         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13554         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
13555         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
13556         (gst_collectpads_class_init), (gst_collectpads_init),
13557         (gst_collectpads_finalize), (gst_collectpads_new),
13558         (gst_collectpads_set_function), (gst_collectpads_add_pad),
13559         (find_pad), (gst_collectpads_remove_pad),
13560         (gst_collectpads_is_active), (gst_collectpads_collect),
13561         (gst_collectpads_collect_range), (gst_collectpads_start),
13562         (gst_collectpads_stop), (gst_collectpads_peek),
13563         (gst_collectpads_pop), (gst_collectpads_available),
13564         (gst_collectpads_read), (gst_collectpads_flush),
13565         (gst_collectpads_chain):
13566         * gst/base/gstcollectpads.h:
13567         * gst/elements/Makefile.am:
13568         * gst/elements/gstelements.c:
13569         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13570         (gst_fakesink_get_times), (gst_fakesink_event),
13571         (gst_fakesink_preroll), (gst_fakesink_render):
13572         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13573         (gst_filesink_init), (gst_filesink_set_location),
13574         (gst_filesink_open_file), (gst_filesink_close_file),
13575         (gst_filesink_pad_query), (gst_filesink_event),
13576         (gst_filesink_render), (gst_filesink_change_state):
13577         * gst/elements/gstfilesink.h:
13578         Added object to help in making collect pad based elements.
13579         Ported filesink.
13580         Make event function in sink baseclass return gboolean.
13581
13582 2005-05-05  Wim Taymans  <wim@fluendo.com>
13583
13584         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
13585         (gst_bin_get_by_name):
13586         * gst/gstbuffer.h:
13587         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
13588         (gst_clock_finalize):
13589         * gst/gstdata.c: (gst_data_replace):
13590         * gst/gstdata.h:
13591         * gst/gstelement.c: (gst_element_request_pad),
13592         (gst_element_pads_activate):
13593         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13594         (gst_object_unref):
13595         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13596         (gst_pad_set_checkgetrange_function),
13597         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
13598         (gst_pad_check_pull_range), (gst_pad_pull_range),
13599         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13600         (gst_pad_pause_task), (gst_pad_stop_task):
13601         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13602         (gst_element_request_pad), (gst_pad_proxy_getcaps):
13603         Fix name lookup in GstBin.
13604         Added _data_replace() function and _buffer_replace()
13605         Use finalize method to clean up clock.
13606         Fix refcounting on request pads.
13607         Fix pad schedule mode error.
13608         Some more object refcounting debug info,
13609
13610
13611 2005-05-04  Andy Wingo <wingo@pobox.com>
13612
13613         * check/Makefile.am:
13614         * docs/gst/tmpl/gstatomic.sgml:
13615         * docs/gst/tmpl/gstplugin.sgml:
13616         * gst/base/gstbasesink.c: (gst_basesink_activate):
13617         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
13618         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
13619         (gst_basesrc_query), (gst_basesrc_set_property),
13620         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
13621         (gst_basesrc_activate):
13622         * gst/base/gstbasesrc.h:
13623         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
13624         (gst_base_transform_src_activate):
13625         * gst/elements/gstelements.c:
13626         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13627         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13628         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13629         * gst/elements/gsttypefindelement.c: (find_element_get_length),
13630         (gst_type_find_element_checkgetrange),
13631         (gst_type_find_element_activate):
13632         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
13633         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
13634         (gst_caps_load_thyself):
13635         * gst/gstelement.c: (gst_element_pads_activate),
13636         (gst_element_save_thyself), (gst_element_restore_thyself):
13637         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
13638         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
13639         * gst/gstpad.h:
13640         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
13641         (gst_xml_parse_file), (gst_xml_parse_memory),
13642         (gst_xml_get_element), (gst_xml_make_element):
13643         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13644         (_file_index_id_save_xml), (gst_file_index_commit):
13645         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13646         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13647         (load_paths):
13648         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13649         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13650         * tools/gst-complete.c: (main):
13651         * tools/gst-compprep.c: (main):
13652         * tools/gst-inspect.c: (print_element_properties_info):
13653         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13654         * tools/gst-xmlinspect.c: (print_element_properties):
13655         GCC 4 fixen.
13656         
13657 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13658
13659         * gst/gstplugin.c: (gst_plugin_check_module),
13660         (gst_plugin_check_file), (gst_plugin_load_file):
13661             apply patch from #172526 to make register work on MacOSX
13662
13663 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13664
13665         * docs/gst/tmpl/gstconfig.sgml:
13666         * gst/gstconfig.h.in:
13667           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13668         * testsuite/debug/printf_extension.c: (main):
13669           Do not use GST_PTR_FORMAT on pointers to types with
13670           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13671         * testsuite/elements/property.h:
13672           use correct printf format
13673
13674 2005-05-02  Wim Taymans  <wim@fluendo.com>
13675
13676         * docs/design/draft-push-pull.txt:
13677         * docs/design/draft-query.txt:
13678         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13679         (gst_basesrc_start):
13680         Added draft for new query API.
13681         Added draft for better selecting scheduling methods.
13682         Make basesrc ignore length if the subclass does not support
13683         it.
13684
13685 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13686
13687         * gst/Makefile.am:
13688           possible fixes for automake-1.5 - _LIBADD is reserved
13689
13690 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13691
13692         * docs/faq/Makefile.am:
13693         * docs/manual/Makefile.am:
13694         * docs/manuals.mak:
13695         * docs/pwg/Makefile.am:
13696         * gst/Makefile.am:
13697           possible fixes for automake-1.5
13698
13699 2005-04-28  Wim Taymans  <wim@fluendo.com>
13700
13701         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13702         (gst_basesink_pad_getcaps), (gst_basesink_init),
13703         (gst_basesink_do_sync):
13704         * gst/gstclock.c: (gst_clock_entry_new):
13705         * gst/gstevent.c: (gst_event_discont_get_value):
13706         * gst/gstpipeline.c: (pipeline_bus_handler),
13707         (gst_pipeline_change_state):
13708         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13709         Better debugging of clocking info.
13710         Allow NULL values when getting discont values.
13711
13712 2005-04-27  Wim Taymans  <wim@fluendo.com>
13713
13714         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13715         * check/gst/gstpad.c: (gst_pad_suite):
13716         Increase timeout for checks.
13717
13718 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13719
13720         * check/Makefile.am:
13721           fix the broken rule for cleanup.  Apparently this rule is
13722           only needed on FC2, so maybe this warrants further autotool
13723           inspection.
13724
13725 2005-04-26  Wim Taymans  <wim@fluendo.com>
13726
13727         * gst/gsttrashstack.h:
13728         Ooohh. a nasty one! After having a failed pop() from the stack,
13729         it's possible that the stack is empty. In that case, don't
13730         follow the NULL pointer.
13731
13732 2005-04-25  Wim Taymans  <wim@fluendo.com>
13733
13734         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13735         (gst_pad_set_checkgetrange_function),
13736         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13737         (gst_pad_check_pull_range), (gst_pad_pull_range),
13738         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13739         (gst_pad_pause_task), (gst_pad_stop_task):
13740         * gst/gstplugin.c: (gst_plugin_load):
13741         * gst/gstplugin.h:
13742         Remove gst_library_load as it does more harm than good with
13743         the new g_module flags.
13744         Revert bogus caps template check in pad linking, pad caps
13745         are important when linking not the template, which is more
13746         general than the current caps.
13747
13748 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13749
13750         * gst/autoplug/.cvsignore:
13751         * gst/autoplug/Makefile.am:
13752         * gst/autoplug/gstsearchfuncs.c:
13753         * gst/autoplug/gstsearchfuncs.h:
13754         * gst/autoplug/gstspider.c:
13755         * gst/autoplug/gstspider.h:
13756         * gst/autoplug/gstspideridentity.c:
13757         * gst/autoplug/gstspideridentity.h:
13758         * gst/autoplug/spidertest.c:
13759           Die, spider, die.
13760
13761 2005-04-25  Wim Taymans  <wim@fluendo.com>
13762
13763         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13764         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13765         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13766         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13767         * gst/gstpad.h:
13768         Added stubs for unimplemented functions. 
13769
13770 2005-04-24  David Schleef  <ds@schleef.org>
13771
13772         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13773         please fix.
13774
13775 2005-04-24  David Schleef  <ds@schleef.org>
13776
13777         Convert everything from GstAtomicInt to g_atomic_int_*, and
13778         remove gstatomic.
13779         * gst/Makefile.am:
13780         * gst/gstatomic.c:
13781         * gst/gstatomic.h:
13782         * gst/gstatomic_impl.h:
13783         * gst/gstbuffer.c:
13784         * gst/gstcaps.c:
13785         * gst/gstcaps.h:
13786         * gst/gstclock.c:
13787         * gst/gstclock.h:
13788         * gst/gstdata.c:
13789         * gst/gstdata.h:
13790         * gst/gstdata_private.h:
13791         * gst/gstevent.c:
13792         * gst/gstinfo.c:
13793         * gst/gstinfo.h:
13794         * gst/gstmessage.c:
13795         * gst/gstobject.c:
13796         * gst/gstobject.h:
13797         * gst/gststructure.c:
13798         * gst/gststructure.h:
13799         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13800         * gst/gstutils.h:
13801
13802 2005-04-24  David Schleef  <ds@schleef.org>
13803
13804         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13805         make the regressions tests work.  Remove some code that is no
13806         longer true.
13807         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13808         Disable warning for pads without templates.
13809
13810 2005-04-24  David Schleef  <ds@schleef.org>
13811
13812         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13813         functions that handle filtered links.
13814         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13815         removed functions.
13816         * gst/gstutils.c: Fix/remove utility functions that handle
13817         filtered caps.
13818         * gst/gstutils.h:
13819         * gst/gstvalue.c: Add serialization/deserialization of caps
13820         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13821         requires fixing so that the filter caps notation creates
13822         a capsfilter element and sets the filter_caps property.  I
13823         think everyone probably wants to keep the shorthand notation.
13824         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13825         * docs/gst/tmpl/gstpad.sgml:
13826
13827         * gst/elements/gstelements.c: Register capsfilter element.
13828         * gst/Makefile.am: fix spacing
13829         * docs/random/ds/0.9-suggested-changes: random
13830
13831 2005-04-23  David Schleef  <ds@schleef.org>
13832
13833         * gst/elements/Makefile.am:
13834         * gst/elements/gstcapsfilter.c: New element that acts like an
13835         identity, but filters caps.  Will eventually replace filtered
13836         caps in pad linking.
13837         * gst/gstutils.c: (gst_element_create_all_pads): New function
13838         to create all the ALWAYS pads that are registered with an
13839         element class.  This functionality should eventually be
13840         merged in with GstElement initialization.
13841         * gst/gstutils.h:
13842         * testsuite/trigger/README: part of trigger test code that should
13843         have been checked in a long time ago.
13844
13845 2005-04-23  David Schleef  <ds@schleef.org>
13846
13847         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13848         needed with new versions of libtool (nobody will confirm this),
13849         and hard to carry around.
13850         * gst/autoplug/Makefile.am:
13851         * gst/base/Makefile.am:
13852         * gst/elements/Makefile.am:
13853         * gst/indexers/Makefile.am:
13854         * gst/schedulers/Makefile.am:
13855         * libs/gst/bytestream/Makefile.am:
13856         * libs/gst/control/Makefile.am:
13857         * libs/gst/dataprotocol/Makefile.am:
13858         * libs/gst/getbits/Makefile.am:
13859
13860 2005-04-21  Wim Taymans  <wim@fluendo.com>
13861
13862         * docs/design/draft-push-pull.txt:
13863         * docs/design/part-MT-refcounting.txt:
13864         * docs/design/part-TODO.txt:
13865         * docs/design/part-caps.txt:
13866         * docs/design/part-events.txt:
13867         * docs/design/part-gstbus.txt:
13868         * docs/design/part-gstpipeline.txt:
13869         * docs/design/part-messages.txt:
13870         * docs/design/part-push-pull.txt:
13871         * docs/design/part-query.txt:
13872         Some more docs.
13873
13874 2005-04-21  Wim Taymans  <wim@fluendo.com>
13875
13876         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13877         (gst_message_new), (gst_message_new_error),
13878         (gst_message_new_warning), (gst_message_new_tag),
13879         (gst_message_new_state_changed), (gst_message_new_application),
13880         (gst_message_get_structure):
13881         * gst/gstmessage.h:
13882         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13883         (gst_structure_copy_conditional):
13884         Use parent refcount in GstMessage to ensure GstStructure
13885         consistency.
13886         Cleaned up headers a bit.
13887         
13888
13889 2005-04-20  Wim Taymans  <wim@fluendo.com>
13890
13891         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13892         (gst_basesink_pad_getcaps), (gst_basesink_init),
13893         (gst_basesink_chain_unlocked):
13894         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13895         (gst_type_find_helper):
13896         * gst/elements/gsttypefindelement.c:
13897         (gst_type_find_element_have_type), (gst_type_find_element_init),
13898         (stop_typefinding), (gst_type_find_element_handle_event),
13899         (find_suggest), (gst_type_find_element_chain),
13900         (gst_type_find_element_checkgetrange),
13901         (gst_type_find_element_getrange), (do_typefind),
13902         (gst_type_find_element_activate):
13903         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13904         (gst_buffer_default_free), (gst_buffer_default_copy),
13905         (gst_buffer_set_caps):
13906         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13907         (gst_caps_replace):
13908         * gst/gstmessage.c: (gst_message_new),
13909         (gst_message_new_state_changed):
13910         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13911         (gst_pad_set_checkgetrange_function),
13912         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13913         (gst_pad_set_caps), (gst_pad_check_pull_range),
13914         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13915         * gst/gstpad.h:
13916         * gst/gsttypefind.c: (gst_type_find_register):
13917         Make gst_caps_replace() work like other _replace() functions.
13918         Use _caps_replace() where possible.
13919         Make sure _message_new() initialises its field.
13920         Add gst_static_pad_template_get_caps()
13921
13922
13923 2005-04-18  Andy Wingo  <wingo@pobox.com>
13924
13925         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13926         on the peer, not the pad. I think that was a typo. Pass an extra
13927         arg to see if random access is possible. Activate the pads as
13928         PULL_RANGE if possible.
13929
13930         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13931
13932         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13933         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13934         to PROP_....
13935
13936 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13937
13938         * docs/faq/using.xml:
13939           Add note on gstreamer-properties (#154996).
13940
13941 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13942
13943         * docs/random/bbb/optional-properties:
13944           Some analysis on optional properties.
13945
13946 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13947
13948         * docs/gst/tmpl/gstelementfactory.sgml:
13949         * gst/gstelement.h:
13950         * gst/gstelementfactory.c: (gst_element_factory_init),
13951         (gst_element_factory_cleanup), (gst_element_register),
13952         (__gst_element_factory_add_static_pad_template),
13953         (gst_element_factory_get_static_pad_templates),
13954         (gst_element_factory_can_src_caps),
13955         (gst_element_factory_can_sink_caps):
13956         * gst/registries/Makefile.am:
13957         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13958         (gst_xml_registry_class_init), (gst_xml_registry_init),
13959         (gst_xml_registry_new), (gst_xml_registry_set_property),
13960         (gst_xml_registry_get_property), (get_time), (make_dir),
13961         (gst_xml_registry_get_perms_func),
13962         (plugin_times_older_than_recurse), (plugin_times_older_than),
13963         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13964         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13965         (add_to_char_array), (read_string), (read_uint), (read_enum),
13966         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13967         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13968         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13969         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13970         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13971         (gst_xml_registry_rebuild):
13972         * gst/registries/gstlibxmlregistry.h:
13973         * tools/gst-compprep.c: (main):
13974         * tools/gst-inspect.c: (print_pad_templates_info):
13975         * tools/gst-xmlinspect.c: (print_element_info):
13976           Use libxml2 for registry parsing, use staticpadtemplates in
13977           elementfactories. Makes gst_init() +/- 10x faster.
13978
13979 2005-04-12  Wim Taymans  <wim@fluendo.com>
13980
13981         * gst/base/Makefile.am:
13982         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13983         (gst_basesink_pad_getcaps), (gst_basesink_init),
13984         (gst_basesink_event), (gst_basesink_change_state):
13985         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13986         (gst_basesrc_init), (gst_basesrc_query),
13987         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13988         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13989         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13990         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13991         (gst_basesrc_stop), (gst_basesrc_activate),
13992         (gst_basesrc_change_state):
13993         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13994         (helper_find_suggest), (gst_type_find_helper):
13995         * gst/base/gsttypefindhelper.h:
13996         * gst/elements/Makefile.am:
13997         * gst/elements/gstelements.c:
13998         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13999         (gst_fakesink_get_times), (gst_fakesink_event),
14000         (gst_fakesink_preroll), (gst_fakesink_render):
14001         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14002         (gst_fakesrc_init), (gst_fakesrc_event_handler),
14003         (gst_fakesrc_get_property), (gst_fakesrc_create),
14004         (gst_fakesrc_start), (gst_fakesrc_stop):
14005         * gst/elements/gstfakesrc.h:
14006         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
14007         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14008         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14009         (gst_filesrc_create_read), (gst_filesrc_create),
14010         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
14011         (gst_filesrc_start):
14012         * gst/elements/gsttypefindelement.c:
14013         (gst_type_find_element_have_type), (gst_type_find_element_init),
14014         (start_typefinding), (stop_typefinding), (push_buffer_store),
14015         (gst_type_find_element_handle_event),
14016         (gst_type_find_element_chain),
14017         (gst_type_find_element_checkgetrange),
14018         (gst_type_find_element_getrange), (do_typefind),
14019         (gst_type_find_element_activate),
14020         (gst_type_find_element_change_state):
14021         * gst/elements/gsttypefindelement.h:
14022         * gst/gstpipeline.c: (pipeline_bus_handler):
14023         Added typefind helper.
14024         Small preroll fix in the base sink.
14025         Disable typefind code in basesrc.
14026         Crude port of typefindelement.
14027         Fakesrc cleanups.
14028
14029
14030 2005-04-11  Wim Taymans  <wim@fluendo.com>
14031
14032         * check/gst/gstbus.c: (gstbus_suite):
14033         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
14034         * check/gstcheck.h:
14035           Fix up the timeout so that the test does not fail.
14036
14037 2005-04-06  Wim Taymans  <wim@fluendo.com>
14038
14039         * gst/base/README:
14040         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14041         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
14042         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14043         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14044         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14045         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14046         (gst_basesrc_stop), (gst_basesrc_activate),
14047         (gst_basesrc_change_state), (basesrc_find_peek),
14048         (basesrc_find_suggest), (gst_basesrc_type_find):
14049         * gst/base/gstbasesrc.h:
14050         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
14051         (gst_filesrc_class_init), (gst_filesrc_init),
14052         (gst_filesrc_finalize), (gst_filesrc_set_location),
14053         (gst_filesrc_set_property), (gst_filesrc_get_property),
14054         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14055         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14056         (gst_filesrc_create_read), (gst_filesrc_create),
14057         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
14058         * gst/elements/gstfilesrc.h:
14059         * gst/gstelement.c: (gst_element_get_state_func),
14060         (gst_element_lost_state), (gst_element_pads_activate):
14061         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14062         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14063         (gst_pad_pull_range):
14064         * gst/gstpad.h:
14065         More work on the generic source base class, implement seeking,
14066         query.
14067         Make filesrc extend the base source class.
14068         Added gst_pad_set_checkgetrange_function to GstPad.
14069
14070 2005-04-06  Andy Wingo  <wingo@pobox.com>
14071
14072         * pkgconfig/gstreamer-base.pc.in:
14073         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
14074
14075         * pkgconfig/Makefile.am:
14076         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
14077
14078 2005-04-04  Wim Taymans  <wim@fluendo.com>
14079
14080         * gst/base/Makefile.am:
14081         * gst/base/README:
14082         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14083         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14084         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14085         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
14086         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14087         (gst_basesrc_base_init), (gst_basesrc_class_init),
14088         (gst_basesrc_init), (gst_basesrc_get_formats),
14089         (gst_basesrc_get_query_types), (gst_basesrc_query),
14090         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
14091         (gst_basesrc_set_property), (gst_basesrc_get_property),
14092         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
14093         (gst_basesrc_loop), (gst_basesrc_activate),
14094         (gst_basesrc_change_state):
14095         * gst/base/gstbasesrc.h:
14096         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
14097         (gst_fakesrc_class_init), (gst_fakesrc_init),
14098         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
14099         (gst_fakesrc_get_property), (gst_fakesrc_create):
14100         * gst/elements/gstfakesrc.h:
14101         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
14102         (gst_filesrc_open_file), (gst_filesrc_loop),
14103         (gst_filesrc_activate), (filesrc_find_peek),
14104         (gst_filesrc_type_find):
14105         Made base source class, make fakesrc extend it.
14106         Add comments to basesink class.
14107         Some filesrc cleanup.
14108
14109 2005-03-31  David Schleef  <ds@schleef.org>
14110
14111         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
14112         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
14113         expected to link against libgstreamer.
14114         * gst/base/Makefile.am: link against libgstreamer
14115         * gst/elements/Makefile.am: same
14116
14117 2005-03-31  Andy Wingo  <wingo@pobox.com>
14118
14119         * tests/instantiate/Makefile.am:
14120         * tests/instantiate/caps.c: Add test to test speed of caps copy
14121         and free.
14122
14123         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
14124         GMemChunk to be fair.
14125
14126         * gst/gsttrashstack.h: Remove warning about using the fallback
14127         trash stack implementation, it's still faster than malloc.
14128
14129 2005-03-30  Andy Wingo  <wingo@pobox.com>
14130
14131         * tests/complexity.c: Add a copyright.
14132
14133 2005-03-31  Wim Taymans  <wim@fluendo.com>
14134
14135         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
14136         (gst_base_transform_class_init), (gst_base_transform_init),
14137         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14138         (gst_base_transform_get_property),
14139         (gst_base_transform_sink_activate),
14140         (gst_base_transform_src_activate),
14141         (gst_base_transform_change_state):
14142         * gst/base/gstbasetransform.h:
14143         * gst/elements/gstidentity.c: (gst_identity_class_init),
14144         (gst_identity_event), (gst_identity_check_perfect),
14145         (gst_identity_transform), (gst_identity_start),
14146         (gst_identity_stop):
14147         Added start/stop methods to transform base class so subclasses 
14148         don't need to deal with state changes even.
14149
14150 2005-03-31  Wim Taymans  <wim@fluendo.com>
14151
14152         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
14153         (gst_event_new_discontinuous), (gst_event_discont_get_value):
14154         * gst/gstevent.h:
14155         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14156         (gst_pad_pull_range):
14157         Added rate to the discont event to prepare for variable speed
14158         and reverse playback.
14159
14160 2005-03-29  David Schleef  <ds@schleef.org>
14161
14162         * configure.ac:
14163         * testsuite/trigger/Makefile.am:
14164         * testsuite/trigger/trigger.c: A little example program to show
14165         how trigger-based elements can work.
14166
14167 2005-03-29  Wim Taymans  <wim@fluendo.com>
14168
14169         * gst/base/Makefile.am:
14170         * gst/base/README:
14171         * gst/base/gstbasesink.c: (gst_basesink_get_type),
14172         (gst_basesink_base_init), (gst_basesink_class_init),
14173         (gst_basesink_pad_getcaps), (gst_basesink_init),
14174         (gst_basesink_activate), (gst_basesink_change_state):
14175         * gst/base/gstbasesink.h:
14176         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
14177         (gst_base_transform_base_init), (gst_base_transform_finalize),
14178         (gst_base_transform_class_init), (gst_base_transform_init),
14179         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
14180         (gst_base_transform_event), (gst_base_transform_getrange),
14181         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
14182         (gst_base_transform_set_property),
14183         (gst_base_transform_get_property),
14184         (gst_base_transform_sink_activate),
14185         (gst_base_transform_src_activate),
14186         (gst_base_transform_change_state):
14187         * gst/base/gstbasetransform.h:
14188         * gst/elements/gstidentity.c: (gst_identity_finalize),
14189         (gst_identity_class_init), (gst_identity_init),
14190         (gst_identity_event), (gst_identity_check_perfect),
14191         (gst_identity_transform), (gst_identity_set_property),
14192         (gst_identity_get_property), (gst_identity_change_state):
14193         * gst/elements/gstidentity.h:
14194         * gst/gstelement.c: (gst_element_get_state_func),
14195         (gst_element_lost_state), (gst_element_pads_activate):
14196         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14197         (gst_pad_check_pull_range), (gst_pad_pull_range):
14198         * gst/gstpad.h:
14199         Simplify pad activation.
14200         Added function to check if pull_range can be performed.
14201         Error out when pulling inactive or flushing pads.
14202         Removed const from refcounted types as it does not make sense.
14203         Simplify pad templates in basesink
14204         Added base class for simple 1-to-1 transforms.
14205         Make identity subclass the base transform.
14206
14207 2005-03-29  Andy Wingo  <wingo@pobox.com>
14208
14209         * docs/libs/gstreamer-libs-overrides.txt: 
14210         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
14211         really don't understand what's going on, but like whatever. I want
14212         green buildbot!
14213
14214         * docs/gst/Makefile.am:
14215         * docs/libs/Makefile.am: Dist the overrides files.
14216
14217         * check/Makefile.am (clean-local): Remove .libs directories.
14218
14219         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
14220         elements to EXTRA_DIST, so po/ files are happy.
14221
14222         * po/POTFILES.in: Er, remove it here.
14223
14224         * po/POTFILES: Remove gstspider.c.
14225
14226         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
14227
14228         * docs/libs/gstreamer-libs-docs.sgml: 
14229         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
14230         bytestream.
14231
14232         * tests/complexity.c (main): Set the length of the preroll queue
14233         on the sinks to prevent a lockup.
14234
14235         * libs/gst/dataprotocol/Makefile.am: 
14236         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
14237         the same as the one in check/gst-libs/gdp.c.
14238
14239         * po/, docs/gst/: Commit automatic changes to docs and po files.
14240
14241         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
14242         the versioned libgstbase.
14243
14244         * check/Makefile.am: Depend on an unversioned gst-register, seems
14245         to make autoconf happier.
14246
14247         * gst/base/Makefile.am: Make libgstbase a versioned lib.
14248
14249 2005-03-28  Wim Taymans  <wim@fluendo.com>
14250
14251         * configure.ac:
14252         * docs/design/part-gstelement.txt:
14253         * docs/design/part-negotiation.txt:
14254         * docs/design/part-preroll.txt:
14255         * docs/design/part-scheduling.txt:
14256         * docs/design/part-states.txt:
14257         * gst/Makefile.am:
14258         * gst/base/Makefile.am:
14259         * gst/base/README:
14260         * gst/base/gstbasesink.c: (gst_basesink_get_template),
14261         (gst_basesink_base_init), (gst_basesink_class_init),
14262         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14263         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14264         (gst_basesink_set_pad_functions),
14265         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
14266         (gst_basesink_set_property), (gst_basesink_get_property),
14267         (gst_base_sink_get_template), (gst_base_sink_get_caps),
14268         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
14269         (gst_basesink_preroll_queue_push),
14270         (gst_basesink_preroll_queue_empty),
14271         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
14272         (gst_basesink_event), (gst_basesink_get_times),
14273         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
14274         (gst_basesink_chain_unlocked), (gst_basesink_chain),
14275         (gst_basesink_loop), (gst_basesink_activate),
14276         (gst_basesink_change_state):
14277         * gst/base/gstbasesink.h:
14278         * gst/elements/Makefile.am:
14279         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
14280         (gst_fakesink_class_init), (gst_fakesink_init),
14281         (gst_fakesink_set_property), (gst_fakesink_get_property),
14282         (gst_fakesink_get_times), (gst_fakesink_event),
14283         (gst_fakesink_preroll), (gst_fakesink_render),
14284         (gst_fakesink_change_state):
14285         * gst/elements/gstfakesink.h:
14286         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14287         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
14288         * gst/gstelement.c: (gst_element_add_pad),
14289         (gst_element_get_state_func), (gst_element_abort_state),
14290         (gst_element_commit_state), (gst_element_lost_state),
14291         (gst_element_set_state), (gst_element_pads_activate):
14292         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
14293         * gst/gstpipeline.c: (gst_pipeline_send_event),
14294         (gst_pipeline_change_state):
14295         Added state change code.
14296         Added/updated docs.
14297         Added sink base class, make fakesink extend the base class.
14298         Small cleanups in GstPipeline.
14299
14300 2005-03-26  David Schleef  <ds@schleef.org>
14301
14302         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
14303         is broken and should be implemented in a different library.
14304         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
14305         * gst/gst.h: remove gstcpu.h
14306         * gst/gstcpu.c: remove
14307         * gst/gstcpu.h: remove
14308         * gst/Makefile.am.future: Remove this file.  It's ancient.
14309
14310 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14311
14312         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14313         (gst_bin_send_event):
14314           Add default event/set_manager handlers. The set_manager handler
14315           takes care that the manager is distributed over kids that were
14316           already in the bin before the manager was set. The event handler
14317           is a utility virtual function that sends the event over all sinks,
14318           so that gst_element_send_event (bin, event); has the expected
14319           behaviour.
14320         * gst/gstpad.c: (gst_pad_event_default):
14321           Re-install default event handling for discontinuities, so that
14322           seeking works without requiring hacks in applications or extra
14323           code in sinks.
14324         * gst/gstpipeline.c: (gst_pipeline_class_init),
14325         (gst_pipeline_send_event):
14326           Half hack, half utility: set a pipeline to PAUSED for seek events,
14327           since that is the only way we can guarantee a/v sync. Means that
14328           you can do gst_element_seek (pipeline, method, pos); on a pipeline
14329           and it "just works".
14330
14331 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14332
14333         * gst/gstpipeline.c: (gst_pipeline_use_clock):
14334           Lock/unlock mismatch.
14335
14336 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14337
14338         * docs/faq/gst-uninstalled:
14339           add gst-plugins-base
14340         * docs/gst/Makefile.am:
14341           don't error out until docs are fixed
14342         * docs/gst/gstreamer.types:
14343           remove thread
14344
14345 2005-03-22  Wim Taymans  <wim@fluendo.com>
14346
14347         * check/Makefile.am:
14348         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
14349         * gst/gststructure.c: (gst_structure_set_valist),
14350         (gst_structure_copy_conditional):
14351         Activated more tests.
14352         Added message test.
14353         Added G_TYPE_POINTER to GstStructure.
14354         
14355
14356 2005-03-22  Wim Taymans  <wim@fluendo.com>
14357
14358         * docs/design/part-TODO.txt:
14359         * docs/design/part-events.txt:
14360         * docs/design/part-gstbin.txt:
14361         * docs/design/part-gstbus.txt:
14362         * docs/design/part-gstpipeline.txt:
14363         * docs/design/part-messages.txt:
14364         * gst/gstbus.c:
14365         * gst/gstmessage.c:
14366         Docs updates
14367
14368 2005-03-21  Wim Taymans  <wim@fluendo.com>
14369
14370         * gst/gstbus.c: (gst_bus_post):
14371         Fix copy-and-paste error.
14372
14373 2005-03-21  Wim Taymans  <wim@fluendo.com>
14374
14375         * check/Makefile.am:
14376         * gst/Makefile.am:
14377         * gst/elements/Makefile.am:
14378         * gst/elements/gstelements.c:
14379         * gst/elements/gstfakesink.c: (gst_fakesink_init),
14380         (gst_fakesink_event), (gst_fakesink_chain):
14381         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14382         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
14383         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
14384         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
14385         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14386         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
14387         (gst_fakesrc_loop), (gst_fakesrc_activate),
14388         (gst_fakesrc_change_state):
14389         * gst/elements/gstfakesrc.h:
14390         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
14391         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
14392         (gst_filesrc_open_file), (gst_filesrc_loop),
14393         (gst_filesrc_activate), (gst_filesrc_change_state),
14394         (filesrc_find_peek), (filesrc_find_suggest),
14395         (gst_filesrc_type_find):
14396         * gst/elements/gstidentity.c: (gst_identity_finalize),
14397         (gst_identity_class_init), (gst_identity_init),
14398         (gst_identity_proxy_getcaps), (identity_queue_push),
14399         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
14400         (gst_identity_getrange), (gst_identity_chain),
14401         (gst_identity_sink_loop), (gst_identity_src_loop),
14402         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
14403         (gst_identity_set_property), (gst_identity_get_property),
14404         (gst_identity_change_state):
14405         * gst/elements/gstidentity.h:
14406         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
14407         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
14408         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
14409         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
14410         (gst_tee_sink_activate):
14411         * gst/elements/gsttee.h:
14412         * gst/gst.c: (gst_register_core_elements), (init_post):
14413         * gst/gst.h:
14414         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
14415         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
14416         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
14417         (gst_bin_change_state):
14418         * gst/gstbin.h:
14419         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
14420         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
14421         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
14422         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
14423         (gst_bus_set_sync_handler), (gst_bus_create_watch),
14424         (bus_watch_callback), (bus_watch_destroy),
14425         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
14426         (poll_timeout), (gst_bus_poll):
14427         * gst/gstbus.h:
14428         * gst/gstcaps.h:
14429         * gst/gstdata.h:
14430         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14431         (gst_element_post_message), (gst_element_message_full),
14432         (gst_element_get_state_func), (gst_element_get_state),
14433         (gst_element_abort_state), (gst_element_commit_state),
14434         (gst_element_lost_state), (gst_element_set_state),
14435         (gst_element_pads_activate), (gst_element_change_state),
14436         (gst_element_dispose), (gst_element_set_manager_func),
14437         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
14438         (gst_element_set_manager), (gst_element_get_manager),
14439         (gst_element_set_bus), (gst_element_get_bus),
14440         (gst_element_set_scheduler), (gst_element_get_scheduler):
14441         * gst/gstelement.h:
14442         * gst/gstevent.c: (gst_event_new_segment_seek),
14443         (gst_event_new_flush):
14444         * gst/gstevent.h:
14445         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
14446         (_gst_message_free), (gst_message_get_type), (gst_message_new),
14447         (gst_message_new_eos), (gst_message_new_error),
14448         (gst_message_new_warning), (gst_message_new_tag),
14449         (gst_message_new_state_changed), (gst_message_new_application),
14450         (gst_message_get_structure), (gst_message_parse_tag),
14451         (gst_message_parse_state_changed), (gst_message_parse_error),
14452         (gst_message_parse_warning):
14453         * gst/gstmessage.h:
14454         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
14455         (gst_real_pad_set_property), (gst_pad_set_active),
14456         (gst_pad_is_active), (gst_pad_set_blocked_async),
14457         (gst_pad_set_blocked), (gst_pad_is_blocked),
14458         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
14459         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
14460         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
14461         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
14462         (gst_pad_link_filtered), (gst_pad_relink_filtered),
14463         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
14464         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
14465         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
14466         (gst_pad_set_caps), (gst_pad_configure_sink),
14467         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
14468         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
14469         (gst_real_pad_dispose), (gst_real_pad_finalize),
14470         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
14471         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14472         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
14473         * gst/gstpad.h:
14474         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
14475         (pipeline_bus_handler), (gst_pipeline_change_state),
14476         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
14477         * gst/gstpipeline.h:
14478         * gst/gstprobe.h:
14479         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14480         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
14481         (gst_queue_link_src), (gst_queue_bufferalloc),
14482         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14483         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
14484         (gst_queue_loop), (gst_queue_handle_src_event),
14485         (gst_queue_handle_src_query), (gst_queue_src_activate),
14486         (gst_queue_change_state):
14487         * gst/gstqueue.h:
14488         * gst/gstscheduler.c: (gst_scheduler_init),
14489         (gst_scheduler_dispose), (gst_scheduler_create_task),
14490         (gst_scheduler_factory_create):
14491         * gst/gstscheduler.h:
14492         * gst/gststructure.c: (gst_structure_get_type),
14493         (gst_structure_copy_conditional):
14494         * gst/gststructure.h:
14495         * gst/gsttaginterface.h:
14496         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14497         (gst_task_init), (gst_task_dispose), (gst_task_create),
14498         (gst_task_get_state), (gst_task_start), (gst_task_stop),
14499         (gst_task_pause):
14500         * gst/gsttask.h:
14501         * gst/gstthread.c:
14502         * gst/gstthread.h:
14503         * gst/gsttypes.h:
14504         * gst/schedulers/Makefile.am:
14505         * gst/schedulers/cothreads_compat.h:
14506         * gst/schedulers/entryscheduler.c:
14507         * gst/schedulers/faircothreads.c:
14508         * gst/schedulers/faircothreads.h:
14509         * gst/schedulers/fairscheduler.c:
14510         * gst/schedulers/gstbasicscheduler.c:
14511         * gst/schedulers/gstoptimalscheduler.c:
14512         * gst/schedulers/gthread-cothreads.h:
14513         * gst/schedulers/threadscheduler.c:
14514         (gst_thread_scheduler_task_get_type),
14515         (gst_thread_scheduler_task_class_init),
14516         (gst_thread_scheduler_task_init),
14517         (gst_thread_scheduler_task_start),
14518         (gst_thread_scheduler_task_stop),
14519         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
14520         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14521         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
14522         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
14523         (plugin_init):
14524         * libs/gst/Makefile.am:
14525         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
14526         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
14527         (gst_file_pad_parent_set):
14528         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14529         (gst_dp_event_from_packet):
14530         * tests/complexity.c: (main):
14531         * tests/mass_elements.c: (main):
14532         * testsuite/states/locked.c: (message_received), (main):
14533         * testsuite/states/parent.c: (main):
14534         * tools/gst-inspect.c: (print_element_flag_info),
14535         (print_implementation_info), (print_pad_info):
14536         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
14537         (main):
14538         * tools/gst-md5sum.c: (event_loop), (main):
14539         * tools/gst-typefind.c: (main):
14540         * tools/gst-xmlinspect.c: (print_element_info):
14541         Next big merge.
14542         Added GstBus for mainloop integration.
14543         Added GstMessage for sending notifications on the bus.
14544         Added GstTask as an abstraction for pipeline entry points.
14545         Removed GstThread.
14546         Removed Schedulers.
14547         Simplified GstQueue for multithreaded core.
14548         Made _link threadsafe, removed old capsnego.
14549         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
14550         Added pad blocking functions.
14551         Reworked scheduling functions in GstPad to prepare for
14552         scheduling updates soon.
14553         Moved events out of data stream.
14554         Simplified GstEvent types.
14555         Added return values to push/pull.
14556         Removed clocking from GstElement.
14557         Added prototypes for state change function for next merge.
14558         Removed iterate from bins and state change management.
14559         Fixed some elements, disabled others for now.
14560         Fixed -inspect and -launch.
14561         Added check for GstBus.
14562
14563 2005-03-10  Wim Taymans  <wim@fluendo.com>
14564
14565         * docs/design/part-MT-refcounting.txt:
14566         * docs/design/part-clocks.txt:
14567         * docs/design/part-gstelement.txt:
14568         * docs/design/part-gstobject.txt:
14569         * docs/design/part-standards.txt:
14570         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14571         (gst_bin_remove_func), (gst_bin_remove):
14572         * gst/gstbin.h:
14573         * gst/gstbuffer.c:
14574         * gst/gstcaps.h:
14575         * testsuite/clock/clock1.c: (main):
14576         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
14577         (main):
14578         * testsuite/dlopen/loadgst.c: (do_test):
14579         * testsuite/refcounting/bin.c: (add_remove_test1),
14580         (add_remove_test2), (main):
14581         * testsuite/refcounting/element.c: (main):
14582         * testsuite/refcounting/element_pad.c: (main):
14583         * testsuite/refcounting/pad.c: (main):
14584         * tools/gst-launch.c: (sigint_handler_sighandler):
14585         * tools/gst-typefind.c: (main):
14586         Doc updates.
14587         Added doc about clock.
14588         removed gst_bin_iterate_recurse_up(), marked methods
14589         for removal.
14590         Fix more testsuites.
14591
14592 2005-03-09  Wim Taymans  <wim@fluendo.com>
14593
14594         * gst/gstpad.c: (gst_pad_get_direction),
14595         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
14596         (gst_pad_collect_valist):
14597         * testsuite/bins/interface.c: (main):
14598         * testsuite/caps/audioscale.c: (test_caps):
14599         * testsuite/caps/caps.c: (test1), (test2), (test3):
14600         * testsuite/caps/deserialize.c: (main):
14601         * testsuite/caps/enumcaps.c: (main):
14602         * testsuite/caps/filtercaps.c: (main):
14603         * testsuite/caps/intersect2.c: (main):
14604         * testsuite/caps/random.c: (main):
14605         * testsuite/caps/renegotiate.c: (my_fixate), (main):
14606         * testsuite/caps/sets.c: (check_caps):
14607         * testsuite/caps/simplify.c: (check_caps), (main):
14608         * testsuite/caps/subtract.c: (check_caps):
14609         Fix _pad_get_direction wrt ghostpads.
14610         Fix caps testsuite.
14611
14612 2005-03-09  Wim Taymans  <wim@fluendo.com>
14613
14614         * check/Makefile.am:
14615         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
14616         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
14617         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
14618         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
14619         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
14620         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
14621         (gst_bin_remove), (gst_bin_iterate_recurse_up),
14622         (bin_element_is_sink), (gst_bin_iterate_sinks),
14623         (gst_bin_iterate_all_by_interface):
14624         * gst/gstbin.h:
14625         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
14626         (gst_element_change_state), (gst_element_dispose),
14627         (gst_element_finalize), (gst_element_set_loop_function):
14628         * gst/gstelement.h:
14629         * gst/gstiterator.c: (find_custom_fold_func):
14630         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14631         (gst_pad_collectv), (gst_pad_collect_valist),
14632         (gst_pad_template_new):
14633         * gst/gstpipeline.c: (gst_pipeline_class_init),
14634         (gst_pipeline_dispose), (gst_pipeline_set_property),
14635         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
14636         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
14637         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
14638         * gst/gstutils.h:
14639         * gst/schedulers/entryscheduler.c:
14640         * gst/schedulers/gstbasicscheduler.c:
14641         (gst_basic_scheduler_cothreaded_chain),
14642         (gst_basic_scheduler_chain_add_element):
14643         * testsuite/bins/interface.c: (main):
14644         Added GstBin test.
14645         Added GstSystemClock test.
14646         Implemented clock distribution code in GstBin.
14647         Implemented iterate sinks method for future use.
14648         Rearranged gstelement.h
14649         Fix GstIterator comparison bug.
14650         Moved some code to GstPipeline, mostly clocking related.
14651
14652 2005-03-09  Wim Taymans  <wim@fluendo.com>
14653
14654         * configure.ac:
14655         * gst/gst_private.h:
14656         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14657         (gst_bin_remove_func), (gst_bin_remove),
14658         (gst_bin_get_by_name_recurse_up):
14659         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14660         (gst_clock_id_compare_func), (gst_clock_id_wait),
14661         (gst_clock_id_wait_async), (gst_clock_init),
14662         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14663         * gst/gstelement.h:
14664         * gst/gstinfo.c: (_gst_debug_init):
14665         * gst/gstobject.h:
14666         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14667         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14668         * gst/gstpad.h:
14669         Bump version number, we're now 0.9.0
14670         Add future debugging category.
14671         Fix NULL _unref() in _get_by_name_recurse_up
14672         Rearrange gstpad.h.
14673         Update some docs.
14674
14675 2005-03-08  Wim Taymans  <wim@fluendo.com>
14676
14677         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14678         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14679         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14680         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14681         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14682         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14683         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14684         * gst/elements/gstidentity.c: (gst_identity_class_init):
14685         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14686         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14687         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14688         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14689         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14690         (gst_tee_link):
14691         * gst/gstelement.c: (gst_element_class_init),
14692         (gst_element_base_class_init), (gst_element_init),
14693         (gst_element_get_random_pad), (gst_element_wait_state_change),
14694         (gst_element_change_state), (gst_element_dispose),
14695         (gst_element_finalize), (gst_element_set_loop_function):
14696         * gst/gstelement.h:
14697         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14698         * gst/gstthread.c: (gst_thread_class_init),
14699         (gst_thread_release_children_locks), (gst_thread_change_state):
14700         * gst/schedulers/gstbasicscheduler.c:
14701         (gst_basic_scheduler_loopfunc_wrapper),
14702         (gst_basic_scheduler_chain_wrapper),
14703         (gst_basic_scheduler_src_wrapper),
14704         (gst_basic_scheduler_remove_element):
14705         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14706         Remove threadsafe properties. Fix elements because GObject
14707         complains when installing a property before declaring a
14708         set/get_property handler.
14709         Rearrange gstelement.h file, use STATE macros for state locks.
14710         Free mutexes in the finalize method instead of dispose.
14711
14712 2005-03-08  Wim Taymans  <wim@fluendo.com>
14713
14714         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14715         * gst/gstthread.c: (gst_thread_release_children_locks):
14716         Added parentage check.
14717         Fix build og GstThread again.
14718
14719 2005-03-08  Wim Taymans  <wim@fluendo.com>
14720
14721         * docs/design/part-MT-refcounting.txt:
14722         * docs/design/part-conventions.txt:
14723         * docs/design/part-gstobject.txt:
14724         * docs/design/part-relations.txt:
14725         * docs/design/part-standards.txt:
14726         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14727         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14728         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14729         (gst_bin_iterate_all_by_interface):
14730         * gst/gstbuffer.h:
14731         * gst/gstclock.h:
14732         * gst/gstelement.c: (gst_element_class_init),
14733         (gst_element_change_state), (gst_element_set_loop_function):
14734         * gst/gstelement.h:
14735         * gst/gstiterator.c:
14736         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14737         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14738         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14739         (gst_object_set_parent), (gst_object_unparent),
14740         (gst_object_check_uniqueness):
14741         * gst/gstobject.h:
14742         Docs updates, clean up some headers.
14743
14744 2005-03-07  Wim Taymans  <wim@fluendo.com>
14745
14746         * check/.cvsignore:
14747         * check/Makefile.am:
14748         * check/gst-libs/.cvsignore:
14749         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14750         * check/gst/.cvsignore:
14751         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14752         (START_TEST), (gstbus_suite), (main):
14753         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14754         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14755         (gst_data_suite), (main):
14756         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14757         (add_fold_func), (gstiterator_suite), (main):
14758         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14759         (thread_name_object), (thread_name_object_default),
14760         (gst_object_name_compare), (gst_object_suite), (main):
14761         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14762         (gst_pad_suite), (main):
14763         * check/gstcheck.c: (gst_check_log_message_func),
14764         (gst_check_log_critical_func), (gst_check_init):
14765         * check/gstcheck.h:
14766         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14767         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14768         Added checks.
14769
14770 2005-03-07  Wim Taymans  <wim@fluendo.com>
14771
14772         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14773         (gst_list_iterator_next), (gst_list_iterator_resync),
14774         (gst_list_iterator_free), (gst_iterator_new_list),
14775         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14776         (gst_iterator_free), (gst_iterator_push), (filter_next),
14777         (filter_resync), (filter_uninit), (filter_free),
14778         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14779         (gst_iterator_foreach), (find_custom_fold_func),
14780         (gst_iterator_find_custom):
14781         * gst/gstiterator.h:
14782         Added missing files.
14783
14784 2005-03-07  Wim Taymans  <wim@fluendo.com>
14785
14786         * Makefile.am:
14787         * configure.ac:
14788         * docs/design/part-MT-refcounting.txt:
14789         * docs/design/part-conventions.txt:
14790         * docs/design/part-gstobject.txt:
14791         * docs/design/part-relations.txt:
14792         * examples/mixer/mixer.c: (main):
14793         * examples/thread/thread.c: (eos), (main):
14794         * gst/Makefile.am:
14795         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14796         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14797         (gst_spider_plug_from_srcpad):
14798         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14799         (gst_spider_identity_change_state),
14800         (gst_spider_identity_sink_loop_type_finding):
14801         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14802         * gst/elements/gstidentity.c: (gst_identity_init):
14803         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14804         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14805         * gst/elements/gsttypefindelement.c: (free_entry):
14806         * gst/gst.c:
14807         * gst/gst.h:
14808         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14809         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14810         (gst_bin_set_index), (gst_bin_set_element_sched),
14811         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14812         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14813         (gst_bin_iterate_elements), (iterate_child_recurse),
14814         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14815         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14816         (compare_interface), (gst_bin_get_by_interface),
14817         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14818         * gst/gstbin.h:
14819         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14820         (gst_buffer_default_free), (gst_buffer_default_copy),
14821         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14822         (gst_buffer_create_sub):
14823         * gst/gstbuffer.h:
14824         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14825         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14826         (gst_caps_unref), (gst_static_caps_get),
14827         (gst_caps_remove_and_get_structure), (gst_caps_append),
14828         (gst_caps_append_structure), (gst_caps_remove_structure),
14829         (gst_caps_copy_nth), (gst_caps_set_simple),
14830         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14831         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14832         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14833         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14834         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14835         (gst_caps_structure_figure_out_union),
14836         (gst_caps_switch_structures), (gst_caps_do_simplify),
14837         (gst_caps_replace), (gst_caps_from_string),
14838         (gst_caps_copy_conditional):
14839         * gst/gstcaps.h:
14840         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14841         (_gst_clock_id_free), (gst_clock_id_unref),
14842         (gst_clock_id_compare_func), (gst_clock_id_wait),
14843         (gst_clock_id_wait_async), (gst_clock_class_init),
14844         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14845         (gst_clock_get_time), (gst_clock_set_time_adjust),
14846         (gst_clock_set_property), (gst_clock_get_property):
14847         * gst/gstclock.h:
14848         * gst/gstcompat.h:
14849         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14850         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14851         * gst/gstdata.h:
14852         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14853         (gst_element_requires_clock), (gst_element_provides_clock),
14854         (gst_element_set_clock), (gst_element_clock_wait),
14855         (gst_element_wait), (gst_element_set_time_delay),
14856         (gst_element_is_indexable), (gst_element_add_pad),
14857         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14858         (pad_compare_name), (gst_element_get_static_pad),
14859         (gst_element_request_pad), (gst_element_get_request_pad),
14860         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14861         (gst_element_class_get_pad_template_list),
14862         (gst_element_class_get_pad_template), (gst_element_error_func),
14863         (gst_element_get_random_pad), (gst_element_get_event_masks),
14864         (gst_element_send_event), (gst_element_seek),
14865         (gst_element_get_query_types), (gst_element_query),
14866         (gst_element_get_formats), (gst_element_convert),
14867         (gst_element_is_locked_state), (gst_element_set_locked_state),
14868         (gst_element_sync_state_with_parent), (gst_element_change_state),
14869         (gst_element_finalize), (gst_element_yield),
14870         (gst_element_interrupt), (gst_element_set_scheduler),
14871         (gst_element_get_scheduler), (gst_element_set_loop_function):
14872         * gst/gstelement.h:
14873         * gst/gstevent.h:
14874         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14875         (gst_format_get_by_nick), (gst_format_get_details),
14876         (gst_format_iterate_definitions):
14877         * gst/gstformat.h:
14878         * gst/gstindex.c: (gst_index_gtype_resolver):
14879         * gst/gstinfo.c:
14880         * gst/gstinfo.h:
14881         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14882         (gst_mem_chunk_free):
14883         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14884         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14885         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14886         (gst_object_dispatch_properties_changed),
14887         (gst_object_set_name_default), (gst_object_set_name),
14888         (gst_object_get_name), (gst_object_set_name_prefix),
14889         (gst_object_get_name_prefix), (gst_object_set_parent),
14890         (gst_object_get_parent), (gst_object_unparent),
14891         (gst_object_check_uniqueness), (gst_object_save_thyself),
14892         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14893         (gst_object_set_property), (gst_object_get_property),
14894         (gst_object_get_path_string):
14895         * gst/gstobject.h:
14896         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14897         (gst_real_pad_init), (gst_real_pad_get_property),
14898         (gst_pad_custom_new), (gst_pad_get_direction),
14899         (gst_pad_set_active), (gst_pad_is_active),
14900         (gst_pad_set_event_function), (gst_pad_is_linked),
14901         (gst_pad_link_free), (gst_pad_link_intersect),
14902         (gst_pad_link_fixate), (gst_pad_set_caps),
14903         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14904         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14905         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14906         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14907         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14908         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14909         (gst_pad_realize), (gst_pad_get_allowed_caps),
14910         (gst_real_pad_dispose), (gst_real_pad_finalize),
14911         (gst_pad_collectv), (gst_pad_collect_valist),
14912         (gst_pad_template_dispose), (gst_pad_template_new),
14913         (gst_pad_get_internal_links):
14914         * gst/gstpad.h:
14915         * gst/gstpipeline.c: (gst_pipeline_dispose),
14916         (gst_pipeline_change_state):
14917         * gst/gstpipeline.h:
14918         * gst/gstplugin.c:
14919         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14920         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14921         * gst/gstpluginfeature.h:
14922         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14923         * gst/gstquery.c: (_gst_query_type_initialize),
14924         (gst_query_type_register), (gst_query_type_get_by_nick),
14925         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14926         * gst/gstquery.h:
14927         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14928         * gst/gstscheduler.c: (gst_scheduler_add_element),
14929         (gst_scheduler_factory_create):
14930         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14931         (gst_structure_free), (gst_structure_set_name),
14932         (gst_structure_id_set_value), (gst_structure_set_value),
14933         (gst_structure_set_valist), (gst_structure_remove_field),
14934         (gst_structure_remove_fields),
14935         (gst_structure_remove_fields_valist),
14936         (gst_structure_remove_all_fields), (gst_structure_foreach),
14937         (gst_structure_map_in_place),
14938         (gst_caps_structure_fixate_field_nearest_int),
14939         (gst_caps_structure_fixate_field_nearest_double):
14940         * gst/gststructure.h:
14941         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14942         (gst_system_clock_init), (gst_system_clock_dispose),
14943         (gst_system_clock_async_thread),
14944         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14945         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14946         * gst/gstsystemclock.h:
14947         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14948         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14949         * gst/gsttaginterface.c:
14950         * gst/gstthread.c: (gst_thread_dispose),
14951         (gst_thread_release_children_locks), (gst_thread_change_state),
14952         (gst_thread_main_loop):
14953         * gst/gsttrashstack.h:
14954         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14955         * gst/gsttypes.h:
14956         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14957         (gst_element_request_pad), (gst_element_get_pad_from_template),
14958         (gst_element_request_compatible_pad),
14959         (gst_element_get_compatible_pad_filtered),
14960         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14961         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14962         (gst_element_link_many), (gst_element_link),
14963         (gst_element_link_pads), (gst_element_unlink_pads),
14964         (gst_element_unlink_many), (gst_element_unlink),
14965         (gst_pad_can_link_filtered), (gst_pad_can_link),
14966         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14967         (gst_object_default_error), (gst_bin_add_many),
14968         (gst_bin_remove_many), (gst_element_populate_std_props),
14969         (gst_element_class_install_std_props), (gst_buffer_merge),
14970         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14971         (link_fold_func), (gst_pad_proxy_setcaps):
14972         * gst/gstutils.h:
14973         * gst/gstvalue.c: (gst_value_deserialize_string):
14974         * gst/parse/grammar.y:
14975         * gst/schedulers/gstbasicscheduler.c:
14976         (gst_basic_scheduler_cothreaded_chain),
14977         (gst_basic_scheduler_chain_recursive_add),
14978         (gst_basic_scheduler_pad_link):
14979         * gst/schedulers/gstoptimalscheduler.c:
14980         (get_group_schedule_function),
14981         (gst_opt_scheduler_state_transition),
14982         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14983         * libs/gst/bytestream/bytestream.c:
14984         * libs/gst/dataprotocol/dataprotocol.c:
14985         (gst_dp_header_from_buffer):
14986         * po/nb.po:
14987         * po/ru.po:
14988         * tests/threadstate/threadstate2.c: (eos):
14989         * tools/gst-compprep.c: (main):
14990         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14991         (print_pad_info), (print_children_info):
14992         * tools/gst-launch.c: (idle_func), (main):
14993         * tools/gst-md5sum.c: (idle_func), (main):
14994         * tools/gst-xmlinspect.c: (print_element_info):
14995         First THREADED backport attempt, focusing on adding locks and
14996         making sure the API is threadsafe. Needs more work. More docs
14997         follow this week.
14998
14999 2005-02-24  Andy Wingo  <wingo@pobox.com>
15000
15001         * tests/bench-complexity.scm:
15002         * tests/complexity.gnuplot: New files, good for running complexity
15003         benchmarks.
15004
15005         * tests/Makefile.am:
15006         * tests/complexity.c: New test, sets up N elements, at each level
15007         teeing into M streams per element. Eeeenteresting.
15008
15009         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
15010         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
15011         running bench-mass_elements.scm.
15012
15013         * tests/bench-mass_elements.scm: New script, runs mass_elements
15014         for various numbers of identities, outputting the results to a
15015         file. Requires guile 1.6. Just for testing.
15016
15017 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15018
15019         * gst/schedulers/fairscheduler.c:
15020           compile with debug disabled
15021
15022 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15023
15024         * configure.ac:
15025           hunting season on 0.9 is now OPEN