docs/manual/advanced-dataaccess.xml: Add some very very basic error checking.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * docs/manual/advanced-dataaccess.xml:
4           Add some very very basic error checking.
5
6         * docs/pwg/appendix-checklist.xml:
7           Some updates to the list of things to check when writing an element.
8
9 2006-03-08  Wim Taymans  <wim@fluendo.com>
10
11         * docs/design/part-element-transform.txt:
12         Added some docs about the design of tranform elements.
13
14         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15         (gst_base_src_loop), (gst_base_src_change_state):
16         Mark buffers with the DISCONT flag.
17
18 2006-03-08  Michael Smith  <msmith@fluendo.com>
19
20         * gst/gstregistry.h:
21         * gst/gstregistryxml.c: (gst_registry_save),
22         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
23         (gst_registry_xml_save_pad_template),
24         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
25         (gst_registry_xml_write_cache):
26           Rewrite registry-saving to avoid race conditions and check for
27           failed writes.
28
29 2006-03-08  Wim Taymans  <wim@fluendo.com>
30
31         * libs/gst/base/gstbasetransform.c:
32         (gst_base_transform_transform_caps),
33         (gst_base_transform_transform_size),
34         (gst_base_transform_prepare_output_buffer),
35         (gst_base_transform_get_unit_size),
36         (gst_base_transform_buffer_alloc),
37         (gst_base_transform_handle_buffer),
38         (gst_base_transform_change_state):
39         Cleanups, separate normal flow from errors, add sensible
40         DEBUG lines.
41         Don't try to renegotiate when allocating an output buffer.
42         Also copy DISCONT buffer flag when copying a buffer.
43         Reset the transform after we finish streaming, not during.
44
45 2006-03-08  Wim Taymans  <wim@fluendo.com>
46
47         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
48         Use last buffer timestamp in qos message.
49
50 2006-03-07  Wim Taymans  <wim@fluendo.com>
51
52         * docs/pwg/advanced-tagging.xml:
53         * docs/pwg/building-pads.xml:
54         Applied patch from Christophe Fergeau, fixes #333416
55
56 2006-03-07  Wim Taymans  <wim@fluendo.com>
57
58         * docs/libs/gstreamer-libs-sections.txt:
59         Added basesink new methods.
60
61         * gst/gstevent.c:
62         * gst/gstevent.h:
63         Docs updates. Flesh out the QoS docs.
64
65         * libs/gst/base/gstadapter.c:
66         Small doc clarification about ownership and flushing.
67
68         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
69         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
70         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
71         (gst_base_sink_get_property), (gst_base_sink_do_sync):
72         * libs/gst/base/gstbasesink.h:
73         Added new methods to allow subclass to control max-lateness 
74         and sync.
75         Generate very basic QoS events based on last sync observation.
76         Updated docs, fix typo, added some QoS blurb.
77
78         * libs/gst/base/gstbasesrc.c:
79         Remove obsolete _get_state() calls from docs.
80
81 2006-03-07  Wim Taymans  <wim@fluendo.com>
82
83         * docs/libs/gstreamer-libs-sections.txt:
84         * libs/gst/base/gstbasetransform.h:
85         Fix #333669, Add pad accessor defines for GstBaseTransform
86         Fix docs for GstBaseSrc.
87
88 2006-03-07  Wim Taymans  <wim@fluendo.com>
89
90         * docs/gst/gstreamer-sections.txt:
91         * gst/gstbuffer.h:
92         * gst/gstvalue.c:
93         * libs/gst/base/gstbasetransform.h:
94         Small documentation fixes.
95
96 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
97
98         * gst/gstvalue.c:
99           Document thread-unsafety of gst_value_register_foo_func()
100           when used at the same time as gst_value_foo() (#322628).
101
102 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
103
104         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
105         (gst_push_src_check_get_range):
106           Push sources don't support pull mode by default.
107
108 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
109
110         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
111         (gst_base_src_init), (gst_base_src_pad_check_get_range),
112         (gst_base_src_default_check_get_range):
113         * libs/gst/base/gstbasesrc.h:
114           Add ::check_get_range() vfunc to GstBaseSrc (#332611),
115           provide default implementation, and rename
116           gst_base_src_check_get_range() to
117           gst_base_src_pad_check_get_range() for clarity.
118
119 2006-03-06  Wim Taymans  <wim@fluendo.com>
120
121         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
122         Make property overridable.
123
124 2006-03-06  Wim Taymans  <wim@fluendo.com>
125
126         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
127         (gst_base_sink_init), (gst_base_sink_set_property),
128         (gst_base_sink_get_property), (gst_base_sink_do_sync):
129         * libs/gst/base/gstbasesink.h:
130         Make max-lateness a property.
131
132 2006-03-06  Wim Taymans  <wim@fluendo.com>
133
134         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
135         (gst_base_sink_do_sync), (gst_base_sink_render_object):
136         Don't ever draw a frame that is >10ms late.
137
138 2006-03-06  Michael Smith  <msmith@fluendo.com>
139
140         * gst/gstmessage.c: (_gst_message_copy):
141           When copying a message, set the parent_refcount of the enclosed
142           structure to point at the copy, not the original message.
143
144 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
145
146         * gst/gstutils.h:
147           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
148           usable in c++ code (#333417; patch by: Christophe Fergeau)
149
150 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
151
152         * gst/gstclock.h:
153           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
154
155 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
156
157         * libs/gst/base/gstbasetransform.c:
158         (gst_base_transform_transform_caps):
159           Make sure caps are writable before passing them to
160           gst_caps_append().
161
162 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
163
164         * gst/gsterror.h:
165           Fix some minor docs errors.
166
167 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
168
169         * gst/gsterror.c: (_gst_resource_errors_init):
170         * gst/gsterror.h:
171           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
172           patch by: Ross Burton <ross at burtonini dot com>).
173
174 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
175
176         * gst/gst.c:
177         Add a check and output a g_warning when GStreamer is built
178         against GLib 2.6 but running against 2.8 or higher, and vice 
179         versa. (Closes: #323542)
180
181 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
182
183         * gst/parse/parse.l:
184           Commit patch for parse_launch syntax from #331255. Removes 
185           support for quoted strings and mimetypes when writing filtered 
186           caps. See the bug report for more details - I'm pretty sure this
187           obscure feature is not in use by _anyone_ anywhere.
188
189           With this simple change, the size of the gstreamer.so here 
190           drops from 2193KB to 1565KB.
191
192 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
193
194         * plugins/elements/gsttypefindelement.h:
195         * plugins/elements/gsttypefindelement.c:
196         (gst_type_find_element_src_event), (start_typefinding),
197         (stop_typefinding), (gst_type_find_element_handle_event),
198         (gst_type_find_element_chain),
199         (gst_type_find_element_chain_do_typefinding):
200           Use gst_type_find_helper_for_buffer() for chain-based
201           typefinding.
202
203 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
204
205         * plugins/elements/gsttypefindelement.c:
206         (gst_type_find_element_class_init),
207         (gst_type_find_element_set_property),
208         (gst_type_find_element_get_property):
209           Deprecate "maximum" property (not only was it only taken into
210           account for typefinding in push-mode anyway, it also was never
211           actually possible to set it in the first place because the
212           property was registered with the numeric property ID for the
213           "minimum" property). Register "maximum" property correctly,
214           for the sake of future copy'n'pasters. Remove some cruft
215           from property get/set functions.
216
217 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
218
219         * plugins/elements/gsttypefindelement.c:
220         (gst_type_find_element_activate):
221           Use gst_type_find_helper_get_range() here, so we
222           can honour the "minimum" property and also emit
223           the signal with the correct probability of the found caps.
224
225 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
226
227         * docs/libs/gstreamer-libs-sections.txt:
228         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
229         (helper_find_suggest), (gst_type_find_helper_get_range),
230         (gst_type_find_helper):
231         * libs/gst/base/gsttypefindhelper.h:
232           New API: gst_type_find_helper_get_range() (#333042).
233
234 2006-03-02  Michael Smith  <msmith@fluendo.com>
235
236         * gst/gstregistryxml.c: (load_feature):
237           Asserting on a failure to read part of the registry is Not Cool.
238           Just log a warning and return NULL (which is already handled)
239
240 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
241
242         * win32/common/libgstbase.def:
243           added export of gst_type_find_helper_for_buffer
244         * win32/common/libgstbase.def:
245           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
246           gst_ghost_pad_get_target
247
248 2006-02-28  Wim Taymans  <wim@fluendo.com>
249
250         * docs/design/draft-klass.txt:
251         We use Filter now.
252         Added Connector to mark elements that are only used to
253         allow pipeline connections.
254         Moved Debug to extra feature since most of them are 
255         functionally something else.
256
257 2006-02-28  Wim Taymans  <wim@fluendo.com>
258
259         * docs/design/draft-klass.txt:
260         Some updates and clarifications.
261
262 2006-02-28  Wim Taymans  <wim@fluendo.com>
263
264         * docs/design/draft-klass.txt:
265         Proposal for klass field values.
266
267         * docs/design/part-streams.txt:
268         Start of a doc describing stream anatomy.
269
270 2006-02-28  Wim Taymans  <wim@fluendo.com>
271
272         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
273         Help the compiler a bit with type registration.
274         Use existing forward cod path instead of duplicating it when 
275         handling a message.
276         
277         * gst/gstbus.c: (gst_bus_get_type):
278         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
279         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
280         * gst/gstclock.c: (gst_clock_get_type):
281         * gst/gstelement.c: (gst_element_get_type),
282         * gst/gstelementfactory.c: (gst_element_factory_get_type):
283         * gst/gstindexfactory.c: (gst_index_factory_get_type):
284         * gst/gstminiobject.c: (gst_mini_object_get_type):
285         * gst/gstpad.c: (gst_pad_get_type):
286         * gst/gstsegment.c: (gst_segment_get_type):
287         * gst/gststructure.c: (gst_structure_get_type):
288         * gst/gstsystemclock.c: (gst_system_clock_get_type):
289         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
290         * gst/gstvalue.c:
291         Help compiler with type registration.
292
293         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
294         Small doc update.
295
296
297 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
298
299         * plugins/elements/gsttypefindelement.c:
300         (gst_type_find_element_handle_event):
301           When we get an EOS event and have not found a type yet
302           (most likely because we had not yet accumulated
303           TYPE_FIND_MIN_SIZE of data yet), try to determine the
304           type given the data we have so far. Fixes typefinding
305           for very short streams again, most notably quicktime
306           redirections as used on Apple's trailer site (#331701).
307
308 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
309
310         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
311         (gst_type_find_helper):
312           Try typefinding factories with the highest rank first.
313
314 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
315
316         * docs/libs/gstreamer-libs-docs.sgml:
317         * docs/libs/gstreamer-libs-sections.txt:
318         * libs/gst/base/gsttypefindhelper.c:
319           Add section for typefind helper and add documentation
320           for the old and the new function.
321
322 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
323
324         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
325         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
326         (gst_type_find_helper_for_buffer):
327         * libs/gst/base/gsttypefindhelper.h:
328           New API: gst_type_find_helper_for_buffer() (#332723).
329           
330 2006-02-27  Michael Smith  <msmith@fluendo.com>
331
332         * configure.ac:
333         * docs/Makefile.am:
334         * docs/slides/Makefile.am:
335           Patch from Loïc Minier to prevent CVS directories getting disted.
336
337 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
338
339         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
340           Use the REFCOUNTING category for caps refcounting.
341           
342 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
343
344         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
345           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
346
347 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
348
349         * plugins/elements/gsttypefindelement.c:
350         (gst_type_find_element_activate):
351           Use gst_pad_check_pull_range() before _activate_pull()
352           to avoid unnecessary open/close (see #331690).
353
354 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
355
356         * gst/gstutils.c:
357           Docs enhancement: make it crystal clear what the
358           gst_pad_add_*_probe() callbacks should look like.
359
360 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
361
362         * libs/gst/base/gstbasesrc.c:
363           Document how applications can stop recording from
364           live sources (see #330996).
365
366 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
367
368         * docs/gst/tmpl/.cvsignore:
369         * docs/plugins/tmpl/.cvsignore:
370         * tests/check/gst/.cvsignore:
371         * tests/check/libs/.cvsignore:
372         * tests/check/pipelines/.cvsignore:
373           Ignore more stuff.
374
375 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
376
377         * tests/check/Makefile.am:
378         * tests/check/libs/basesrc.c: (eos_event_counter),
379         (basesrc_eos_events_pull), (basesrc_eos_events_push),
380         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
381         (gst_basesrc_suite), (main):
382           ... and add some tests for the base source EOS stuff.
383
384 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
385
386         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
387           Test case originally showed the problem fixed below,
388           but was then amended. Add checks back at the place
389           where they used to be.
390
391 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
392
393         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
394         (gst_base_src_init), (gst_base_src_loop),
395         (gst_base_src_activate_push), (gst_base_src_activate_pull),
396         (gst_base_src_change_state):
397         * libs/gst/base/gstbasesrc.h:
398           Don't unconditionally send EOS when going from PAUSED to
399           READY state, esp. make sure we don't send two EOS events
400           in some cases (e.g. one when reaching EOS and one when
401           going from PAUSED to READY). Also, we don't want to send
402           EOS events when operating in pull mode. However, we do
403           want to send an EOS event when shutting down a live
404           source explicitly, for example (fixes #330996).
405           
406 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
407
408         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
409           Update src->read_position after a seek when not using mmap.
410           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
411
412 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
413
414         * gst/Makefile.am:
415         * gst/gstparse.h:
416         * gst/gstutils.c:
417         * gst/gstutils.h:
418         Make things work with --disable-parse as they do with 
419         --disable-load-save - the symbols involved disappear, but the
420         header is still installed and GST_DISABLE_PARSE is included via
421         gstconfig.h
422
423 2006-02-20  Julien MOUTTE  <julien@moutte.net>
424
425         * libs/gst/base/gstbasetransform.c:
426         (gst_base_transform_change_state): Fix a stupid bug. I was 
427         sure i compiled that.
428
429 2006-02-20  Julien MOUTTE  <julien@moutte.net>
430
431         * gst/gstpad.c: (gst_pad_set_blocked_async):
432         * gst/gstutils.c: (gst_pad_add_data_probe),
433         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
434         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
435         (gst_pad_remove_buffer_probe): Make those function act on the
436         ghostpad target when it's a ghostpad. (Closes #331727)
437
438 2006-02-20  Julien MOUTTE  <julien@moutte.net>
439
440         * libs/gst/base/gstbasetransform.c:
441         (gst_base_transform_change_state): Make basetransform reusable.
442         (Closes #331898)
443
444 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
445
446         * docs/random/release:
447         Move the current documentation of how to do a release to the top
448         of the file.
449
450         * gst/gstbin.c: (gst_bin_class_init),
451         (gst_bin_handle_message_func):
452         Allow multiple state-recalculation threads. (Closes #328873)
453
454 2006-02-19  Julien MOUTTE  <julien@moutte.net>
455
456         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
457         * gst/gstpad.c: (gst_pad_set_event_function),
458         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
459         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
460         2 strings. You can't use the STR_NULL macro on that.
461
462 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
463
464         * gst/gstpad.c: (gst_pad_set_event_function),
465         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
466         (gst_pad_set_getcaps_function)
467         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
468                 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
469                 So now, we can use --gst-debug-level=5 on Windows
470         * win32/common/libgstcontroller.def:
471           Added export of gst_controller_init
472         * win32/vs6/libgstcontroller.dsp:
473           Fixed Release post build configuration
474
475 2006-02-17  Wim Taymans  <wim@fluendo.com>
476
477         * tests/check/gst/gstquery.c: (GST_START_TEST):
478         Added another check.
479
480 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
481
482         * plugins/elements/gsttypefindelement.c: (find_peek):
483           We can do peeks at non-zero offsets, as long as they
484           fall within the buffer we have.
485
486 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
487
488         * tests/check/Makefile.am:
489         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
490         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
491         (parse_suite), (main):
492           Add testsuite for parse launch syntax
493
494 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
495
496         * plugins/elements/gsttypefindelement.c:
497         (gst_type_find_element_chain):
498           When typefinding is unsuccessful in the chain function, don't
499           error out immediately. Only error out with NO_CAPS_FOUND if
500           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
501           otherwise simply wait for more data so we can try typefinding
502           again with more data later. Also, don't attempt to typefind
503           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
504           this should improve typefinding from network sources where the
505           size of the first buffer can be somewhat random.
506
507 2006-02-14  Wim Taymans  <wim@fluendo.com>
508
509         * docs/gst/gstreamer-sections.txt:
510         * gst/gstpadtemplate.c:
511         * gst/gstpadtemplate.h:
512         Fix padtemplate docs, fixes #328805.
513
514 2006-02-14  Wim Taymans  <wim@fluendo.com>
515
516         * tools/gst-launch.c: (main):
517         NO_PREROLL is not an ERROR so don't send confusing messages
518         to the user.
519
520 2006-02-14  Wim Taymans  <wim@fluendo.com>
521
522         * gst/gstregistry.c: (gst_registry_get_default),
523         (_gst_registry_cleanup):
524         Protect default registry with lock and ref/sink it.
525         Fixes #324818, patch by Torsten Schoenfeld.
526
527 2006-02-14  Wim Taymans  <wim@fluendo.com>
528
529         * gst/gstbuffer.c:
530         * gst/gstquery.c: (gst_query_list_add_format),
531         (gst_query_set_formatsv), (gst_query_parse_formats_length),
532         (gst_query_parse_formats_nth):
533         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
534         Docs fixes.
535
536 2006-02-14  Wim Taymans  <wim@fluendo.com>
537
538         * docs/gst/gstreamer-sections.txt:
539         Reworked query docs.
540
541         * gst/gstquery.c: (gst_query_new_formats),
542         (gst_query_list_add_format), (gst_query_set_formats),
543         (gst_query_set_formatsv), (gst_query_parse_formats_length),
544         (gst_query_parse_formats_nth):
545         * gst/gstquery.h:
546         Flesh out formats query, added some new methods.
547         Fix part of #324398.
548
549         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
550         Added query creation tests.
551
552 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
553
554         * gst/gstpad.c: (fixate_value):
555         Add a default fixation for fraction lists.
556
557 2006-02-13  Wim Taymans  <wim@fluendo.com>
558
559         * gst/gsttask.c: (gst_task_init), (gst_task_func),
560         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
561         (gst_task_join):
562         * gst/gsttask.h:
563         Detect and warn for obvious deadlocks. fixes #320340
564         Fix error case where lock was not released.
565
566         * tests/check/Makefile.am:
567         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
568         (task_func), (gst_element_suite), (main):
569         Add task check.
570
571 2006-02-13  Wim Taymans  <wim@fluendo.com>
572
573         * docs/gst/gstreamer-sections.txt:
574         * gst/gstbus.c:
575         Add new functions to docs.
576
577 2006-02-13  Wim Taymans  <wim@fluendo.com>
578
579         * docs/design/part-TODO.txt:
580         Updated TODO list, basesrc supports seeking to non-bytes
581         formats.
582
583         * docs/design/part-element-sink.txt:
584         Update docs.
585
586         * gst/gstbin.c: (bin_replace_message),
587         (gst_bin_handle_message_func):
588         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
589         * gst/gstevent.c: (gst_event_finalize):
590         * gst/gstpad.c: (gst_pad_event_default_dispatch),
591         (gst_pad_send_event):
592         Use shiny new _TYPE_NAME macros.
593
594         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
595         Move debug statement up.
596
597         * gst/gstelement.c: (gst_element_set_locked_state):
598         Add some debugging.
599
600 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
601
602         * docs/gst/gstreamer-sections.txt:
603         * gst/gstmessage.h:
604         * gst/gstquery.h:
605           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
606           macros (#330906). Also, document the already existing
607           GST_QUERY_TYPE macro.
608
609 2006-02-13  Wim Taymans  <wim@fluendo.com>
610
611         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
612         (event_probe), (GST_START_TEST):
613         Only events up to the pipeline EOS are counted, there are
614         some more when going to NULL currently which we don't care
615         about for now.
616
617 2006-02-13  Wim Taymans  <wim@fluendo.com>
618
619         * gst/gstpad.c: (gst_pad_send_event):
620         Correctly check flushing and emit probes. fixes #330125
621
622 2006-02-10  Andy Wingo  <wingo@pobox.com>
623
624         * gst/gstbus.c (gst_bus_class_init): Declare our private data
625         structure.
626         (gst_bus_init): Cache the location of the private data in the
627         instance structure.
628         (gst_bus_enable_sync_message_emission) 
629         (gst_bus_disable_sync_message_emission): Implement new public
630         functions.
631         (gst_bus_post): Emit the sync-message signal if the user asked for
632         it. Fixes #330684.
633
634         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
635         location of the bus-private structuure.
636         (gst_bus_enable_sync_message_emission)
637         (gst_bus_disable_sync_message_emission): New public functions.
638
639 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
640
641         * docs/pwg/building-boiler.xml:
642         PWG patch from #326800 (Patch by Vincent Torri)
643
644 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
645
646         * configure.ac:
647         * docs/Makefile.am:
648         * docs/design/Makefile.am:
649           Dist design docs.
650
651 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
652
653         * configure.ac:
654           back to CVS
655
656 === release 0.10.3 ===
657
658 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
659
660         * configure.ac:
661           releasing 0.10.3, "Like a virgin"
662
663 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
664
665         * configure.ac:
666           2nd prerelease of 0.10.3
667           Bump libtool versioning.
668
669 2006-02-07  Andy Wingo  <wingo@pobox.com>
670
671         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
672         update last_stop if we're in TIME format and the timestamp is
673         valid.
674
675         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
676         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
677         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
678         If we get a new newsegment with a different format, adapt
679         accordingly.
680
681         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
682         of 0. Not a problem, really.
683
684         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
685         warn if sync=true.
686
687 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
688
689         * configure.ac:
690           Prelease of 0.10.3
691
692 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
693
694         * win32/vs7:
695           project files updated to the default vs7 configuration
696         * win32/common/libgstbase.def:
697         * win32/common/libgstreamer.def:
698           added new symbols,
699           removed empty lines,
700           sorted all exported symbols alphabetically
701         * win32/common/dirent.c:
702         * win32/common/dirent.h:
703         * win32/common/gchar.h:
704           use windows line end.
705           
706 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
707
708         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
709           Send EOS event when stopping.
710
711 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
712
713         * docs/README:
714           Tell folks what to do if the plugin-foobar.xml file
715           hasn't been generated for a newly-added plugin.
716
717 2006-02-05  Julien MOUTTE  <julien@moutte.net>
718
719         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
720         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
721         (gst_collect_pads_start), (gst_collect_pads_stop),
722         (gst_collect_pads_event): Collectpads now holds a reference
723         to the GstPad that was added. Indeed we don't want to look
724         at pads that might just go away with no warning...
725
726 2006-02-05  Julien MOUTTE  <julien@moutte.net>
727
728         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
729         (gst_collect_pads_start), (gst_collect_pads_stop),
730         (gst_collect_pads_event), (gst_collect_pads_chain):
731         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
732         Mark Nauwelaerts's patch on bug #328491.
733
734 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
735
736         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
737         (gst_utils_suite):
738           Add some simple tests for gst_parse_bin_from_description() and
739           gst_bin_find_unconnected_pad() (#329069).
740
741 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
742
743         * tools/gst-launch.c: (event_loop), (main):
744           Catch errors during preroll (#320084).
745
746 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
747
748         * plugins/elements/gsttypefindelement.c:
749         (gst_type_find_element_activate):
750           Post TYPE_NOT_FOUND error message when typefinding
751           is unsuccessful in the activate function as well.
752
753 2006-02-02  Wim Taymans  <wim@fluendo.com>
754
755         * docs/design/part-element-sink.txt:
756         Updated doc.
757
758 2006-02-02  Wim Taymans  <wim@fluendo.com>
759
760         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
761         (gst_base_sink_render_object),
762         (gst_base_sink_queue_object_unlocked):
763         Only keep track of prerollable items when we are 
764         prerolling.
765         Before rendering after preroll, always check if we
766         have queued items.
767         Added some more debugging.
768
769 2006-02-02  Wim Taymans  <wim@fluendo.com>
770
771         * gst/gstelement.c: (gst_element_continue_state),
772         (gst_element_set_state_func), (gst_element_change_state):
773         Fixed #326576, been running this for quite some time with
774         no regressions at all.
775
776 2006-02-02  Wim Taymans  <wim@fluendo.com>
777
778         * common/gst.supp:
779         Added more suppressions
780
781 2006-02-02  Wim Taymans  <wim@fluendo.com>
782
783         * docs/design/part-element-sink.txt:
784         Updated document.
785
786         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
787         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
788         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
789         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
790         (gst_base_sink_do_sync), (gst_base_sink_render_object),
791         (gst_base_sink_preroll_object),
792         (gst_base_sink_queue_object_unlocked),
793         (gst_base_sink_queue_object), (gst_base_sink_event),
794         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
795         (gst_base_sink_loop), (gst_base_sink_activate_pull),
796         (gst_base_sink_get_position), (gst_base_sink_change_state):
797         * libs/gst/base/gstbasesink.h:
798         Totally refactored matching the design doc.
799         Use two segments, one to clip incomming buffers and another to
800         perform sync.
801         Handle queueing correctly, bypass the queue when playing.
802         Make EOS cancelable.
803         Handle errors correctly when operating in pull based mode.
804
805         * tests/check/elements/fakesink.c: (GST_START_TEST),
806         (fakesink_suite):
807         Added new check for sinks.
808
809 2006-02-02  Wim Taymans  <wim@fluendo.com>
810
811         * gst/gstsegment.c: (gst_segment_clip):
812         No reason to refuse to clip when start == -1
813
814 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
815
816         * docs/README:
817         * docs/manual/intro-basics.xml:
818         * docs/manual/intro-preface.xml:
819         * docs/manual/manual.xml:
820         * docs/pwg/advanced-dparams.xml:
821         * docs/pwg/intro-basics.xml:
822         * docs/pwg/intro-preface.xml:
823         * docs/pwg/pwg.xml:
824           describe dparams (controller) for plugins
825           unify docs a little more
826
827 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
828
829         * docs/gst/gstreamer-sections.txt:
830         * gst/gstutils.c: (element_find_unconnected_pad),
831         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
832         * gst/gstutils.h:
833           Add new API: gst_parse_bin_from_description() and
834           gst_bin_find_unconnected_pad() (#329069).
835
836 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
837
838         * docs/manual/README:
839           uncover a nasty detail of the docs build
840
841 2006-01-31  Wim Taymans  <wim@fluendo.com>
842
843         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
844         Don't cache duration messages if we're not going to use or
845         free them.
846
847 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
848
849         * docs/manual/advanced-dparams.xml:
850         * docs/pwg/advanced-dparams.xml:
851           more dparam docs
852         * gst/gstindex.c:
853           fix docs
854         * libs/gst/controller/lib.c: (gst_controller_init):
855           init just once
856
857 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
858
859         * gst/gstelement.c: (gst_element_message_full):
860           also show file/line/func if no additional debug was given
861
862 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
863         
864         * win32/vs7/grammar.vcproj:
865                 activate copy of autogenerated files for Release mode
866
867 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
868         
869         * win32/common/libgstreamer.def:
870                 export gst_value_compare
871
872 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
873
874         * plugins/elements/Makefile.am:
875         * plugins/elements/gstelements.c:
876         * plugins/elements/gstfdsink.c: (_do_init),
877         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
878         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
879         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
880         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
881         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
882         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
883         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
884         * plugins/elements/gstfdsink.h:
885         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
886
887 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
888
889         * docs/manual/advanced-dparams.xml:
890           describe controller
891         * docs/manual/advanced-position.xml:
892         * docs/manual/basics-init.xml:
893         * docs/manual/manual.xml:
894         * docs/manual/titlepage.xml:
895         * docs/pwg/pwg.xml:
896         * docs/pwg/titlepage.xml:
897           cleanup xml (more to come)
898         * libs/gst/controller/gstcontroller.c:
899           fix typo
900
901 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
902         
903         * win32/vs6/grammar.dsp:
904                 add autogen of gstmarshal.c,h for Release mode
905                 
906 2006-01-30  Wim Taymans  <wim@fluendo.com>
907
908         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
909         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
910         (gst_base_sink_handle_object), (gst_base_sink_event),
911         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
912         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
913         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
914         (gst_base_sink_deactivate), (gst_base_sink_activate),
915         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
916         (gst_base_sink_query), (gst_base_sink_change_state):
917         Basesink cleanups, remove some old code.
918         Handle the case where a subclass can preroll in the render
919         method (mostly audiosinks).
920         Handle more events.
921         Remove some locks around variables that are now protected
922         with the PREROLL_LOCK (clock_id, flushing, ..).
923         Optimize position query some more, do correct locking.
924         Remove old code to push queue in state change, this is not
925         needed anymore since preroll blocks on all prerollable items 
926         now.
927         Almost implemented as described in design doc.
928
929 2006-01-30  Wim Taymans  <wim@fluendo.com>
930
931         * tests/check/gst/gstbin.c: (GST_START_TEST):
932         Wait for refcount to settle down before checking.
933
934 2006-01-30  Wim Taymans  <wim@fluendo.com>
935
936         * docs/design/part-element-sink.txt:
937         Pseudo code overview of desired sink behaviour regarding
938         preroll.
939
940 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
941         * win32/vs6/grammar.dsp:
942                 fix some bugs in Release mode for autogenerated files
943                 
944 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
945         * win32/common/libgstbase.def:
946         * win32/common/libgstreamer.def:
947                 export some new symbols: gst_base_src_set_format,
948                 gst_iterator_next, gst_structure_set_valist
949
950 2006-01-29  Julien MOUTTE  <julien@moutte.net>
951
952         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
953         Set pad functions unconditionally. Fixes #329105.
954
955 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
956         * win32/vs8:
957                 add vs8 project files created by Sergey Scobich
958
959 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
960
961         * gst/gstutils.c: (gst_element_unlink_pads):
962         Don't leak pad references.
963
964         * tests/check/elements/fakesink.c: (GST_START_TEST):
965         * tests/check/generic/sinks.c: (GST_START_TEST):
966         * tests/check/generic/states.c: (GST_START_TEST):
967         * tests/check/gst/gstbin.c: (GST_START_TEST):
968         * tests/check/gst/gstcaps.c: (GST_START_TEST):
969         * tests/check/gst/gstelement.c: (GST_START_TEST):
970         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
971         * tests/check/gst/gstiterator.c: (GST_START_TEST):
972         * tests/check/gst/gstvalue.c: (GST_START_TEST):
973         Fix a bunch of leaks. Make generic/sinks.c
974         use a bit less cpu by slowing the buffer rate
975         between fakesrc and fakesink.
976         
977 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
978         * gst/gstcaps.c:
979         * gst/gstelement.c: (gst_element_send_event):
980         * gst/gstevent.c:
981         * gst/gstinfo.c:
982         * gst/gstiterator.c:
983         * gst/gstiterator.h:
984         * gst/gstpad.c: (gst_pad_send_event):
985         * gst/gststructure.c:
986         * gst/gsturi.c:
987         * gst/gstutils.c:
988         * gst/gstvalue.c:
989         * libs/gst/base/gstadapter.c:
990           doc fixes, to link to function, just write gst_cool_function(), don't
991           prefix with '#'
992
993 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
994
995         * plugins/elements/gsttee.c: (gst_tee_do_push),
996         (gst_tee_handle_buffer):
997         Always prefer an actual return value from a src
998         pad in place of NOT_LINKED. This means we return
999         WRONG_STATE when all src pads are WRONG_STATE
1000         instead of NOT_LINKED.
1001
1002         Lock when replacing the last message to prevent
1003         racing with the get_property method.
1004
1005         Add debug output
1006
1007 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1008
1009         * tests/check/Makefile.am:
1010         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
1011         (main):
1012         Add a very simple check that should have caught the memleak I fixed
1013         last night (if not for the slice allocator hiding it)
1014
1015 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1016
1017         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1018         (gst_bin_remove_func), (gst_bin_handle_message_func),
1019         (bin_query_duration_fold), (bin_query_generic_fold):
1020         Clean up references to the clock provider when disposed or when
1021         handling a clock-lost message from it.
1022
1023         Unref sinks when performing a query via gst_iterator_fold, as the
1024         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
1025
1026         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
1027         (gst_clock_set_master):
1028         Drop our reference to the master clock, if any, when we are disposed.
1029
1030         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
1031         Chain up in dispose. 
1032
1033 2006-01-26  Wim Taymans  <wim@fluendo.com>
1034
1035         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1036         Add some debugging.
1037
1038 2006-01-26  Julien MOUTTE  <julien@moutte.net>
1039
1040         * plugins/elements/gsttee.c: (gst_tee_do_push),
1041         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
1042         handles pad being NOT_LINKED or in WRONG_STATE.
1043
1044 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1045
1046         * win32/MANIFEST:
1047           more updating
1048
1049 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1050
1051         * win32/MANIFEST:
1052           remove obsolete entry
1053
1054 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1055
1056         * docs/gst/gstreamer-sections.txt:
1057         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
1058         (gst_bin_iterate_sources), (gst_bin_send_event):
1059         * gst/gstbin.h:
1060         * gst/gstelement.c: (gst_element_send_event):
1061         * gst/gstevent.c:
1062         * gst/gstpad.c: (gst_pad_send_event):
1063           added code for downstream events, reviewed docs in gstevent.c
1064
1065 2006-01-25  Julien MOUTTE  <julien@moutte.net>
1066
1067         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1068         We only query position using the clock in the playing state.
1069         Query peer in the other cases.
1070         * win32/common/config.h: Updates.
1071
1072 2006-01-24  Wim Taymans  <wim@fluendo.com>
1073
1074         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1075         A clock entry that is scheduled for the exact time of the
1076         clock is still in time.
1077
1078         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1079         (gst_base_sink_do_sync):
1080         Add some more debug info.
1081
1082 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
1083
1084         * win32/vs7:
1085           Add new vs7 project files and solution.
1086
1087 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
1088
1089         * win32/vs7:
1090           all files removed as they were out-dated.
1091
1092 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1093
1094         * docs/random/release:
1095           update notes
1096         * gst/gstbin.c: (gst_bin_init):
1097         * gst/gstbus.c: (gst_bus_new):
1098         * gst/gstbus.h:
1099         * gst/gstpipeline.c: (gst_pipeline_init):
1100           use gst_bus_new(), improve logging, fix docs
1101         * win32/common/config.h:
1102           update for cvs build
1103
1104 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1105
1106         * autogen.sh:
1107           up required version of automake to 1.7
1108
1109 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
1110
1111         * win32/common/libgstreamer.def:
1112           export gst_buffer_is_metadata_writable
1113
1114 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
1115
1116         * docs/gst/gstreamer-sections.txt:
1117         * gst/gstevent.h:
1118           Add gst_event_replace() (#327001)
1119
1120 2006-01-20  Wim Taymans  <wim@fluendo.com>
1121
1122         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1123         Make it actually compile too..
1124
1125 2006-01-20  Wim Taymans  <wim@fluendo.com>
1126
1127         * gst/gstcaps.c:
1128         Clarify behaviour of _is_equal() when passing NULL parameters.
1129
1130         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1131         (gst_pad_set_caps):
1132         Cleanups. Don't unref NULL caps.
1133         When setting the same caps, protect caps of the pad with
1134         proper lock.
1135         Use full functionality of _is_equal() when comparing caps.
1136
1137 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
1138
1139         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1140         Don't loop infinitely if there are no buffers to present. Partially
1141         fixes #327197, but collectpads is just broken for reusing elements
1142         to do multiple encodes atm.
1143
1144 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
1145
1146         * tools/gst-inspect.c: (print_element_features):
1147         * tools/gst-xmlinspect.c: (main):
1148         URL_HANDLER is not a plugin feature we can search for in
1149         the registry.
1150
1151 2006-01-19  Edward Hervey  <edward@fluendo.com>
1152
1153         * gst/gstelement.c: (gst_element_pads_activate): 
1154         When activating, do src pads first, then sink pads.
1155         When de-activating, do sink pads first, then src pads.
1156
1157 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1158
1159         * docs/gst/gstreamer-sections.txt:
1160         Add gst_index_add_associationv to the docs
1161
1162 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1163
1164         * gst/gstevent.c:
1165           Fix docs typo
1166
1167         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
1168         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
1169           Do some refactoring. Doesn't actually change functionality,
1170           but makes landing the DRAIN event easier later.
1171
1172 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
1173
1174         * docs/pwg/advanced-scheduling.xml:
1175           Update from 0.9.x to 0.10 API and make example a bit
1176           clearer.
1177
1178 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1179
1180         * docs/gst/gstreamer-sections.txt:
1181         Add gst_buffer_(is|make)_metadata_writable methods.
1182
1183 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1184
1185         * docs/design/part-sparsestreams.txt:
1186         Update sparse streams doc, hopefully for greater clarity
1187
1188 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
1189
1190         * docs/design/part-events.txt:
1191         Remove mention of FILLER events.
1192         Add DRAIN event.
1193
1194         * docs/design/part-sparsestreams.txt:
1195         Write some things about using NEWSEGMENT to keep sparse streams
1196         flowing.
1197
1198 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
1199
1200         * gst/gstbin.c: (gst_bin_dispose):
1201           Guard gst_object_unref call against a NULL object (dispose
1202           can theoretically be called multiple times).
1203           
1204 2006-01-18  Wim Taymans  <wim@fluendo.com>
1205
1206         * gst/gstbin.c: (gst_bin_element_set_state):
1207         * gst/gstclock.c: (gst_clock_id_wait):
1208         Added some more debug info.
1209
1210         * libs/gst/base/gstadapter.c:
1211         Added more docs.
1212
1213         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1214         (gst_base_sink_do_sync), (gst_base_sink_chain):
1215         Added some comments.
1216
1217 2006-01-18  Wim Taymans  <wim@fluendo.com>
1218
1219         * tests/check/Makefile.am:
1220         * tests/check/elements/fakesink.c: (chain_async_buffer),
1221         (chain_async), (chain_async_return), (GST_START_TEST),
1222         (fakesink_suite), (main):
1223         Added fakesink test that checks prerolling and clipping
1224         behaviour.
1225
1226         * tests/check/gst/gstutils.c: (GST_START_TEST):
1227         Make check run faster so that buildbots don't timeout.
1228
1229 2006-01-18  Wim Taymans  <wim@fluendo.com>
1230
1231         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1232         (gst_base_sink_do_sync):
1233         Some cleanups.
1234         When the sink finishes blocking on the preroll buffer, it can
1235         immediatly render it instead of rendering when the next buffer
1236         arrives.
1237
1238 2006-01-18  Wim Taymans  <wim@fluendo.com>
1239
1240         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
1241         (gst_base_sink_get_property), (gst_base_sink_do_sync),
1242         (gst_base_sink_chain):
1243         Small cleanups.
1244         GST_ELEMENT_CLOCK and sync are protected with LOCK.
1245         Don't store _last_stop if the buffer is dropped.
1246
1247 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
1248
1249         * plugins/elements/gsttypefindelement.c:
1250         (gst_type_find_element_class_init):
1251           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
1252           object method handler that sets the caps on the pad and we want
1253           that to happen before we emit the signal (fixes e.g. feeding a
1254           plain text file to decodebin).
1255
1256 2006-01-18  Christian Schaller  <Christian@fluendo.com>
1257
1258         * gst/gstplugin.c: Add MPL and Proprietary as license options
1259
1260 2006-01-18  Andy Wingo  <wingo@pobox.com>
1261
1262         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
1263         symbol was exported before, it appears this was just an oversight.
1264         Fixes #168703.
1265         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
1266
1267         * gst/gstindex.c (gst_index_add_associationv): Changed int in
1268         prototype to gint. OK since this prototype was not in the header.
1269
1270 2006-01-17  Andy Wingo  <wingo@pobox.com>
1271
1272         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
1273         registry while we remove plugins.
1274
1275         * tools/gst-inspect.c (print_element_info): Don't unref the
1276         factory arg, that should be the responsibility of whatever code
1277         received the ref. Fixes a double-free when called from
1278         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
1279         (main): Unref the factory if we have one.
1280         (print_element_list): No change -- relies on the
1281         plugin_feature_list_free to free the list of features.
1282
1283 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
1284
1285         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1286         (gst_buffer_make_metadata_writable):
1287         * gst/gstbuffer.h:
1288         * libs/gst/base/gstbasetransform.c:
1289         (gst_base_transform_prepare_output_buf):
1290         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1291         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1292           Replace gst_buffer_(make|is)_metadata_writable patch now
1293           that the release is out.
1294
1295 2006-01-17  Andy Wingo  <wingo@pobox.com>
1296
1297         * gst/gstregistry.c: Reflow design comment. Update so as to speak
1298         in the present tense without reference to versions.
1299
1300         * gst/gstregistry.c (gst_registry_add_plugin)
1301         (gst_registry_remove_plugin, gst_registry_remove_feature)
1302         (gst_registry_find_feature, gst_registry_get_feature_list)
1303         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
1304         (gst_registry_lookup, gst_registry_scan_path)
1305         (_gst_registry_remove_cache_plugins)
1306         (gst_registry_get_feature_list_by_plugin): Add argument
1307         validation.
1308
1309 === release 0.10.2 ===
1310
1311 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
1312
1313         * configure.ac:
1314           releasing 0.10.2, "If man is five"
1315
1316 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1317
1318         * gst/gstbuffer.c:
1319         * gst/gstbuffer.h:
1320         * libs/gst/base/gstbasetransform.c:
1321         (gst_base_transform_prepare_output_buf):
1322         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1323         * tests/check/gst/gstbuffer.c: (gst_test_suite):
1324           Back out patch until after the release.
1325
1326 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1327
1328         * gst/gstminiobject.c:
1329           Spelling fix in docs.
1330         * ChangeLog - remove conflict indicator
1331
1332 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1333
1334         Reviewed By: Andy Wingo
1335
1336         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1337         (gst_buffer_make_metadata_writable):
1338         * gst/gstbuffer.h:
1339           Add gst_buffer_(is|make)_metadata_writable as analogues of
1340           gst_buffer_(is|make)_writable.
1341
1342         * libs/gst/base/gstbasetransform.c:
1343         (gst_base_transform_prepare_output_buf):
1344         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1345           Use name gst_buffer_(is|make)_metadata_writable functions.
1346
1347         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1348           Test gst_buffer_(is|make)_metadata_writable
1349         
1350           (Closes: #324162)
1351
1352 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1353
1354         * docs/manual/Makefile.am:
1355           don't do parallel make
1356         * configure.ac:
1357           AC_SUBST HOST_CPU
1358         * win32/common/config.h.in:
1359           add generations for HOST_CPU and GST_MAJORMINOR
1360         * win32/common/config.h:
1361           commit generated result
1362
1363 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
1364
1365         * docs/manual/appendix-integration.xml:
1366           Update GNOME integration section to use gst_init_get_option_group()
1367           instead of the old popt stuff (#322911). Also, GNOME applications
1368           should  now use gconf*sink and gconf*src instead of the old gconf
1369           helper lib we had.
1370
1371 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
1372
1373
1374         * docs/gst/gstreamer-docs.sgml:
1375         * docs/gst/gstreamer-sections.txt:
1376         * docs/libs/gstreamer-libs-sections.txt:
1377           add new API entries to the docs
1378         * libs/gst/controller/Makefile.am:
1379         * libs/gst/controller/gstcontroller.c:
1380         * libs/gst/controller/gstcontroller.h:
1381         * libs/gst/controller/gstcontrollerprivate.h:
1382         * libs/gst/controller/gsthelper.c:
1383         * libs/gst/controller/gstinterpolation.c:
1384           move private structs to private header
1385         * po/README:
1386           gstreamer-0.7 -> gstreamer-0.10
1387         * tests/check/libs/struct_i386.h:
1388           remove private structs
1389
1390 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1391
1392         * plugins/indexers/Makefile.am:
1393           Fixes as part of #317048
1394
1395 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1396
1397         * plugins/indexers/Makefile.am:
1398           fix #316086 - compilation when mmap is missing
1399
1400 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
1401
1402         * libs/gst/base/gstbasesink.c:
1403           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
1404           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
1405         * win32/common/config.h:
1406           added some defines GST_MAJORMINOR and HOST_CPU
1407         * win32/common/libgstbase.def:
1408         * win32/common/libgstreamer.def:
1409           added some exported functions.
1410
1411 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1412
1413         * libs/gst/controller/gstcontroller.c:
1414         (gst_controlled_property_set_interpolation_mode),
1415         (gst_controlled_property_new):
1416         * libs/gst/controller/gstcontroller.h:
1417         * libs/gst/controller/gstinterpolation.c:
1418         (interpolate_none_get_string_value_array):
1419           make G_TYPE_STRING controlable
1420
1421 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1422
1423         * tools/README:
1424         * tools/gst-feedback.1.in:
1425         * tools/gst-inspect.1.in:
1426         * tools/gst-launch.1.in:
1427         * tools/gst-md5sum.1.in:
1428         * tools/gst-typefind.1.in:
1429         * tools/gst-xmlinspect.1.in:
1430         * tools/gst-xmllaunch.1.in:
1431           cleanup man-pages, remove reference to gst-register, document env-vars
1432
1433 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
1434
1435         * gst/gstbuffer.c: (gst_buffer_span):
1436           gst_buffer_span should copy the timestamp of the first buffer
1437           if they were both originally overlapping subbuffers of the 
1438           same parent, using the same logic as the 'slow copy' case.
1439
1440 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
1441
1442         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
1443           Need to awaken ALL the pads when we pop a buffer, otherwise
1444           collectpads only works when there is 2 input streams.
1445
1446 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
1447
1448         * docs/random/ensonic/media-device-daemon.txt:
1449           more ideas (dbus)
1450         * gst/gstbuffer.c:
1451           fix doc example, add clarification
1452         * tools/gst-launch.1.in:
1453           add initial info about GST_PLUGIN_PATH, needs more work
1454
1455 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1456
1457         * docs/manual/basics-bins.xml:
1458         * docs/manual/basics-elements.xml:
1459         * docs/manual/intro-basics.xml:
1460           Some more minor docs additions and updates.
1461
1462 2006-01-11  Wim Taymans  <wim@fluendo.com>
1463
1464         * docs/manual/basics-bins.xml:
1465         * docs/manual/basics-elements.xml:
1466         Some small fixes as pointed out by Ser-ver on IRC.
1467
1468 2006-01-10  Edward Hervey  <edward@fluendo.com>
1469
1470         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1471         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
1472         the single-segment mode.
1473
1474 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
1475
1476         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1477
1478         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
1479         (gst_base_src_perform_seek), (gst_base_src_send_event),
1480         (gst_base_src_set_property), (gst_base_src_get_property),
1481         (gst_base_src_loop), (gst_base_src_start),
1482         (gst_base_src_activate_push):
1483         * libs/gst/base/gstbasesrc.h:
1484           Name (private) union; makes Sun's Forte compiler happy (#324900).
1485
1486 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1487
1488         * README:
1489           gst-register is gone.
1490
1491 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1492
1493         * gst/gstvalue.c: (_gst_value_initialize):
1494           make the G_TYPE_DATE instantiation work if debug is disabled
1495
1496 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
1497
1498         * gst/gstmessage.c: (gst_message_parse_tag),
1499         (gst_message_parse_error), (gst_message_parse_warning):
1500           Don't crash when return location for error/warning debug
1501           string is NULL; add fact that return locations can be
1502           NULL to docs where appropriate.
1503
1504 2006-01-05  Wim Taymans  <wim@fluendo.com>
1505
1506         * gst/gstplugin.c: (gst_plugin_load_file):
1507         Replace strdup by g_strdup.
1508
1509 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1510
1511         * docs/pwg/advanced-types.xml:
1512           fix doc borkage
1513
1514 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1515
1516         submitted by: Abel Cheung
1517
1518         * po/LINGUAS:
1519         * po/zh_TW.po:
1520           Added Chinese (traditional) translation
1521
1522 2006-01-04  Wim Taymans  <wim@fluendo.com>
1523
1524         * docs/manual/basics-pads.xml:
1525         * docs/plugins/Makefile.am:
1526         * docs/plugins/gstreamer-plugins-docs.sgml:
1527         * docs/plugins/gstreamer-plugins-sections.txt:
1528         * docs/pwg/advanced-clock.xml:
1529         * docs/pwg/advanced-scheduling.xml:
1530         * docs/pwg/advanced-types.xml:
1531         * plugins/elements/gstfdsink.c:
1532         * plugins/elements/gstfdsrc.c:
1533         * plugins/elements/gstfdsrc.h:
1534         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1535         * plugins/elements/gstidentity.h:
1536         * plugins/elements/gstqueue.h:
1537         * plugins/elements/gsttee.c:
1538         * plugins/elements/gsttee.h:
1539         * plugins/elements/gsttypefindelement.c:
1540         (gst_type_find_element_class_init):
1541         * plugins/elements/gsttypefindelement.h:
1542         Small updates to various docs.
1543         Added core plugins to docs.
1544
1545 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1546
1547         * common/gst.supp:
1548           add a suppression for liboil's uninitialized variable
1549
1550 2006-01-02  James Livingston  <jrl at ids dot org dot au>
1551
1552         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1553
1554         * gst/gstutils.h:
1555           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
1556           macro, so that gcc doesn't complain if the -Wmissing-prototypes
1557           compiler switch is being used (#325429).
1558
1559 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
1560
1561         * gst/gstbin.c: (gst_bin_query):
1562           Disable duration query caching in bins until it gets
1563           fixed (see #324807).
1564
1565 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1566
1567         * tools/gst-inspect.c: (print_element_properties_info):
1568           Handle properties of POINTER and BOXED type.
1569
1570 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1571
1572         * gst/gst.c: (init_post):
1573           Init tags stuff and some other things before loading
1574           any static plugins (there may be other static plugins
1575           than just the GStreamer ones, and they may want to
1576           register their own tags or formats or whatever, and
1577           preferably without segfaulting).
1578
1579         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1580           Print at least a warning in the debug logs if we drop a
1581           query just because we don't know how to adjust the value
1582           in the particular format.
1583
1584 2005-12-24  David Schleef  <ds@schleef.org>
1585
1586         * tools/gstreamer-completion:
1587           Replacement for gst-complete written in sh and sed.  Only
1588           completes names of features, but that's 90% of what I want
1589           it for.  Properties are not available in registry.xml.  (Maybe
1590           they should be...)
1591
1592 === release 0.10.1 ===
1593
1594 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
1595
1596         * configure.ac:
1597           releasing 0.10.1, "Nollaig chridheil"
1598
1599 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
1600
1601         * docs/faq/cvs.xml:
1602           Add missing quote, should be make ERROR_CFLAGS="".
1603
1604 2005-12-20  Wim Taymans  <wim@fluendo.com>
1605
1606         * docs/design/part-trickmodes.txt:
1607         More documentation on trickmodes.
1608
1609 2005-12-20  Edward Hervey  <edward@fluendo.com>
1610
1611         * gst/gstcaps.c: (gst_static_caps_get_type):
1612         * gst/gstcaps.h:
1613           API addition: GST_TYPE_STATIC_CAPS
1614         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
1615         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
1616         * gst/gstpadtemplate.h:
1617           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
1618         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
1619         bindings.
1620
1621 2005-12-18  Wim Taymans  <wim@fluendo.com>
1622
1623         * libs/gst/base/gstadapter.c:
1624         * libs/gst/base/gstadapter.h:
1625         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1626         (gst_base_sink_get_position):
1627         * libs/gst/base/gstbasesink.h:
1628         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1629         (gst_base_src_default_query), (gst_base_src_default_do_seek),
1630         (gst_base_src_do_seek), (gst_base_src_perform_seek),
1631         (gst_base_src_send_event), (gst_base_src_update_length),
1632         (gst_base_src_get_range), (gst_base_src_loop),
1633         (gst_base_src_start):
1634         * libs/gst/base/gstbasesrc.h:
1635         * libs/gst/base/gstbasetransform.h:
1636         * libs/gst/base/gstcollectpads.h:
1637         * libs/gst/base/gstpushsrc.c:
1638         * libs/gst/base/gstpushsrc.h:
1639         * libs/gst/dataprotocol/dataprotocol.c:
1640         * libs/gst/dataprotocol/dataprotocol.h:
1641         * libs/gst/net/gstnetclientclock.h:
1642         * libs/gst/net/gstnettimeprovider.h:
1643         Documentation updates.
1644
1645 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1646
1647         * docs/manual/basics-helloworld.xml:
1648           Remove superfluous closing bracket in helloworld example.
1649
1650 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1651
1652         * tools/gst-launch.1.in:
1653           Update gst-launch man page; add a section with useful
1654           environment variables. Fixes #323882.
1655
1656 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
1657
1658         * gst/gst.c:
1659         * gst/gst_private.h:
1660           change some char* into char[]
1661
1662 2005-12-16  Wim Taymans  <wim@fluendo.com>
1663
1664         * gst/gstregistryxml.c: (load_feature):
1665         Cleanups.
1666         Don't use g_object_unref on GstObjects so that we avoid
1667         leaks on unsafe glibs.
1668
1669 2005-12-16  Wim Taymans  <wim@fluendo.com>
1670
1671         * gst/gstbin.c: (gst_bin_recalc_state):
1672         Small doc updates.
1673
1674 2005-12-16  Wim Taymans  <wim@fluendo.com>
1675
1676         * common/check.mak:
1677         Added make forever target for check.
1678
1679 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1680
1681         * gst/gst.c: (init_post):
1682           make the registry cache file HOST_CPU-dependent
1683
1684 2005-12-16  Andy Wingo  <wingo@pobox.com>
1685
1686         * plugins/elements/gstbufferstore.c
1687         (gst_buffer_store_cleared_func): Pay attention to g_list_append
1688         return value.
1689
1690         * tests/check/gst/gstobject.c
1691         (test_fake_object_name_threaded_unique): Pay attention to
1692         g_list_sort return value.
1693
1694 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1695
1696         * tools/gst-feedback-m.m:
1697           Update for 0.9/0.10 (fixes #323870).
1698
1699 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
1700
1701         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
1702           Fix lcopy for mini objects, the mini object needs to be ref'ed.
1703           
1704         * tests/check/gst/gstminiobject.c: (my_foo_init),
1705         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
1706         (test_value_collection), (gst_mini_object_suite):
1707           Add test to ensure refcounts end up as expected when passing
1708           GstMiniObjects through g_object_get() and g_object_set().
1709
1710 2005-12-14  Julien MOUTTE  <julien@moutte.net>
1711
1712         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1713         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
1714         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
1715         of collectpads. This version removes a lot of races without
1716         touching API/ABI. Yay !
1717
1718 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
1719
1720         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
1721           Don't allow activation of a srcpad in pull_range if it has no
1722           getrange function.
1723           Change some debug statements to be a little clearer
1724
1725         * plugins/elements/gsttypefindelement.c:
1726         (gst_type_find_handle_src_query):
1727           Check that we have a peer before executing queries thereupon.
1728
1729         * tests/examples/metadata/read-metadata.c: (message_loop):
1730           Use gst_bus_pop instead of gst_bus_poll when we just want it to
1731           immediately return us any available message with 0 timeout.
1732
1733 2005-12-12  Michael Smith  <msmith@fluendo.com>
1734
1735         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1736           Don't unref factories after calling them.
1737         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
1738         * plugins/elements/gsttypefindelement.c:
1739         (gst_type_find_element_chain):
1740           Free lists of factories after using them. Fixing typefinding memory
1741           leaks.
1742
1743 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1744
1745         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1746         (gst_plugin_feature_load):
1747           more meaningful debug output
1748         * configure.ac:
1749         * tests/Makefile.am:
1750         * tests/old/examples/Makefile.am:
1751           make make distcheck happy again
1752
1753 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1754
1755         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1756           Catch the special case where we are operating chain-based,
1757           but the downstream peer pad has no chain function. Emit a
1758           custom error message in this case instead of letting the
1759           core generate one implying that this is some sort of core
1760           bug. It's not, it just means that whatever got plugged
1761           into the pipeline downstream when we announced the type
1762           can only operate pull-based, while our source can only
1763           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
1764           Error string has not been marked for translation yet, as
1765           it probably needs some more work first.
1766
1767         (gst_type_find_element_get_best_possibility):
1768           Add helper function to find the best of all available
1769           found possibilities that qualify given the min. threshold.
1770
1771         (gst_type_find_element_handle_event):
1772           Fix the case where we get an EOS while still in TYPEFIND
1773           mode (we want to chose the best of all possible types,
1774           not just the first type that happens to be in our unsorted
1775           list of possible types).
1776
1777         (gst_type_find_element_chain):
1778           Make sure we return GST_FLOW_ERROR when we errored out
1779           in stop_typefinding(); also, don't just find the best of
1780           all found type entries and then use the last examined
1781           type entry, but actually use the best entry.
1782
1783 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1784
1785         * tests/examples/typefind/typefind.c: (type_found):
1786         * tests/examples/xml/runxml.c: (xml_loaded):
1787           More gcc4 fixes and a mem leak fix.
1788
1789 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1790
1791         * tests/examples/xml/createxml.c: (object_saved):
1792           gcc 4 fixes
1793
1794 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1795
1796         * tests/Makefile.am:
1797           enable the examples even more
1798
1799 2005-12-12  Andy Wingo  <wingo@pobox.com>
1800
1801         * libs/gst/net/gstnettimeprovider.c
1802         (gst_net_time_provider_class_init, gst_net_time_provider_init)
1803         (gst_net_time_provider_set_property)
1804         (gst_net_time_provider_get_property):
1805         API addition: Export "active" as a GObject property.
1806         (gst_net_time_provider_thread): Only respond to time queries if
1807         the time provider is active.
1808
1809         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
1810         NetTimeProvider, preserving binary compat.
1811
1812 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1813
1814         * tests/examples/controller/audio-example.c: (main):
1815         * tests/examples/launch/Makefile.am:
1816           convert comments again
1817
1818 2005-12-12  Wim Taymans  <wim@fluendo.com>
1819
1820         * libs/gst/base/gstpushsrc.c:
1821         Fix typo.
1822
1823 2005-12-12  Wim Taymans  <wim@fluendo.com>
1824
1825         * docs/libs/gstreamer-libs-sections.txt:
1826         Added new symbol to docs.
1827
1828         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1829         (gst_base_src_init), (gst_base_src_set_format),
1830         (gst_base_src_default_query), (gst_base_src_query),
1831         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
1832         (gst_base_src_perform_seek), (gst_base_src_send_event),
1833         (gst_base_src_default_event), (gst_base_src_event_handler),
1834         (gst_base_src_set_property), (gst_base_src_get_property),
1835         (gst_base_src_wait), (gst_base_src_do_sync),
1836         (gst_base_src_update_length), (gst_base_src_get_range),
1837         (gst_base_src_check_get_range), (gst_base_src_loop),
1838         (gst_base_src_default_negotiate), (gst_base_src_start),
1839         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1840         (gst_base_src_change_state):
1841         * libs/gst/base/gstbasesrc.h:
1842         Implement seeking to other formats than _BYTES.
1843         Implement more seeking methods correctly.
1844         Doc updates.
1845         Added query vmethod.
1846         Added do_seek vmethod to make life easier for subclasses
1847         when seeking.
1848         API addition: gst_base_src_set_format()
1849
1850 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1851
1852         * tests/examples/Makefile.am:
1853           added that too
1854
1855 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1856
1857         * configure.ac:
1858         * docs/random/ensonic/media-device-daemon.txt:
1859         * tests/examples/controller/.cvsignore:
1860         * tests/examples/controller/Makefile.am:
1861         * tests/examples/controller/audio-example.c: (main):
1862         * tests/examples/helloworld/.cvsignore:
1863         * tests/examples/helloworld/Makefile.am:
1864         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
1865         * tests/examples/launch/.cvsignore:
1866         * tests/examples/launch/Makefile.am:
1867         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
1868         * tests/examples/metadata/.cvsignore:
1869         * tests/examples/metadata/Makefile.am:
1870         * tests/examples/metadata/read-metadata.c: (message_loop),
1871         (make_pipeline), (print_tag), (main):
1872         * tests/examples/queue/.cvsignore:
1873         * tests/examples/queue/Makefile.am:
1874         * tests/examples/queue/queue.c: (event_loop), (main):
1875         * tests/examples/typefind/.cvsignore:
1876         * tests/examples/typefind/Makefile.am:
1877         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
1878         (main):
1879         * tests/examples/xml/.cvsignore:
1880         * tests/examples/xml/Makefile.am:
1881         * tests/examples/xml/createxml.c: (object_saved), (main):
1882         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
1883         * tests/old/examples/Makefile.am:
1884         * tests/old/examples/TODO:
1885         * tests/old/examples/controller/.cvsignore:
1886         * tests/old/examples/controller/Makefile.am:
1887         * tests/old/examples/controller/audio-example.c:
1888         * tests/old/examples/helloworld/.cvsignore:
1889         * tests/old/examples/helloworld/Makefile.am:
1890         * tests/old/examples/helloworld/helloworld.c:
1891         * tests/old/examples/launch/.cvsignore:
1892         * tests/old/examples/launch/Makefile.am:
1893         * tests/old/examples/launch/mp3parselaunch.c:
1894         * tests/old/examples/launch/mp3play:
1895         * tests/old/examples/manual/Makefile.am:
1896         * tests/old/examples/metadata/Makefile.am:
1897         * tests/old/examples/metadata/read-metadata.c:
1898         * tests/old/examples/queue/.cvsignore:
1899         * tests/old/examples/queue/Makefile.am:
1900         * tests/old/examples/queue/queue.c:
1901         * tests/old/examples/typefind/.cvsignore:
1902         * tests/old/examples/typefind/Makefile.am:
1903         * tests/old/examples/typefind/typefind.c:
1904         * tests/old/examples/xml/.cvsignore:
1905         * tests/old/examples/xml/Makefile.am:
1906         * tests/old/examples/xml/createxml.c:
1907         * tests/old/examples/xml/runxml.c:
1908           applied some simple fixing to some examples
1909           re-enabled the working examples
1910
1911 2005-12-12  Wim Taymans  <wim@fluendo.com>
1912
1913         * gst/gstsegment.c: (gst_segment_init),
1914         (gst_segment_set_last_stop), (gst_segment_set_seek),
1915         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1916         (gst_segment_to_running_time):
1917         Added more documentation.
1918         Make sure the last_pos value is updated properly.
1919         Make sure to_stream_time and to_running_time don't
1920         operate on wrong values.
1921
1922         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1923         Update check.
1924
1925 2005-12-12  Michael Smith  <msmith@fluendo.com>
1926
1927         * plugins/elements/gsttypefindelement.c: (free_entry),
1928         (gst_type_find_element_chain):
1929           Now that we're not leaking factories, make sure we keep references
1930           to them while we need them.
1931
1932 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1933
1934         * tests/check/gst/struct_i386.h:
1935           ifdef out the XML structs
1936
1937 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1938
1939         * gst/gstvalue.c: (gst_value_transform_double_fraction):
1940           floor is not needed, F is always positive; this obviates the
1941           need for adding -lm when building without libxml
1942
1943 2005-12-12  Wim Taymans  <wim@fluendo.com>
1944
1945         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1946         Take current playback rate into account when reporting
1947         the position.
1948
1949 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1950
1951         * docs/manual/mime-world.fig:
1952           Let's try this again, this time with a file that is
1953           actually in XFig format.
1954
1955 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1956
1957         * docs/manual/mime-world.fig:
1958           Add audioconvert element to diagram so that it
1959           matches the text and the code (fixes #319526).
1960
1961 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1962
1963         * docs/pwg/building-chainfn.xml:
1964         * docs/pwg/building-pads.xml:
1965         * docs/pwg/building-state.xml:
1966         * docs/pwg/other-source.xml:
1967           Update state change stuff for 0.10 (fixes #322969).
1968
1969 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1970
1971         * docs/manual/advanced-dataaccess.xml:
1972         * docs/manual/appendix-checklist.xml:
1973         * docs/manual/appendix-programs.xml:
1974         * docs/manual/basics-pads.xml:
1975         * docs/manual/highlevel-components.xml:
1976         * docs/manual/manual.xml:
1977           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1978           add converters in front of pipelines; remove curly
1979           brackets for threads stuff, they no longer exist; use
1980           GST_TYPE_FRACTION for framerates; update some pieces of
1981           code to 0.10, but there's plenty more to do.
1982
1983         * docs/manual/appendix-porting.xml:
1984           Expand on asynchroneous state changes; s/0.9/0.10/;
1985           mention disappearance of gst_init_get_popt_table()
1986           (fixes #322916).
1987
1988 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1989
1990         * docs/faq/using.xml:
1991           Spider no longer exists, and neither does gst-launch-ext.
1992           Update examples to use decodebin and playbin and put
1993           converters in front of sinks (fixes #323726).
1994
1995 2005-12-09  Michael Smith  <msmith@fluendo.com>
1996
1997         * plugins/elements/gsttypefindelement.c: (find_peek),
1998         (gst_type_find_element_chain):
1999           Fix leaking element factories in typefinding.
2000           Fix problem where we forgot about a probable type on non-seekable
2001           files, and thus later mis-typefound it.
2002
2003 2005-12-09  Michael Smith  <msmith@fluendo.com>
2004
2005         * common/m4/gst-makecontext.m4:
2006         * common/m4/gst-mcsc.m4:
2007         * configure.ac:
2008         * win32/common/config.h:
2009         * win32/common/config.h.in:
2010           Remove makecontext stuff; not used in 0.10 and causes problems on
2011           HPUX according to bug #322441
2012
2013 2005-12-07  Wim Taymans  <wim@fluendo.com>
2014
2015         * tests/check/Makefile.am:
2016         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
2017         (main):
2018         * tests/check/libs/struct_i386.h:
2019         Added ABI check for libs
2020
2021 2005-12-07  Wim Taymans  <wim@fluendo.com>
2022
2023         * tests/check/Makefile.am:
2024         And add the struct_i386.h to dist.
2025
2026 2005-12-07  Wim Taymans  <wim@fluendo.com>
2027
2028         * tests/check/Makefile.am:
2029         * tests/check/gst/.cvsignore:
2030         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
2031         (main):
2032         * tests/check/gst/struct_i386.h:
2033         Added check for ABI compatibility.
2034
2035 2005-12-07  Wim Taymans  <wim@fluendo.com>
2036
2037         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2038         (gst_fake_src_get_times), (gst_fake_src_create):
2039         Fix broken sync option, fixes #323259
2040
2041 2005-12-07  Wim Taymans  <wim@fluendo.com>
2042
2043         * gst/gstbuffer.c:
2044         Small docs update.
2045
2046         * gst/gstcaps.c: (gst_caps_is_equal):
2047         Don't assert on NULL <--> X. Fixes #323260
2048
2049         * gst/gstminiobject.c: (gst_mini_object_replace):
2050         If we're doing atomic operations, we might just as well use
2051         the proper way to get an atomic pointer.
2052
2053         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2054         Clean up debugging.
2055
2056 2005-12-07  Michael Smith  <msmith@fluendo.com>
2057
2058         * gst/parse/grammar.y:
2059           Remove handling of { } for threads.
2060
2061 2005-12-06  David Schleef  <ds@schleef.org>
2062
2063         * libs/gst/base/gstbasetransform.c: speling fix.
2064
2065 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2066
2067         * docs/libs/tmpl/gstdataprotocol.sgml:
2068         * docs/random/omega/testing/gstobject.c:
2069         * gst/gst.c:
2070         * gst/gstclock.c:
2071         * gst/gstelement.c:
2072         * gst/gstelementfactory.c:
2073         * gst/gsterror.c:
2074         * gst/gstevent.c:
2075         * gst/gstghostpad.c:
2076         * gst/gstinfo.c:
2077         * gst/gstpadtemplate.c:
2078         * gst/gstregistryxml.c:
2079         * gst/gsttaglist.c:
2080         * gst/gsttagsetter.c:
2081         * gst/gsttypefind.c:
2082         * gst/gstvalue.c:
2083         * libs/gst/base/gstbasesrc.c:
2084         * libs/gst/net/gstnetclientclock.c:
2085         * libs/gst/net/gstnettimeprovider.c:
2086         * plugins/elements/gstfakesrc.c:
2087         * plugins/elements/gstfdsrc.c:
2088         * plugins/elements/gstfilesrc.c:
2089         * plugins/elements/gstidentity.c:
2090         * plugins/elements/gstqueue.c:
2091         * plugins/elements/gsttypefindelement.c:
2092         * plugins/indexers/gstfileindex.c:
2093         * plugins/indexers/gstmemindex.c:
2094         * tests/check/gst/gsttag.c:
2095         * tests/old/examples/cutter/cutter.c:
2096         * tests/old/examples/mixer/mixer.c:
2097         * tests/old/examples/xml/runxml.c: (main):
2098         * tests/old/testsuite/caps/normalisation.c:
2099         * tests/old/testsuite/debug/global.c:
2100         * tests/old/testsuite/parse/parse1.c:
2101         * tools/gst-xmlinspect.c:
2102         * win32/common/dirent.c:
2103           expand tabs
2104
2105 === release 0.10.0 ===
2106
2107 2005-12-05   <thomas (at) apestaart (dot) org>
2108
2109         * configure.ac:
2110           releasing 0.10.0, "Maroilles"
2111
2112 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2113
2114         submitted by: Funda Wang <fundawang@linux.net.cn>
2115
2116         * po/LINGUAS:
2117         * po/zh_CN.po:
2118           added Chinese (Traditional) translation
2119
2120 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2121
2122         * docs/gst/gstreamer-sections.txt:
2123         * docs/libs/tmpl/gstdataprotocol.sgml:
2124         * docs/random/thomasvs/TODO:
2125         * gst/gstutils.c:
2126         * gst/gstutils.h:
2127           fix docs
2128
2129 2005-12-05  Andy Wingo  <wingo@pobox.com>
2130
2131         patch by: Wim Taymans <wim@fluendo.com>
2132
2133         * libs/gst/base/gstbasetransform.c
2134         (gst_base_transform_prepare_output_buf)
2135         (gst_base_transform_buffer_alloc):
2136         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
2137         alloc_buffer_and_set_caps.
2138
2139         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
2140         set_caps on the source pad.
2141         (gst_pad_alloc_buffer_and_set_caps): New function, does what
2142         alloc_buffer used to do. Fixes #322874.
2143
2144         * docs/gst/gstreamer-sections.txt: 
2145         * docs/design/part-negotiation.txt: 
2146         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
2147         changes.
2148
2149 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2150
2151         patch by: Sebastien Moutte
2152
2153         * win32/MANIFEST:
2154         * win32/common/config.h.in:
2155         * win32/vs6/libgstcontroller.dsp:
2156           win32 build fixes
2157
2158 2005-12-05  Wim Taymans  <wim@fluendo.com>
2159
2160         * gst/gstcaps.c: (gst_caps_is_equal):
2161         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2162         (gst_fake_src_create):
2163         Back out previous code changes, leave doc updates, file bugs 
2164         instead. 
2165
2166 2005-12-05  Wim Taymans  <wim@fluendo.com>
2167
2168         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2169         (gst_fake_src_get_times), (gst_fake_src_create):
2170         * plugins/elements/gstfakesrc.h:
2171         Fix broken sync code.
2172
2173 2005-12-05  Wim Taymans  <wim@fluendo.com>
2174
2175         * gst/gstcaps.c: (gst_caps_is_equal):
2176         Comparing NULL against !NULL yields different caps, not a
2177         failure.
2178
2179 2005-12-05  Wim Taymans  <wim@fluendo.com>
2180
2181         * gst/gstpipeline.c:
2182         Fix small typo in docs.
2183
2184 2005-12-05  Andy Wingo  <wingo@pobox.com>
2185
2186         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
2187
2188         * gst/gst.c (init_post): remove hard-coded 0.9 location for
2189         registries/plugins with a MAJORMINOR one.
2190         (plugin_desc): Rename library from gstcoreleements to
2191         staticelements. Fixes #323222.
2192
2193 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
2194
2195         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
2196           Change debug category to 'collectpads' from 'collect_pads'
2197           (fixes #323250).
2198
2199 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2200
2201         patch by: Sebastien Moutte
2202
2203         * libs/gst/controller/gstinterpolation.c:
2204           use convert function for uint64/double
2205         * win32/vs6/libgstcontroller.dsp:
2206           link to GLib
2207
2208 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2209
2210         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
2211         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
2212         * gst/gstutils.h:
2213         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2214           add tests that seem to show that the guint64/gdouble conversions
2215           are correct.
2216
2217 2005-12-02  Wim Taymans  <wim@fluendo.com>
2218
2219         * gst/gstregistry.c: (gst_registry_add_path):
2220         * gst/gstregistry.h:
2221         * gst/gstregistryxml.c:
2222         Fix docs again.
2223
2224 2005-12-02  Wim Taymans  <wim@fluendo.com>
2225
2226         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2227         (gst_util_uint64_scale_int):
2228         Small cleanup.
2229
2230         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2231         Add debug log line.
2232
2233         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
2234         Add FIXME.
2235
2236 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2237
2238         * win32/MANIFEST:
2239         * win32/common/config.h:
2240         * win32/vs6/gstreamer.dsw:
2241         * win32/vs6/libgstcoreelements.dsp:
2242         * win32/vs6/libgstelements.dsp:
2243           renamed core elements plugin
2244
2245 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2246
2247         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
2248         (get_candidates):
2249           do piece-wise major/minor comparison so 0.9 < 0.10
2250           also allow .exe extensions for tools
2251
2252 2005-12-02  Michael Smith  <msmith@fluendo.com>
2253
2254         * gst/gst.c:
2255           Escape a % to make gtkdoc happier; bug 322958.
2256
2257 === release 0.9.7 ===
2258
2259 2005-12-01   <thomas (at) apestaart (dot) org>
2260
2261         * configure.ac:
2262           releasing 0.9.7, "My Dog Has No Nose"
2263
2264 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2265
2266         * common/gst-xmlinspect.py:
2267         * configure.ac:
2268         * docs/libs/tmpl/gstdataprotocol.sgml:
2269         * docs/random/release:
2270         * po/af.po:
2271         * po/az.po:
2272         * po/bg.po:
2273         * po/ca.po:
2274         * po/cs.po:
2275         * po/de.po:
2276         * po/en_GB.po:
2277         * po/fr.po:
2278         * po/it.po:
2279         * po/nb.po:
2280         * po/nl.po:
2281         * po/ru.po:
2282         * po/sq.po:
2283         * po/sr.po:
2284         * po/sv.po:
2285         * po/tr.po:
2286         * po/uk.po:
2287         * po/vi.po:
2288         * win32/common/config.h:
2289         * win32/common/config.h.in:
2290         * win32/vs6/gst_inspect.dsp:
2291         * win32/vs6/gst_launch.dsp:
2292         * win32/vs6/libgstbase.dsp:
2293         * win32/vs6/libgstelements.dsp:
2294         * win32/vs6/libgstreamer.dsp:
2295         * win32/vs7/GStreamer.vcproj:
2296         * win32/vs7/gst-inspect.vcproj:
2297         * win32/vs7/gst-launch.vcproj:
2298         * win32/vs7/libgstbase.vcproj:
2299           bump GST_MAJORMINOR to 0.10
2300           reset libtool version
2301
2302 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2303
2304         * po/LINGUAS:
2305         * po/bg.po:
2306           Added Bulgarian translation by (Alexander Shopov)
2307
2308 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2309
2310         * tests/check/gst/gstplugin.c:
2311           fix test
2312
2313 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2314
2315         * common/gst-xmlinspect.py:
2316         * common/gtk-doc-plugins.mak:
2317         * configure.ac:
2318         * docs/Makefile.am:
2319         * docs/gst/Makefile.am:
2320         * docs/gst/gstreamer-docs.sgml:
2321         * docs/gst/gstreamer-sections.txt:
2322         * docs/gst/gstreamer.types:
2323         * docs/gst/gstreamer.types.in:
2324         * docs/plugins/Makefile.am:
2325         * docs/plugins/gstreamer-plugins-docs.sgml:
2326         * docs/plugins/gstreamer-plugins-sections.txt:
2327         * docs/plugins/gstreamer-plugins.types:
2328         * docs/plugins/inspect.stamp:
2329         * docs/plugins/inspect/plugin-coreelements.xml:
2330         * docs/plugins/inspect/plugin-coreindexers.xml:
2331         * docs/plugins/scanobj-build.stamp:
2332         * gstreamer.spec.in:
2333         * plugins/elements/Makefile.am:
2334         * plugins/elements/gstelements.c:
2335         * plugins/elements/gstfakesink.c:
2336         * plugins/elements/gstfakesrc.c:
2337         * plugins/elements/gstfilesink.c:
2338         * plugins/elements/gstfilesrc.c:
2339         * plugins/elements/gstqueue.c:
2340         * plugins/indexers/Makefile.am:
2341         * plugins/indexers/gstindexers.c:
2342           document core plugins in a separate document just like all the
2343           others
2344           rename these plugins to something starting with core
2345
2346 2005-12-01  Andy Wingo  <wingo@pobox.com>
2347
2348         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
2349         padding here before, but it missed the commit.
2350
2351 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2352
2353         * libs/gst/controller/gstinterpolation.c:
2354           whitespace prices have crashed, we should feel free to use some now
2355           use gst_guint64_to_gdouble
2356
2357 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2358
2359         * libs/gst/controller/gstcontroller.c:
2360         * libs/gst/controller/gsthelper.c:
2361         * libs/gst/controller/gstinterpolation.c:
2362         * libs/gst/controller/lib.c:
2363           wrap config.h include
2364
2365 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2366
2367         * docs/gst/gstreamer-sections.txt:
2368           update docs
2369
2370 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2371
2372         * plugins/elements/gstelements.c:
2373         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
2374         (gst_fd_sink__class_init), (gst_fd_sink__init),
2375         (gst_fd_sink__chain), (gst_fd_sink__set_property),
2376         (gst_fd_sink__get_property):
2377         * plugins/elements/gstfdsink.h:
2378         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
2379         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
2380         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
2381         (gst_fd_src_unlock), (gst_fd_src_set_property),
2382         (gst_fd_src_get_property), (gst_fd_src_create),
2383         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
2384         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
2385         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
2386         (gst_fd_src_uri_handler_init):
2387         * plugins/elements/gstfdsrc.h:
2388         * plugins/elements/gstqueue.c: (gst_queue_get_type):
2389           more anal cleanup
2390
2391 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2392
2393         * docs/gst/Makefile.am:
2394         * docs/gst/gstreamer.types.in:
2395         * gst/Makefile.am:
2396           fix the docs build
2397
2398 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2399
2400         * configure.ac:
2401         * gst/Makefile.am:
2402         * gst/gst.c:
2403         * gst/gstplugin.h:
2404         * gst/gstregistry.h:
2405         * tests/benchmarks/complexity.c:
2406         * tests/benchmarks/mass-elements.c:
2407         * tests/check/Makefile.am:
2408         * tools/Makefile.am:
2409         * tools/gst-inspect.c:
2410         * tools/gst-xmlinspect.c:
2411           various fixes to make
2412           --disable-nls --disable-registry --disable-loadsave
2413           --disable-parse --disable-gst-debug
2414           work and get the core .so down to 360444 bytes after stripping
2415
2416 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2417
2418         * Makefile.am:
2419         * configure.ac:
2420           descend into tests
2421         * docs/random/thomasvs/TODO:
2422         * tests/Makefile.am:
2423         * tests/README:
2424           add a README
2425
2426 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2427
2428         * win32/GStreamer.vcproj:
2429         * win32/MANIFEST:
2430         * win32/Makefile:
2431         * win32/Makefile.inspect:
2432         * win32/Makefile.launch:
2433         * win32/Makefile.register:
2434         * win32/README.txt:
2435         * win32/gst-inspect.vcproj:
2436         * win32/gst-launch.vcproj:
2437         * win32/gst-register.vcproj:
2438         * win32/gstelements.vcproj:
2439         * win32/gstgetbits.def:
2440         * win32/gstgetbits.vcproj:
2441         * win32/gstreamer-dbg.def:
2442         * win32/gstreamer.def:
2443         * win32/libgstbase.def:
2444         * win32/libgstbase.vcproj:
2445         * win32/link_oldruntime.c:
2446         * win32/mman.c:
2447         * win32/mman.h:
2448         * win32/mman.inl:
2449         * win32/msvc71.sln:
2450           move even more stuff, win32/ is nice and clean now
2451
2452 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2453
2454         * libs/gst/control/.cvsignore:
2455         * win32/MANIFEST:
2456         * win32/config.h:
2457         * win32/dirent.c:
2458         * win32/dirent.h:
2459         * win32/gstbytestream.def:
2460         * win32/gstbytestream.vcproj:
2461         * win32/gstconfig.h:
2462         * win32/gstenumtypes.c:
2463         * win32/gstenumtypes.h:
2464         * win32/gstoptimalscheduler.vcproj:
2465         * win32/gstversion.h:
2466         * win32/gtchar.h:
2467         * win32/testsuite/bins.vcproj:
2468         * win32/testsuite/bytestream.vcproj:
2469         * win32/testsuite/caps.vcproj:
2470         * win32/testsuite/cleanup.vcproj:
2471         * win32/testsuite/clock.vcproj:
2472         * win32/testsuite/debug.vcproj:
2473         * win32/testsuite/dlopen.vcproj:
2474         * win32/testsuite/dynparams.vcproj:
2475         * win32/testsuite/elements.vcproj:
2476         * win32/testsuite/ghostpads.vcproj:
2477         * win32/testsuite/indexers.vcproj:
2478         * win32/testsuite/negotiation.vcproj:
2479         * win32/testsuite/parse.vcproj:
2480         * win32/testsuite/plugin.vcproj:
2481         * win32/testsuite/refcounting.vcproj:
2482         * win32/testsuite/schedulers.vcproj:
2483         * win32/testsuite/states.vcproj:
2484         * win32/testsuite/tags.vcproj:
2485         * win32/testsuite/threads.vcproj:
2486           remove old win32 stuff that isn't maintained and should be
2487           reorganized
2488
2489 2005-11-30  Andy Wingo  <wingo@pobox.com>
2490
2491         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
2492         loading the gst.interfaces python module bork.
2493
2494         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
2495         available since GLib 2.2. Fixes #318031.
2496
2497 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2498
2499         * Makefile.am:
2500         * check/.cvsignore:
2501         * check/Makefile.am:
2502         * check/elements/.cvsignore:
2503         * check/elements/fakesrc.c:
2504         * check/elements/fdsrc.c:
2505         * check/elements/identity.c:
2506         * check/generic/.cvsignore:
2507         * check/generic/states.c:
2508         * check/gst-libs/.cvsignore:
2509         * check/gst-libs/controller.c:
2510         * check/gst-libs/gdp.c:
2511         * check/gst/.cvsignore:
2512         * check/gst/capslist.h:
2513         * check/gst/gst.c:
2514         * check/gst/gstbin.c:
2515         * check/gst/gstbuffer.c:
2516         * check/gst/gstbus.c:
2517         * check/gst/gstcaps.c:
2518         * check/gst/gstelement.c:
2519         * check/gst/gstevent.c:
2520         * check/gst/gstghostpad.c:
2521         * check/gst/gstiterator.c:
2522         * check/gst/gstmessage.c:
2523         * check/gst/gstminiobject.c:
2524         * check/gst/gstobject.c:
2525         * check/gst/gstpad.c:
2526         * check/gst/gstpipeline.c:
2527         * check/gst/gstplugin.c:
2528         * check/gst/gstsegment.c:
2529         * check/gst/gststructure.c:
2530         * check/gst/gstsystemclock.c:
2531         * check/gst/gsttag.c:
2532         * check/gst/gstutils.c:
2533         * check/gst/gstvalue.c:
2534         * check/net/.cvsignore:
2535         * check/net/gstnetclientclock.c:
2536         * check/net/gstnettimeprovider.c:
2537         * check/pipelines/.cvsignore:
2538         * check/pipelines/cleanup.c:
2539         * check/pipelines/simple_launch_lines.c:
2540         * check/pipelines/stress.c:
2541         * check/states/.cvsignore:
2542         * check/states/sinks.c:
2543         * configure.ac:
2544         * examples/Makefile.am:
2545         * examples/appreader/.cvsignore:
2546         * examples/appreader/Makefile.am:
2547         * examples/appreader/appreader.c:
2548         * examples/controller/.cvsignore:
2549         * examples/controller/Makefile.am:
2550         * examples/controller/audio-example.c:
2551         * examples/cutter/.cvsignore:
2552         * examples/cutter/Makefile.am:
2553         * examples/cutter/cutter.c:
2554         * examples/cutter/cutter.h:
2555         * examples/events/Makefile.am:
2556         * examples/events/seek.c:
2557         * examples/helloworld/.cvsignore:
2558         * examples/helloworld/Makefile.am:
2559         * examples/helloworld/helloworld.c:
2560         * examples/helloworld2/.cvsignore:
2561         * examples/helloworld2/Makefile.am:
2562         * examples/helloworld2/helloworld2.c:
2563         * examples/launch/.cvsignore:
2564         * examples/launch/Makefile.am:
2565         * examples/launch/mp3parselaunch.c:
2566         * examples/launch/mp3play:
2567         * examples/manual/.cvsignore:
2568         * examples/manual/Makefile.am:
2569         * examples/manual/extract.pl:
2570         * examples/metadata/Makefile.am:
2571         * examples/metadata/read-metadata.c:
2572         * examples/mixer/.cvsignore:
2573         * examples/mixer/Makefile.am:
2574         * examples/mixer/mixer.c:
2575         * examples/mixer/mixer.h:
2576         * examples/pingpong/.cvsignore:
2577         * examples/pingpong/Makefile.am:
2578         * examples/pingpong/pingpong.c:
2579         * examples/plugins/.cvsignore:
2580         * examples/plugins/Makefile.am:
2581         * examples/plugins/example.c:
2582         * examples/plugins/example.h:
2583         * examples/pwg/.cvsignore:
2584         * examples/pwg/Makefile.am:
2585         * examples/pwg/extract.pl:
2586         * examples/queue/.cvsignore:
2587         * examples/queue/Makefile.am:
2588         * examples/queue/queue.c:
2589         * examples/queue2/.cvsignore:
2590         * examples/queue2/Makefile.am:
2591         * examples/queue2/queue2.c:
2592         * examples/queue3/.cvsignore:
2593         * examples/queue3/Makefile.am:
2594         * examples/queue3/queue3.c:
2595         * examples/queue4/.cvsignore:
2596         * examples/queue4/Makefile.am:
2597         * examples/queue4/queue4.c:
2598         * examples/retag/.cvsignore:
2599         * examples/retag/Makefile.am:
2600         * examples/retag/retag.c:
2601         * examples/retag/transcode.c:
2602         * examples/thread/.cvsignore:
2603         * examples/thread/Makefile.am:
2604         * examples/thread/thread.c:
2605         * examples/typefind/.cvsignore:
2606         * examples/typefind/Makefile.am:
2607         * examples/typefind/typefind.c:
2608         * examples/xml/.cvsignore:
2609         * examples/xml/Makefile.am:
2610         * examples/xml/createxml.c:
2611         * examples/xml/runxml.c:
2612         * tests/Makefile.am:
2613         * tests/check/Makefile.am:
2614         * testsuite/.cvsignore:
2615         * testsuite/Makefile.am:
2616         * testsuite/Rules:
2617         * testsuite/caps/.cvsignore:
2618         * testsuite/caps/Makefile.am:
2619         * testsuite/caps/app_fixate.c:
2620         * testsuite/caps/audioscale.c:
2621         * testsuite/caps/caps.c:
2622         * testsuite/caps/caps.h:
2623         * testsuite/caps/caps_strings:
2624         * testsuite/caps/compatibility.c:
2625         * testsuite/caps/deserialize.c:
2626         * testsuite/caps/enumcaps.c:
2627         * testsuite/caps/eratosthenes.c:
2628         * testsuite/caps/filtercaps.c:
2629         * testsuite/caps/fixed.c:
2630         * testsuite/caps/fraction-convert.c:
2631         * testsuite/caps/fraction-multiply-and-zero.c:
2632         * testsuite/caps/intersect2.c:
2633         * testsuite/caps/intersection.c:
2634         * testsuite/caps/normalisation.c:
2635         * testsuite/caps/random.c:
2636         * testsuite/caps/renegotiate.c:
2637         * testsuite/caps/sets.c:
2638         * testsuite/caps/simplify.c:
2639         * testsuite/caps/string-conversions.c:
2640         * testsuite/caps/structure.c:
2641         * testsuite/caps/subtract.c:
2642         * testsuite/caps/union.c:
2643         * testsuite/debug/.cvsignore:
2644         * testsuite/debug/Makefile.am:
2645         * testsuite/debug/category.c:
2646         * testsuite/debug/commandline.c:
2647         * testsuite/debug/global.c:
2648         * testsuite/debug/output.c:
2649         * testsuite/debug/printf_extension.c:
2650         * testsuite/dlopen/.cvsignore:
2651         * testsuite/dlopen/Makefile.am:
2652         * testsuite/dlopen/dlopen_gst.c:
2653         * testsuite/dlopen/loadgst.c:
2654         * testsuite/elements/.cvsignore:
2655         * testsuite/elements/Makefile.am:
2656         * testsuite/elements/gst-inspect-check.in:
2657         * testsuite/elements/struct_i386.h:
2658         * testsuite/elements/struct_size.c:
2659         * testsuite/indexers/.cvsignore:
2660         * testsuite/indexers/Makefile.am:
2661         * testsuite/indexers/cache1.c:
2662         * testsuite/indexers/indexdump.c:
2663         * testsuite/parse/.cvsignore:
2664         * testsuite/parse/Makefile.am:
2665         * testsuite/parse/parse1.c:
2666         * testsuite/parse/parse2.c:
2667         * testsuite/plugin/.cvsignore:
2668         * testsuite/plugin/Makefile.am:
2669         * testsuite/plugin/README:
2670         * testsuite/plugin/dynamic.c:
2671         * testsuite/plugin/linked.c:
2672         * testsuite/plugin/loading.c:
2673         * testsuite/plugin/registry.c:
2674         * testsuite/plugin/static.c:
2675         * testsuite/plugin/static2.c:
2676         * testsuite/plugin/testplugin.c:
2677         * testsuite/plugin/testplugin2.c:
2678         * testsuite/plugin/testplugin2_s.c:
2679         * testsuite/plugin/testplugin_s.c:
2680         * testsuite/refcounting/.cvsignore:
2681         * testsuite/refcounting/Makefile.am:
2682         * testsuite/refcounting/bin.c:
2683         * testsuite/refcounting/element.c:
2684         * testsuite/refcounting/element_pad.c:
2685         * testsuite/refcounting/mainloop.c:
2686         * testsuite/refcounting/mem.c:
2687         * testsuite/refcounting/mem.h:
2688         * testsuite/refcounting/object.c:
2689         * testsuite/refcounting/pad.c:
2690         * testsuite/refcounting/sched.c:
2691         * testsuite/refcounting/thread.c:
2692         * testsuite/states/.cvsignore:
2693         * testsuite/states/Makefile.am:
2694         * testsuite/states/bin.c:
2695         * testsuite/states/locked.c:
2696         * testsuite/states/parent.c:
2697         * testsuite/threads/.cvsignore:
2698         * testsuite/threads/159566.c:
2699         * testsuite/threads/159852.c:
2700         * testsuite/threads/Makefile.am:
2701         * testsuite/threads/queue.c:
2702         * testsuite/threads/signals.c:
2703         * testsuite/threads/staticrec.c:
2704         * testsuite/threads/thread.c:
2705         * testsuite/threads/threadb.c:
2706         * testsuite/threads/threadc.c:
2707         * testsuite/threads/threadd.c:
2708         * testsuite/threads/threade.c:
2709         * testsuite/threads/threadf.c:
2710         * testsuite/threads/threadg.c:
2711         * testsuite/threads/threadh.c:
2712         * testsuite/threads/threadi.c:
2713           move all of these under tests
2714
2715 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2716
2717         * configure.ac:
2718         * tests/Makefile.am:
2719           fix distcheck
2720
2721 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2722
2723         * docs/gst/gstreamer-sections.txt:
2724         * tests/sched/.cvsignore:
2725         * tests/sched/Makefile.am:
2726         * tests/sched/cases/(fs-fs).xml:
2727         * tests/sched/cases/(fs-i-fs).xml:
2728         * tests/sched/cases/(fs-i-i-fs).xml:
2729         * tests/sched/cases/(fs-i-q[i-fs]).xml:
2730         * tests/sched/dynamic-pipeline.c:
2731         * tests/sched/interrupt1.c:
2732         * tests/sched/interrupt2.c:
2733         * tests/sched/interrupt3.c:
2734         * tests/sched/runtestcases:
2735         * tests/sched/runxml.c:
2736         * tests/sched/sched-stress.c:
2737         * tests/sched/sort.c:
2738         * tests/sched/testcases:
2739         * tests/sched/testcases1.tc:
2740         * tests/seeking/.cvsignore:
2741         * tests/seeking/Makefile.am:
2742         * tests/seeking/seeking1.c:
2743         * tests/threadstate/.cvsignore:
2744         * tests/threadstate/Makefile.am:
2745         * tests/threadstate/test1.c:
2746         * tests/threadstate/test2.c:
2747         * tests/threadstate/threadstate1.c:
2748         * tests/threadstate/threadstate2.c:
2749         * tests/threadstate/threadstate3.c:
2750         * tests/threadstate/threadstate4.c:
2751         * tests/threadstate/threadstate5.c:
2752           remove obsolete tests
2753         * configure.ac:
2754         * tests/bench-complexity.scm:
2755         * tests/bench-mass_elements.scm:
2756         * tests/complexity.c:
2757         * tests/complexity.gnuplot:
2758         * tests/instantiate/.cvsignore:
2759         * tests/instantiate/Makefile.am:
2760         * tests/instantiate/caps.c:
2761         * tests/mass_elements.c:
2762         * tests/network-clock-utils.scm:
2763         * tests/network-clock.scm:
2764         * tests/plot-data:
2765         First pass at cleaning up tests/ dir before moving the rest
2766         Combined with CVS surgery
2767
2768 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2769
2770         * po/POTFILES.in:
2771           queue has moved, update
2772
2773 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2774
2775         * docs/gst/gstreamer-sections.txt:
2776           remove double entries from the docs
2777         * gst/gst_private.h:
2778         * gst/gstinfo.c: (_gst_debug_init):
2779           remove the THREAD debug category
2780         * gst/Makefile.am:
2781         * gst/gstqueue.c:
2782         * gst/gstqueue.h:
2783         * docs/gst/gstreamer.types:
2784         * plugins/elements/gstqueue.c: (gst_queue_get_type),
2785         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
2786           completely move queue and fix up debugging categories
2787
2788 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2789
2790         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2791           make initialization portable, using LL is not
2792
2793 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2794
2795         * win32/common/gstconfig.h:
2796           add large padding
2797
2798 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2799
2800         * win32/common/libgstreamer.def:
2801           rename symbols; sort base section
2802
2803 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2804
2805         * gst/gstclock.c: (do_linear_regression):
2806           remove crack non-portable handrolled DEBUG macro
2807
2808 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2809
2810         * docs/random/release:
2811           update notes
2812         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2813         (gst_object_flags_get_type), (register_gst_bin_flags),
2814         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2815         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2816         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2817         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
2818         (gst_caps_flags_get_type), (register_gst_clock_return),
2819         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2820         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2821         (gst_clock_flags_get_type), (register_gst_state),
2822         (gst_state_get_type), (register_gst_state_change_return),
2823         (gst_state_change_return_get_type), (register_gst_state_change),
2824         (gst_state_change_get_type), (register_gst_element_flags),
2825         (gst_element_flags_get_type), (register_gst_core_error),
2826         (gst_core_error_get_type), (register_gst_library_error),
2827         (gst_library_error_get_type), (register_gst_resource_error),
2828         (gst_resource_error_get_type), (register_gst_stream_error),
2829         (gst_stream_error_get_type), (register_gst_event_type_flags),
2830         (gst_event_type_flags_get_type), (register_gst_event_type),
2831         (gst_event_type_get_type), (register_gst_seek_type),
2832         (gst_seek_type_get_type), (register_gst_seek_flags),
2833         (gst_seek_flags_get_type), (register_gst_format),
2834         (gst_format_get_type), (register_gst_index_certainty),
2835         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2836         (gst_index_entry_type_get_type),
2837         (register_gst_index_lookup_method),
2838         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2839         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2840         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2841         (gst_index_flags_get_type), (register_gst_debug_level),
2842         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2843         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2844         (gst_iterator_result_get_type), (register_gst_iterator_item),
2845         (gst_iterator_item_get_type), (register_gst_message_type),
2846         (gst_message_type_get_type), (register_gst_mini_object_flags),
2847         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2848         (gst_pad_link_return_get_type), (register_gst_flow_return),
2849         (gst_flow_return_get_type), (register_gst_activate_mode),
2850         (gst_activate_mode_get_type), (register_gst_pad_direction),
2851         (gst_pad_direction_get_type), (register_gst_pad_flags),
2852         (gst_pad_flags_get_type), (register_gst_pad_presence),
2853         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2854         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2855         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2856         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2857         (gst_plugin_flags_get_type), (register_gst_rank),
2858         (gst_rank_get_type), (register_gst_query_type),
2859         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2860         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2861         (gst_tag_flag_get_type), (register_gst_task_state),
2862         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2863         (gst_alloc_trace_flags_get_type),
2864         (register_gst_type_find_probability),
2865         (gst_type_find_probability_get_type), (register_gst_uri_type),
2866         (gst_uri_type_get_type), (register_gst_parse_error),
2867         (gst_parse_error_get_type):
2868         * win32/common/gstenumtypes.h:
2869         * win32/common/gstversion.h:
2870           update visual studio generated files
2871
2872 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2873
2874         * win32/vs6/libgstbase.dsp:
2875         * win32/vs6/libgstelements.dsp:
2876           update project files for new locations
2877
2878 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2879
2880         * Makefile.am:
2881           remove some files
2882         * README:
2883           reinstate and update
2884         * DEVEL:
2885         * REQUIREMENTS:
2886           removed
2887         * LICENSE:
2888         * docs/random/LICENSE:
2889           moved to random
2890
2891 2005-11-30  Edward Hervey  <edward@fluendo.com>
2892
2893         * gst/gsttypefind.c: (gst_type_find_register):
2894         * gst/gsttypefind.h:
2895         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
2896         (gst_type_find_factory_dispose):
2897         * gst/gsttypefindfactory.h:
2898         Fix memory leak in GstTypeFindFactory.
2899
2900 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2901
2902         * gst/gst.c:
2903         * plugins/elements/Makefile.am:
2904         * plugins/elements/gstelements.c:
2905         * plugins/elements/gstqueue.c:
2906           move queue from core to the elements plugin
2907
2908 2005-11-29  Andy Wingo  <wingo@pobox.com>
2909
2910         * libs/gst/base/gstbasetransform.h: 
2911         * libs/gst/base/gstbasesrc.h: 
2912         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
2913
2914         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
2915         of pointers by which to pad very extensible base classes (like the
2916         ones in libs/gst/base).
2917
2918 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2919
2920         * docs/gst/gstreamer-docs.sgml:
2921         * docs/gst/gstreamer-sections.txt:
2922         * docs/libs/gstreamer-libs-docs.sgml:
2923         * docs/libs/gstreamer-libs-sections.txt:
2924           moving documentation from core to lib
2925
2926 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2927
2928         * check/Makefile.am:
2929         * configure.ac:
2930         * docs/gst/Makefile.am:
2931         * gst/Makefile.am:
2932         * gst/base/.cvsignore:
2933         * gst/base/Makefile.am:
2934         * gst/base/README:
2935         * gst/base/gstadapter.c:
2936         * gst/base/gstadapter.h:
2937         * gst/base/gstbasesink.c:
2938         * gst/base/gstbasesink.h:
2939         * gst/base/gstbasesrc.c:
2940         * gst/base/gstbasesrc.h:
2941         * gst/base/gstbasetransform.c:
2942         * gst/base/gstbasetransform.h:
2943         * gst/base/gstcollectpads.c:
2944         * gst/base/gstcollectpads.h:
2945         * gst/base/gstpushsrc.c:
2946         * gst/base/gstpushsrc.h:
2947         * gst/base/gsttypefindhelper.c:
2948         * gst/base/gsttypefindhelper.h:
2949         * gst/check/Makefile.am:
2950         * gst/check/gstcheck.c:
2951         * gst/check/gstcheck.h:
2952         * gst/net/Makefile.am:
2953         * gst/net/gstnet.h:
2954         * gst/net/gstnetclientclock.c:
2955         * gst/net/gstnetclientclock.h:
2956         * gst/net/gstnettimepacket.c:
2957         * gst/net/gstnettimepacket.h:
2958         * gst/net/gstnettimeprovider.c:
2959         * gst/net/gstnettimeprovider.h:
2960         * libs/gst/Makefile.am:
2961         * libs/gst/base/Makefile.am:
2962         * libs/gst/base/gstbasetransform.c:
2963         * libs/gst/check/Makefile.am:
2964         * plugins/elements/Makefile.am:
2965         * po/POTFILES.in:
2966           CVS surgery + support to move base, check, and net out of gst
2967           and into libs/gst
2968
2969 2005-11-29  Andy Wingo  <wingo@pobox.com>
2970
2971         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2972
2973         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2974         padding.
2975
2976         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2977
2978         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2979
2980         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2981
2982         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2983         padding; reduces object size by about 30%. We don't expect
2984         anything else to go into gstobject.
2985
2986         * gst/gstminiobject.h (struct _GstMiniObject)
2987         (struct _GstMiniObjectClass): Only one pointer of padding; the
2988         payload is only a pointer and two ints anyway. For the class there
2989         are only two methods as well.
2990         
2991         * gst/gstelement.h (struct _GstElementClass): Removed
2992         the state_changed signal callback, it is not used.
2993
2994 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2995
2996         * docs/gst/gstreamer.types:
2997           fix includes, though they are a little dinky
2998
2999 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3000
3001         * check/Makefile.am:
3002           look in the right place for elements, a lot more chance of
3003           success
3004         * gst/Makefile.am:
3005           remove indexers and elements subdirs
3006         * plugins/Makefile.am:
3007           make indexers conditional
3008
3009 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3010
3011         * Makefile.am:
3012         * configure.ac:
3013         * plugins/elements/Makefile.am:
3014         * plugins/elements/gstcapsfilter.c:
3015         * plugins/elements/gstfilesink.c:
3016         * plugins/elements/gstfilesrc.c:
3017         * plugins/elements/gstidentity.c:
3018         * plugins/indexers/Makefile.am:
3019           do CVS surgery and related build fixery to move elements
3020           and indexers in a new gstreamer/plugins directory, out of the
3021           gst/ directory
3022
3023 2005-11-29  Andy Wingo  <wingo@pobox.com>
3024
3025         * check/Makefile.am:
3026         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3027         * pkgconfig/gstreamer-net.pc.in:
3028         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
3029         #322257.
3030
3031 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3032
3033         * tools/Makefile.am:
3034         * tools/gst-complete.1.in:
3035         * tools/gst-complete.c:
3036         * tools/gst-compprep.1.in:
3037         * tools/gst-compprep.c:
3038           removing -compprep and -complete
3039
3040 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3041
3042         * gst/gstevent.c: (gst_event_new_new_segment),
3043         (gst_event_parse_new_segment):
3044         * gst/gstevent.h:
3045           fix #320529 - clean up new_segment API and structure.
3046           Let's hope everyone was using the methods, and not the structure.
3047
3048 2005-11-29  Edward Hervey  <edward@fluendo.com>
3049
3050         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3051         (gst_base_sink_event), (gst_base_sink_do_sync),
3052         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
3053         Properly handle non GST_FORMAT_TIME segment
3054         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3055         Properly handle non GST_FORMAT_TIME segment
3056         * gst/gstsegment.c:
3057         This function is valid if the accumulator is 0 and the format
3058         is different from the requested format.
3059         
3060 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3061
3062         * docs/gst/gstreamer-sections.txt:
3063         Add gst_query_new_seeking and gst_query_parse_seeking to the
3064         docs.
3065
3066 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3067
3068         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
3069           Treat a pad alloc with new caps the same as if we were not
3070           negotiated, in order to allow a changing upstream output
3071           to produce a new format of data.
3072
3073 2005-11-29  Edward Hervey  <edward@fluendo.com>
3074
3075         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3076         (gst_base_transform_event), (gst_base_transform_eventfunc):
3077         The event virtual method is now properly implemented, with a default
3078         handler
3079         Sub classes should call the parent_class event method. They should
3080         return FALSE if they had a problem handling the given event, or don't
3081         want GstBaseTransform to send that even downstream
3082         * gst/elements/gstidentity.c: (gst_identity_class_init),
3083         (gst_identity_init), (gst_identity_event),
3084         (gst_identity_transform_ip), (gst_identity_set_property),
3085         (gst_identity_get_property):
3086         * gst/elements/gstidentity.h:
3087         Added the single-segment boolean property.
3088         If set to TRUE, it will output a single segment of data, starting from
3089         0, will eat up all incoming newsegment, and modify the timestamp of the
3090         buffers accordingly
3091
3092 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
3093
3094         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
3095           Don't ref NULL target pad (#322751). Improve docs.
3096
3097 2005-11-29  Michael Smith  <msmith@fluendo.com>
3098
3099         * gst/gstregistryxml.c: (load_plugin):
3100           Don't crash if we failed to load a feature from a plugin. 
3101
3102 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3103
3104         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
3105         (GST_START_TEST):
3106           use more check API and less GLib API
3107
3108 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3109
3110         * Makefile.am:
3111           don't run checks if we don't have check
3112         * common/check.mak:
3113           remove the registry when running make torture
3114         * docs/gst/gstreamer-sections.txt:
3115           remove second multiply
3116         * gst/gstqueue.c: (gst_queue_loop):
3117           fix a compile warning when disabling debug
3118
3119 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3120
3121         * gst/gstinfo.h:
3122         Hey! Let's print the pad name if the pointer != NULL instead
3123         of when it == NULL :-)
3124
3125 2005-11-28  Wim Taymans  <wim@fluendo.com>
3126
3127         * check/gst/gstutils.c: (GST_START_TEST):
3128         Updated check, add some scaling accuracy checking code.
3129
3130         * gst/gstutils.c: (gst_util_div128_64),
3131         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
3132         (gst_util_uint64_scale_int):
3133         Fix 6 times faster division code. Optimize for common 
3134         1/1 and less common X/1 cases.
3135
3136 2005-11-28  Wim Taymans  <wim@fluendo.com>
3137
3138         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3139         More checks.
3140
3141         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
3142         (do_linear_regression), (gst_clock_add_observation):
3143         Cleanups.
3144         Release lock when the clock cannot be slaved.
3145         Catch the case where the regression returned an invalid denominator.
3146
3147         * gst/gstutils.c: (gst_util_div128_64_iterate),
3148         (gst_util_div128_64), (gst_util_uint64_scale_int64),
3149         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3150         Add protentially more performant non-iterative 128/64 divide function
3151         that unfortunatly does not work yet.
3152         Shortcut the trivial 0/X = 0 case.
3153         Remove the warnings on overflow.
3154
3155 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3156
3157         * gst/gstplugin.c: (gst_plugin_register_func):
3158           everything causing a plugin not to load should be at least a WARNING
3159
3160 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
3161
3162         * docs/random/ensonic/dparams.txt:
3163           some TODOs for the next dev cycle
3164         * libs/gst/controller/gstcontroller.c:
3165         (gst_controlled_property_set_interpolation_mode),
3166         (gst_controlled_property_new):
3167         * libs/gst/controller/gstcontroller.h:
3168           use base type to assign acccessor functions
3169
3170 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3171
3172         * check/Makefile.am:
3173         Oops, that should have been top_srcdir
3174
3175 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3176
3177         * check/Makefile.am:
3178         * check/elements/fdsrc.c: (GST_START_TEST):
3179         Use a cmdline define to specify the location of a file to use for
3180         testing, to avoid breaking distcheck.
3181
3182 2005-11-28  Andy Wingo  <wingo@pobox.com>
3183
3184         * gst/gstpad.c (fixate_value): Use array functions for arrays.
3185
3186 2005-11-28  Edward Hervey  <edward@fluendo.com>
3187
3188         * tools/gst-launch.c: (main):
3189         Clarify the output strings, makes it easier to translate.
3190         Fixes #322626
3191
3192 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3193
3194         * gst/Makefile.am:
3195           don't try and build net if we don't even have <sys/socket.h>
3196
3197 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
3198
3199         * check/Makefile.am:
3200         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
3201         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
3202           Add tests for fdsrc seekability
3203
3204         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
3205         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
3206         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
3207         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
3208         * gst/elements/gstfdsrc.h:
3209           fdsrc should not be a 'live' source.
3210           Implement seeking on seekable fd's.
3211
3212         * gst/gstquery.c: (gst_query_new_seeking),
3213         (gst_query_parse_seeking):
3214         * gst/gstquery.h:
3215           Implement SEEKING query functions: 
3216             *_new_seeking and *_parse_seeking
3217
3218 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
3219
3220         * gst/gstelement.c: (gst_element_dispose):
3221           don't loop forever
3222
3223         * gst/gstiterator.c:
3224         * gst/gststructure.c:
3225           doc fixes
3226
3227         * libs/gst/controller/gstcontroller.c:
3228         (gst_controlled_property_set_interpolation_mode):
3229         * libs/gst/controller/gstcontroller.h:
3230         * libs/gst/controller/gstinterpolation.c:
3231         (interpolate_none_get_enum_value_array):
3232           support controlling enums
3233
3234 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
3235
3236         * gst/gstvalue.c:
3237           Improve documentation for gst_value_union().
3238
3239         * gst/gstvalue.h:
3240           Change return value for union, intersect and subtract functions
3241           from gint to gboolean.
3242
3243 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
3244
3245         * gst/gstvalue.c: (gst_value_serialize_any_list),
3246         (gst_value_transform_any_list_string),
3247         (gst_value_deserialize_list), (gst_value_deserialize_array),
3248         (gst_value_set_int_range), (gst_value_deserialize_int_range),
3249         (gst_value_set_double_range), (gst_value_deserialize_double_range),
3250         (gst_value_set_fraction_range_full),
3251         (gst_value_deserialize_fraction_range),
3252         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
3253         (gst_value_deserialize_boolean),
3254         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
3255         (gst_value_serialize_float), (gst_value_deserialize_float),
3256         (gst_string_wrap), (gst_value_deserialize_string),
3257         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
3258         (gst_value_union_int_range_int_range),
3259         (gst_value_intersect_int_range_int_range),
3260         (gst_value_intersect_double_range_double_range),
3261         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
3262         (gst_value_subtract_int_range_int_range),
3263         (gst_value_subtract_double_double_range),
3264         (gst_value_subtract_double_range_double_range),
3265         (gst_value_deserialize_fraction):
3266         * gst/gstvalue.h:
3267           Use gint, gdouble and gchar in our API instead of int, double and
3268           char (and make usage in gstvalue.c more consistent).
3269
3270 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3271
3272         * check/Makefile.am:
3273         * libs/gst/controller/Makefile.am:
3274         * libs/gst/dataprotocol/Makefile.am:
3275           fix up Makefile.am and remove GST_ENABLE_NEW
3276
3277 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3278
3279         * configure.ac:
3280         * gst/Makefile.am:
3281         * gst/base/Makefile.am:
3282         * gst/check/Makefile.am:
3283         * gst/elements/Makefile.am:
3284         * gst/net/Makefile.am:
3285           update LDFLAGS use some more
3286
3287 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3288
3289         * common/m4/gst-doc.m4:
3290           Fixes #312589
3291
3292 2005-11-26  Edward Hervey  <edward@fluendo.com>
3293
3294         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3295         This shouldn't issue a g_warning since it returns NULL if it
3296         couldn't find the plugin, and all functions using this behave
3297         properly on a NULL return. Switching to a GST_WARNING.
3298
3299 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
3300
3301         * gst/gstbin.c: (gst_bin_handle_message_func):
3302         Don't leak clock messages.
3303
3304 2005-11-25  Wim Taymans  <wim@fluendo.com>
3305
3306         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3307         (gst_util_uint64_scale_int):
3308         Optimisations, remove unneeded vars.
3309
3310 2005-11-25  Wim Taymans  <wim@fluendo.com>
3311
3312         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3313         Added more checks for the high precision uint64 cases.
3314
3315         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3316         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3317         Implement high precision (guint64 * guint64) / guint64.
3318
3319 2005-11-24  Wim Taymans  <wim@fluendo.com>
3320
3321         * gst/base/gstbasesrc.c: (gst_base_src_query):
3322         Fix wrong percentage query.
3323
3324         * gst/gstutils.c: (gst_util_uint64_scale),
3325         (gst_util_uint64_scale_int):
3326         Add some more common cases that can be handled 
3327         efficiently to _scale.
3328
3329 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3330
3331         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
3332         (gst_mini_object_suite):
3333           don't use check calls from threads; check probably isn't
3334           threadsafe and using a lock to make it threadsafe would
3335           defeat the purpose of this check
3336         * gst/check/gstcheck.c:
3337         * gst/check/gstcheck.h:
3338           use GST_DEBUG some more
3339
3340 2005-11-24  Wim Taymans  <wim@fluendo.com>
3341
3342         * gst/gstutils.c: (gst_util_uint64_scale),
3343         (gst_util_uint64_scale_int):
3344         Chain trivial case to _scale_int.
3345
3346 2005-11-24  Wim Taymans  <wim@fluendo.com>
3347
3348         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3349         Added test for scaling.
3350
3351         * gst/gstclock.h:
3352         Small doc fix.
3353
3354         * gst/gstutils.c: (gst_util_uint64_scale_int):
3355         Implemented high precision scaling code.
3356
3357 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
3358
3359         * gst/gstinfo.h:
3360           do not crash on pad==NULL
3361
3362 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3363
3364         Patch by: Stefan Kost
3365
3366         * common/gtk-doc.mak:
3367         * docs/gst/Makefile.am:
3368         * docs/libs/Makefile.am:
3369           Fix distcheck issues for the libraries docs build
3370           Closes #319599.
3371
3372 2005-11-24  Michael Smith <msmith@fluendo.com>
3373
3374         * docs/manual/basics-helloworld.xml:
3375           Fix bug #315027: memory leak in example code in docs.
3376
3377 2005-11-24  Michael Smith <msmith@fluendo.com>
3378
3379         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3380           Unlock the PREROLL_LOCK in a failure case.
3381
3382 2005-11-24  Wim Taymans  <wim@fluendo.com>
3383
3384         * docs/gst/gstreamer-sections.txt:
3385         * gst/base/gstadapter.h:
3386         * gst/base/gstbasesink.h:
3387         * gst/base/gstbasesrc.h:
3388         * gst/base/gstbasetransform.h:
3389         * gst/base/gstpushsrc.h:
3390         * gst/elements/gstfakesink.h:
3391         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
3392         * gst/elements/gstfakesrc.h:
3393         * gst/elements/gstfilesink.h:
3394         * gst/elements/gstfilesrc.h:
3395         * gst/gst.c:
3396         * gst/gstbin.c:
3397         * gst/gstbuffer.c: (_gst_buffer_copy):
3398         * gst/gstbus.h:
3399         * gst/gstcaps.c:
3400         * gst/gstchildproxy.c:
3401         * gst/gstclock.c:
3402         * gst/gstelement.c:
3403         * gst/gstelementfactory.c:
3404         * gst/gstelementfactory.h:
3405         * gst/gstevent.c:
3406         * gst/gstghostpad.h:
3407         * gst/gstindex.h:
3408         * gst/gstinterface.h:
3409         * gst/gstminiobject.c:
3410         * gst/gstminiobject.h:
3411         * gst/gstpad.c:
3412         * gst/gstpad.h:
3413         * gst/gstpadtemplate.h:
3414         * gst/gstpipeline.h:
3415         * gst/gstpluginfeature.h:
3416         * gst/gstquery.h:
3417         * gst/gstqueue.h:
3418         * gst/gsttaglist.c:
3419         * gst/gsttaglist.h:
3420         * gst/gsttagsetter.c:
3421         * gst/gsttagsetter.h:
3422         * gst/gsttrace.c:
3423         * gst/gsttrace.h:
3424         * gst/gsttypefind.h:
3425         * gst/gsturi.h:
3426         * gst/gstvalue.c:
3427         * gst/net/gstnetclientclock.c:
3428         * gst/net/gstnetclientclock.h:
3429         * gst/net/gstnettimepacket.c:
3430         * gst/net/gstnettimeprovider.c:
3431         * gst/net/gstnettimeprovider.h:
3432         Doc fixes.
3433
3434 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3435
3436         * configure.ac: back to HEAD
3437
3438 === release 0.9.6 ===
3439
3440 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
3441
3442         * configure.ac:
3443           releasing 0.9.6, "Always On Time"
3444
3445 2005-11-23  Wim Taymans  <wim@fluendo.com>
3446
3447         * docs/gst/gstreamer-sections.txt:
3448         * gst/glib-compat.c:
3449         * gst/gsttagsetter.c:
3450         * gst/gstvalue.c:
3451         * gst/net/gstnetclientclock.c:
3452         * gst/net/gstnettimepacket.h:
3453         Doc updates.
3454
3455 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3456
3457         * docs/faq/using.xml:
3458         * docs/libs/tmpl/gstcontrol.sgml:
3459         * docs/manual/advanced-dparams.xml:
3460         * docs/manual/appendix-checklist.xml:
3461         * docs/manual/basics-elements.xml:
3462         * docs/pwg/other-source.xml:
3463         * docs/random/moving-plugins:
3464         * gst/gstpad.c:
3465         * tools/gst-launch.1.in:
3466           remove mentions of sinesrc
3467
3468 2005-11-23  Michael Smith <msmith@fluendo.com>
3469
3470         * docs/gst/gstreamer-sections.txt:
3471           Update for new API and API changes.
3472         * gst/gstobject.h:
3473           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
3474         * gst/gstvalue.c:
3475           Documentation typo fix.
3476         * gst/net/gstnettimepacket.c:
3477           Documentation fixes for arguments.
3478
3479 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
3480
3481         * gst/gststructure.c: (gst_structure_get_fraction),
3482         (gst_structure_parse_value),
3483         (gst_structure_fixate_field_nearest_fraction):
3484         * gst/gststructure.h:
3485         * gst/gstutils.c: (gst_util_uint64_scale_int):
3486         * gst/gstutils.h:
3487         * scripts/update-funcnames:
3488         API Changes. 
3489         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
3490         Make gst_structure_fixate_field_nearest_fraction take a numerator
3491         and denominator argument instead of a GValue
3492         add gst_structure_get_fraction helper function.
3493
3494 2005-11-23  Wim Taymans  <wim@fluendo.com>
3495
3496         * docs/design/part-TODO.txt:
3497         Update TODO.
3498
3499         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3500         * gst/net/gstnetclientclock.h:
3501         Use parent fields for timeout and window_size.
3502
3503 2005-11-23  Andy Wingo  <wingo@pobox.com>
3504
3505         * check/net/gstnetclientclock.c (test_functioning): Adjust to
3506         rate_num/rate_denom change.
3507
3508         * gst/net/gstnetclientclock.c
3509         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
3510         OBJECT_LOCK. Don't call add_observation with the lock.
3511
3512         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
3513         fraction.
3514         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
3515         rate fraction.
3516         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
3517         deal with rate as a fraction whose numerator and denominator are
3518         GstClockTime values.
3519         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
3520         master; the other fields are protected by the SLAVE_LOCK.
3521         (do_linear_regression): Note that this must be called with the
3522         SLAVE_LOCK.
3523         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
3524         OBJECT_LOCK. Call set_calibration instead of touching the
3525         variables directly.
3526         (gst_clock_set_property, gst_clock_get_property): Protect
3527         master/slave parameters with the SLAVE_LOCK.
3528
3529         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
3530         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
3531         note that all of the instance variables that add_observation and
3532         the set_master functions use are protected by that lock and not
3533         the OBJECT_LOCK.
3534         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
3535
3536         * gst/gstclock.c (gst_clock_add_observation): No longer requires
3537         the caller to take the object lock.
3538
3539 2005-11-23  Wim Taymans  <wim@fluendo.com>
3540
3541         * gst/gsterror.c: (_gst_core_errors_init):
3542         * gst/gsterror.h:
3543         Add error for clock stuff.
3544
3545         * gst/gstpipeline.c: (gst_pipeline_change_state),
3546         (gst_pipeline_set_clock):
3547         Post clock error when clock cannot be used in a pipeline.
3548
3549 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
3550
3551         * docs/gst/gstreamer-sections.txt:
3552           make two symbols from gstinfo private for the docs
3553         * gst/base/gstcollectpads.h:
3554         * gst/gstutils.c:
3555           fix doc typos, update docs
3556
3557 2005-11-22  Wim Taymans  <wim@fluendo.com>
3558
3559         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3560         (gst_base_sink_wait), (gst_base_sink_do_sync),
3561         (gst_base_sink_handle_event):
3562         * gst/base/gstbasesink.h:
3563         No need to store the clock, the parent element class already
3564         has it.
3565
3566         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
3567         Updates for clock_set returning a gboolean
3568
3569         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
3570         (gst_clock_id_wait_async), (gst_clock_class_init),
3571         (gst_clock_init), (gst_clock_finalize),
3572         (gst_clock_get_internal_time), (gst_clock_get_time),
3573         (gst_clock_slave_callback), (gst_clock_set_master),
3574         (gst_clock_get_master), (do_linear_regression),
3575         (gst_clock_add_observation), (gst_clock_set_property),
3576         (gst_clock_get_property):
3577         * gst/gstclock.h:
3578         Implement master/slave. When setting a clock as a slave, a
3579         periodic timeout is scheduled to sample master and slave times.
3580         Then the slave clock is recalibrated to match offset and rate
3581         of the master clock.
3582         Update logging a bit.
3583         Add flag so that a clock can state that is cannot be slaved to
3584         another clock.
3585
3586         * gst/gstelement.c: (gst_element_set_clock):
3587         * gst/gstelement.h:
3588         The set clock returns a gboolean for when an element cannot
3589         deal with the selected clock in the pipeline. 
3590
3591         * gst/gstpipeline.c: (gst_pipeline_change_state),
3592         (gst_pipeline_set_clock):
3593         * gst/gstpipeline.h:
3594         Handle the case where the selected clock cannot be set on
3595         the pipeline.
3596
3597         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
3598         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3599         (gst_net_client_clock_set_property),
3600         (gst_net_client_clock_get_property),
3601         (gst_net_client_clock_observe_times):
3602         * gst/net/gstnetclientclock.h:
3603         Use regression code in GstClock parent, remove duplicated
3604         functionality.
3605
3606 2005-11-22  Michael Smith <msmith@fluendo.com>
3607
3608         * gst/gstutils.c: (gst_util_clock_time_scale):
3609         * gst/gstutils.h:
3610         * docs/gst/gstreamer-sections.txt:
3611           Rename method to have extra underscore.
3612
3613 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3614
3615         * gst/elements/Makefile.am:
3616         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
3617         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3618         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3619         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
3620         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
3621         * gst/elements/gstfakesrc.h:
3622         * gst/gstqueue.c: (queue_leaky_get_type):
3623           correctly fix GEnumValues so that nick is the short lowercase
3624           dashed tag
3625         * tools/gst-inspect.c: (print_element_properties_info):
3626           also show the nick, since it's useful to use from parse_launch
3627           syntax
3628           Fixes #322139
3629
3630 2005-11-22  Michael Smith <msmith@fluendo.com>
3631
3632         * gst/gstutils.c: (gst_util_clocktime_scale):
3633         * gst/gstutils.h:
3634         * docs/gst/gstreamer-sections.txt:
3635           Add util method for scaling a clocktime by a fraction. Useful 
3636           implementation is left as an exercise for the reader.
3637
3638 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3639
3640         * gst/gstvalue.c: (gst_value_collect_fraction_range):
3641         If needed, allocate storage in the destination value during
3642         collection.
3643
3644 2005-11-22  Edward Hervey  <edward@fluendo.com>
3645
3646         * docs/gst/gstreamer-sections.txt:
3647         * gst/Makefile.am:
3648         * gst/gst.h:
3649         * gst/gsturitype.c:
3650         * gst/gsturitype.h:
3651         * gst/gstutils.c: (gst_util_set_object_arg):
3652         * tools/gst-compprep.c: (main):
3653         * tools/gst-inspect.c: (print_element_properties_info):
3654         Removed GstURI, closes bug #321061
3655
3656 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3657
3658         * check/gst/gststructure.c: (GST_START_TEST):
3659         * gst/gststructure.c: (gst_structure_parse_value):
3660           Oops, broke automatic string type parsing.
3661           Add a test to catch it in future.
3662
3663 2005-11-22  Andy Wingo  <wingo@pobox.com>
3664
3665         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
3666         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
3667         Actually rename the function implementations. Grr.
3668
3669 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3670
3671         * check/gst/capslist.h:
3672           Comment test cases
3673         * check/gst/gststructure.c: (GST_START_TEST),
3674         (gst_structure_suite):
3675           Test automatic value type detection in gst_structure_from_string.
3676         * gst/gststructure.c: (gst_structure_parse_value):
3677           Add fraction as a type we try and guess automatically in
3678           caps/structure strings.
3679
3680 2005-11-22  Andy Wingo  <wingo@pobox.com>
3681
3682         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
3683
3684         * gst/gsttagsetter.h:
3685         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
3686         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
3687         (gst_tag_setter_add_tag_valist)
3688         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
3689         _add_values, _add_valist, and _add_valist_values. Since this is an
3690         interface the function suffixes should be more explicit so
3691         language binding don't end up with element.add_valist ->
3692         gst_tag_setter_add_valist, for example. Fixes #322069.
3693
3694 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3695
3696         * check/gst/gstcaps.c: (GST_START_TEST):
3697           Extend caps string tests to check that a caps to string
3698           conversion is reversible and produces the same caps.
3699
3700         * gst/gststructure.c: (gst_structure_value_get_generic_type):
3701           Output "fraction" as the generic type fraction range, so caps
3702           serialisation and deserialisation works.
3703         * check/gst/capslist.h:
3704         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3705           Support 'MIN' and 'MAX' for deserialising fractions.
3706
3707 2005-11-22  Andy Wingo  <wingo@pobox.com>
3708
3709         * gst/gstevent.h (gst_event_new_new_segment)
3710         (gst_event_parse_new_segment, gst_event_new_buffer_size)
3711         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
3712         Renamed from *_newsegment, *_buffersize, *_notarget.
3713
3714         * scripts/update-funcnames: New script, performs the changes
3715         listed above.
3716
3717 2005-11-22  Wim Taymans  <wim@fluendo.com>
3718
3719         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3720         Make sure the GstFlowReturn is returned.
3721
3722         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
3723         (gst_bus_add_signal_watch):
3724         * gst/gstbus.h:
3725         add gst_bus_add_signal_watch_full.
3726
3727         * gst/gstplugin.c: (gst_plugin_load_file):
3728         Small style cleanup.
3729
3730 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3731
3732         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
3733           Block the fakesrc srcpad when we send an event, to avoid
3734           contention on the stream_lock causing random test failures.
3735
3736 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3737
3738         * check/gst/gstvalue.c: (GST_START_TEST):
3739         * gst/gstvalue.c: (gst_value_fraction_subtract):
3740           Fix subtraction.
3741
3742 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
3743
3744         * gst/gst.h:
3745           include "gstchildproxy.h"
3746         * gst/gstchildproxy.h:
3747         * libs/gst/controller/gstcontroller.h:
3748           use G_GNUC_NULL_TERMINATED
3749
3750 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3751
3752         * check/gst/capslist.h:
3753         * check/gst/gstcaps.c: (GST_START_TEST):
3754         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3755         * gst/gststructure.c: (gst_structure_parse_range),
3756         (gst_structure_fixate_field_nearest_fraction):
3757         * gst/gststructure.h:
3758         * gst/gstvalue.c: (gst_value_init_fraction_range),
3759         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
3760         (gst_value_collect_fraction_range),
3761         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
3762         (gst_value_set_fraction_range_full),
3763         (gst_value_get_fraction_range_min),
3764         (gst_value_get_fraction_range_max),
3765         (gst_value_serialize_fraction_range),
3766         (gst_value_transform_fraction_range_string),
3767         (gst_value_compare_fraction_range),
3768         (gst_value_deserialize_fraction_range),
3769         (gst_value_intersect_fraction_fraction_range),
3770         (gst_value_intersect_fraction_range_fraction_range),
3771         (gst_value_subtract_fraction_fraction_range),
3772         (gst_value_subtract_fraction_range_fraction),
3773         (gst_value_subtract_fraction_range_fraction_range),
3774         (gst_value_collect_fraction), (gst_value_fraction_multiply),
3775         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
3776         (gst_value_transform_string_fraction), (_gst_value_initialize):
3777         * gst/gstvalue.h:
3778           Implement fraction ranges and extend GstFraction to support
3779           arithmetic subtraction, as well as deserialization from integer
3780           strings such as "100"
3781           Add a testsuite as for int and double range set operations
3782
3783 2005-11-21  Andy Wingo  <wingo@pobox.com>
3784
3785         * gst/gsttaglist.h: 
3786         * gst/gstcaps.h: 
3787         * gst/gststructure.h: Add glib-compat.h.
3788
3789 2005-11-21  Wim Taymans  <wim@fluendo.com>
3790
3791         * gst/gstbin.c: (gst_bin_change_state_func):
3792         Fix for #321595
3793
3794 2005-11-21  Wim Taymans  <wim@fluendo.com>
3795
3796         * gst/gstsegment.h:
3797         And add a nice define too.
3798
3799 2005-11-21  Wim Taymans  <wim@fluendo.com>
3800
3801         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
3802         (gst_segment_new), (gst_segment_free), (gst_segment_init),
3803         (gst_segment_set_duration), (gst_segment_set_last_stop),
3804         (gst_segment_set_seek), (gst_segment_set_newsegment),
3805         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3806         (gst_segment_clip):
3807         * gst/gstsegment.h:
3808         Make binding friendly.
3809
3810 2005-11-21  Andy Wingo  <wingo@pobox.com>
3811
3812         * gst/gsttagsetter.h: 
3813         * gst/gsttaglist.h: 
3814         * gst/gststructure.h: 
3815         * gst/gstcaps.h: 
3816         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
3817         #319940.
3818
3819         * gst/gsterror.c (_gst_core_errors_init):
3820         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
3821         category.
3822
3823         * gst/Makefile.am (gst_headers): Add glib-compat.h.
3824         (noinst_HEADERS): noinst the -private.
3825
3826 2005-11-21  Michael Smith <msmith@fluendo.com>
3827
3828         * gst/gstplugin.h:
3829         * gst/gstregistry.h:
3830           Remove unimplemented declarations for which we can see no sensible
3831           use.
3832
3833 2005-11-21  Andy Wingo  <wingo@pobox.com>
3834
3835         * gst/gst.h: Include glib-compat.h.
3836
3837         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
3838
3839         * gst/glib-compat.c: Include the public and the private header.
3840
3841         * gst/glib-compat-private.h: Copied here from glib-compat.h.
3842
3843         * gst/gstvalue.c: 
3844         * gst/gstpad.c: 
3845         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
3846
3847         * check/gst/gstevent.c (create_custom_events): Check that
3848         FLUSH_STOP is serialized.
3849
3850         * check/elements/identity.c (event_func): 
3851         * check/elements/fakesrc.c (event_func): No stream lock, the core
3852         takes it.
3853
3854         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
3855         stream lock taking, yay.
3856
3857         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
3858         ensure that core takes the stream lock.
3859
3860         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
3861         lock name change.
3862
3863         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
3864         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
3865         it already. For the flush start we do take it though so we get the
3866         right preroll state change messages.
3867
3868         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
3869         the stream lock here, the core does it for us.
3870
3871         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
3872         GST_STREAM_GET_LOCK.
3873         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
3874         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
3875         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
3876         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
3877         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
3878         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
3879
3880         * gst/gstpad.c: Update for stream lock name change.
3881
3882         * gst/base/gstbasesink.c: Update for preroll lock name change.
3883
3884 2005-11-21  Wim Taymans  <wim@fluendo.com>
3885
3886         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
3887         (gst_clock_get_master):
3888         * gst/gstclock.h:
3889         * gst/gstsystemclock.c: (gst_system_clock_init):
3890         Convert Clock flags to object flags.
3891         Added methods to manage master/slave clocks.
3892
3893 2005-11-21  Wim Taymans  <wim@fluendo.com>
3894
3895         * check/gst/gstsegment.c: (GST_START_TEST):
3896         * docs/design/part-TODO.txt:
3897         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3898         (gst_base_sink_event), (gst_base_sink_do_sync),
3899         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3900         (gst_base_sink_query), (gst_base_sink_change_state):
3901         * gst/base/gstbasesink.h:
3902         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3903         (gst_base_src_default_newsegment),
3904         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3905         (gst_base_src_get_range), (gst_base_src_loop),
3906         (gst_base_src_change_state):
3907         * gst/base/gstbasesrc.h:
3908         * gst/base/gstbasetransform.c:
3909         (gst_base_transform_prepare_output_buf),
3910         (gst_base_transform_event), (gst_base_transform_change_state):
3911         * gst/base/gstbasetransform.h:
3912         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3913         (gst_collect_pads_event):
3914         * gst/base/gstcollectpads.h:
3915         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
3916         (gst_fake_src_create):
3917         * gst/elements/gstfakesrc.h:
3918         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3919         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3920         (gst_segment_set_last_stop), (gst_segment_set_seek),
3921         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3922         (gst_segment_to_running_time), (gst_segment_clip):
3923         * gst/gstsegment.h:
3924         More segment updates, replace code in plugins with segment
3925         helper functions.
3926
3927 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3928
3929         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
3930         Don't ignore sscanf results
3931
3932 2005-11-21  Andy Wingo  <wingo@pobox.com>
3933
3934         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
3935
3936         * *.h:
3937         * *.c: Ran scripts/update-macros. Oh yes.
3938
3939         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
3940         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
3941         GST_GET_LOCK, etc.
3942
3943         * scripts/update-macros: New script. Run it on your files to
3944         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
3945         well.
3946
3947 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3948
3949         * docs/gst/Makefile.am:
3950         * docs/gst/gstreamer-docs.sgml:
3951         * docs/gst/gstreamer-sections.txt:
3952         * docs/gst/gstreamer.types:
3953         * gst/gstinfo.h:
3954           more docs fixes, add new api to the docs
3955
3956 2005-11-21  Andy Wingo  <wingo@pobox.com>
3957
3958         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
3959         state_broadcast call.
3960
3961         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
3962
3963 2005-11-21  Julien MOUTTE  <julien@moutte.net>
3964
3965         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
3966         function calls for arrays.
3967
3968 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3969
3970         * docs/random/ensonic/media-device-daemon.txt:
3971           wild idea, can this be done?
3972         * docs/gst/gstreamer-sections.txt:
3973         * gst/gsterror.h:
3974         * gst/gstfilter.c:
3975         * gst/gstfilter.h:
3976         * gst/gstplugin.h:
3977         * gst/gstpluginfeature.c:
3978         * gst/gsttrace.c:
3979         * gst/gstvalue.c:
3980         * gst/gstvalue.h:
3981           doc fixes and additions
3982
3983 2005-11-21  Andy Wingo  <wingo@pobox.com>
3984
3985         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3986         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3987         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3988         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3989         private to the basesrc implementation.
3990
3991         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3992         behalf of event function if necessary. It should no longer be
3993         necessary to take the stream lock in pad's event functions. Fixes
3994         #320299.
3995
3996 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3997         * docs/gst/gstreamer-sections.txt:
3998         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3999         (gst_structure_fixate_field_nearest_double),
4000         (gst_structure_fixate_field_boolean):
4001         * gst/gststructure.h:
4002         * win32/common/libgstreamer.def:
4003         * win32/gstreamer.def:
4004
4005         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
4006         (#322027)
4007
4008 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4009
4010         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
4011         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
4012         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
4013         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
4014         (gst_fdsrc_uri_handler_init):
4015         * gst/elements/gstfdsrc.h:
4016           Port fd:// URI handler from 0.8 to fdsrc
4017
4018 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4019
4020         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
4021         (gst_value_serialize_fourcc):
4022         * gst/gstvalue.h:
4023           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
4024           consistent with our other format defines (#320324).
4025
4026 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4027
4028         * gst/gstvalue.c: (gst_value_is_fixed):
4029           Revert previous commit. Value lists are by definition
4030           not fixed, as they are a list of possible values.
4031
4032 2005-11-21  Andy Wingo  <wingo@pobox.com>
4033
4034         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
4035         during the stable series if we need it. Fixes #319178.
4036
4037         * gst/gstevent.c (gst_event_new_filler): Removed.
4038
4039         * check/gst/gstevent.c: Update comment about filler events.
4040
4041 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4042
4043         * gst/gstvalue.c: (gst_value_is_fixed):
4044           Should handle both value arrays and value lists.
4045
4046 2005-11-21  Andy Wingo  <wingo@pobox.com>
4047
4048         patch by: Alessandro Dessina <alessandro nnva org>
4049
4050         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
4051         functions to access arrays. Fixes #321962.
4052
4053 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4054
4055         * docs/gst/gstreamer.types:
4056           gst_collectpads_get_type => gst_collect_pads_get_type.
4057           
4058         * gst/base/gstbasetransform.c:
4059           Remove unused SIGNAL_HANDOFF enum.
4060
4061 2005-11-21  Andy Wingo  <wingo@pobox.com>
4062
4063         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
4064         the event type (upstream, downstream, serialized). Renamed
4065         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
4066         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
4067         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
4068
4069         * gst/gstevent.c: Update for new CUSTOM event names.
4070
4071         * check/gst/gstevent.c: Update check for new CUSTOM event names.
4072
4073         * gst/gstevent.h:
4074         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
4075         bug #319392.
4076
4077 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4078
4079         * docs/gst/gstreamer-sections.txt:
4080         * win32/common/libgstbase.def:
4081         * win32/libgstbase.def:
4082         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4083         (gst_collect_pads_class_init), (gst_collect_pads_init),
4084         (gst_collect_pads_finalize), (gst_collect_pads_new),
4085         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
4086         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
4087         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
4088         (gst_collect_pads_start), (gst_collect_pads_stop),
4089         (gst_collect_pads_peek), (gst_collect_pads_pop),
4090         (gst_collect_pads_available), (gst_collect_pads_read),
4091         (gst_collect_pads_flush), (gst_collect_pads_event),
4092         (gst_collect_pads_chain):
4093         * gst/base/gstcollectpads.h:
4094           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
4095           unimplemented functions as unimplemented. Add padding to
4096           GstCollectData. (#320766, #320423)
4097
4098 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4099
4100         * gst/gstmessage.c:
4101           Improve docs for DURATION message (usage of duration parameter)
4102           (#320113)
4103
4104 2005-11-20  Wim Taymans  <wim@fluendo.com>
4105
4106         * check/Makefile.am:
4107         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
4108         (main):
4109         * gst/Makefile.am:
4110         * gst/gst.h:
4111         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4112         (gst_segment_set_seek), (gst_segment_set_newsegment),
4113         (gst_segment_to_stream_time), (gst_segment_to_running_time),
4114         (gst_segment_clip):
4115         * gst/gstsegment.h:
4116         Added segment helper structure and methods. Not fully implemented
4117         yet.
4118         Added segment check.
4119
4120 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
4121
4122         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4123           Add a deserialisation test for fractions
4124         * examples/metadata/read-metadata.c: (message_loop),
4125         (make_pipeline), (main):
4126           Fix up metadata reading sample.
4127         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4128           Debug format fix
4129         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4130           Don't try and fixate empty caps
4131         * gst/gst_private.h:
4132           Wrap in G_BEGIN_DECLS/G_END_DECLS
4133         * gst/gstvalue.c: (gst_value_collect_fraction),
4134         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
4135         (gst_value_transform_string_fraction),
4136         (gst_value_compare_fraction):
4137           Add some extra guards to ensure that we don't end up 
4138           with an invalid denominator of 0 in a gstfraction and
4139           that fractions always get reduced.
4140
4141 2005-11-20  Wim Taymans  <wim@fluendo.com>
4142
4143         * docs/gst/gstreamer-sections.txt:
4144         * gst/gstbuffer.h:
4145         * gst/gstelement.c:
4146         * gst/gstformat.c:
4147         * gst/gstformat.h:
4148         * gst/gstindex.h:
4149         * gst/gstquery.c:
4150         * gst/gstquery.h:
4151         * gst/gstvalue.c:
4152         Doc fixes.
4153
4154 2005-11-20  Wim Taymans  <wim@fluendo.com>
4155
4156         * docs/design/part-TODO.txt:
4157         * gst/gstcaps.h:
4158         Make a proper enum of the flag.
4159
4160 2005-11-19  Wim Taymans  <wim@fluendo.com>
4161
4162         * docs/design/part-TODO.txt:
4163         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
4164         (gst_format_to_quark), (gst_format_register):
4165         * gst/gstformat.h:
4166         * gst/gstquery.c: (_gst_query_initialize),
4167         (gst_query_type_get_name), (gst_query_type_to_quark),
4168         (gst_query_type_register):
4169         * gst/gstquery.h:
4170         Add type to quark and type to string conversions.
4171
4172 2005-11-19  Andy Wingo  <wingo@pobox.com>
4173
4174         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
4175         #320097.
4176
4177 2005-11-19  Wim Taymans  <wim@fluendo.com>
4178
4179         * docs/design/part-TODO.txt:
4180         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4181         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
4182         (gst_bin_handle_message_func):
4183         * gst/gstbin.h:
4184         Make message handling overridable.
4185
4186 2005-11-19  Andy Wingo  <wingo@pobox.com>
4187
4188         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
4189
4190         * gst/gstclock.h:
4191         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
4192         be a GstClockTime.
4193         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
4194         is a GstClockTime. Fixes #321710.
4195
4196         * gst/gstclock.h (GstClock): Remove offset property. Add
4197         internal_calibration and external_calibration. Fix padding. Pad
4198         also by GstClockTime so we don't run into problems.
4199
4200         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
4201         (gst_clock_get_rate_offset): Remove.
4202         (gst_clock_set_time_adjust): Remove. Fixes #321712.
4203
4204         * gst/gstutils.h:
4205         * gst/gstutils.c (g_static_rec_cond_wait)
4206         (g_static_rec_cond_timed_wait): Removed, no longer needed.
4207
4208         * gst/gstbin.c: Remove terrible continue_state prototype.
4209
4210         * gst/gstelement.h (gst_element_continue_state): Make public.
4211
4212         * gst/gstelement.h:
4213         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
4214         by continue_state. Fixes #319389.
4215
4216         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
4217         Really fixes #168438. However I don't see anywhere where the
4218         filter function is called... stupid GStreamer...
4219         
4220         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
4221         don't have a dispose function, so it won't get called when the
4222         object is unreffed, but oh well!
4223
4224         * gst/gstindex.c (gst_index_set_filter_full): New API function,
4225         allows a destroy function to be set so user_data can be freed.
4226         Fixes #168438.
4227         (gst_index_set_filter): Call gst_index_set_filter_full.
4228
4229         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
4230
4231         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
4232         string should produce an error, given the lack of a way to
4233         represent NULL strings. Fixes #165650.
4234         
4235         * gst/gstvalue.h: 
4236         * gst/gstvalue.c (gst_value_array_append_value) 
4237         (gst_value_array_prepend_value, gst_value_array_get_size) 
4238         (gst_value_array_get_value): New API, copied from
4239         gst_value_list_*, only operates on arrays.
4240         (gst_value_list_append_value, gst_value_list_prepend_value) 
4241         (gst_value_list_concat, gst_value_list_get_size) 
4242         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
4243
4244         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
4245         init_list, because it works on both.
4246         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
4247         (gst_value_copy_list_or_array): Renamed from copy_list.
4248         (gst_value_free_list_or_array): Renamed from free_list.
4249         (gst_value_collect_list_or_array): Renamed from collect_list.
4250         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
4251         (gst_value_list_or_array_peek_pointer): Renamed from
4252         list_peek_pointer.
4253         (_gst_value_array_value_table, _gst_value_list_value_table):
4254         Update value table functions.
4255         (gst_value_compare_list_or_array): Renamed from compare_list.
4256
4257         * gsttaglist.h: Whoops, foreach function returns void. Also fix
4258         some constness.
4259
4260         * gst/gsttaglist.c:
4261         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
4262         GstTagList*. Fixes #143472.
4263
4264         * gst/gststructure.h: Clarify what the foreach/map functions can
4265         or can't do to their arguments.
4266
4267 2005-11-18  Wim Taymans  <wim@fluendo.com>
4268
4269         * gst/gstclock.c: (gst_clock_set_calibration),
4270         (gst_clock_get_calibration):
4271         Doc and API fixes.
4272         Calibration can be set with internal time equal to current
4273         internal time too.
4274
4275 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4276
4277         * gst/gsterror.c:
4278         * gst/gsterror.h:
4279           document
4280
4281 2005-11-18  Andy Wingo  <wingo@pobox.com>
4282
4283         * configure.ac: 
4284         * pkgconfig/gstreamer-net.pc.in:
4285         * pkgconfig/gstreamer-net-uninstalled.pc.in:
4286         * pkgconfig/Makefile.am: Add net pkgconfig files.
4287
4288 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
4289
4290         * gst/gstcaps.c:
4291         * gst/gstghostpad.c:
4292         * gst/gsttrace.c:
4293         * gst/gstvalue.c:
4294         * gst/gstvalue.h:
4295           docs fixes
4296
4297 2005-11-18  Andy Wingo  <wingo@pobox.com>
4298
4299         * gst/net/gstnetclientclock.c: Turn off debugging.
4300
4301         * check/net/gstnetclientclock.c (test_functioning): Assert that the
4302         times connverge somewhat. Can't make a real test.
4303
4304         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
4305         integer arithmetic. Return the minimum of the domain, which can be
4306         set as "internal" for gst_clock_set_calibration.
4307         (gst_net_client_clock_observe_times): Call _set_calibration.
4308         (gst_net_client_clock_new): Call _set_calibration instead of
4309         rate_offset.
4310
4311         * check/net/gstnetclientclock.c (test_functioning): Use the right
4312         adjustment api.
4313
4314         * gst/gstclock.h:
4315         * gst/gstclock.c (gst_clock_get_calibration) 
4316         (gst_clock_set_calibration): New functions, obsolete the ones I
4317         added yesterday. Doh. Precision issues mean we have to extrapolate
4318         from a point in the more recent past than 1970.
4319         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
4320         obsolete.
4321         (gst_clock_adjust_unlocked): Use the right calibration data.
4322
4323 2005-11-18  Edward Hervey  <edward@fluendo.com>
4324
4325         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
4326         Also reset the ->current_* values in READY->PAUSED
4327
4328 2005-11-18  Andy Wingo  <wingo@pobox.com>
4329
4330         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
4331         Whoops, check the right fd. Also add some debugging.
4332         (gst_net_client_clock_observe_times): Adjust for int64 offset.
4333         (do_linear_regression): Add a crapload of debugging. Subtract off
4334         the minimum values from the input series to discard unneeded bits.
4335         Use only int arithmetic. There is still double arithmetic when
4336         calculating the intercept that needs fixing. Return boolean to
4337         indicate success; FALSE would mean the domain or range is too
4338         great. Still needs fixes.
4339
4340 2005-11-18  Wim Taymans  <wim@fluendo.com>
4341
4342         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4343         For the current position in stream time, we need to subtract
4344         accumulated time.
4345         
4346         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4347         Release lock before calling the callback function of async
4348         entries.
4349
4350 2005-11-18  Andy Wingo  <wingo@pobox.com>
4351
4352         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
4353         Port goes all the way to MAXUINT16.
4354
4355         * gst/net/gstnettimeprovider.c: Make the port range the same as
4356         for the kernel: 0 assigns, otherwise ports are less than
4357         MAXUINT16.
4358
4359         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
4360         port change.
4361
4362         * check/net/gstnetclientclock.c (test_functioning): Add the start
4363         of another test. 
4364
4365 2005-11-18  Wim Taymans  <wim@fluendo.com>
4366
4367         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4368         (gst_bin_remove_func), (bin_bus_handler):
4369         * gst/gstbin.h:
4370         Removing a clock provider from a bin, triggers a clock lost message
4371         so that a new clock will be selected.
4372         Adding a clock to a bin triggers a clock provider message.
4373         Make sure we reselect a clock when we received a clock lost message.
4374         Keep a reference to the element that provided the clock.
4375
4376 2005-11-18  Andy Wingo  <wingo@pobox.com>
4377
4378         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
4379         the clock initially so it produces values around the base time.
4380         (gst_net_client_clock_class_init): Typo fix.
4381         (gst_net_client_clock_thread): Add note on when the socket gets
4382         closed.
4383
4384 2005-11-17  Wim Taymans  <wim@fluendo.com>
4385
4386         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
4387         Free remote and local time arrays.
4388
4389 2005-11-17  Wim Taymans  <wim@fluendo.com>
4390
4391         * gst/net/gstnetclientclock.c: (do_linear_regression),
4392         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
4393         Fix compilation, uninitialized vars and a forgotten continue.
4394
4395 2005-11-17  Andy Wingo  <wingo@pobox.com>
4396
4397         * check/Makefile.am (check_PROGRAMS): 
4398         * check/net/gstnetclientclock.c: Add a most minimal test for the
4399         net client clock. More to come later.
4400
4401         * gst/net/gstnet.h: 
4402         * gst/net/Makefile.am: Add netclientclock.
4403
4404         * gst/net/gstnetclientclock.h:
4405         * gst/net/gstnetclientclock.c: New files, implement an untested
4406         GstClock that takes its time from a network time provider.
4407         Implements the algorithm in network-clock.scm.
4408
4409         * tests/network-clock.scm (*window-size*): Rename from
4410         *queue-length*.
4411         * tests/network-clock.scm (network-time): 
4412         * tests/network-clock-utils.scm (q-push): Update callers.
4413
4414 2005-11-17  Wim Taymans  <wim@fluendo.com>
4415
4416         * gst/gstbin.c: (gst_bin_provide_clock_func),
4417         (gst_bin_sort_iterator_new):
4418         And unref the child too..
4419
4420 2005-11-17  Wim Taymans  <wim@fluendo.com>
4421
4422         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4423         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
4424         Refactor the sort iterator so it can be used while holding the
4425         LOCK too.
4426         Make clock selection select a clock closest to the source.
4427
4428 2005-11-17  Michael Smith <msmith@fluendo.com>
4429
4430         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
4431         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
4432         * gst/gstclock.h:
4433           Anonymous structs are a gcc (and some other compilers) extension, so
4434           don't use them. Since this is only for ABI-compatibility, and our
4435           API/ABI freeze is over in a few days, this whole thing will only
4436           last a few days, so don't bother trying to think up a meaningful
4437           name for the struct.
4438
4439 2005-11-17  Andy Wingo  <wingo@pobox.com>
4440
4441         * gst/gstclock.h (GstClock): Add rate and offset properties,
4442         preserving ABI stability. Add rate/offset accessors. Will file bug
4443         for the freeze break.
4444
4445         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
4446         and offset, trying to keep precision and avoiding
4447         underflow/overflow.
4448         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
4449         functions. Make gst_clock_set_time_adjust obsolete.
4450         (gst_clock_set_time_adjust): Note that this function is obsolete.
4451         Will file bug soon.
4452
4453         * gst/base/gstbasetransform.h: Make the ABI-stability hack
4454         greppable by using GST_PADDING-1+1.
4455
4456 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
4457
4458         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4459
4460         * gst/gstmessage.c: (gst_message_parse_clock_lost):
4461           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
4462
4463         * gst/gstpadtemplate.h:
4464         * gst/gstpluginfeature.h:
4465           Don't use c++ style comments in headers (#321638).
4466
4467 2005-11-16  Andy Wingo  <wingo@pobox.com>
4468
4469         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
4470         buffer.
4471
4472         * check/net/gstnettimeprovider.c: Check to see that the time
4473         provider actually provides times. Works, yo!
4474
4475 2005-11-16  Wim Taymans  <wim@fluendo.com>
4476
4477         * check/Makefile.am:
4478         Enable more tests.
4479
4480         * check/elements/fakesrc.c: (GST_START_TEST):
4481         Set element to NULL before disposing it.
4482
4483 2005-11-16  Andy Wingo  <wingo@pobox.com>
4484
4485         * gst/net/Makefile.am:
4486         * gst/net/gstnet.h:
4487         * gst/net/gstnettimeprovider.c: 
4488         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
4489         provider, include it from gstnet.h, and add it to the build.
4490
4491         * gst/net/gstnettimepacket.h: 
4492         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
4493         sending and receiving.
4494
4495 2005-11-16  Wim Taymans  <wim@fluendo.com>
4496
4497         * check/Makefile.am:
4498         Enable valgrind check.
4499
4500         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
4501         (gst_fake_src_alloc_buffer):
4502         Fix memleak.
4503
4504 2005-11-16  Wim Taymans  <wim@fluendo.com>
4505
4506         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
4507         Call parent finalize too.
4508
4509 2005-11-16  Wim Taymans  <wim@fluendo.com>
4510
4511         * check/Makefile.am:
4512         Enable valgrind check that should work fine now.
4513
4514         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4515         * gst/gstqueue.c: (gst_queue_init):
4516         Fix memleaks in pad allocation.
4517
4518 2005-11-16  Andy Wingo  <wingo@pobox.com>
4519
4520         * gst/net/Makefile.am:
4521         * gst/net/gstnet.h: New part of core to hold network elements and
4522         objects. Put in core because it exposes API that applications want
4523         to use. The library is named libgstnet-tempname right now because
4524         of the existing libgstnet in gst-plugins-base. Solution is
4525         probably to rename the one in plugins-base; will file a bug for
4526         the freeze break.
4527
4528         * gst/net/gstnettimeprovider.c: 
4529         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
4530         get_time call over the network.
4531
4532         * configure.ac: 
4533         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
4534
4535         * check/Makefile.am:
4536         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
4537         get additions shortly.
4538
4539 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4540
4541         * gst/gstpad.c: (gst_pad_new_from_static_template):
4542         * gst/gstpad.h:
4543           add gst_pad_new_from_static_template functions
4544         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
4545         (gst_check_setup_sink_pad):
4546         * gst/elements/gsttee.c: (gst_tee_init):
4547           and use them
4548
4549 2005-11-16  Wim Taymans  <wim@fluendo.com>
4550
4551         * gst/gstpad.c: (gst_pad_pause_task):
4552         Removed warning, it's not really an error either.
4553
4554 2005-11-16  Wim Taymans  <wim@fluendo.com>
4555
4556         * gst/base/gstbasetransform.c:
4557         (gst_base_transform_prepare_output_buf),
4558         (gst_base_transform_event):
4559         Check if the caps are NULL, this can happen if the element
4560         is shutting down and the pad caps are set to NULL.
4561
4562 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4563
4564         * gst/elements/gsttee.c: (gst_tee_init):
4565           fix pad template leak in tee
4566
4567 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4568
4569         * gst/glib-compat.c: (g_value_dup_gst_object):
4570         * gst/glib-compat.h:
4571         * gst/gstpad.c: (gst_pad_set_property):
4572           use gst_object_ref when setting the pad template; this will
4573           trigger the pad template leaks on GLib 2.6 and the slaves
4574
4575 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4576
4577         * gst/glib-compat.c: (gst_flags_get_first_value):
4578         * gst/glib-compat.h:
4579         * gst/gstregistryxml.c:
4580           remove functions copied from GLib 2.6
4581
4582 2005-11-16  Michael Smith <msmith@fluendo.com>
4583
4584         * gst/Makefile.am:
4585           Don't link against VALGRIND_LIBS. That was always the wrong thing to
4586           do, but only breaks with newer valgrind versions. We're not a
4587           valgrind tool, we have no link-time dependencies on libcoregrind.
4588
4589 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4590
4591         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4592           some debug changes
4593         * gst/gstmessage.h:
4594           typo fixes
4595
4596 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4597
4598         * gst/base/gstbasesrc.c: (gst_base_src_init):
4599         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4600         * gst/gstqueue.c: (gst_queue_init):
4601         * gst/gstregistryxml.c: (load_feature):
4602           Revert all these unrefs, they don't even pass make check !
4603
4604 2005-11-15  Johan Dahlin  <johan@gnome.org>
4605
4606         * gst/base/gstbasesrc.c: (gst_base_src_init):
4607         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4608         * gst/gstqueue.c: (gst_queue_init): 
4609         Free pad templates, fixes a couple of leaks.
4610
4611 2005-11-15  Daniel Fischer  <dan at f3c dot com>
4612
4613         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4614
4615         * gst/gstpad.c: (gst_pad_get_property):
4616           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
4617           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
4618           (#321452)
4619
4620 2005-11-15  Wim Taymans  <wim@fluendo.com>
4621
4622         * gst/gstevent.c:
4623         Small doc update.
4624
4625 2005-11-15  Andy Wingo  <wingo@pobox.com>
4626
4627         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
4628
4629         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
4630         using GST_CLOCK_TIME_NONE to disable base time management.
4631         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
4632         time if it was NONE before.
4633         (gst_pipeline_change_state): Only munge the base time if
4634         stream_time != GST_CLOCK_TIME_NONE.
4635
4636         * check/gst/gstpipeline.c (test_base_time): Punt around the
4637         problem of the probe not being called, because that's not the
4638         issue I'm looking at. Add a check that setting stream_time to NONE
4639         disables base time management.
4640         
4641 2005-11-15  Wim Taymans  <wim@fluendo.com>
4642
4643         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4644         segment_stop == -1 at startup.
4645
4646         * gst/base/gstbasetransform.c: (gst_base_transform_event),
4647         (gst_base_transform_change_state):
4648         Init segment values at start.
4649
4650 2005-11-15  Wim Taymans  <wim@fluendo.com>
4651
4652         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4653         0 segment values are 0 in any format.
4654
4655         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4656         * gst/base/gstbasetransform.h:
4657         Parse newsegment correctly in basetransform
4658
4659         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4660         Sync to clock using updated segment values.
4661
4662 2005-11-15  Andy Wingo  <wingo@pobox.com>
4663
4664         * check/gst/gstpipeline.c (test_base_time): Add check that the
4665         base time and stream time are reset correctly.
4666
4667 2005-11-15  Wim Taymans  <wim@fluendo.com>
4668
4669         * docs/design/part-TODO.txt:
4670         Some more TODO items.
4671
4672 2005-11-15  Andy Wingo  <wingo@pobox.com>
4673
4674         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
4675         error if the user selected "no clock" as the clocking method.
4676
4677         * check/gst/gstpipeline.c (test_base_time): New test for buffer
4678         timestamps with live capture.
4679
4680         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
4681         is 0 but we are a live source, timestamp the buffers using the
4682         element's clock.
4683
4684 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
4685
4686         * docs/gst/gstreamer-sections.txt:
4687         * gst/gsterror.c:
4688         * gst/gstghostpad.c:
4689         * gst/gstobject.h:
4690         * gst/gstxml.c:
4691           more section docs
4692
4693 2005-11-14  Wim Taymans  <wim@fluendo.com>
4694
4695         * common/gst.supp:
4696           add suppressions from Wim's Debian machine
4697
4698 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4699
4700         * common/gst.supp:
4701           add suppressions from Andy's AMD64 Ubuntu machine
4702
4703 2005-11-14  Andy Wingo  <wingo@pobox.com>
4704
4705         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
4706         STATE_LOCK not necessary. Fixes #311489.
4707
4708         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
4709         #305291.
4710
4711         * gst/gstindex.c (gst_index_add_object): Note in the docs that
4712         this function is not implemented.
4713
4714 2005-11-14  Julien MOUTTE  <julien@moutte.net>
4715
4716         * gst/base/gstbasetransform.c:
4717         (gst_base_transform_prepare_output_buf):
4718         Ref the source pad caps while we need them.
4719         Fixes (#321386)
4720
4721 2005-11-11  Wim Taymans  <wim@fluendo.com>
4722
4723         * docs/gst/gstreamer-sections.txt:
4724         Added some docs for GstCollectData.
4725
4726         * gst/base/gstadapter.c:
4727         Some small code example fix.
4728
4729         * gst/base/gstcollectpads.c:
4730         * gst/base/gstcollectpads.h:
4731         Document some more.
4732
4733 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4734
4735         * configure.ac: back to HEAD
4736
4737 === release 0.9.5 ===
4738
4739 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
4740
4741         * configure.ac:
4742           releasing 0.9.5, "Bike Lunch Day"
4743
4744 2005-11-11  Wim Taymans  <wim@fluendo.com>
4745
4746         * gst/gstbuffer.c: (_gst_buffer_copy):
4747         Copy more flags.
4748
4749         * gst/gstcaps.c: (gst_caps_is_equal):
4750         Fix some docs.
4751         Make _is_equal fast in the trivial cases.
4752
4753         * gst/gstminiobject.c:
4754         * gst/gstminiobject.h:
4755         More docs. Spifify .h file.
4756
4757         * gst/gstutils.c:
4758         Small doc update.
4759
4760 2005-11-11  Wim Taymans  <wim@fluendo.com>
4761
4762         * gst/base/gstbasetransform.c:
4763         (gst_base_transform_prepare_output_buf),
4764         (gst_base_transform_handle_buffer):
4765         Small cleanups.
4766         If we're processing a buffer and need to allocate an output
4767         buffer, we cannot accept a format change. If we did get a 
4768         format change, we have to alloc a buffer ourselves of the 
4769         right size.
4770
4771 2005-11-11  Wim Taymans  <wim@fluendo.com>
4772
4773         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
4774         While checking the flag for reentrancy in the gstcaps function
4775         is nice to detect recursive invocations, it also makes it 
4776         impossible to call getcaps from multiple threads, which must be
4777         possible. So, checking for recursive calls has to go.
4778
4779 2005-11-11  Michael Smith <msmith@fluendo.com>
4780
4781         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4782           Don't sync on buffers that fall partially outside our current
4783           segment. Prevents an assertion failure/abort playing some files.
4784
4785 2005-11-10  Andy Wingo  <wingo@pobox.com>
4786
4787         * check/gst/gstbin.c (test_message_state_changed_children): Style
4788         fix..
4789
4790         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
4791         gst_bus_poll with the signal watch. Ensures that poll and a signal
4792         watch see the same messages.
4793
4794         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
4795         a poll and a watch at the same time get the same messages.
4796
4797 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4798
4799         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
4800         * gst/gstcaps.c: (gst_caps_intersect):
4801           Don't call gst_caps_do_simplify - it doesn't respect order of caps
4802           and it's not needed.
4803
4804 2005-11-10  Wim Taymans  <wim@fluendo.com>
4805
4806         * docs/design/part-TODO.txt:
4807         Updated todo.
4808
4809 2005-11-10  Wim Taymans  <wim@fluendo.com>
4810
4811         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4812         * gst/base/gstbasesrc.c: (gst_base_src_wait),
4813         (gst_base_src_do_sync), (gst_base_src_get_range):
4814         Implement clock sync in base class.
4815
4816 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4817
4818         patch by: Tim-Philipp Müller <tim at centricular dot net>
4819
4820         * gst/gststructure.c: (gst_structure_parse_field),
4821         (gst_structure_from_string):
4822           Forward-port a 0.8 patch to handle escaped spaces in structure string,
4823           so that gst_parse_launch() can deal with spaces in filtered link
4824           caps (fixes #164479)
4825         * check/gst/capslist.h:
4826         * check/gst/gststructure.c: (GST_START_TEST):
4827           add unit tests for this change
4828
4829 2005-11-10  Wim Taymans  <wim@fluendo.com>
4830
4831         * docs/gst/gstreamer-sections.txt:
4832         * gst/gstelement.c:
4833         * gst/gstelement.h:
4834         Fix docs, move some STATE macros to private.
4835
4836 2005-11-10  Wim Taymans  <wim@fluendo.com>
4837
4838         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4839         Added check for bug #317341
4840
4841         * gst/gstbuffer.c:
4842         * gst/gstbuffer.h:
4843         Some more spiffifying.
4844
4845         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
4846         Call peer linkfunction if we are a source pad. Totally fixes
4847         #317341
4848
4849         * gst/gstpad.c:
4850         Update docs, source pads should call the peer linkfunction
4851         so they can atomically perform the pad link.
4852
4853 2005-11-09  Wim Taymans  <wim@fluendo.com>
4854
4855         * gst/gstbuffer.c:
4856         * gst/gstbuffer.h:
4857         Uber-spiffy-spiffify some more.
4858
4859 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
4860
4861         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
4862         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4863         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4864         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
4865         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
4866         * gst/gstpad.c: (gst_pad_init):
4867           Use GST_DEBUG_FUNCPTR() more extensively.
4868
4869 2005-11-09  Wim Taymans  <wim@fluendo.com>
4870
4871         * gst/gstobject.c: (gst_object_class_init):
4872         * gst/gstobject.h:
4873         Documentation fixes.
4874
4875 2005-11-09  Edward Hervey  <edward@fluendo.com>
4876
4877         * gst/gsttypefindfactory.c:
4878         Fix docs.
4879         
4880 2005-11-09  Edward Hervey  <edward@fluendo.com>
4881
4882         * gst/base/gsttypefindhelper.c:
4883         * gst/gsttypefind.c:
4884         * gst/gsttypefind.h:
4885         Fix docs.
4886
4887 2005-11-09  Wim Taymans  <wim@fluendo.com>
4888
4889         * gst/gstiterator.c:
4890         Fix revision data.
4891
4892         * gst/gsttask.c:
4893         * gst/gsttask.h:
4894         Fix docs.
4895
4896 2005-11-09  Wim Taymans  <wim@fluendo.com>
4897
4898         * gst/gstevent.h:
4899         * gst/gsturi.h:
4900         Fix docs.
4901
4902 2005-11-09  Wim Taymans  <wim@fluendo.com>
4903
4904         * docs/gst/gstreamer-sections.txt:
4905         Moved the message async delivery private lock and cond
4906         to the private section.
4907
4908         * gst/gstmessage.c:
4909         * gst/gstmessage.h:
4910         Fixed docs.
4911
4912 2005-11-09  Edward Hervey  <edward@fluendo.com>
4913
4914         * docs/gst/gstreamer-sections.txt:
4915         * gst/gsturi.c:
4916         * gst/gsturi.h:
4917         Document GstURIHandler
4918
4919 2005-11-09  Wim Taymans  <wim@fluendo.com>
4920
4921         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
4922         (gst_iterator_find_custom):
4923         * gst/gstiterator.h:
4924         Fix iterator docs.
4925
4926 2005-11-09  Wim Taymans  <wim@fluendo.com>
4927
4928         * gst/gstbin.h:
4929         Document another field.
4930
4931         * gst/gststructure.c:
4932         * gst/gststructure.h:
4933         Document.
4934
4935 2005-11-09  Wim Taymans  <wim@fluendo.com>
4936
4937         * gst/gstbin.h:
4938         Documented structs.
4939
4940 2005-11-09  Wim Taymans  <wim@fluendo.com>
4941
4942         * docs/gst/gstreamer-sections.txt:
4943         Added some new macros.
4944
4945         * gst/gstclock.c:
4946         * gst/gstclock.h:
4947         * gst/gstobject.h:
4948         Docs updates.
4949
4950 2005-11-09  Wim Taymans  <wim@fluendo.com>
4951
4952         * docs/design/part-TODO.txt:
4953         Some more items for the TODO
4954
4955         * gst/gstcaps.c:
4956         * gst/gstcaps.h:
4957         Document GstCaps.
4958
4959 2005-11-09  Andy Wingo  <wingo@pobox.com>
4960
4961         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
4962         to work on something else now tho...
4963
4964         * gst/base/gstadapter.c: More adapter docs.
4965
4966         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4967         (gst_file_sink_stop): New functions, replace the state change
4968         handler.
4969         (gst_file_sink_class_init): Hook up the start and stop functions.
4970         (gst_file_sink_base_init): Don't set the state change handler any
4971         more. It was a bit ugly too, being set from here...
4972         (gst_file_sink_get_property, gst_file_sink_set_property):
4973         Cleanups...
4974         (gst_file_sink_set_location): More robust check that doesn't call
4975         GST_STATE. Ugggggg.
4976
4977 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4978
4979         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4980           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4981
4982 2005-11-08  Wim Taymans  <wim@fluendo.com>
4983
4984         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4985         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4986         (gst_base_sink_chain), (gst_base_sink_change_state):
4987         * gst/base/gstbasesink.h:
4988         * gst/base/gstbasesrc.h:
4989         * gst/gstelement.h:
4990         * gst/gstevent.h:
4991         Avoid excessive typechecking in macros.
4992
4993         * gst/gstminiobject.c: (gst_mini_object_get_type),
4994         (gst_mini_object_init), (gst_mini_object_new),
4995         (gst_mini_object_free):
4996         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4997         (gst_object_finalize):
4998         Remove cruft code, optimize alloc_trace.
4999
5000 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5001
5002         * docs/faq/gst-uninstalled:
5003           fix up PS1 for systems that try to reset it
5004
5005 2005-11-07  Wim Taymans  <wim@fluendo.com>
5006
5007         * gst/base/gstbasesrc.c: (gst_base_src_init),
5008         (gst_base_src_get_range):
5009         Set the segment_end to -1 initially. Fixed typefind.
5010
5011 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5012
5013         * gst/base/gstadapter.c:
5014           Debug category should be 'adapter', not 'GstAdapter'.
5015           
5016         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
5017         (gst_collectpads_class_init), (gst_collectpads_init),
5018         (gst_collectpads_peek), (gst_collectpads_pop),
5019         (gst_collectpads_event), (gst_collectpads_chain):
5020           Add debug category and some debugging output. Use boilerplate
5021           macros. Remove some extraneous words from docs.
5022
5023 2005-11-05  Andy Wingo  <wingo@pobox.com>
5024
5025         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
5026         macro.
5027
5028 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5029
5030         * docs/gst/gstreamer-sections.txt:
5031         * gst/gstcaps.h:
5032         * gst/gstinfo.c:
5033         * gst/gstminiobject.h:
5034         * gst/gstobject.h:
5035         * gst/gstutils.h:
5036           more docs added
5037
5038 2005-11-04  Wim Taymans  <wim@fluendo.com>
5039
5040         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5041         Small update to stop at the configured segment_end
5042         position.
5043
5044 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5045
5046         * gst/gstregistry.c:
5047         * gst/gstregistry.h:
5048           added missing docs
5049
5050 2005-11-04  Edward Hervey  <edward@fluendo.com>
5051
5052         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5053         Check if we are doing a segment seek and have arrived at the
5054         end of that segment.
5055
5056 2005-11-04  Wim Taymans  <wim@fluendo.com>
5057
5058         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
5059         Don't leak a mutex unlock in case of an error.
5060
5061         * gst/gstbus.h:
5062         Doc fixes.
5063
5064 2005-11-04  Wim Taymans  <wim@fluendo.com>
5065
5066         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
5067         (gst_bus_post):
5068         Get the context to wake up only once.
5069
5070 2005-11-03  Wim Taymans  <wim@fluendo.com>
5071
5072         * check/states/sinks.c: (GST_START_TEST):
5073         Uncomment fixed check.
5074
5075         * docs/design/part-TODO.txt:
5076         Updated TODO.
5077
5078         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5079         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5080         (gst_base_sink_get_position):
5081         If we are going to PLAYING, post the right pending state
5082         when we post the intermediate paused message.
5083
5084         * gst/gstelement.c: (gst_element_continue_state),
5085         (gst_element_set_state_func), (gst_element_change_state):
5086         Don't post state changes that were between the same state
5087         and were not ASYNC.
5088
5089 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
5090
5091         * docs/gst/gstreamer-sections.txt:
5092         * gst/gstcaps.h:
5093         * gst/gstinfo.c:
5094         * gst/gstminiobject.h:
5095         * gst/gstobject.h:
5096         * gst/gstutils.h:
5097           more docs and doc style fixes
5098
5099 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
5100
5101         * docs/gst/gstreamer-sections.txt:
5102         * gst/gstelement.c:
5103         * gst/gstminiobject.c:
5104         doc fixes
5105
5106 2005-11-03  Andy Wingo  <wingo@pobox.com>
5107
5108         * check/states/sinks.c (test_livesrc_sink): Add checks that the
5109         state-changed messages actually have the right order and the right
5110         values.
5111
5112 2005-11-03  Wim Taymans  <wim@fluendo.com>
5113
5114         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5115         Added some more checks. Specifically the case where NO_PREROLL
5116         elements are in the pipeline.
5117
5118         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5119         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5120         (gst_base_sink_get_position):
5121         Post READY->PAUSED state change messages too.
5122         Fix bug where VOID was posted as pending state...
5123
5124         * gst/gstbin.c: (gst_bin_recalc_state):
5125         use _element_continue_state() to continue the state change.
5126
5127         * gst/gstelement.c: (gst_element_continue_state),
5128         (gst_element_commit_state), (gst_element_set_state_func),
5129         (gst_element_change_state), (gst_element_change_state_func):
5130         Lots of state change cleanups, assign the STATE_RETURN in
5131         a new continue_state() function that also propagates the
5132         last return value from a state change to the app.
5133         Update some debug statements with proper category.
5134
5135 2005-11-03  Wim Taymans  <wim@fluendo.com>
5136
5137         * docs/design/part-events.txt:
5138         * docs/design/part-gstpipeline.txt:
5139         * docs/design/part-messages.txt:
5140         * docs/design/part-overview.txt:
5141         * docs/design/part-seeking.txt:
5142         * docs/design/part-states.txt:
5143         * docs/design/part-trickmodes.txt:
5144         * docs/manual/advanced-position.xml:
5145         Small docs updates.
5146
5147         * gst/gstobject.h:
5148         People think !! is ugly, this looks better.
5149
5150         * gst/gstpad.c: (gst_pad_set_blocked_async):
5151         Remove !! since it's fixed elsewhere now.
5152
5153 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5154
5155         * gst/gstminiobject.h:
5156         * gst/gstobject.h:
5157           Add !! to _FLAG_IS_SET macros to make the result boolean.
5158
5159 2005-11-03  Edward Hervey  <edward@fluendo.com>
5160
5161         * gst/gstpad.c: (gst_pad_set_blocked_async):
5162         comparing a flag and a gboolean rarely returns coherent results...
5163         Added two characters (!!) to make that work correctly.
5164         
5165 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5166
5167         * gst/gstbus.c: (gst_bus_class_init):
5168           Fix some typos.
5169           
5170         * gst/gstqueue.c: (gst_queue_loop):
5171           Don't assume a miniobject that isn't a buffer is an
5172           event (it could be that there is a refcounting
5173           problem somewhere and the pointer is stale and
5174           refers to an already destroyed miniobject).
5175
5176 2005-11-03  Julien MOUTTE  <julien@moutte.net>
5177
5178         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
5179
5180 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5181
5182         * docs/manual/advanced-position.xml:
5183           Update seek example and explanations to current 0.9 API.
5184
5185         * gst/elements/gsttypefindelement.c:
5186         (gst_type_find_element_activate):
5187           Remove FIXME comment now that the found caps
5188           are unreffed.
5189
5190 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5191
5192         * gst/gstregistryxml.c: (load_feature):
5193           Add another GST_STR_NULL instance
5194
5195 2005-11-02  Edward Hervey  <edward@fluendo.com>
5196
5197         * gst/gstpad.c: (handle_pad_block):
5198         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
5199         
5200 2005-11-02  Wim Taymans  <wim@fluendo.com>
5201
5202         * gst/gstbin.c:
5203         Fix typo in docs.
5204
5205         * gst/gstelement.c: (gst_element_commit_state):
5206         Remove unused value.
5207
5208         * gst/gstiterator.c:
5209         Mention that the returned element is reffed in the docs.
5210
5211 2005-11-02  Wim Taymans  <wim@fluendo.com>
5212
5213         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
5214         (gst_pad_push), (gst_pad_push_event):
5215         Unlock blocked pads when they are flushed.
5216
5217 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5218
5219         * docs/README:
5220         * docs/gst/gstreamer-sections.txt:
5221         * gst/gstbin.c:
5222           doc updates
5223         * gst/gstregistry.c: (gst_registry_scan_path_level):
5224           fix for a nasty little missed situation where an installed plug-in
5225           which was in the cache did not get overridden by an uninstalled one
5226           which was earlier in the plugin path because the newly created plugin
5227           for the uninstalled one (not in the registry) didn't get its
5228           ->registered set to TRUE
5229
5230 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5231
5232         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
5233         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
5234         (gst_collectpads_is_active), (gst_collectpads_collect),
5235         (gst_collectpads_collect_range), (gst_collectpads_start),
5236         (gst_collectpads_stop), (gst_collectpads_peek),
5237         (gst_collectpads_pop), (gst_collectpads_available),
5238         (gst_collectpads_read), (gst_collectpads_flush):
5239           Guard public API with assertions.
5240         
5241         * gst/gstpad.c:
5242           Fix docs for gst_pad_set_link_function().
5243
5244 2005-11-02  Johan Dahlin  <johan@gnome.org>
5245
5246         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
5247         Unref found_caps after we used it.
5248
5249 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5250
5251         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
5252           Don't try to ref NULL.
5253
5254 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5255
5256         * win32/common/config.h.in:
5257           provide a GST_FUNCTION that just gives a string for now
5258
5259 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5260
5261         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5262         (gst_object_flags_get_type), (register_gst_bin_flags),
5263         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5264         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5265         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5266         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
5267         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5268         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5269         (gst_clock_flags_get_type), (register_gst_state),
5270         (gst_state_get_type), (register_gst_state_change_return),
5271         (gst_state_change_return_get_type), (register_gst_state_change),
5272         (gst_state_change_get_type), (register_gst_element_flags),
5273         (gst_element_flags_get_type), (register_gst_core_error),
5274         (gst_core_error_get_type), (register_gst_library_error),
5275         (gst_library_error_get_type), (register_gst_resource_error),
5276         (gst_resource_error_get_type), (register_gst_stream_error),
5277         (gst_stream_error_get_type), (register_gst_event_type),
5278         (gst_event_type_get_type), (register_gst_seek_type),
5279         (gst_seek_type_get_type), (register_gst_seek_flags),
5280         (gst_seek_flags_get_type), (register_gst_format),
5281         (gst_format_get_type), (register_gst_index_certainty),
5282         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5283         (gst_index_entry_type_get_type),
5284         (register_gst_index_lookup_method),
5285         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5286         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5287         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5288         (gst_index_flags_get_type), (register_gst_debug_level),
5289         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5290         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5291         (gst_iterator_result_get_type), (register_gst_iterator_item),
5292         (gst_iterator_item_get_type), (register_gst_message_type),
5293         (gst_message_type_get_type), (register_gst_mini_object_flags),
5294         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5295         (gst_pad_link_return_get_type), (register_gst_flow_return),
5296         (gst_flow_return_get_type), (register_gst_activate_mode),
5297         (gst_activate_mode_get_type), (register_gst_pad_direction),
5298         (gst_pad_direction_get_type), (register_gst_pad_flags),
5299         (gst_pad_flags_get_type), (register_gst_pad_presence),
5300         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5301         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5302         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5303         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5304         (gst_plugin_flags_get_type), (register_gst_rank),
5305         (gst_rank_get_type), (register_gst_query_type),
5306         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5307         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5308         (gst_tag_flag_get_type), (register_gst_task_state),
5309         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5310         (gst_alloc_trace_flags_get_type),
5311         (register_gst_type_find_probability),
5312         (gst_type_find_probability_get_type), (register_gst_uri_type),
5313         (gst_uri_type_get_type), (register_gst_parse_error),
5314         (gst_parse_error_get_type):
5315         * win32/common/gstversion.h:
5316           update win32 copies
5317
5318 2005-11-01  Luca Ognibene  <luogni@tin.it>
5319
5320         * gst/gst.c:
5321           fix docs. popt is dead, long live GOption.
5322
5323 2005-10-31  Wim Taymans  <wim@fluendo.com>
5324
5325         * gst/gstbuffer.h:
5326         Small doc fix.
5327
5328 2005-10-31  Andy Wingo  <wingo@pobox.com>
5329
5330         * Boo!
5331
5332         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
5333
5334         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
5335         need to serialize property notifications on GLib 2.8. GLib 2.6 has
5336         the possibility of deadlocks here if code calling notify() or
5337         set() has a lock that can be taken in another notify handler (ABBA
5338         with class lock and e.g. python GIL state lock).
5339
5340 2005-10-28  Julien MOUTTE  <julien@moutte.net>
5341
5342         * gst/gstbus.c: Doc updates.
5343
5344 2005-10-28  Wim Taymans  <wim@fluendo.com>
5345
5346         * docs/design/part-TODO.txt:
5347         * gst/gstiterator.c:
5348         * gst/gstsystemclock.c:
5349         * gst/gstsystemclock.h:
5350         Doc updates.
5351
5352 2005-10-28  Edward Hervey  <edward@fluendo.com>
5353
5354         * docs/gst/gstreamer-docs.sgml:
5355         * docs/gst/gstreamer-sections.txt:
5356         the GstURIType documentation page is private, it only defines GstURIType
5357         which should be defined in the GstURIHandler page
5358         
5359 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5360
5361         * gst/gstbin.c: (gst_bin_class_init):
5362         * gst/gstbin.h:
5363         * gst/gstutils.c:
5364         Documentation updates.
5365
5366 2005-10-28  Wim Taymans  <wim@fluendo.com>
5367
5368         * docs/gst/gstreamer-sections.txt:
5369         * gst/gstclock.c:
5370         * gst/gstclock.h:
5371         Documented the clocks.
5372
5373 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
5374
5375         * docs/gst/gstreamer-sections.txt:
5376           move some macros to private sections
5377         * gst/gstminiobject.c:
5378         * gst/gstminiobject.h:
5379           add descriptions provided by ds and some more
5380         * gst/gstpad.h:
5381           mark macro as to be removed
5382
5383 2005-10-28  Wim Taymans  <wim@fluendo.com>
5384
5385         * docs/design/part-TODO.txt:
5386         Add an item to TODO.
5387
5388         * gst/gstiterator.c: (gst_iterator_fold),
5389         (gst_iterator_find_custom):
5390         * gst/gstiterator.h:
5391         Add iterator docs.
5392
5393 2005-10-28  Wim Taymans  <wim@fluendo.com>
5394
5395         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5396         (gst_base_transform_init):
5397         Don't leak class.
5398
5399         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
5400         An EOS event marks the queue as completely filled.
5401
5402 2005-10-27  Wim Taymans  <wim@fluendo.com>
5403
5404         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5405         (gst_base_sink_do_sync), (gst_base_sink_get_position):
5406         Some more debugging.
5407
5408         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
5409         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
5410         (gst_base_transform_event), (gst_base_transform_getrange),
5411         (gst_base_transform_chain):
5412         * gst/base/gstbasetransform.h:
5413         Fix debugging,
5414         Protect transform and concurrent buffer alloc with a new lock.
5415         Try not to break ABI/API.
5416
5417 2005-10-27  Wim Taymans  <wim@fluendo.com>
5418
5419         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5420         (gst_base_src_init), (gst_base_src_query),
5421         (gst_base_src_default_newsegment),
5422         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5423         (gst_base_src_send_event), (gst_base_src_event_handler),
5424         (gst_base_src_pad_get_range), (gst_base_src_loop),
5425         (gst_base_src_unlock), (gst_base_src_default_negotiate),
5426         (gst_base_src_start), (gst_base_src_deactivate),
5427         (gst_base_src_activate_push), (gst_base_src_change_state):
5428         Move some stuff around and cleanup things.
5429
5430 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
5431
5432         * gst/base/gstbasesrc.c: (gst_base_src_query):
5433           Add missing break statements.
5434
5435 2005-10-27  Wim Taymans  <wim@fluendo.com>
5436
5437         * check/gst/gstbin.c: (GST_START_TEST):
5438         An extra refcount is taken in basesrc.
5439
5440         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5441         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5442         (gst_base_src_loop):
5443         Small cleanups, check for flushing after being unlocked from the 
5444         LIVE_LOCK. take refcounts correctly (not yet everywhere).
5445         Don't send out EOS when going to READY.
5446
5447 2005-10-27  Wim Taymans  <wim@fluendo.com>
5448
5449         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5450         (gst_base_sink_get_position):
5451         Some more debug.
5452
5453         * gst/gstbin.c: (message_check), (bin_replace_message),
5454         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5455         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5456         (bin_query_duration_init), (bin_query_duration_fold),
5457         (bin_query_duration_done), (bin_query_generic_fold),
5458         (gst_bin_query):
5459         * tools/gst-launch.c: (main):
5460         Remove old option.
5461
5462 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
5463
5464         * examples/controller/audio-example.c: (main):
5465         * examples/queue/queue.c: (event_loop):
5466         * gst/base/gstbasetransform.h:
5467         * gst/gstelement.c: (gst_element_send_event):
5468         * gst/gstevent.h:
5469         * gst/gstpad.c: (gst_pad_send_event):
5470           fixing examples
5471           fixing docs typos
5472           changing log priority in error situations
5473
5474 2005-10-25  Wim Taymans  <wim@fluendo.com>
5475
5476         * gst/gstbin.c: (message_check), (bin_replace_message),
5477         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5478         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5479         (bin_query_duration_init), (bin_query_duration_fold),
5480         (bin_query_duration_done), (bin_query_generic_fold),
5481         (gst_bin_query):
5482         Some doc and debug updates.
5483         Cache previously requested query DURATION for speed. invalidate
5484         cached duration if element posts a DURATION message.
5485
5486 2005-10-25  Wim Taymans  <wim@fluendo.com>
5487
5488         * docs/design/part-TODO.txt:
5489         Update TODO.
5490
5491         * gst/gstbin.c: (message_check), (bin_replace_message),
5492         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5493         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5494         (bin_query_duration_init), (bin_query_duration_fold),
5495         (bin_query_duration_done), (bin_query_generic_fold),
5496         (gst_bin_query):
5497         Handle SEGMENT_START/DONE messages correctly.
5498         More evolved query algorithm that handles duration queries
5499         correctly.
5500
5501         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
5502         (gst_element_get_state_func), (gst_element_abort_state),
5503         (gst_element_commit_state), (gst_element_lost_state):
5504         Some more debugging.
5505
5506         * gst/gstmessage.h:
5507         Added doc.
5508
5509 2005-10-25  Wim Taymans  <wim@fluendo.com>
5510
5511         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5512         Don't use invalid stream_time.
5513
5514         * gst/gstevent.c: (gst_event_new_newsegment):
5515         stream_time in newsegment cannot be undefined.
5516
5517 2005-10-24  Wim Taymans  <wim@fluendo.com>
5518
5519         * gst/gstbus.c:
5520         Doc fix.
5521
5522         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5523         (gst_queue_loop):
5524         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
5525
5526 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
5527
5528         * docs/libs/tmpl/gstdparam.sgml:
5529         * docs/libs/tmpl/gstdplinint.sgml:
5530         * docs/libs/tmpl/gstdpman.sgml:
5531         * docs/libs/tmpl/gstdpsmooth.sgml:
5532         * docs/libs/tmpl/gstunitconvert.sgml:
5533           these are obsolete
5534
5535 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5536
5537         * configure.ac:
5538           back to HEAD
5539
5540 === release 0.9.4 ===
5541
5542 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5543
5544         * configure.ac:
5545           releasing 0.9.4, "Tyrannosaurus Rex"
5546
5547 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
5548
5549         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5550         (gst_file_sink_get_current_offset):
5551           Use fseeko() and ftello() if available. When falling back on
5552           lseek() to get the current offset, fflush() first to make sure
5553           everything is up-to-date and we get the right offset.
5554
5555 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5556
5557         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5558         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5559         * gst/gsterror.c: (_gst_stream_errors_init):
5560         * gst/gsterror.h:
5561         * gst/gstqueue.c: (gst_queue_loop):
5562         * po/POTFILES.in:
5563           remove prematurely added error category and clean up the instances
5564
5565 2005-10-21  Wim Taymans  <wim@fluendo.com>
5566
5567         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5568         (gst_base_sink_get_position), (gst_base_sink_query),
5569         (gst_base_sink_change_state):
5570         Simply set the right flag when going to playing, that's all
5571         we need to do instead of calling a function inside the object
5572         lock (that could take the lock as well and deadlock)
5573
5574 2005-10-21  Wim Taymans  <wim@fluendo.com>
5575
5576         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
5577         (gst_base_src_loop):
5578         Don't warn, the peer element knows what to do best when
5579         the seek failed, it might try something else.
5580
5581 2005-10-21  Wim Taymans  <wim@fluendo.com>
5582
5583         * gst/base/gstbasesrc.c: (gst_base_src_init),
5584         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5585         Fix seeking.
5586
5587 2005-10-21  Wim Taymans  <wim@fluendo.com>
5588
5589         * docs/design/part-segments.txt:
5590         More docs.
5591
5592         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5593         Correctly set caps, even on the subbufer.
5594
5595 2005-10-21  Wim Taymans  <wim@fluendo.com>
5596
5597         * docs/gst/gstreamer-docs.sgml:
5598         * docs/gst/gstreamer-sections.txt:
5599         * gst/gstelement.h:
5600         * gst/gstevent.c:
5601         * gst/gstevent.h:
5602         * gst/gstmessage.h:
5603         * gst/gstpad.h:
5604         * gst/gstparse.h:
5605         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
5606         * gst/gsttask.h:
5607         * gst/gstutils.c:
5608         * gst/gstutils.h:
5609         And 2% more doc coverage.
5610
5611 2005-10-21  Andy Wingo  <wingo@pobox.com>
5612
5613         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
5614         position reporting.
5615
5616 2005-10-20  Wim Taymans  <wim@fluendo.com>
5617
5618         * gst/gsterror.c: (gst_error_get_message):
5619         * gst/gstparse.h:
5620         * gst/gstquery.h:
5621         * gst/gststructure.c:
5622         * gst/gsttrace.c:
5623         * gst/gstutils.c:
5624         More docs.
5625
5626 2005-10-20  Wim Taymans  <wim@fluendo.com>
5627
5628         * gst/gstbuffer.h:
5629         * gst/gstpad.c:
5630         * gst/gstparse.c:
5631         Another 1% more coverage.
5632
5633 2005-10-20  Wim Taymans  <wim@fluendo.com>
5634
5635         * docs/gst/gstreamer-sections.txt:
5636         * gst/gstelement.c: (gst_element_get_state_func),
5637         (gst_element_abort_state), (gst_element_commit_state),
5638         (gst_element_lost_state):
5639         * gst/gstevent.h:
5640         * gst/gstquery.c: (gst_query_set_position),
5641         (gst_query_parse_position), (gst_query_set_duration),
5642         (gst_query_parse_duration), (gst_query_new_convert):
5643         * gst/gstutils.c:
5644         Yay! 1% more docs coverage.
5645
5646 2005-10-20  Wim Taymans  <wim@fluendo.com>
5647
5648         * gst/gstpad.h:
5649         * gst/gstquery.c: (gst_query_set_position),
5650         (gst_query_parse_position), (gst_query_set_duration),
5651         (gst_query_parse_duration), (gst_query_new_convert):
5652         * gst/gstquery.h:
5653         * gst/gstutils.c: (gst_element_query_convert):
5654         * gst/gstutils.h:
5655         Docs and consistency fixes.
5656
5657 2005-10-20  Wim Taymans  <wim@fluendo.com>
5658
5659         * gst/gsttask.c:
5660         * gst/gsttask.h:
5661         More docs.
5662
5663 2005-10-20  Wim Taymans  <wim@fluendo.com>
5664
5665         * gst/gstbin.c: (message_check), (bin_replace_message),
5666         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5667         (update_degree), (gst_bin_sort_iterator_next),
5668         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
5669         Reworked the message handling a bit, cache the messages instead of
5670         only the senders. alows us to do more in the future.
5671
5672 2005-10-20  Wim Taymans  <wim@fluendo.com>
5673
5674         * docs/design/part-TODO.txt:
5675         Update TODO
5676
5677         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5678         (gst_base_sink_query):
5679         Don't use clock time to report position when in EOS.
5680
5681 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
5682
5683         * tools/gst-inspect.c: (print_interfaces),
5684         (print_element_properties_info), (print_element_info):
5685           Fix interface output with gst-inspect -a; don't print
5686           newlines after double/float properties.
5687
5688 2005-10-20  Wim Taymans  <wim@fluendo.com>
5689
5690         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5691         (gst_base_sink_query):
5692         Speed up current position calculation.
5693
5694         * gst/base/gstbasesrc.c: (gst_base_src_query),
5695         (gst_base_src_default_newsegment):
5696         Correctly set stream position in newsegment.
5697
5698         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
5699         (update_degree), (gst_bin_sort_iterator_next),
5700         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
5701         * gst/gstmessage.c: (gst_message_new_custom):
5702         Clean up debugging info
5703
5704         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
5705         (gst_queue_loop), (gst_queue_handle_src_query):
5706         Pause task faster.
5707
5708 2005-10-19  Wim Taymans  <wim@fluendo.com>
5709
5710         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5711         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5712         Fix query handling again.
5713
5714 2005-10-19  Wim Taymans  <wim@fluendo.com>
5715
5716         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5717         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5718         * gst/base/gstbasesrc.c: (gst_base_src_query):
5719         * gst/elements/gstfilesink.c: (gst_file_sink_query):
5720         * gst/elements/gsttypefindelement.c:
5721         (gst_type_find_handle_src_query), (find_element_get_length),
5722         (gst_type_find_element_activate):
5723         API change fix.
5724
5725         * gst/gstquery.c: (gst_query_new_position),
5726         (gst_query_set_position), (gst_query_parse_position),
5727         (gst_query_new_duration), (gst_query_set_duration),
5728         (gst_query_parse_duration), (gst_query_set_segment),
5729         (gst_query_parse_segment):
5730         * gst/gstquery.h:
5731         Bundling query position/duration is not a good idea since duration
5732         does not change much and we don't want to recalculate it for every
5733         position query, so they are separated again..
5734         Base value in segment query is not needed.
5735
5736         * gst/gstqueue.c: (gst_queue_handle_src_query):
5737         * gst/gstutils.c: (gst_element_query_position),
5738         (gst_element_query_duration), (gst_pad_query_position),
5739         (gst_pad_query_duration):
5740         * gst/gstutils.h:
5741         Updates for query API change.
5742         Added some docs here and there.
5743
5744 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5745
5746         * check/gst/gstbin.c: (GST_START_TEST):
5747         * check/gst/gstghostpad.c: (GST_START_TEST):
5748         * check/pipelines/cleanup.c: (GST_START_TEST):
5749           wait on thread to die so we can check refcount correctly
5750
5751 2005-10-18  Wim Taymans  <wim@fluendo.com>
5752
5753         * check/pipelines/stress.c: (GST_START_TEST):
5754         Make check a little more time consuming.
5755
5756 2005-10-18  Wim Taymans  <wim@fluendo.com>
5757
5758         * check/Makefile.am:
5759         * check/pipelines/stress.c: (GST_START_TEST),
5760         (simple_launch_lines_suite), (main):
5761         Small state change torture test.
5762
5763         * docs/design/part-states.txt:
5764         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5765         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
5766         (gst_base_sink_change_state):
5767         Never take state lock from streaming thread, clean up ugly
5768         hacks. Unfortunatly core does not yet support nice ways to
5769         async commit state.
5770         
5771         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
5772         (bin_bus_handler):
5773         Start state recalc if a STATE_DIRTY message is posted, but only
5774         on the toplevel bin.
5775
5776         * gst/gstelement.c: (gst_element_sync_state_with_parent),
5777         (gst_element_get_state_func), (gst_element_abort_state),
5778         (gst_element_commit_state), (gst_element_lost_state),
5779         (gst_element_set_state_func), (gst_element_change_state):
5780         * gst/gstelement.h:
5781         State variables are now protected with the LOCK, the state
5782         lock is only used to serialize _set_state().
5783
5784 2005-10-18  Wim Taymans  <wim@fluendo.com>
5785
5786         * check/gst/gstbin.c: (GST_START_TEST):
5787         * check/gst/gstmessage.c: (GST_START_TEST):
5788         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5789         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
5790         (bin_bus_handler):
5791         * gst/gstelement.c: (gst_element_abort_state),
5792         (gst_element_commit_state), (gst_element_lost_state):
5793         * gst/gstmessage.c: (gst_message_new_state_changed),
5794         (gst_message_new_state_dirty), (gst_message_new_segment_start),
5795         (gst_message_new_segment_done), (gst_message_new_duration),
5796         (gst_message_parse_state_changed),
5797         (gst_message_parse_segment_start),
5798         (gst_message_parse_segment_done), (gst_message_parse_duration):
5799         * gst/gstmessage.h:
5800         * tools/gst-launch.c: (event_loop):
5801         Seriously, this is better than a previous commit as we only need
5802         to notify the fact that an element changed state in a streaming
5803         thread, marking the state of the parents dirty, hence the 
5804         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
5805         message.
5806
5807 2005-10-18  Wim Taymans  <wim@fluendo.com>
5808
5809         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5810         (gst_bin_recalc_func):
5811         * gst/gstelement.c: (gst_element_set_clock),
5812         (gst_element_abort_state), (gst_element_lost_state):
5813         Cleanups, prepare for state change fixes.
5814
5815 2005-10-18  Wim Taymans  <wim@fluendo.com>
5816
5817         * gst/gstbin.h:
5818         * gst/gstelement.c: (gst_element_class_init),
5819         (gst_element_set_state), (gst_element_set_state_func):
5820         * gst/gstelement.h:
5821         Pending ABI changes.
5822         GThreadPool in GstBinClass to monitor async state changes.
5823         state_cookie in GstElement to detect concurrent gst/set state.
5824         set_state is now virtual too in case a very complicated element
5825         has to be constructed.
5826
5827 2005-10-18  Wim Taymans  <wim@fluendo.com>
5828
5829         * check/gst/gstbin.c: (GST_START_TEST):
5830         * check/gst/gstmessage.c: (GST_START_TEST):
5831         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5832         * gst/gstbin.c: (bin_bus_handler):
5833         * gst/gstelement.c: (gst_element_commit_state),
5834         (gst_element_lost_state):
5835         * gst/gstmessage.c: (gst_message_new_state_changed),
5836         (gst_message_new_segment_start), (gst_message_new_segment_done),
5837         (gst_message_new_duration), (gst_message_parse_state_changed),
5838         (gst_message_parse_segment_start),
5839         (gst_message_parse_segment_done), (gst_message_parse_duration):
5840         * gst/gstmessage.h:
5841         * tools/gst-launch.c: (event_loop):
5842         Make messages future proof.
5843         state-change gets a flag if it was a message comming from the
5844         streaming thread.
5845         segment-start/stop can also be specified in other formats.
5846         A message to notify an app that a pipeline changed playback 
5847         duration.
5848         Also fix a GstMessage leak in -launch
5849
5850 2005-10-18  Andy Wingo  <wingo@pobox.com>
5851
5852         * gst/gstelement.c (gst_element_dispose): More helpful message.
5853
5854 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5855
5856         reviewed by: <delete if not using a buddy>
5857
5858         * common/gtk-doc.mak:
5859
5860 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5861
5862         * gst/gstregistry.c: (gst_registry_scan_path_level):
5863           unref a plug-in we get that was already initialized
5864
5865 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
5866
5867         * docs/gst/gstreamer-sections.txt:
5868         * docs/libs/gstreamer-libs-sections.txt:
5869         * gst/gstelement.h:
5870           add new api entries
5871           hide internal macro
5872
5873 2005-10-17  Andy Wingo  <wingo@pobox.com>
5874
5875         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
5876         cleanup.
5877
5878         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
5879
5880         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
5881
5882         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
5883         (gst_element_get_state_func): Better debug message.
5884         (gst_element_commit_state): s/INFO/DEBUG/.
5885         (gst_element_lost_state, gst_element_change_state): 
5886
5887         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
5888         (gst_message_new_custom): s/INFO/LOG/.
5889
5890 2005-10-17  Michael Smith <msmith@fluendo.com>
5891
5892         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5893           Check if end time is valid using end time, not start time.
5894
5895 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
5896
5897         * check/gst-libs/controller.c: (GST_START_TEST),
5898         (gst_controller_suite):
5899         * libs/gst/controller/gstcontroller.c:
5900         (gst_controlled_property_set_interpolation_mode):
5901         * libs/gst/controller/gstcontroller.h:
5902         * libs/gst/controller/gstinterpolation.c:
5903         * testsuite/controller/.cvsignore:
5904         * testsuite/controller/Makefile.am:
5905         * testsuite/controller/interpolator.c:
5906           merge controller testsuites
5907           fix broken tests
5908           remove mem-chunk from docs
5909
5910 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5911
5912         * gst/gstmemchunk.c:
5913         * gst/gstmemchunk.h:
5914         * gst/gsttrashstack.c:
5915         * gst/gsttrashstack.h:
5916           out.  get out.  you're fired.  to the Attic !
5917
5918 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5919
5920         * gst/gstcaps.c: (gst_caps_intersect):
5921           fix signedness issues in a (hopefully) correct way
5922         * gst/gstelement.c: (gst_element_pads_activate):
5923           some debugging
5924         * gst/gstobject.c: (gst_object_set_parent):
5925           some debugging
5926
5927 2005-10-17  Julien MOUTTE  <julien@moutte.net>
5928
5929         * gst/gstvalue.h: Fix prototypes.
5930
5931 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5932
5933         * docs/gst/gstreamer-sections.txt:
5934         * gst/gst.c: (gst_version_string):
5935         * gst/gst.h:
5936         * gst/gstversion.h.in:
5937         * win32/common/libgstreamer.def:
5938           add gst_version_string ()
5939
5940 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5941
5942         * configure.ac:
5943           clean up further
5944         * gst/gst.c: (init_post):
5945         * win32/common/config.h.in:
5946           it's PLUGINDIR now
5947         * gst/gstcaps.c: (gst_caps_intersect):
5948           use gint64, the range could be bigger than a guint
5949
5950 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5951
5952         * gst/gstclock.h:
5953           document potential problem in 2038
5954
5955 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5956
5957         * gst/gstcaps.c: (gst_caps_intersect):
5958           Fix guint j diving under 0
5959
5960 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5961
5962         * configure.ac:
5963         * win32/common/config.h:
5964         * win32/common/config.h.in:
5965           check for process.h, declares getpid() on Windows
5966         * gst/gstinfo.c:
5967           include process.h if we have it
5968         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5969         * gst/gstmemchunk.h:
5970           fix signedness issues
5971         * win32/common/libgstreamer.def:
5972           fix get_type's
5973
5974 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5975
5976         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5977         fix. Because of unsigned ints, caps intersection was going nuts and
5978         trying to access structures with G_MAXUINT index. That fixes
5979         videotestsrc ! ffmpegcolorspace ! fakesink
5980         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5981         consistency.
5982
5983 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5984
5985         * configure.ac:
5986           use the gettext macro
5987         * gst/elements/gstelements.c:
5988         * gst/gst.c:
5989         * gst/indexers/gstindexers.c:
5990           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5991         * win32/common/config.h:
5992           updated config.h
5993         * win32/common/config.h.in:
5994           add the template to generate config.h
5995         * win32/common/gstenumtypes.c:
5996         * win32/common/gstversion.h:
5997           updated copies
5998
5999 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6000
6001         * gst/gst.c: (gst_version):
6002         * gst/gstversion.h.in:
6003           add the nano
6004
6005 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6006
6007         * gst/gstevent.h:
6008           Oops, add missing closing bracket.
6009
6010 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6011
6012         * configure.ac:
6013           use common m4's for argument checking
6014
6015 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6016
6017         * docs/gst/gstreamer-sections.txt:
6018         * gst/gstevent.h:
6019           Add GST_EVENT_TYPE_NAME() macro.
6020
6021 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6022
6023         * gst/gstinfo.c:
6024         * gst/gstpluginfeature.c:
6025         * gst/gsttask.c:
6026           privatize more symbols
6027
6028 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6029
6030         * configure.ac:
6031           add srcdir, builddir includes to GST_ALL_CFLAGS, since
6032           everything that uses GStreamer API should have the includes
6033
6034 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6035
6036         * docs/gst/gstreamer-sections.txt:
6037         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6038         * gst/gstvalue.h:
6039           give each value a _get_type, removes the DATA exports
6040
6041 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6042
6043         * gst/gst.c:
6044         * gst/gst.h:
6045           remove _gst_registry_auto_load, not used anymore
6046         * gst/gstbin.c: (gst_bin_get_type):
6047         * gst/gstbin.h:
6048         * gst/gstelement.c: (gst_element_get_type):
6049         * gst/gstelement.h:
6050         * gst/gstobject.c: (gst_object_get_type):
6051         * gst/gstobject.h:
6052         * gst/gstpad.c: (gst_pad_get_type):
6053         * gst/gstpad.h:
6054           make _get_type functions similar, fixes data export from library
6055
6056 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6057
6058         * configure.ac:
6059           correctly make conditionals
6060         * gst/elements/Makefile.am:
6061         * gst/elements/gstelements.c:
6062           fix typo causing fdsrc not to build
6063
6064 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6065
6066         * testsuite/Makefile.am:
6067         * testsuite/bytestream/.cvsignore:
6068         * testsuite/bytestream/Makefile.am:
6069         * testsuite/bytestream/filepadsink.c:
6070         * testsuite/bytestream/gstbstest.c:
6071         * testsuite/bytestream/test1.c:
6072         * testsuite/bytestream/testfile1:
6073         * testsuite/caps/normalisation.c:
6074         * testsuite/caps/random.c: (main):
6075         * testsuite/cleanup/.cvsignore:
6076         * testsuite/cleanup/Makefile.am:
6077         * testsuite/cleanup/cleanup1.c:
6078         * testsuite/cleanup/cleanup2.c:
6079         * testsuite/cleanup/cleanup3.c:
6080         * testsuite/cleanup/cleanup4.c:
6081         * testsuite/cleanup/cleanup5.c:
6082         * testsuite/controller/interpolator.c:
6083         * testsuite/debug/printf_extension.c: (main):
6084         * testsuite/elements/tee.c:
6085         * testsuite/negotiation/.cvsignore:
6086         * testsuite/negotiation/Makefile.am:
6087         * testsuite/negotiation/pad_link.c:
6088         * testsuite/pad/Makefile.am:
6089         * testsuite/pad/chainnopull.c:
6090         * testsuite/pad/getnopush.c:
6091         * testsuite/pad/link.c:
6092         * testsuite/refcounting/sched.c: (create_pipeline):
6093         * testsuite/registry/Makefile.am:
6094         * testsuite/registry/gst-print-formats.c:
6095         * testsuite/schedulers/.cvsignore:
6096         * testsuite/schedulers/142183-2.c:
6097         * testsuite/schedulers/142183.c:
6098         * testsuite/schedulers/143777-2.c:
6099         * testsuite/schedulers/143777.c:
6100         * testsuite/schedulers/147713.c:
6101         * testsuite/schedulers/147819.c:
6102         * testsuite/schedulers/147894-2.c:
6103         * testsuite/schedulers/147894.c:
6104         * testsuite/schedulers/Makefile.am:
6105         * testsuite/schedulers/group_link.c:
6106         * testsuite/schedulers/queue_link.c:
6107         * testsuite/schedulers/relink.c:
6108         * testsuite/schedulers/unlink.c:
6109         * testsuite/schedulers/unref.c:
6110         * testsuite/schedulers/useless_iteration.c:
6111         * testsuite/states/bin.c:
6112           clean out/remove some stuff from the testsuite directories
6113
6114 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6115
6116         * configure.ac:
6117           check for some headers
6118         * gst/elements/Makefile.am:
6119         * gst/elements/gstelements.c:
6120           don't compile fdsrc without sys/socket.h
6121         * gst/indexers/Makefile.am:
6122         * gst/indexers/gstindexers.c: (plugin_init):
6123           don't compile fileindex without mmap
6124
6125 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6126
6127         * configure.ac:
6128           reorganize
6129           clean up
6130           document more
6131           remove cruft
6132         * check/Makefile.am:
6133         * docs/gst/Makefile.am:
6134         * examples/helloworld/Makefile.am:
6135         * gst/Makefile.am:
6136         * gst/base/Makefile.am:
6137         * gst/check/Makefile.am:
6138         * gst/elements/Makefile.am:
6139         * gst/indexers/Makefile.am:
6140         * gst/parse/Makefile.am:
6141         * libs/gst/controller/Makefile.am:
6142         * libs/gst/dataprotocol/Makefile.am:
6143         * examples/helloworld/helloworld.c: (event_loop):
6144           compile fixes, though it's not being compiled currently
6145
6146 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6147
6148         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
6149           Add some simple tests for the new taglist date API.
6150
6151 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6152
6153         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
6154         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
6155           Beautify 'last-message' output: print 'none' for buffer timestamps
6156           and durations if none is set; improve alignment with next messages.
6157
6158 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6159
6160         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
6161         * gst/gstpluginfeature.h:
6162         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
6163         * gst/gstregistry.h:
6164         * docs/gst/gstreamer-sections.txt:
6165           Add new API to check plugin feature version requirements.
6166
6167         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
6168           Some basic tests for the above.         
6169
6170 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6171
6172         * gst/gststructure.c: (gst_structure_to_string):
6173           guard against NULL printf - happens when for example
6174           a message structure with GstClock gets serialized
6175
6176 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6177
6178         * gst/base/gstcollectpads.c: (gst_collectpads_event):
6179           Fix presumable copy'n'pasto.
6180
6181 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6182
6183         * gst/elements/gstfakesrc.h:
6184         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
6185         * gst/elements/gsttypefindelement.c:
6186           fix some signedness
6187         * gst/elements/gstfilesink.c: (gst_file_sink_render):
6188           I wonder if this could actually write +2GB files before
6189
6190 2005-10-13  Andy Wingo  <wingo@pobox.com>
6191
6192         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
6193         Fix Timmeke Waymans bug.
6194         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
6195         string of the proper length to gst_caps_from_string. There's a
6196         potential for, before this fix, that this could cause someone
6197         connecting over the network to cause a segfault if the payload is
6198         not NUL-terminated.
6199
6200 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
6201
6202         * docs/design/draft-push-pull.txt:
6203         * docs/design/part-overview.txt:
6204         * docs/random/TODO-pre-0.9:
6205         * docs/random/old/ChangeLog.gstreamer:
6206         * gst/base/gstpushsrc.c:
6207         * gst/gstclock.c:
6208           fixed typos
6209
6210 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6211
6212         * gst/glib-compat.c: (gst_flags_get_first_value):
6213         * gst/glib-compat.h:
6214         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
6215         (gst_value_compare_double), (gst_value_serialize_flags):
6216           GLib 2.6 g_flags_get_first_value has a bug that triggers an
6217           infinite loop
6218
6219 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6220
6221         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6222         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6223           fix up debugging
6224         * tools/gst-launch.c: (event_loop):
6225           print out clock nicely
6226
6227 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6228
6229         * docs/gst/gstreamer-sections.txt:
6230         * gst/gsttaglist.h:
6231         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
6232         (gst_tag_list_get_date_index):
6233           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
6234           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
6235
6236 2005-10-13  Julien MOUTTE  <julien@moutte.net>
6237
6238         * gst/base/gstcollectpads.c: (gst_collectpads_event),
6239         (gst_collectpads_chain):
6240         * gst/base/gstcollectpads.h: Handle newsegment and store informations
6241         in CollectData.
6242
6243 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
6244
6245         * docs/gst/gstreamer-sections.txt:
6246         * gst/gst.c:
6247         * gst/gsterror.h:
6248         * tools/gst-inspect.c: (main):
6249         * tools/gst-launch.c: (main):
6250         * tools/gst-run.c: (main):
6251         * tools/gst-xmlinspect.c: (main):
6252           fix GOption context leaks
6253           doc fixes
6254
6255 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6256
6257         * gst/gstbus.c:
6258           use HAVE_UNISTD_H
6259         * win32/common/config.h:
6260           update config
6261         * win32/vs6/grammar.dsp:
6262         * win32/vs6/libgstelements.dsp:
6263         * win32/vs6/libgstreamer.dsp:
6264           update vs6 files
6265
6266 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6267
6268         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6269         * gst/base/gstbasesrc.c: (gst_base_src_query):
6270           fix more guint64<->gdouble conversions
6271
6272 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6273
6274         * Makefile.am:
6275           add win32-update target
6276         * win32/common/gstconfig.h:
6277         * win32/common/gstenumtypes.c:
6278         * win32/common/gstenumtypes.h:
6279         * win32/common/gstversion.h:
6280           add files that visual studio can't generate
6281
6282 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6283
6284         * Makefile.am:
6285           add a win32-update target
6286         * configure.ac:
6287
6288 2005-10-12  Wim Taymans  <wim@fluendo.com>
6289
6290         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6291         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
6292         * gst/gstelement.c: (gst_element_commit_state),
6293         (gst_element_set_state):
6294         Protect flags with proper lock.
6295         unref provided cached clock in dispose.
6296
6297 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
6298
6299         * gst/gst.c:
6300         * gst/gstminiobject.h:
6301         * gst/gstpad.h:
6302         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
6303           removed unused flags from miniobject
6304           doc fixes
6305
6306 2005-10-12  Wim Taymans  <wim@fluendo.com>
6307
6308         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6309         (gst_file_sink_event), (gst_file_sink_render):
6310         Flush before seeking.
6311
6312 2005-10-12  Andy Wingo  <wingo@pobox.com>
6313
6314         * gst/gst.c (gst_init_check): Ignore unknown options, as has
6315         always been the case.
6316
6317 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
6318
6319         * check/gst/gstbin.c: (GST_START_TEST):
6320         * docs/gst/gstreamer-sections.txt:
6321         * gst/base/gstbasesink.c: (gst_base_sink_init):
6322         * gst/base/gstbasesrc.c: (gst_base_src_init),
6323         (gst_base_src_get_range), (gst_base_src_check_get_range),
6324         (gst_base_src_start), (gst_base_src_stop):
6325         * gst/base/gstbasesrc.h:
6326         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
6327         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6328         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
6329         (bin_bus_handler):
6330         * gst/gstbin.h:
6331         * gst/gstbuffer.h:
6332         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
6333         * gst/gstbus.h:
6334         * gst/gstelement.c: (gst_element_is_locked_state),
6335         (gst_element_set_locked_state), (gst_element_commit_state),
6336         (gst_element_set_state):
6337         * gst/gstelement.h:
6338         * gst/gstindex.c: (gst_index_init):
6339         * gst/gstindex.h:
6340         * gst/gstminiobject.h:
6341         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
6342         (gst_object_set_parent):
6343         * gst/gstobject.h:
6344         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
6345         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
6346         * gst/gstpad.h:
6347         * gst/gstpadtemplate.h:
6348         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
6349         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
6350         * gst/gstpipeline.h:
6351         * gst/indexers/gstfileindex.c: (gst_file_index_load),
6352         (gst_file_index_commit):
6353         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6354         * testsuite/pad/link.c: (gst_test_src_init),
6355         (gst_test_filter_init), (gst_test_sink_init):
6356         * testsuite/states/locked.c: (main):
6357           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
6358           moved bitshift from macro to enum definition
6359
6360 2005-10-12  Wim Taymans  <wim@fluendo.com>
6361
6362         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
6363         * gst/elements/gstfilesink.c: (gst_file_sink_event),
6364         (gst_file_sink_render):
6365         Some more debugging info.
6366
6367 2005-10-12  Wim Taymans  <wim@fluendo.com>
6368
6369         * docs/design/part-states.txt:
6370         * tools/gst-launch.c: (main):
6371         Some doc updates.
6372         Revert non-intentional change.
6373
6374 2005-10-12  Wim Taymans  <wim@fluendo.com>
6375
6376         * check/gst/gstbin.c: (GST_START_TEST):
6377         * check/gst/gstelement.c: (GST_START_TEST):
6378         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
6379         * check/gst/gstghostpad.c: (GST_START_TEST):
6380         * check/gst/gstpipeline.c: (GST_START_TEST):
6381         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6382         * check/states/sinks.c: (GST_START_TEST):
6383         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6384         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6385         (gst_bin_remove_func), (gst_bin_get_state_func),
6386         (gst_bin_recalc_state), (gst_bin_change_state_func),
6387         (bin_bus_handler):
6388         * gst/gstelement.c: (gst_element_get_state_func),
6389         (gst_element_get_state), (gst_element_abort_state),
6390         (gst_element_commit_state), (gst_element_set_state),
6391         (gst_element_change_state), (gst_element_change_state_func):
6392         * gst/gstelement.h:
6393         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
6394         (gst_pipeline_provide_clock_func):
6395         * gst/gstutils.c: (gst_element_link_pads_filtered):
6396         * tools/gst-launch.c: (main):
6397         * tools/gst-typefind.c: (main):
6398         Use GstClockTime in _get_state() instead of GTimeVal.
6399         Remove old code in gstutils.c
6400
6401 2005-10-12  Andy Wingo  <wingo@pobox.com>
6402
6403         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
6404         removed.
6405
6406         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
6407         there is no task. Shouldn't affect any code, as nothing in our
6408         plugins checks this return value.
6409         (gst_pad_stop_task): Also take the stream lock if the pad has no
6410         task. Docs updated.
6411
6412 2005-10-12  Wim Taymans  <wim@fluendo.com>
6413
6414         * gst/gstpad.c: (pre_activate), (post_activate),
6415         (gst_pad_activate_pull), (gst_pad_activate_push):
6416         Cleanup activation code. Reset old state if
6417         activation failed.
6418
6419 2005-10-12  Wim Taymans  <wim@fluendo.com>
6420
6421         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6422         (gst_base_sink_change_state):
6423         No need to prerol after receiving EOS.
6424
6425         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6426         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
6427         * gst/elements/gstidentity.c: (gst_identity_event):
6428         Print events more verbosely.
6429
6430 2005-10-12  Wim Taymans  <wim@fluendo.com>
6431
6432         * check/Makefile.am:
6433         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6434         * check/states/sinks2.c:
6435         Moved sinks2 testcode in sinks check.
6436
6437         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6438         (gst_bin_remove_func), (gst_bin_recalc_state),
6439         (gst_bin_change_state_func), (bin_bus_handler):
6440         Fix potential race condition when _get_state() iterated over an
6441         ASYNC element right before it posted a state completion.
6442
6443         * gst/gstclock.h:
6444         Do proper cast here.
6445
6446         * gst/gstevent.c: (gst_event_new_newsegment),
6447         (gst_event_parse_newsegment):
6448         A playback rate of 0.0 is not allowed.
6449
6450 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6451
6452         * win32/common/config.h:
6453         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
6454         (_trewinddir), (_ttelldir), (_tseekdir):
6455         * win32/common/dirent.h:
6456         * win32/common/gtchar.h:
6457         * win32/common/libgstbase.def:
6458         * win32/common/libgstreamer.def:
6459         * win32/vs6/grammar.dsp:
6460         * win32/vs6/gst_inspect.dsp:
6461         * win32/vs6/gst_launch.dsp:
6462         * win32/vs6/gstreamer.dsw:
6463         * win32/vs6/libgstbase.dsp:
6464         * win32/vs6/libgstelements.dsp:
6465         * win32/vs6/libgstreamer.dsp:
6466           Visual Studio 6 project files, and a new common directory.
6467           Phear.
6468
6469 2005-10-11  Wim Taymans  <wim@fluendo.com>
6470
6471         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6472         (gst_base_sink_do_sync), (gst_base_sink_query),
6473         (gst_base_sink_change_state):
6474         * gst/base/gstbasesink.h:
6475         Correctly parse newsegment info.
6476
6477 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6478
6479         * gst/gst.c: (init_post):
6480           split plugin paths correctly
6481
6482 2005-10-11  Wim Taymans  <wim@fluendo.com>
6483
6484         * check/gst/gstevent.c: (GST_START_TEST):
6485         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6486         (gst_base_sink_change_state):
6487         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
6488         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6489         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6490         * gst/gstevent.c: (gst_event_new_newsegment),
6491         (gst_event_parse_newsegment):
6492         * gst/gstevent.h:
6493         Added extra flag to newsegment for future API freeze.
6494         Updated check and base elements.
6495
6496 2005-10-11  Julien MOUTTE  <julien@moutte.net>
6497
6498         * gst/base/gstcollectpads.c: (gst_collectpads_init),
6499         (gst_collectpads_add_pad), (gst_collectpads_pop),
6500         (gst_collectpads_event), (gst_collectpads_chain):
6501         * gst/base/gstcollectpads.h: Handle EOS correctly.
6502
6503 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6504
6505         * tools/gst-launch.c: (main):
6506           more null protecting
6507
6508 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6509
6510         * gst/gst-i18n-lib.h:
6511           check for ENABLE_NLS, not GETTEXT_PACKAGE
6512         * gst/gstregistry.c: (gst_registry_add_plugin),
6513         (gst_registry_scan_path_level),
6514         (_gst_registry_remove_cache_plugins):
6515           protect possibly NULL strings
6516         * gst/parse/types.h:
6517           config.h already included before
6518         * tools/gst-inspect.c: (main):
6519           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
6520           check for ENABLE_NLS, not GETTEXT_PACKAGE
6521         * tools/gst-launch.c: (main):
6522           check for ENABLE_NLS, not GETTEXT_PACKAGE
6523
6524 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6525
6526         * configure.ac:
6527           if we don't have glib, fail before testing 2.8
6528         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
6529           fix a leak, should fix plugins-base testsuite
6530
6531 2005-10-11  Andy Wingo  <wingo@pobox.com>
6532
6533         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
6534         take the mode we're going to as an arg. Go head and set the mode
6535         and flushing flags now, so that if the activate function starts a
6536         thread all the flags will be in the right state.
6537         (post_activate): Renamed also. Just handle making sure streaming
6538         finishes for the deactivation case, and setting the deactivated
6539         mode.
6540         (gst_pad_set_active): Complain loudly if deactivation fails.
6541         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
6542         (gst_pad_activate_push): Adapt to pre/post_activate changes,
6543         remove the terrible hack.
6544
6545 2005-10-11  Wim Taymans  <wim@fluendo.com>
6546
6547         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6548         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
6549         (gst_bin_recalc_state), (gst_bin_change_state_func),
6550         (gst_bin_dispose), (bin_bus_handler):
6551         * gst/gstbin.h:
6552         Prepare to make current EOS message queue more generic.
6553         Fix some typos.
6554
6555         * gst/gstevent.c: (gst_event_new_newsegment),
6556         (gst_event_parse_newsegment):
6557         * gst/gstevent.h:
6558         Rename base to stream_time.
6559
6560         * gst/gstmessage.h:
6561         Fix typo in docs.
6562
6563 2005-10-11  Wim Taymans  <wim@fluendo.com>
6564
6565         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6566         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
6567         (gst_bin_change_state_func), (bin_bus_handler):
6568         * gst/gstbin.h:
6569         Work on proper clock selection.
6570
6571 2005-10-11  Edward Hervey  <edward@fluendo.com>
6572
6573         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
6574         * libs/gst/controller/gstcontroller.h:
6575         Added GList* version of _remove_properties() in order to be able to wrap
6576         it in bindings.
6577
6578 2005-10-11  Wim Taymans  <wim@fluendo.com>
6579
6580         * docs/design/part-states.txt:
6581         Some more docs.
6582
6583         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
6584         (gst_bin_change_state_func), (bin_bus_handler):
6585         Doc updates. Don't distribute the same clock over and over again.
6586
6587         * gst/gstclock.c:
6588         * gst/gstclock.h:
6589         Doc updates.
6590
6591         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
6592         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
6593         (gst_pad_send_event):
6594         * gst/gstpad.h:
6595         Make probe emission threadsafe again.
6596         Register quarks and move _get_name() from utils.
6597         Doc updates.
6598
6599         * gst/gstpipeline.c: (gst_pipeline_class_init),
6600         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6601         Only redistribute the clock of it changed.
6602
6603         * gst/gstsystemclock.h:
6604         Doc updates. 
6605
6606         * gst/gstutils.c:
6607         * gst/gstutils.h:
6608         Moved the _flow_get_name() to GstPad.
6609
6610 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6611
6612         * check/gst-libs/gdp.c: (GST_START_TEST):
6613         * check/gst/gstcaps.c: (GST_START_TEST):
6614         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6615         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
6616         (gst_dp_packet_from_caps):
6617           fix more valgrind warnings before turning up the heat
6618
6619 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6620
6621         * gst/parse/grammar.y:
6622           some cleanup before the hacking
6623
6624 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6625
6626         * gst/base/gstbasesrc.c: (gst_base_src_query):
6627           use conversions
6628         * gst/gstutils.c: (gst_guint64_to_gdouble),
6629         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
6630         * gst/gstutils.h:
6631           externalize, basesrc uses it
6632           obviously the implementation needs testing
6633
6634 2005-10-10  Wim Taymans  <wim@fluendo.com>
6635
6636         * tests/sched/Makefile.am:
6637         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
6638         (make_pipeline3), (make_pipeline4), (print_elem), (main):
6639
6640 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6641
6642         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
6643           apparently converting from guint64 to double is not implemented
6644           on MSVC
6645
6646 2005-10-10  Wim Taymans  <wim@fluendo.com>
6647
6648         * check/Makefile.am:
6649         * check/generic/states.c: (GST_START_TEST):
6650         * check/gst/gstbin.c: (GST_START_TEST):
6651         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6652         * check/states/sinks.c: (GST_START_TEST):
6653         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
6654         (main):
6655         Check fixes, use API as stated in design docs, remove hacks.
6656
6657         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6658         (gst_base_sink_change_state):
6659         Catch stopping our task while we're shutting down.
6660
6661         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6662         (gst_bin_remove_func), (gst_bin_get_state_func),
6663         (gst_bin_recalc_state), (gst_bin_change_state_func),
6664         (bin_bus_handler):
6665         * gst/gstbin.h:
6666         * gst/gstelement.c: (gst_element_init),
6667         (gst_element_get_state_func), (gst_element_abort_state),
6668         (gst_element_commit_state), (gst_element_lost_state),
6669         (gst_element_set_state), (gst_element_change_state),
6670         (gst_element_change_state_func):
6671         * gst/gstelement.h:
6672         New state change algorithm (see #318116)
6673
6674         * gst/gstpipeline.c: (gst_pipeline_class_init),
6675         (gst_pipeline_init), (gst_pipeline_set_property),
6676         (gst_pipeline_get_property), (do_pipeline_seek),
6677         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6678         * gst/gstpipeline.h:
6679         Remove crude state change hacks.
6680
6681         * gst/gstutils.h:
6682         Remove crude hacks.
6683
6684         * tools/gst-launch.c: (main):
6685         Fixes for state change. Needs some more work to fully use the
6686         new stuff.
6687
6688 2005-10-10  Andy Wingo  <wingo@pobox.com>
6689
6690         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
6691
6692         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
6693         this flag, but it's not even in GLib 2.6. Odd. Hack around the
6694         issue.
6695
6696 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6697
6698         * gst/gstiterator.c: (gst_iterator_new):
6699           Fix my previous commit: GTypes passed to gst_iterator_new()
6700           can be fundamental types.
6701
6702 2005-10-10  Wim Taymans  <wim@fluendo.com>
6703
6704         * gst/gstelement.c: (gst_element_iterate_pad_list),
6705         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
6706         (gst_element_iterate_sink_pads):
6707         Use src/sink pads lists for the respective iterators instead
6708         of filtering.
6709
6710 2005-10-10  Andy Wingo  <wingo@pobox.com>
6711
6712         Merged in popt removal + GOption addition patch from Ronald, bug
6713         #169772.
6714
6715         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
6716         GstElement macros around, remove popt-related symbols, add goption
6717         stuff.
6718
6719         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
6720         
6721         * docs/gst/Makefile.am:
6722         * docs/libs/Makefile.am: No POPT_CFLAGS.
6723         
6724         * examples/manual/Makefile.am:
6725         * docs/manual/basics-init.xml: Doc updates with an example.
6726         
6727         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6728         (gst_init), (parse_one_option), (parse_goption_arg):
6729         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
6730         bit of hand merging and debugging to get the GOption stuff working
6731         tho.
6732         
6733         * tests/Makefile.am:
6734         * tools/Makefile.am:
6735         * tools/gst-inspect.c: (main):
6736         * tools/gst-launch.c: (main):
6737         * tools/gst-run.c: (main):
6738         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
6739
6740 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6741
6742         * gst/gstiterator.c: (gst_iterator_new):
6743           Add assertions to make sure passed GType is likely to really
6744           be a GType (as the compiler won't catch it if the size and
6745           GType arguments get mixed up, see #318447).
6746
6747 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
6748
6749         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6750
6751         * gst/gstbin.c: (gst_bin_iterate_sorted):
6752           Pass GType and size arguments to gst_iterator_new() in the right
6753           order (maybe we should make _new() take the GType as first argument
6754           just like _new_list()?) (#318447).
6755           
6756
6757 2005-10-10  Wim Taymans  <wim@fluendo.com>
6758
6759         * gst/gstelement.c: (gst_element_finalize):
6760         And free the GStaticRecMutex too
6761
6762 2005-10-10  Andy Wingo  <wingo@pobox.com>
6763
6764         * gst/gstelement.c (gst_element_init, gst_element_finalize):
6765         Allocate and free the mutex properly.
6766
6767         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
6768         New macros.
6769         (GstElement): The state_lock is now recursive. Rebuild your
6770         plugins, suckers. Old macros adapted.
6771
6772         * docs/gst/gstreamer-sections.txt: Doc updates.
6773
6774         * gst/gstutils.h:
6775         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
6776         (g_static_rec_cond_wait): Ported from state changes patch, while
6777         we wait on bug #317802 to be solved in a well-distributed GLib.
6778
6779         * gst/gstelement.c (gst_element_change_state_func): Renamed from
6780         gst_element_change_state, variable name changes.
6781         (gst_element_change_state): Split out of gst_element_set_state in
6782         preparation for the state change merge. Doesn't pay attention to
6783         the 'transition' argument.
6784         (gst_element_set_state): Updates, hopefully purely cosmetic.
6785         (gst_element_sync_state_with_parent): MT-safety. Ported from the
6786         state change patch.
6787         (gst_element_get_state_func): Renamed from get_state, cosmetic
6788         changes.
6789
6790 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6791
6792         * gst/elements/gstelements.c:
6793         * win32/GStreamer.vcproj:
6794         * win32/config.h:
6795         * win32/dirent.c: (_tseekdir):
6796         * win32/gst-inspect.vcproj:
6797         * win32/gst-launch.vcproj:
6798         * win32/gstconfig.h:
6799         * win32/gstelements.vcproj:
6800         * win32/gstenumtypes.c: (gst_object_flags_get_type):
6801         * win32/gstreamer.def:
6802         * win32/msvc71.sln:
6803           updates for the win32 build (patch from Sebastien Moutte)
6804
6805 2005-10-10  Andy Wingo  <wingo@pobox.com>
6806
6807         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
6808         gst_bin_get_state, cleaned up (but no logic changes).
6809         (bin_element_is_sink): Comment updates.
6810         (sink_iterator_filter): Remove needless cast.
6811         (gst_bin_iterate_sinks): Doc update.
6812         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
6813         cleaned up (but no logic changes).
6814
6815         * check/states/sinks.c (test_src_sink): Cleanups from the state
6816         change patch.
6817         (test_livesrc_sink): Sync on the state.
6818
6819         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
6820         the state change patch.
6821
6822         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
6823         change patch.
6824
6825         * check/gst/gstbin.c: Merge in some style fixes and additional
6826         checks from Wim's state change patch.
6827
6828 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6829
6830         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6831         (gst_type_find_helper):
6832           Check whether we have the requested data already in our list of
6833           cached buffers before pulling a new buffer; also make the buffer
6834           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
6835
6836 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6837
6838         * gst/gstcaps.c:
6839         * gst/gstevent.c:
6840           doc updates
6841         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6842           don't use long long, it's not portable.  Replacing with
6843           gint64 seems to work; let's hope no skeletons fall out of the closet.
6844
6845 2005-10-10  Andy Wingo  <wingo@pobox.com>
6846
6847         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
6848
6849 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
6850
6851         * docs/gst/gstreamer-sections.txt:
6852         * gst/gstevent.c:
6853         * gst/gstevent.h:
6854         * gst/gstinfo.c:
6855         * gst/gstinfo.h:
6856         * gst/gstmessage.c: (gst_message_parse_state_changed):
6857         * gst/gstpad.c:
6858         * gst/gstpad.h:
6859           more docs, fix compilation
6860
6861 2005-10-09  Philippe Khalaf <burger@speedy.org>
6862         * gst/gstmessage.c:
6863           Fixed a few forgotten variables on previous commit
6864
6865 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6866
6867         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6868           Fix evil typefind crasher: getrange() might return a short
6869           buffer at the end of a file, but gst_type_find_peek() must
6870           either return the full data as requested or NULL, but
6871           never a short buffer.
6872
6873 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6874
6875         * gst/gstmessage.c: (gst_message_new_state_changed),
6876         (gst_message_parse_state_changed):
6877         * gst/gstmessage.h:
6878           don't use "new", it's a C++ keyword
6879
6880 2005-10-08  Wim Taymans  <wim@fluendo.com>
6881
6882         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
6883         * gst/gstelement.c: (gst_element_post_message):
6884         * gst/gstpipeline.c: (gst_pipeline_change_state):
6885         Small docs and debug updates.
6886
6887 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6888
6889         * docs/gst/gstreamer-sections.txt:
6890         * gst/gstelementfactory.c:
6891         * gst/gstevent.c:
6892         * gst/gsttaglist.c:
6893           more docs
6894
6895 2005-10-08  Wim Taymans  <wim@fluendo.com>
6896
6897         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
6898         (gst_bin_dispose), (bin_bus_handler):
6899         Fix typos, add comments.
6900         Clear EOS list when going to PAUSED from any direction and do it
6901         in a threadsafe way.
6902         Get base time in a threadsafe way too.
6903         Fix confusing debug in the change_state function.
6904         Various other small cleanups.
6905         
6906         * gst/gstelement.c: (gst_element_post_message):
6907         Fix very verbose bus posting code.
6908
6909         * gst/gstpipeline.c: (gst_pipeline_class_init),
6910         (gst_pipeline_set_property), (gst_pipeline_get_property),
6911         (gst_pipeline_change_state):
6912         Small ARG_ -> PROP_ cleanup
6913
6914 2005-10-08  Wim Taymans  <wim@fluendo.com>
6915
6916         * gst/gstbin.c: (is_eos), (bin_bus_handler):
6917         Do a less CPU demanding EOS check because we can.
6918
6919 2005-10-08  Wim Taymans  <wim@fluendo.com>
6920
6921         * libs/gst/dataprotocol/dataprotocol.c:
6922         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6923         (gst_dp_packet_from_event):
6924         * libs/gst/dataprotocol/dataprotocol.h:
6925         * libs/gst/dataprotocol/dp-private.h:
6926         It's about time we bump the version number.
6927         Since event types don't fit in the guint8 anymore describing
6928         the payload type, make payload type 16 bits wide.
6929
6930 2005-10-08  Wim Taymans  <wim@fluendo.com>
6931
6932         * docs/design/part-TODO.txt:
6933         * docs/design/part-clocks.txt:
6934         * docs/design/part-events.txt:
6935         * docs/design/part-gstbin.txt:
6936         * docs/design/part-gstelement.txt:
6937         * docs/design/part-gstpipeline.txt:
6938         * docs/design/part-live-source.txt:
6939         * docs/design/part-messages.txt:
6940         * docs/design/part-overview.txt:
6941         * docs/design/part-states.txt:
6942         Many doc updates.
6943
6944 2005-10-08  Wim Taymans  <wim@fluendo.com>
6945
6946         * gst/gstevent.c:
6947         * gst/gstevent.h:
6948         Fix event quark registration.
6949         Add some space between events so we can insert them in the
6950         right groups.
6951
6952 2005-10-08  Wim Taymans  <wim@fluendo.com>
6953
6954         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6955         (gst_base_sink_handle_buffer):
6956         Better log message.
6957
6958         * gst/gstbus.h:
6959         * gst/gstelement.h:
6960         More docs.
6961
6962         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6963         (gst_queue_set_property), (gst_queue_get_property):
6964         * gst/gstqueue.h:
6965         Remove old unused properties.
6966
6967 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6968         * docs/gst/gstreamer-sections.txt:
6969         * gst/gstmessage.c:
6970         * gst/gstmessage.h:
6971         * gst/gstminiobject.c:
6972         * gst/gstminiobject.h:
6973         * gst/gstobject.h:
6974         * gst/gstpad.h:
6975         * gst/gstutils.h:
6976           lots of new docs and doc fixes
6977
6978 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6979
6980         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6981         * gst/gstplugin.h:
6982         * gst/gstregistry.c: (gst_registry_lookup_locked),
6983         (gst_registry_scan_path_level):
6984         * gst/gstregistryxml.c: (load_plugin):
6985           Only ever load one plugin for a given plugin basename.
6986           This ensures correct overriding of GST_PLUGIN_PATH over
6987           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6988           system installed plugins.
6989
6990 2005-10-08  Wim Taymans  <wim@fluendo.com>
6991
6992         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6993         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6994         Prepare for doing QOS.
6995
6996 2005-10-08  Wim Taymans  <wim@fluendo.com>
6997
6998         * check/gst/gstbin.c: (GST_START_TEST):
6999         * check/pipelines/cleanup.c: (GST_START_TEST):
7000         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7001         Allow new clock message too.
7002
7003 2005-10-08  Wim Taymans  <wim@fluendo.com>
7004
7005         * gst/gstmessage.c: (gst_message_new_error),
7006         (gst_message_new_warning), (gst_message_new_tag),
7007         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7008         (gst_message_new_clock_lost), (gst_message_new_new_clock),
7009         (gst_message_new_segment_start), (gst_message_new_segment_done),
7010         (gst_message_parse_state_changed),
7011         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
7012         (gst_message_parse_new_clock):
7013         * gst/gstmessage.h:
7014         Also carry the clock in question.
7015
7016 2005-10-08  Wim Taymans  <wim@fluendo.com>
7017
7018         * gst/gstmessage.c: (gst_message_new_custom),
7019         (gst_message_new_eos), (gst_message_new_error),
7020         (gst_message_new_warning), (gst_message_new_tag),
7021         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7022         (gst_message_new_new_clock), (gst_message_new_segment_start),
7023         (gst_message_new_segment_done), (gst_message_parse_state_changed),
7024         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
7025         * gst/gstmessage.h:
7026         Clean up.
7027         Added clock related messages.
7028
7029         * gst/gstpipeline.c: (gst_pipeline_change_state):
7030         Post message when the clock changed.
7031
7032         * tools/gst-launch.c: (event_loop):
7033         Print new clock.
7034
7035 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
7036
7037         * tools/gst-inspect.c: (print_element_properties_info):
7038           Can't pass NULL strings to g_print() on windows.
7039
7040 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7041
7042         * docs/Makefile.am:
7043         * docs/gst/Makefile.am:
7044         * docs/gst/gstreamer-docs.sgml:
7045         * docs/gst/running.xml:
7046         * docs/version.entities.in:
7047           add a chapter on running GStreamer.
7048           document GST_DEBUG and GST_PLUGIN* env vars
7049
7050 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7051
7052         * Makefile.am:
7053           remove include dir
7054         * configure.ac:
7055           remove PLUGINS_BUILDDIR stuff
7056         * gst/gst.c: (init_post):
7057           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
7058         * idiottest.mak:
7059           remove, it was condescending and not needed
7060
7061 2005-10-08  Wim Taymans  <wim@fluendo.com>
7062
7063         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7064         (gst_base_sink_handle_object), (gst_base_sink_event),
7065         (gst_base_sink_wait), (gst_base_sink_handle_event),
7066         (gst_base_sink_change_state):
7067         * gst/base/gstbasesink.h:
7068         Repost EOS message while going to PLAYING if still EOS.
7069         Make sure that when receiving a FLUSH_START we don't attempt
7070         to sync on the clock anymore.
7071
7072 2005-10-08  Wim Taymans  <wim@fluendo.com>
7073
7074         * tools/gst-launch.c: (event_loop):
7075         Better message printout.
7076
7077 2005-10-08  Wim Taymans  <wim@fluendo.com>
7078
7079         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
7080         (gst_bin_child_proxy_get_children_count):
7081         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7082         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
7083         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
7084         (gst_child_proxy_set_valist):
7085         * gst/parse/grammar.y:
7086         Make ChildProxy threadsafe and fix mem leaks.
7087
7088 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7089
7090         * gst/gst.c: (init_post):
7091           debug the GST_PLUGIN_ env vars
7092
7093 2005-10-08  Wim Taymans  <wim@fluendo.com>
7094
7095         * check/gst/gstbin.c: (GST_START_TEST):
7096         * check/gst/gstmessage.c: (GST_START_TEST):
7097         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7098         * gst/gstelement.c: (gst_element_commit_state),
7099         (gst_element_lost_state):
7100         * gst/gstmessage.c: (gst_message_new_state_changed),
7101         (gst_message_parse_state_changed):
7102         * gst/gstmessage.h:
7103         * tools/gst-launch.c: (event_loop):
7104         Added extra field to STATE_CHANGE message with the pending
7105         state, which will be different from the new state soon.
7106
7107 2005-10-08  Wim Taymans  <wim@fluendo.com>
7108
7109         * gst/gstbus.c: (gst_bus_pop):
7110         * gst/gstclock.c:
7111         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7112         Small cleanups and doc updates.
7113
7114 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7115
7116         * gst/gst.c: (init_pre):
7117         * gst/gstbin.c: (gst_bin_add_func):
7118           log distributing clocks and base time
7119         * gst/gstregistry.c: (gst_registry_add_plugin),
7120         (gst_registry_scan_path_level), (gst_registry_scan_path):
7121           clean up the debugging output a little
7122         * gst/gstutils.c: (gst_element_state_get_name):
7123           warn about a memleak (I've actually seen this be used, though
7124           it was probably a bug)
7125
7126 2005-10-07  Wim Taymans  <wim@fluendo.com>
7127
7128         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7129         (gst_base_src_init), (gst_base_src_default_newsegment),
7130         (gst_base_src_newsegment), (gst_base_src_do_seek),
7131         (gst_base_src_loop), (gst_base_src_start):
7132         * gst/base/gstbasesrc.h:
7133         Make the newsegment event customizable by subclasses.
7134
7135 2005-10-07  Wim Taymans  <wim@fluendo.com>
7136
7137         * gst/gstevent.c: (gst_event_new_buffersize),
7138         (gst_event_parse_buffersize):
7139         * gst/gstevent.h:
7140         New event for future idea.
7141
7142 2005-10-07  Andy Wingo  <wingo@pobox.com>
7143
7144         * gst/gstelement.c (gst_element_post_message): Doc update.
7145
7146         * docs/gst/gstreamer-sections.txt: Update.
7147
7148         * gst/gstmessage.c (gst_message_new_application): Made into a
7149         function like honest API calls.
7150         (gst_message_new_element): New message type.
7151
7152         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
7153
7154         * check/elements/fakesrc.c (test_no_preroll): New check, checks
7155         that setting a live fakesrc to PAUSED returns NO_PREROLL both
7156         times.
7157
7158         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
7159         NO_PREROLL from gst_element_change_state to fall through.
7160
7161 2005-10-07  Wim Taymans  <wim@fluendo.com>
7162
7163         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
7164         (gst_ghost_pad_do_activate_push):
7165         Activating a ghostpad with no internal pad in push mode
7166         is ok.
7167
7168 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7169
7170         * gst/gstobject.h:
7171           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
7172           Fixes compilation on Windows.
7173
7174 2005-10-07  Michael Smith <msmith@fluendo.com>
7175
7176         * tools/gst-inspect.c:
7177           Print out feature and plugin count at the end when printing out
7178           all features.
7179
7180 2005-10-04  Michael Smith <msmith@fluendo.com>
7181
7182         * gst/gsterror.c: (_gst_stream_errors_init):
7183           Add another error string used in a few existing plugins.
7184
7185         * gst/gstplugin.c:
7186         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7187         * tools/gst-inspect.c: (print_element_info):
7188           When a feature disappears from a plugin (and the feature exists in
7189           the cached registry file), things went horribly wrong. This isn't a
7190           complete fix, we should actually be removing the 'missing' features
7191           from the features list when we load the actual plugin. That's not
7192           yet implemented. 
7193
7194 2005-10-04  Johan Dahlin  <johan@gnome.org>
7195
7196         * check/gst/gstiterator.c: (GST_START_TEST):
7197         * gst/gstbin.c: (gst_bin_iterate_elements),
7198         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
7199         * gst/gstelement.c: (gst_element_iterate_pads):
7200         * gst/gstformat.c: (gst_format_iterate_definitions):
7201         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
7202         (gst_iterator_new_list), (gst_iterator_filter):
7203         * gst/gstiterator.h:
7204         * gst/gstquery.c: (gst_query_type_iterate_definitions):
7205         Add a GType to GstIterator, update callsites and tests.
7206
7207 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7208
7209         * gst/gstpad.c: (gst_pad_event_default_dispatch):
7210           give events a chance to be handled by event probes when the pad
7211           is not linked
7212
7213 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7214
7215         * gst/gstevent.c: (gst_event_type_get_name),
7216         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
7217         * gst/gstevent.h:
7218           add string representations for event types
7219
7220 2005-10-06  Wim Taymans  <wim@fluendo.com>
7221
7222         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
7223         Don't use NULL pointers.
7224
7225 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7226
7227         * gst/gst_private.h:
7228         * gst/gstbus.c:
7229         * gst/gstelement.c:
7230         * gst/gstinfo.c:
7231         * gst/gstpluginfeature.c:
7232           widen the debug category in output to fit the biggest one we have
7233           add a bus category and use it
7234           play with the colors
7235           fix up some categories
7236
7237 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7238
7239         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
7240           add push activation of sink ghost pads.
7241           Andye, please verify
7242
7243 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7244
7245         * gst/gstutils.c: (gst_element_link_pads):
7246           fix a bug in the case where neither element has a pad
7247         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7248           add a test for that case
7249
7250 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7251
7252         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
7253           emit have-data before checking for peers.  This allows
7254           for probe handlers to connect elements.  This helps autopluggers.
7255         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
7256         (gst_pad_suite):
7257           add six checks, linked/unlinked with no/true/false probe
7258
7259 2005-10-04  Wim Taymans  <wim@fluendo.com>
7260
7261         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
7262         (gst_fake_sink_event), (gst_fake_sink_preroll),
7263         (gst_fake_sink_render), (gst_fake_sink_change_state):
7264         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
7265         (gst_fake_src_get_property), (gst_fake_src_create),
7266         (gst_fake_src_stop):
7267         * gst/elements/gstidentity.c: (gst_identity_stop):
7268         Protect last_message with lock.
7269
7270 2005-10-04  Edward Hervey  <edward@fluendo.com>
7271
7272         * gst/gstformat.h: 
7273         Added precision in the comments for GST_FORMAT_DEFAULT
7274
7275 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
7276
7277         * tools/gst-launch.c: (main):
7278           Don't try to run erroneous pipelines.
7279
7280 2005-10-04  Julien MOUTTE  <julien@moutte.net>
7281
7282         * gst/gstbus.c: We don't need this header.
7283
7284 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7285
7286         * configure.ac:
7287           back to development
7288
7289 === release 0.9.3 ===
7290
7291 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7292
7293         * README:
7294         * configure.ac:
7295           Releasing 0.9.3, "Unregistered"
7296
7297 2005-10-03  Andy Wingo  <wingo@pobox.com>
7298
7299         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
7300         whereby calling a pad's activatepush() function can start a thread
7301         that starts to push or pull before the pad gets the FLUSHING flag
7302         unset. Hack around it by holding the stream lock until the flag is
7303         set. Need to replace this with a proper solution. Together with
7304         the ghost pad fixes, this fixes mp3 playing/tagreading.
7305
7306         * docs/design/part-gstghostpad.txt: Add a note about activation of
7307         proxy pads outside of ghost pads.
7308
7309         * gst/gstghostpad.c: Implement the ghost pad activation design.
7310
7311 2005-10-02  Andy Wingo  <wingo@pobox.com>
7312
7313         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
7314         It is volatile, after all.
7315
7316         * docs/design/part-gstghostpad.txt: Flesh out activation with
7317         ghost pads.
7318
7319         * gst/base/gstbasesrc.c (gst_base_src_init): Use
7320         GST_DEBUG_FUNCPTR.
7321
7322 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7323
7324         * configure.ac:
7325           Fix (unused) AM_CONDITIONAL tests.
7326
7327 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
7328
7329         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7330
7331         * gst/gstutils.c: (gst_pad_query_convert):
7332           Add assertion that makes sure src_val is >=0, just like
7333           gst_query_new_convert() has. (#315895)
7334
7335 2005-09-30  Edward Hervey  <edward@fluendo.com>
7336
7337         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
7338         Let's not iterate pads we're not interested in, it avoids getting 
7339         sky-high refcounts on sinkpad.
7340
7341 2005-09-30  Wim Taymans  <wim@fluendo.com>
7342
7343         * gst/gstelement.c: (gst_element_set_state),
7344         (gst_element_change_state):
7345         Small tweak, element in ASYNC remains ASYNC.
7346
7347 2005-09-30  Wim Taymans  <wim@fluendo.com>
7348
7349         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7350         Only error is an error.
7351
7352         * gst/gstbin.c: (gst_bin_change_state):
7353         Better debugging.
7354
7355         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
7356         Also call pad_block in pad alloc.
7357
7358         * gst/gstutils.c: (gst_flow_get_name):
7359         Better debugging.
7360
7361 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7362
7363         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7364         (gst_base_src_get_range):
7365           Fix documentation typos. Add some more debug info.
7366
7367 2005-09-29  David Schleef  <ds@schleef.org>
7368
7369         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
7370           more end-user friendly.
7371         * tools/gst-inspect.c: (main): Check if command-line argument is
7372           a file and attempt to load that file as a plugin.
7373
7374 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7375
7376         * check/gst/gstbin.c:
7377         * check/states/sinks.c:
7378           fix tests for the new warning
7379         * check/gst/gstpipeline.c:
7380           add a test for pipeline and bus interaction
7381         * gst/gstelement.c:
7382           elements should be NULL if they get disposed; add a warning if not
7383
7384 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7385
7386         * gst/gstobject.c:
7387           for 2.6 refcounting, make debug log more correct by printing
7388           the actual refcounts at the time of swap (Wim)
7389
7390 2005-09-29  Andy Wingo  <wingo@pobox.com>
7391
7392         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
7393         removes signal watches previously added via
7394         gst_bus_add_signal_watch.
7395         (gst_bus_add_signal_watch): Don't return the source id, just store
7396         it on the bus if there wasn't an id already.
7397
7398         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
7399         add_signal_watch and remove_signal_watch.
7400
7401 2005-09-29  Edward Hervey  <edward@fluendo.com>
7402
7403         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
7404         Better if we actually iterate the list :)
7405
7406 2005-09-29  Wim Taymans  <wim@fluendo.com>
7407
7408         * check/gst/gstbin.c: (GST_START_TEST):
7409         Change for new bus API.
7410
7411         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7412         (send_messages), (GST_START_TEST), (gstbus_suite):
7413         Change for new bus signal API.
7414
7415         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
7416         (gst_bus_source_prepare), (gst_bus_source_check),
7417         (gst_bus_create_watch), (gst_bus_add_watch_full),
7418         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
7419         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
7420         * gst/gstbus.h:
7421         Remove support for multiple GSources operating on different
7422         message types as it is too complex and unneeded when using
7423         signals.
7424         Added support for receiving signals from the bus.
7425
7426 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7427
7428         * docs/libs/tmpl/gstdataprotocol.sgml:
7429         * docs/manual/advanced-dataaccess.xml:
7430         * gst/elements/gstcapsfilter.c:
7431         * gst/gstutils.c:
7432           rename filter-caps to caps property
7433
7434 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7435
7436         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7437           More robust fraction string parsing.
7438
7439         * docs/pwg/appendix-porting.xml:
7440           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
7441
7442 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7443
7444         * gst/gstcaps.c: (gst_caps_do_simplify):
7445           Thou shalt not free a structure and then continue using it
7446           in the next loop iteration.
7447
7448         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
7449         (gst_caps_suite):
7450           Add test case for caps simplification.
7451
7452 2005-09-29  Wim Taymans  <wim@fluendo.com>
7453
7454         * check/gst/gstbin.c: (GST_START_TEST):
7455         Oops.
7456
7457 2005-09-29  Wim Taymans  <wim@fluendo.com>
7458
7459         * check/gst/gstbin.c: (GST_START_TEST):
7460         Add bus to bin.
7461
7462         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7463         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7464         (find_element), (gst_bin_sort_iterator_next),
7465         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7466         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7467         (gst_bin_change_state), (gst_bin_dispose):
7468         A bin does not have a bus, it gets the bus from the parent.
7469
7470         * gst/gstelement.c: (gst_element_requires_clock),
7471         (gst_element_provides_clock), (gst_element_is_indexable),
7472         (gst_element_is_locked_state), (gst_element_change_state),
7473         (gst_element_set_bus_func):
7474         Small cleanups.
7475
7476         * gst/gstpipeline.c: (gst_pipeline_class_init),
7477         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
7478         The pipeline provides a bus.
7479
7480 2005-09-28  Johan Dahlin  <johan@gnome.org>
7481
7482         * gst/gstmessage.c (gst_message_parse_state_changed): Use
7483         gst_structure_get_enum instead of gst_structure_get_int
7484
7485         * gst/gststructure.c (gst_structure_get_enum): Impl.
7486
7487         * gst/gststructure.h (gst_structure_get_enum): Add
7488
7489         * docs/gst/gstreamer-sections.txt: Ditto
7490
7491         * gst/gstmessage.c (gst_message_new_state_changed): Use
7492         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
7493         which does introspection.
7494         Reviewed by Christian Schaller
7495
7496 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7497
7498         * gst/gstinfo.c: (gst_debug_log_default):
7499           don't do dummy g_strdup()s
7500         * libs/gst/controller/gstcontroller.c:
7501         (on_object_controlled_property_changed),
7502         (gst_controlled_property_new), (gst_controller_new_valist),
7503         (gst_controller_new_list),
7504         (gst_controller_remove_properties_valist), (gst_controller_set),
7505         (gst_controller_get), (gst_controller_sync_values),
7506         (gst_controller_get_value_array), (_gst_controller_class_init),
7507         (gst_controller_get_type):
7508         * libs/gst/controller/gstcontroller.h:
7509         * libs/gst/controller/gstinterpolation.c:
7510         (gst_controlled_property_find_timed_value_node):
7511           convert // to /**/ comments
7512
7513 2005-09-28  Wim Taymans  <wim@fluendo.com>
7514
7515         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
7516         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
7517         (gst_bus_sync_signal_handler):
7518         * gst/gstbus.h:
7519         Added async-message and sync-message signals to the bus.
7520         Added helper BusFunc to emit signals for all posted messages.
7521
7522         * gst/gstmessage.c: (gst_message_type_get_name),
7523         (gst_message_type_to_quark), (gst_message_get_type):
7524         * gst/gstmessage.h:
7525         Register quarks for message names.
7526
7527 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7528
7529         * docs/libs/gstreamer-libs-sections.txt:
7530         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7531         (gst_controller_new_list):
7532         * libs/gst/controller/gstcontroller.h:
7533           added another constructor for language bindings
7534
7535 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7536
7537         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7538           add another check
7539         * gst/gstbus.c:
7540           add some doc
7541         * gst/gstinfo.c: (_gst_debug_init):
7542           slightly more readable color for refcount debugging
7543
7544 2005-09-28  Wim Taymans  <wim@fluendo.com>
7545
7546         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7547         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7548         (find_element), (gst_bin_sort_iterator_next),
7549         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7550         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7551         (gst_bin_change_state), (gst_bin_dispose):
7552         Small doc fixes. get_clock -> provide_clock.
7553
7554         * gst/gstelement.c: (gst_element_class_init),
7555         (gst_element_provides_clock), (gst_element_provide_clock),
7556         (gst_element_get_clock), (gst_element_commit_state),
7557         (gst_element_lost_state):
7558         * gst/gstelement.h:
7559         Make get/set_clock() symetric. Add provide_clock vmethod since
7560         that is actually what this function does.
7561
7562         * gst/gstpipeline.c: (gst_pipeline_class_init),
7563         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
7564         (gst_pipeline_get_clock):
7565         get_clock -> provide_clock.
7566
7567 2005-09-28  Andy Wingo  <wingo@pobox.com>
7568
7569         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
7570         lieu of real docs...
7571
7572         * gst/elements/gstfdsrc.c: Cleaned up a bit.
7573
7574 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
7575
7576         * gst/elements/gstcapsfilter.c:
7577         * gst/elements/gstfakesink.c:
7578         * gst/elements/gstfakesrc.c:
7579         * gst/elements/gstfdsink.c:
7580         * gst/elements/gstfdsrc.c:
7581         * gst/elements/gstfilesink.c:
7582         * gst/elements/gstfilesrc.c:
7583         * gst/elements/gstidentity.c:
7584         * gst/elements/gsttee.c:
7585         * gst/elements/gsttypefindelement.c:
7586           Make element details static.
7587
7588 2005-09-28  Wim Taymans  <wim@fluendo.com>
7589
7590         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7591         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7592         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7593         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7594         (gst_bin_change_state), (gst_bin_dispose):
7595         Some documentation updates.
7596         Clean up dispose handlers.
7597
7598         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
7599         * gst/gstpad.c: (gst_pad_dispose):
7600         Clean up dispose handler.
7601
7602         * gst/gstpipeline.c: (gst_pipeline_change_state):
7603         Removed spurious UNLOCK.
7604
7605 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
7606
7607         * docs/gst/gstreamer-sections.txt:
7608         * gst/base/gstbasesrc.h:
7609         * gst/gstelement.h:
7610         * gst/gstevent.h:
7611         * gst/gstobject.h:
7612         * gst/gstpad.h:
7613         * gst/gstpipeline.c:
7614         * gst/gstpipeline.h:
7615         * gst/gstutils.h:
7616         * gst/gstxml.h:
7617           added two new functions to the docs
7618                 documents all undocumented GstXXXFlags
7619                 completed some incomplete docs 
7620
7621 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7622
7623         * gst/gstbin.c: (gst_bin_dispose):
7624         * gst/gstelement.c: (gst_element_dispose):
7625           remove now useless and leaky resurrection code in dispose
7626         * gst/base/gstbasesrc.c: (gst_base_src_init):
7627         * gst/gstelementfactory.c: (gst_element_factory_create):
7628         * gst/gstobject.c: (gst_object_set_parent):
7629           add some debugging
7630
7631 2005-09-27  Wim Taymans  <wim@fluendo.com>
7632
7633         * docs/design/part-TODO.txt:
7634         Update TODO.
7635
7636         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7637         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7638         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7639         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7640         (gst_bin_change_state):
7641         * gst/gstelement.h:
7642         Remove element variable, we keep element info in the iterator now.
7643
7644 2005-09-27  Andy Wingo  <wingo@pobox.com>
7645
7646         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
7647         values.
7648
7649 2005-09-27  Wim Taymans  <wim@fluendo.com>
7650
7651         * check/gst/gstbin.c: (GST_START_TEST):
7652         Enable check that works now.
7653
7654         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7655         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7656         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7657         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7658         (gst_bin_change_state):
7659         * gst/gstbin.h:
7660         Redid the state change algorithm using a topological sort algo.
7661         Handles all cases correctly.
7662         Exposed iterator for state change order.
7663
7664         * gst/gstelement.h:
7665         Temp storage for state changes. Need to get rid of this soon.
7666
7667 2005-09-27  Wim Taymans  <wim@fluendo.com>
7668
7669         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
7670         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
7671         (link_fold_func), (gst_pad_proxy_setcaps):
7672         Leak fixes, the fold functions need to unref the passed object and
7673         _get_parent_*() returns ref to parent.
7674
7675 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7676
7677         * check/gst/gstbuffer.c: (test_make_writable):
7678           Plug leak in test case and fix 'make check-valgrind'
7679
7680 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7681
7682         * gst/gstbuffer.c: (gst_subbuffer_init):
7683           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
7684           works correctly in all circumstances (we could have just copied
7685           the parent buffer's readonly flag, but conceptually it seems
7686           cleaner to mark all subbuffers as read-only). (based on patch
7687           by Alessandro Decina, #314710).
7688         
7689         * check/gst/gstbuffer.c: (create_read_only_buffer),
7690         (test_make_writable), (test_subbuffer_make_writable),
7691         (gst_test_suite):
7692           Add some tests for gst_buffer_make_writable().
7693
7694 2005-09-27  Wim Taymans  <wim@fluendo.com>
7695
7696         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
7697         use gst_object_has_ancestor().
7698
7699         * gst/gstobject.c: (gst_object_has_ancestor):
7700         * gst/gstobject.h:
7701         gst_object_has_ancestor() copied from gstbin.c as it is a
7702         usefull function.
7703
7704         * tests/instantiate/create.c: (create_all_elements):
7705         * tests/lat.c: (handoff_src), (handoff_sink):
7706         * tests/sched/runxml.c: (main):
7707         * tests/seeking/seeking1.c: (main):
7708         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7709         (main):
7710         Fix compilation of some tests.
7711
7712 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7713
7714         * gst/gsterror.h:
7715           Remove comment. GST_TYPE_G_ERROR is here to stay,
7716           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
7717           (#316961, #300610).
7718
7719 2005-09-26  Wim Taymans  <wim@fluendo.com>
7720
7721         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7722         Added check that shows error in state change order.
7723
7724 2005-09-26  Wim Taymans  <wim@fluendo.com>
7725
7726         * gst/gstbin.c: (gst_bin_change_state):
7727         Make state change function use 3 queues again, we were
7728         adding elements in the wrong order.
7729
7730         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7731         Some debug info,
7732
7733         * gst/gstpad.c: (gst_pad_dispose):
7734         Added some debug info first.
7735
7736 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
7737
7738         * docs/design/draft-push-pull.txt:
7739         * docs/design/part-events.txt:
7740         * docs/design/part-overview.txt:
7741         * docs/design/part-scheduling.txt:
7742           Replace all _pull_region() with _pull_range()
7743           
7744 2005-09-26  Andy Wingo  <wingo@pobox.com>
7745
7746         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
7747
7748         * check/gst-libs/controller.c: Update for controller api change.
7749
7750         * configure.ac: 
7751         * tests/Makefile.am:
7752         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
7753         over by GLib bug 118439.
7754         
7755         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
7756         routines to a function.
7757
7758         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
7759
7760         * libs/gst/controller/gsthelper.c:
7761         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
7762         (gst_object_sync_values): Renamed from sink_values. Ugh.
7763
7764         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
7765
7766         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
7767         Renamed from controller_key, as it is exported.
7768
7769         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
7770
7771 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7772
7773         * gst/Makefile.am:
7774         * gst/gst.h:
7775         * gst/gstpad.h:
7776         * gst/gstpadtemplate.h:
7777         * gst/gstquery.c:
7778         * gst/gstquery.h:
7779         * gst/gstqueryutils.c:
7780         * gst/gstqueryutils.h:
7781           remove queryutils headers after moving the two used functions
7782           to gstquery.  also fixes build problem for gstsiddec
7783
7784 2005-09-26  Michael Smith <msmith@fluendo.com>
7785
7786         * tools/gst-launch.1.in:
7787         Correct documentation in manpage of debug syntax
7788
7789 2005-09-26  Wim Taymans  <wim@fluendo.com>
7790
7791         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7792         (gst_base_src_is_seekable), (gst_base_src_change_state):
7793         Some more debugging info.
7794
7795 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7796
7797         * docs/gst/gstreamer-sections.txt:
7798         * gst/base/gstbasetransform.h:
7799         * gst/gstindex.h:
7800           added more docs
7801
7802 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7803
7804         * docs/gst/.cvsignore:
7805         * docs/gst/tmpl/.cvsignore:
7806         * docs/gst/tmpl/gstpipeline.sgml:
7807         * docs/gst/tmpl/gstplugin.sgml:
7808         * gst/gstpipeline.c:
7809         * gst/gstplugin.c:
7810         * gst/gstplugin.h:
7811           inlined the last two docs files
7812           removed the tmpl directory from cvs (no more conflicts here!)
7813
7814 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7815
7816         * docs/gst/gstreamer-sections.txt:
7817         * docs/gst/tmpl/.cvsignore:
7818         * docs/gst/tmpl/gstpad.sgml:
7819         * docs/gst/tmpl/gstpadtemplate.sgml:
7820         * gst/Makefile.am:
7821         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7822         (gst_pad_finalize), (gst_pad_set_pad_template):
7823         * gst/gstpad.h:
7824         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
7825         (gst_pad_template_class_init), (gst_pad_template_init),
7826         (gst_pad_template_dispose), (name_is_valid),
7827         (gst_static_pad_template_get), (gst_pad_template_new),
7828         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
7829         (gst_pad_template_pad_created):
7830         * gst/gstpadtemplate.h:
7831           inlined two more docs
7832           factored gstpadtemplate out of gstpad
7833
7834 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
7835
7836         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7837         (test_children_state_change_order_semi_sink):
7838           Fix test case: we can't rely on a fixed state change order when
7839           going from READY => PAUSED because the sink might commit its 
7840           new state first when the first buffer created by the source 
7841           reaches the sink before the source has finished its change state.
7842           (Test case still fails at times, see #316856, comment 5 onwards)
7843
7844 2005-09-24  Wim Taymans  <wim@fluendo.com>
7845
7846         * docs/design/part-events.txt:
7847         * docs/design/part-gstbus.txt:
7848         * docs/design/part-gstpipeline.txt:
7849         * docs/design/part-messages.txt:
7850         * docs/design/part-overview.txt:
7851         * docs/design/part-segments.txt:
7852         * gst/gstbin.c:
7853         * gst/gstbuffer.c:
7854         * gst/gstclock.c:
7855         * gst/gstelement.c:
7856         * gst/gstevent.c:
7857         * gst/gstfilter.c:
7858         * gst/gstiterator.c:
7859         Various documentation updates.
7860
7861 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7862
7863         * gst/gstclock.h:
7864           Well, that's embarassing.  Luckily we weren't using
7865           GST_CLOCK_DIFF anywhere.
7866
7867 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7868
7869         * common/gtk-doc.mak:
7870           don't fail on building XML, FC4 slave shows a bunch of doc
7871           missing bits that I don't get
7872         * gst/gstpad.c:
7873         * gst/gstpipeline.c:
7874         * gst/gststructure.c:
7875           some doc updates
7876
7877 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7878
7879         * docs/design/part-gstbin.txt:
7880         * docs/design/part-gstbus.txt:
7881         * gst/gstbus.c:
7882           Add blurb about how the bus goes into flushing mode and
7883           drops all messages when its bin goes from READY into NULL 
7884           state.
7885
7886 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7887
7888         * docs/gst/gstreamer-sections.txt:
7889         * gst/gststructure.c: (gst_structure_get_clock_time):
7890         * gst/gststructure.h:
7891           add a method to get a GstClockTime out of a structure
7892
7893 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7894
7895         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7896         (test_children_state_change_order_semi_sink), (gst_bin_suite):
7897           Added test to check state change order in bins (can still be made
7898           to fail here under heavy disk load; bails out with 'Push on pad
7899           fakesink:sink0, but it was not activated in push mode').
7900
7901         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
7902           Fix state change order when there is only a semi sink (#316856)
7903
7904         * gst/gstbus.c: (gst_bus_class_init):
7905           Use _class_peek_parent(), not _class_ref(); fix docs to say
7906           'default main context' instead of 'mainloop' where that is
7907           what's meant.
7908
7909         * gst/gstelement.c: (gst_element_commit_state),
7910         (gst_element_set_state):
7911           Fix typos in debug messages
7912
7913 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7914
7915         * docs/README:
7916         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
7917         * gst/gstpluginfeature.c:
7918         * gst/gstutils.c:
7919           various doc updates
7920         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7921           change an assert into an error until it gets fixed properly
7922
7923 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
7924
7925         * docs/gst/gstreamer-sections.txt:
7926         * docs/gst/tmpl/.cvsignore:
7927         * docs/gst/tmpl/gstelement.sgml:
7928         * docs/gst/tmpl/gstinfo.sgml:
7929         * docs/gst/tmpl/gstobject.sgml:
7930         * gst/gstelement.c:
7931         * gst/gstelement.h:
7932         * gst/gstinfo.c:
7933         * gst/gstinfo.h:
7934         * gst/gstobject.c: (gst_object_class_init):
7935         * gst/gstobject.h:
7936           inlined 3 more biiiig doc files and added some missing docs on the fly
7937
7938 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7939
7940         * check/gst/.cvsignore:
7941         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
7942         * gst/gstregistryxml.c: (load_plugin),
7943         (gst_registry_xml_save_plugin):
7944           put back source in registry.  add checks for find_plugin.
7945         * testsuite/states/bin.c: (assert_state), (empty_bin),
7946         (test_adding_one_element), (main):
7947         * testsuite/states/locked.c: (main):
7948           some compile/run fixes
7949
7950 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7951
7952         * check/gst/gstvalue.c: (GST_START_TEST):
7953           fix leaks in the test itself
7954
7955 2005-09-22  Wim Taymans  <wim@fluendo.com>
7956
7957         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7958         (gst_base_sink_send_event), (gst_base_sink_peer_query),
7959         (gst_base_sink_query):
7960         Prepare for more accurate position reporting and query
7961         handling.
7962
7963         * gst/gstelement.c: (gst_element_send_event),
7964         (gst_element_set_state):
7965         Add some comment.
7966
7967 2005-09-22  Wim Taymans  <wim@fluendo.com>
7968
7969         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7970         (gst_query_parse_segment):
7971         * gst/gstquery.h:
7972         More documentation.
7973         Add segment query for future use.
7974
7975 2005-09-22  Wim Taymans  <wim@fluendo.com>
7976
7977         * gst/gstbin.c: (gst_bin_add_func):
7978         Some more debug info.
7979
7980         * gst/gstelement.c: (gst_element_send_event):
7981         Simplify send_event
7982
7983         * gst/gstelement.h:
7984         Don't know how flags got broken.
7985
7986         * gst/gstquery.h:
7987         Added new query.
7988
7989 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7990
7991         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7992           Add simplistic test suite for GST_TYPE_DATE serialisation and
7993           deserialisation.
7994
7995 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7996
7997         * docs/gst/gstreamer-sections.txt:
7998         * gst/gststructure.c: (gst_structure_set_valist),
7999         (gst_structure_get_date):
8000         * gst/gststructure.h:
8001         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
8002         (gst_date_copy), (gst_value_compare_date),
8003         (gst_value_serialize_date), (gst_value_deserialize_date),
8004         (gst_value_transform_date_string),
8005         (gst_value_transform_string_date), (_gst_value_initialize):
8006         * gst/gstvalue.h:
8007           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
8008           bunch of utility functions along with a hack that checks that
8009           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
8010           is required. Part of the grand scheme in #170777.
8011
8012 2005-09-22  Andy Wingo  <wingo@pobox.com>
8013
8014         * gst/gstconfig.h.in: Psych out gtk-doc.
8015
8016         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
8017
8018         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
8019
8020         * tools/gst-inspect.c (print_element_list): Plug some
8021         inconsequential leaks.
8022
8023         * gst/gstregistry.c (gst_registry_get_default): Doc.
8024
8025         * check/gst/gstplugin.c: 
8026         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
8027         * gst/gstelementfactory.c (gst_element_factory_create): 
8028         * gst/gstindexfactory.c (gst_index_factory_create): Update for
8029         refcount changes.
8030
8031         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
8032         (gst_plugin_feature_load): Doc, don't eat refs.
8033
8034         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
8035         (gst_plugin_list_free): Doc.
8036         (gst_plugin_load_file): Doc updates.
8037
8038         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
8039         accessors returning refcounted objects, return a ref.
8040
8041         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
8042         accessor for caps. IDEMPOTENCE. Oh yes.
8043
8044 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
8045
8046         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8047
8048         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8049         (_gst_debug_register_funcptr):
8050           Add mutex to serialise access to the hash table with
8051           the function pointer => function name string mapping;
8052           make that hash table static scope (#316809).
8053
8054         * gst/registries/.cvsignore:
8055           Remove left-over file.
8056
8057 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
8058
8059         * docs/pwg/appendix-porting.xml:
8060           And something about newsegment events and caps-on-buffers to
8061           the porting guide (feel free to improve).
8062
8063 2005-09-21  Andy Wingo  <wingo@pobox.com>
8064
8065         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
8066         data and event probes on the same pad.
8067         (test_buffer_probe_once): Test that removing probes from within
8068         the probe functions works.
8069
8070 2005-09-21  Andy Wingo  <wingo@pobox.com>
8071
8072         * check/gst/gstutils.c: New file.
8073         (test_buffer_probe_n_times): A simple buffer probe test. More to
8074         come, foolios.
8075
8076         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
8077         have-data::buffer, not have-data.
8078         (gst_pad_add_event_probe): Likewise for have-data::event.
8079         (gst_pad_add_data_probe): More docs. The part about 'resolving the
8080         peer' isn't quite right yet though.
8081         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
8082         (gst_pad_remove_data_probe): Change to take the guint handler_id
8083         as their arg, not the function+data, which is more glib-like.
8084
8085         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
8086         the signal emission to indicate if the data is a buffer or an
8087         event.
8088         (gst_pad_get_type): Initialize buffer and event quarks.
8089         (gst_pad_class_init): have-data is now a detailed signal, yes it
8090         is.
8091
8092 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
8093
8094         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8095         * gst/gstutils.c: (gst_util_set_value_from_string),
8096         (gst_util_set_object_arg):
8097           Don't put functional code in g_return_if_fail() or
8098           g_return_val_if_fail() statements, otherwise things will 
8099           break when G_DISABLE_CHECKS is defined during compilation.
8100
8101 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8102
8103         * docs/gst/tmpl/.cvsignore:
8104         * docs/gst/tmpl/gstvalue.sgml:
8105         * gst/gstvalue.c:
8106         * gst/gstvalue.h:
8107           inlied another one and added  some obvious docs
8108
8109 2005-09-21  Wim Taymans  <wim@fluendo.com>
8110
8111         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8112         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
8113         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
8114         (gst_fdsrc_get_property), (gst_fdsrc_create):
8115         * gst/elements/gstfdsrc.h:
8116         Properly implement fdsrc. Removed signal and timeout,
8117         better implemented somewhere else.
8118
8119 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8120
8121         * docs/gst/tmpl/.cvsignore:
8122         * docs/gst/tmpl/gstimplementsinterface.sgml:
8123         * gst/gstinterface.c:
8124           inlined more docs
8125
8126 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8127
8128         * docs/gst/gstreamer-sections.txt:
8129         * docs/gst/tmpl/.cvsignore:
8130         * docs/gst/tmpl/gstenumtypes.sgml:
8131           remove obsolete doc file
8132
8133 2005-09-21  David Schleef  <ds@schleef.org>
8134
8135         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
8136         little beer, fix a little leak.
8137
8138 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8139
8140         * docs/gst/gstreamer-docs.sgml:
8141         * docs/gst/gstreamer-sections.txt:
8142         * docs/gst/tmpl/.cvsignore:
8143         * gst/Makefile.am:
8144         * gst/gst.h:
8145         * gst/gstbin.c:
8146         * gst/gstelement.h:
8147         * gst/gstindex.c: (gst_index_class_init):
8148         * gst/gstindex.h:
8149         * gst/gstindexfactory.c: (gst_index_factory_get_type),
8150         (gst_index_factory_class_init), (gst_index_factory_init),
8151         (gst_index_factory_finalize), (gst_index_factory_new),
8152         (gst_index_factory_destroy), (gst_index_factory_find),
8153         (gst_index_factory_create), (gst_index_factory_make):
8154         * gst/gstindexfactory.h:
8155         * gst/gstpluginfeature.c:
8156         * gst/gstpluginfeature.h:
8157         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8158           more docs inlined, splitted gstindex.{c,h}
8159
8160 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8161
8162         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8163           fix a leak
8164
8165 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
8166
8167         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8168           Set sync to FALSE by default.
8169
8170 2005-09-20  Wim Taymans  <wim@fluendo.com>
8171
8172         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8173         (gst_base_sink_init):
8174         Make sync property settable from subclass.
8175
8176         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8177         (gst_fake_sink_change_state):
8178         Set sync to FALSE by default.
8179
8180 2005-09-20  Wim Taymans  <wim@fluendo.com>
8181
8182         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
8183         * tools/gst-launch.c: (main):
8184         The timeout handler should have lower priority than the source
8185         so we don't timeout before popping a message with 0 timeout.
8186         Dump error messages after failed state change.
8187
8188 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
8189
8190         * tools/gst-inspect.c: (print_element_properties_info):
8191           Fix two typos.
8192
8193 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8194
8195         * check/gst/gstevent.c:
8196         * gst/elements/gstfakesink.c:
8197         * gst/elements/gstfakesink.h:
8198           remove the sync property from fakesink.
8199           has the side effect of setting sync TRUE
8200           for fakesink, which is a change.  Anyone who knows how
8201           to fix this nicely in a GObject-y way, feel free.
8202
8203 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8204
8205         * docs/gst/gstreamer-docs.sgml:
8206           remove probe refsection
8207
8208 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8209
8210         * check/Makefile.am:
8211           disable valgrinding the controller test again
8212         * docs/gst/gstreamer-sections.txt:
8213           update for api-changes
8214
8215 2005-09-20  Wim Taymans  <wim@fluendo.com>
8216
8217         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8218         (gst_base_sink_set_property), (gst_base_sink_get_property),
8219         (gst_base_sink_do_sync):
8220         * gst/base/gstbasesink.h:
8221         Added sync property to basesink to disable clock sync.
8222
8223 2005-09-20  Andy Wingo  <wingo@pobox.com>
8224
8225         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
8226         eating the caller's refcount.
8227
8228         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
8229         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
8230         refcount.
8231
8232         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
8233         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
8234         of GLib 2.8 public, so we can know which refcount to check in
8235         tests.
8236
8237         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
8238         (gst_object_init): Only set the gst refcount if we're going ahead
8239         with the refcount hack.
8240
8241 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8242
8243         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8244         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8245           more leaks plumbed, added more debug-logging
8246         * gst/gstmacros.h:
8247           whitespace fix
8248
8249 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8250
8251         * gst/gstmessage.c:
8252           remove include of gstmemchunk.h
8253
8254 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8255
8256         * gst/gstclock.c: (_gst_clock_id_free):
8257           Commit from the Political Party For More Atomic CVS Commits,
8258           so that people don't waste too much of their day fishing
8259           out obvious leaks out of massive commits.
8260           Oh, and fix a pretty damn obvious leak in the memchunk
8261           removal code.
8262
8263 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8264
8265         * check/Makefile.am:
8266         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8267           plug mem-leak, re-add to valgrindable tests
8268
8269 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8270
8271         * gst/gstplugin.h:
8272           unbreak the build for those who have chronic arthritis
8273           and typing "make check" is just too taxing on the hands
8274
8275 2005-09-20  Andy Wingo  <wingo@pobox.com>
8276
8277         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
8278         really want it out, you should fix plugins at the same time.
8279
8280 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
8281
8282         * configure.ac:
8283         * docs/gst/gstreamer-sections.txt:
8284         * gst/gstobject.c:
8285           added missing symbols to api docs
8286           disable ref-count hack if we have glib >= 2.8
8287
8288 2005-09-19  David Schleef  <ds@schleef.org>
8289
8290         * docs/gst/Makefile.am: Ignore a few more internal headers
8291         * docs/gst/gstreamer-docs.sgml: Remove old sections
8292         * docs/gst/gstreamer-sections.txt: Remove old sections
8293         * docs/gst/tmpl/gstobject.sgml: update
8294         * docs/gst/tmpl/gstplugin.sgml: update
8295         * docs/gst/tmpl/gstpluginfeature.sgml: update
8296         * docs/random/ds/0.9-suggested-changes: update.
8297         * gst/Makefile.am: remove memchunk and trashstack, since they're
8298           not used.
8299         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
8300         * gst/gst.h: don't include some headers
8301         * gst/gstchildproxy.c: add gstmarshal.h
8302         * gst/gstclock.c: Don't use memchunks
8303         * gst/gstminiobject.c: Add some docs
8304         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
8305         * gst/gstobject.h: same
8306         * gst/gstplugin.c: include gstmacros.h
8307         * gst/gstplugin.h: don't include gstmacros.h, since it's private
8308         * gst/gstquery.c: don't use memchunks
8309         * gst/gstregistry.c: rename gst_registry_deinit()
8310         * gst/gstregistry.h: same
8311
8312 2005-09-19  David Schleef  <ds@schleef.org>
8313
8314         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
8315         * docs/libs/gstreamer-libs-sections.txt:
8316         * docs/libs/tmpl/gstgetbits.sgml:
8317         * docs/libs/tmpl/gstputbits.sgml:
8318
8319 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
8320
8321         * win32/gstenumtypes.c:
8322         * win32/gstenumtypes.h:
8323           Update.
8324
8325 2005-09-19  Wim Taymans  <wim@fluendo.com>
8326
8327         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
8328         Automatically PAUSE and RESUME a pipeline when a flushing seek
8329         is performed.
8330
8331 2005-09-19  Andy Wingo  <wingo@pobox.com>
8332
8333         * gst/gstregistry.h: Spacing fixen.
8334
8335 2005-09-19  Wim Taymans  <wim@fluendo.com>
8336
8337         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
8338         Handle state change failure more correctly.
8339
8340 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8341
8342         * check/Makefile.am:
8343         * check/pipelines/cleanup.c: (run_pipeline):
8344         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8345         (GST_START_TEST):
8346           enable cleanup again after fixing the leak
8347         * docs/README:
8348           some more info on docs
8349
8350 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8351
8352         * check/Makefile.am:
8353           re-enable tests now that leaks are plugged
8354         * check/gst/gst.c:
8355         * check/gst/gstbin.c:
8356         * check/gst/gstpipeline.c:
8357           add some more tests while fixing leaks
8358         * common/check.mak:
8359           make sure binaries are uptodate when valgrinding/gdbing
8360         * gst/gst.c:
8361         * gst/gstelementfactory.c:
8362           remove a ref too many, and add a FIXME for when we get
8363           round to disposing of classes
8364         * gst/gstplugin.c:
8365           fix the refcounting when loading a plugin from a file and
8366           the code pretends that the pointer is the same even though
8367           of course it can change
8368         * gst/gstpluginfeature.c:
8369           unref plugins marked cached (a bit confusing as a name)
8370           as the docs state should be done
8371           various doc additions to explain refcounting
8372         * gst/gstregistry.c:
8373         * gst/gstregistryxml.c:
8374           debugging
8375
8376 2005-09-19  Wim Taymans  <wim@fluendo.com>
8377
8378         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8379         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8380         (send_messages), (GST_START_TEST), (gstbus_suite):
8381         * check/gst/gstpipeline.c: (GST_START_TEST):
8382         * check/pipelines/cleanup.c: (run_pipeline):
8383         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8384         (GST_START_TEST):
8385         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
8386         (gst_bus_source_check), (gst_bus_source_dispatch),
8387         (gst_bus_create_watch), (gst_bus_add_watch_full),
8388         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
8389         * gst/gstbus.h:
8390         * tools/gst-launch.c: (event_loop):
8391         * tools/gst-md5sum.c: (event_loop):
8392         GstBusHandler -> GstBusFunc, return value has the same meaning as
8393         any other GSource (FALSE == remove source).
8394         _add_watch() and _add_watch_full() now take a MessageType mask to
8395         only handle specific types of messages.
8396         _poll() returns the GstMessage instead of the message type to avoid
8397         race conditions.
8398         _have_pending() takes a MessageType mask now too.
8399         Added testsuite for multiple bus watches.
8400         Fix testsuites and applications for new bus API.
8401
8402 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8403
8404         * check/Makefile.am:
8405           mark a bunch of the tests as to fix until we fix them
8406
8407 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8408
8409         * common/check.mak:
8410           use GST_PLUGIN settings for valgrind tests as well, so we're
8411           valgrinding the correct thing
8412         * gst/gst.c: (init_post):
8413           plug another leak
8414
8415 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8416
8417         * gst/gst.c: (init_post), (gst_deinit):
8418         * gst/gstelementfactory.c: (gst_element_factory_class_init),
8419         (gst_element_factory_finalize), (gst_element_factory_cleanup):
8420         * gst/gstindex.c: (gst_index_factory_class_init),
8421         (gst_index_factory_finalize):
8422         * gst/gstobject.c: (gst_object_dispose):
8423         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
8424         (gst_plugin_load_file), (gst_plugin_desc_free):
8425         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
8426         (gst_plugin_feature_finalize):
8427         * gst/gstregistry.c: (gst_registry_class_init),
8428         (gst_registry_init), (gst_registry_finalize),
8429         (gst_registry_get_default), (gst_registry_deinit):
8430         * gst/gstregistry.h:
8431         * gst/gstregistryxml.c: (load_feature), (load_plugin):
8432           various cleanups and memleak plugging.  make valgrind is happy now.
8433
8434 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8435
8436         * common/check.mak:
8437           add a check-valgrind target
8438
8439 2005-09-18  David Schleef  <ds@schleef.org>
8440
8441         * tools/gst-inspect.c: Revert the GOption code.
8442
8443 2005-09-17  David Schleef  <ds@schleef.org>
8444
8445         * check/Makefile.am: Fix environment variables.
8446         * check/gst/gstplugin.c: Fix for API changes.
8447         * tools/gst-inspect.c: Fix for API changes.
8448         * tools/gst-xmlinspect.c: Fix for API changes.
8449         * gst/gstelementfactory.c:
8450         * gst/gstplugin.c:
8451         * gst/gstplugin.h:
8452         * gst/gstpluginfeature.c:
8453         * gst/gstpluginfeature.h:
8454         * gst/gstregistry.c:
8455         * gst/gstregistry.h:
8456         * gst/gstregistryxml.c:
8457         * gst/gsttypefind.c:
8458         * gst/gsttypefindfactory.c:
8459         * gst/indexers/gstfileindex.c:
8460         * gst/indexers/gstmemindex.c:
8461         * gst/schedulers/Makefile.am:
8462           Change registry to keep track of both plugins and features,
8463           removing the feature tracking from plugins themselves.
8464
8465 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8466
8467         * check/Makefile.am:
8468         * tools/gst-register.1.in:
8469           remove gst-register
8470
8471 2005-09-15  David Schleef  <ds@schleef.org>
8472
8473         * check/gst/gstplugin.c:
8474         * gst/gstelementfactory.c:
8475         * gst/gstplugin.c:
8476         * gst/gstpluginfeature.c:
8477         * gst/gstregistry.c:
8478           Getting tired of debugging.  Disabled all the unreffing of
8479           plugins and features, which fixes the segfaults, but of
8480           course leaks like crazy.  At least playbin works.
8481
8482 2005-09-15  David Schleef  <ds@schleef.org>
8483
8484         * check/gst/gstplugin.c: (register_check_elements),
8485         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
8486         More testing
8487         * gst/elements/gsttypefindelement.c: Fix refcounting.
8488         * gst/gsttypefind.c:
8489         * gst/gsttypefindfactory.c:
8490         * gst/gsttypefindfactory.h:
8491
8492 2005-09-15  David Schleef  <ds@schleef.org>
8493
8494         * gst/gstindex.c: get refcounting correct.
8495         * gst/gstregistry.c: Handle the case where a feature/plugin is
8496           not found.
8497
8498 2005-09-15  David Schleef  <ds@schleef.org>
8499
8500         * check/Makefile.am:
8501         * check/gst/gstplugin.c: Add test
8502         * gst/gstplugin.c: Fix problems noticed by testsuite
8503         * gst/gstplugin.h:
8504         * gst/gstregistry.c: 
8505         * gst/gstregistry.h:
8506
8507 2005-09-15  David Schleef  <ds@schleef.org>
8508
8509         * gst/gstplugin.c: Implement semi-decent recounting and locking
8510           in plugins and plugin features.
8511         * gst/gstplugin.h:
8512         * gst/gstpluginfeature.c:
8513         * gst/gstpluginfeature.h:
8514         * gst/gstregistry.c:
8515
8516 2005-09-15  Michael Smith <msmith@fluendo.com>
8517
8518         * gst/gstregistry.c: (gst_registry_get_feature_list):
8519           Implement this. Makes oggdemux work; decodebin still broken.
8520
8521 2005-09-14  David Schleef  <ds@schleef.org>
8522
8523         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
8524           #316076)
8525         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
8526         * gst/check/Makefile.am:
8527         * libs/gst/controller/Makefile.am:
8528         * libs/gst/dataprotocol/Makefile.am:
8529
8530 2005-09-14  David Schleef  <ds@schleef.org>
8531
8532         * configure.ac: Remove getbits library.  Nothing uses it, and
8533           it should be in something like liboil if someone did want
8534           to use it.
8535         * libs/gst/Makefile.am:
8536         * libs/gst/getbits/Makefile.am:
8537         * libs/gst/getbits/gbtest.c:
8538         * libs/gst/getbits/getbits.c:
8539         * libs/gst/getbits/getbits.h:
8540         * libs/gst/getbits/gstgetbits_generic.c:
8541         * libs/gst/getbits/gstgetbits_i386.s:
8542         * libs/gst/getbits/gstgetbits_inl.h:
8543
8544 2005-09-14  David Schleef  <ds@schleef.org>
8545
8546         * gst/Makefile.am: Dist glib-compat.h
8547
8548 2005-09-14  David Schleef  <ds@schleef.org>
8549
8550         * configure.ac: Remove gst/registries, since it's no longer used.
8551         * gst/registries/Makefile.am:
8552         * gst/registries/gstlibxmlregistry.c:
8553         * gst/registries/gstlibxmlregistry.h:
8554         * gst/registries/gstxmlregistry.c:
8555         * gst/registries/gstxmlregistry.h:
8556         * gst/registries/registrytest.c:
8557
8558 2005-09-14  David Schleef  <ds@schleef.org>
8559
8560         * gst/glib-compat.h:
8561         * gst/gstregistryxml.c:
8562           Convergence is near.  Seriously.
8563
8564 2005-09-14  David Schleef  <ds@schleef.org>
8565
8566         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8567         * gst/glib-compat.h:
8568           Attempt #4 to appease the buildbots.
8569
8570 2005-09-14  David Schleef  <ds@schleef.org>
8571
8572         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8573           Attempt #3.
8574
8575 2005-09-14  David Schleef  <ds@schleef.org>
8576
8577         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8578         Attempt #2.
8579
8580 2005-09-14  David Schleef  <ds@schleef.org>
8581
8582         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
8583           the new functions.
8584
8585 2005-09-14  David Schleef  <ds@schleef.org>
8586
8587         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8588         * gst/glib-compat.h: Add some functions that are in newer versions
8589           of glib than we care to require.
8590         * gst/gstregistryxml.c: Use them.
8591
8592 2005-09-14  David Schleef  <ds@schleef.org>
8593
8594         * po/POTFILES.in: remove gst-register.c
8595
8596 2005-09-14  David Schleef  <ds@schleef.org>
8597
8598         * docs/gst/gstreamer-docs.sgml:
8599         * docs/gst/gstreamer-sections.txt:
8600         * docs/gst/gstreamer.types:
8601         * docs/gst/tmpl/gstelement.sgml:
8602         * docs/gst/tmpl/gstplugin.sgml:
8603         * docs/gst/tmpl/gstpluginfeature.sgml:
8604           Documentation updates for registry changes.
8605
8606 2005-09-14  David Schleef  <ds@schleef.org>
8607
8608         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
8609           because we don't require glib-2.8.
8610
8611 2005-09-14  David Schleef  <ds@schleef.org>
8612
8613         * gst/gstregistryxml.c: Added.  Essentially moved out of the
8614           registries directory.
8615
8616 2005-09-14  David Schleef  <ds@schleef.org>
8617
8618         * check/Makefile.am:
8619         * check/generic/states.c:
8620         * gst/Makefile.am:
8621         * gst/gst.c:
8622         * gst/gst.h:
8623         * gst/gst_private.h:
8624         * gst/gstelementfactory.c:
8625         * gst/gstindex.c:
8626         * gst/gstinfo.c:
8627         * gst/gstplugin.c:
8628         * gst/gstplugin.h:
8629         * gst/gstpluginfeature.c:
8630         * gst/gstpluginfeature.h:
8631         * gst/gstregistry.c:
8632         * gst/gstregistry.h:
8633         * gst/gstregistrypool.c: remove
8634         * gst/gstregistrypool.h: remove
8635         * gst/gsttypefind.c:
8636         * gst/gsttypefindfactory.c:
8637         * gst/gsturi.c:
8638         * tools/Makefile.am:
8639         * tools/gst-compprep.c:
8640         * tools/gst-inspect.c:
8641         * tools/gst-register.c: remove
8642         * tools/gst-xmlinspect.c:
8643           Registry rewrite.  Changes registry from being a file created
8644           by a tool into a simple cache file created automatically by 
8645           libgstreamer.  Removed gst-register (because it's no longer
8646           needed).  Remove registry pools, because we only have one
8647           registry implementation (XML).  Fix up other subsystems as
8648           necessary.
8649
8650 2005-09-13  Michael Smith <msmith@fluendo.com>
8651
8652         * gst/gstconfig.h.in:
8653           Don't Use windows linking attributes for MinGW. Fixes #316157
8654
8655 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8656
8657         * gst/gstutils.c: (set_state_async_thread_func),
8658         (gst_element_set_state_async):
8659           Apparently people think it's better if this function doesn't
8660           try to set the state to whatever state was asked for on the first
8661           call to this function for any object.  Seriously.
8662
8663 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8664
8665         * check/gst/gstpipeline.c: (GST_START_TEST):
8666         * docs/gst/gstreamer-sections.txt:
8667         * gst/gstutils.c: (set_state_async_thread_func),
8668         (gst_element_set_state_async):
8669         * gst/gstutils.h:
8670           add a "gst_element_set_state_async" method that
8671           sets the state and starts a thread to make sure the state
8672           change completes as best as it can
8673
8674 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8675
8676         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8677           codify design+behaviour in testsuite after discussion
8678
8679 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8680
8681         * docs/gst/tmpl/gstelement.sgml:
8682         * docs/manual/appendix-quotes.xml:
8683           add a quote
8684         * gst/gstelement.c: (gst_element_set_state):
8685           add some debug
8686
8687 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
8688
8689         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8690         (gst_base_transform_prepare_output_buf),
8691         (gst_base_transform_handle_buffer):
8692         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
8693         (gst_capsfilter_prepare_buf):
8694           Remove the requirement for sub-classes to call the parent
8695           implementation of prepare_output_buffer with a wrapper function.
8696           
8697         * gst/gsttaglist.h:
8698         * gst/gsttagsetter.h:
8699           Fix #define wrapper
8700
8701 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
8702
8703         * docs/gst/gstreamer-sections.txt:
8704           more doc cleanups
8705
8706 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8707
8708         * docs/gst/gstreamer-sections.txt:
8709         * docs/gst/tmpl/gstelement.sgml:
8710         * docs/gst/tmpl/gstplugin.sgml:
8711         * gst/gstminiobject.c:
8712         * gst/gstvalue.h:
8713           docs now stop throwing warnings
8714
8715 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8716
8717         * docs/gst/gstreamer-sections.txt:
8718         * docs/gst/gstreamer.types:
8719         * docs/gst/tmpl/gstpad.sgml:
8720         * docs/gst/tmpl/gsttypes.sgml:
8721         * gst/base/gstadapter.h:
8722         * gst/base/gstbasesink.h:
8723         * gst/base/gstbasesrc.h:
8724         * gst/gstbin.h:
8725         * gst/gstbuffer.h:
8726         * gst/gstbus.h:
8727         * gst/gstcaps.h:
8728         * gst/gstclock.h:
8729         * gst/gstelement.h:
8730         * gst/gstevent.h:
8731         * gst/gstmessage.h:
8732         * gst/gstpad.h:
8733         * gst/gststructure.c:
8734         * gst/registries/gstlibxmlregistry.h:
8735           various documentation fixes
8736
8737 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8738
8739         * docs/gst/gstreamer-sections.txt:
8740         * docs/gst/tmpl/gstvalue.sgml:
8741           rearrange gstvalue section
8742         * gst/gstutils.c: (gst_element_state_get_name):
8743           NONE -> VOID
8744         * gst/gstvalue.c: (_gst_value_initialize):
8745         * gst/gstvalue.h:
8746           doc updates
8747
8748 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
8749
8750         * check/gst-libs/controller.c:
8751           Header include fix.
8752         * gst/base/gstbasetransform.c:
8753         (gst_base_transform_default_prepare_buf),
8754         (gst_base_transform_handle_buffer):
8755         * gst/base/gstbasetransform.h:
8756           Some more basetransform changes and fixes to enable sub-classes
8757           that modify buffer metadata only.
8758         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8759         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
8760         (gst_capsfilter_prepare_buf):
8761           If the output pad has fixed allowed caps and input buffers 
8762           don't have any, set the fixed caps on outgoing buffers.
8763
8764 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
8765         * check/elements/identity.c: (GST_START_TEST):
8766           Make the error a little clearer when the test fails because
8767           identity made a copy of the buffer.
8768         * docs/gst/gstreamer-sections.txt:
8769           New symbols in gstbasetransform.h
8770         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8771         (gst_base_transform_init), (gst_base_transform_transform_size),
8772         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8773         (gst_base_transform_default_prepare_buf),
8774         (gst_base_transform_get_unit_size),
8775         (gst_base_transform_buffer_alloc),
8776         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8777         (gst_base_transform_change_state),
8778         (gst_base_transform_set_passthrough),
8779         (gst_base_transform_set_in_place),
8780         (gst_base_transform_is_in_place):
8781         * gst/base/gstbasetransform.h:
8782           Change BaseTransform to separate in_place operate from same_caps
8783           output. in_place implies that the element can perform the transform
8784           on incoming buffers in-place, even if the caps on the output are
8785           different.
8786           Sub-class elements can now implement special buffer allocation
8787           methods for outgoing buffers if they wish to.
8788           Big documentation addition.
8789         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
8790         * gst/elements/gstelements.c:
8791           Changes for basetransform modifications.
8792         * gst/elements/Makefile.am:
8793         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
8794           Compile fix. Extra debug output.
8795
8796 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8797
8798         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
8799         (gst_pad_suite):
8800           add tests for valid pad naming
8801         * gst/check/gstcheck.c: (gst_check_log_message_func),
8802         (gst_check_log_critical_func):
8803           add ASSERT_WARNING
8804           remove printing of code, it is fragile when the code contains
8805           % and the line number is enough info
8806         * gst/check/gstcheck.h:
8807         * gst/gstpad.c: (gst_pad_template_new):
8808           fix memleaks
8809
8810 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8811
8812         * configure.ac:
8813           say what CHECK flags we use
8814         * docs/libs/gstreamer-libs.types:
8815         * libs/gst/controller/Makefile.am:
8816         * libs/gst/controller/gst-controller.c:
8817         * libs/gst/controller/gst-controller.h:
8818         * libs/gst/controller/gst-helper.c:
8819         * libs/gst/controller/gst-interpolation.c:
8820         * libs/gst/controller/gstcontroller.c:
8821         * libs/gst/controller/gsthelper.c:
8822         * libs/gst/controller/gstinterpolation.c:
8823         * tools/gst-inspect.c: (print_plugin_info):
8824           we don't use dashes in header names
8825
8826 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8827
8828         * check/Makefile.am:
8829         * check/gst/.cvsignore:
8830         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
8831         (gst_pipeline_suite), (main):
8832           adding a test for pipelines and state changes
8833         * gst/gstutils.c: (get_state_func):
8834           add some debugging
8835         * gstreamer.spec.in:
8836           fix up spec file
8837
8838 2005-09-08  Michael Smith <msmith@fluendo.com>
8839
8840         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
8841         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
8842         (gst_file_src_is_seekable), (gst_file_src_get_size),
8843         (gst_file_src_start):
8844         * gst/elements/gstfilesrc.h:
8845           Various fixes for unseekable, unmmapable, and non-normal files, so
8846           that fallback to read() rather than mmap() works.
8847         * gst/gstevent.c: (gst_event_new_newsegment):
8848           Allow newsegment events with segment_start == segment_end, as will
8849           correctly happen if you use filesrc on a zero-size file, for
8850           example.
8851
8852 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8853
8854         * gst/gstplugin.c: (gst_plugin_load_file):
8855           Call g_module_close when we don't load the module
8856
8857         * gst/registries/gstlibxmlregistry.c:
8858         (gst_xml_registry_get_property):
8859           Port leak fix from 0.8
8860
8861 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8862
8863         * docs/gst/gstreamer-docs.sgml:
8864         * docs/gst/tmpl/.cvsignore:
8865         * docs/gst/tmpl/gsttrace.sgml:
8866         * docs/gst/tmpl/gsttrashstack.sgml:
8867         * gst/Makefile.am:
8868         * gst/gst.h:
8869         * gst/gstelement.h:
8870         * gst/gstevent.h:
8871         * gst/gstmessage.c:
8872         * gst/gstmessage.h:
8873         * gst/gsttag.c:
8874         * gst/gsttag.h:
8875         * gst/gsttaginterface.c:
8876         * gst/gsttaginterface.h:
8877         * gst/gsttaglist.c:
8878         * gst/gsttaglist.h:
8879         * gst/gsttagsetter.c:
8880         * gst/gsttagsetter.h:
8881         * gst/gsttrace.c:
8882         * gst/gsttrace.h:
8883         * gst/gsttrashstack.c:
8884           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
8885           inlined docs for gsttrace, gsttrashstack
8886
8887 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8888
8889         * gst/Makefile.am:
8890         * gst/elements/gstbufferstore.h:
8891         * gst/elements/gsttypefindelement.c:
8892         * gst/elements/gsttypefindelement.h:
8893         * gst/gst.h:
8894         * gst/gsttypefind.c:
8895         * gst/gsttypefind.h:
8896         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
8897         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
8898         (gst_type_find_factory_dispose),
8899         (gst_type_find_factory_unload_thyself),
8900         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
8901         (gst_type_find_factory_get_caps),
8902         (gst_type_find_factory_get_extensions),
8903         (gst_type_find_factory_call_function):
8904         * gst/gsttypefindfactory.h:
8905         * gst/registries/gstlibxmlregistry.c:
8906         * gst/registries/gstxmlregistry.c:
8907           splitted gsttypefind into gsttypefind, gsttypefindfactory
8908
8909 2005-09-07  Andy Wingo  <wingo@pobox.com>
8910
8911         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
8912         condition whereby the pad's task function is entered before the
8913         pad_mode variable was set.
8914
8915 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8916
8917         * gst/gstpad.c: (gst_pad_alloc_buffer):
8918           Catch misbehaving pad_alloc functions that don't
8919           set up caps and do it for them.
8920
8921 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8922
8923         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8924           test for pipe!=NULL
8925         * docs/gst/tmpl/.cvsignore:
8926         * docs/gst/tmpl/gstmemchunk.sgml:
8927         * docs/gst/tmpl/gstparse.sgml:
8928         * docs/gst/tmpl/gsttaglist.sgml:
8929         * docs/gst/tmpl/gsttagsetter.sgml:
8930         * docs/gst/tmpl/gsttypefind.sgml:
8931         * docs/gst/tmpl/gsttypefindfactory.sgml:
8932         * gst/gstmemchunk.c:
8933         * gst/gstparse.c:
8934         * gst/gsttag.c:
8935         * gst/gsttaginterface.c:
8936         * gst/gsttypefind.c:
8937         * gst/gsttypefind.h:
8938           inlined more docs
8939
8940 === release 0.9.2 ===
8941
8942 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8943
8944         * NEWS:
8945         * RELEASE:
8946         * configure.ac:
8947           releasing 0.9.2, "South"
8948
8949 2005-09-05  Andy Wingo  <wingo@pobox.com>
8950
8951         * gst/registries/gstxmlregistry.h:
8952         * gst/registries/gstxmlregistry.c: Um... resurrect...
8953         
8954         * gst/registries/gstxmlregistry.h:
8955         * gst/registries/gstxmlregistry.c: and update to newer API.
8956         Incidentally they should be a bit faster now that they don't have
8957         to parse the caps.
8958         
8959 2005-09-05  Andy Wingo  <wingo@pobox.com>
8960
8961         * gst/registries/gstxmlregistry.h:
8962         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
8963         replaced by the libxml registry a while back
8964
8965 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8966
8967         * docs/gst/tmpl/gstplugin.sgml:
8968         * gst/elements/gstelements.c:
8969         * gst/gst.c:
8970         * gst/gstplugin.c: (gst_plugin_register_func),
8971         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8972         (gst_plugin_get_source):
8973         * gst/gstplugin.h:
8974         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8975         (gst_xml_registry_save_plugin):
8976         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8977         (gst_xml_registry_save_plugin):
8978         * tools/gst-inspect.c: (print_plugin_info):
8979           add a "source" plugin description field, to represent the source
8980           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8981           will set it to PACKAGE, which is automake's idea of the name of
8982           the source project.
8983
8984 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8985
8986         * Makefile.am:
8987         * autogen.sh:
8988         * configure.ac:
8989         * docs/Makefile.am:
8990         * docs/faq/Makefile.am:
8991         * docs/gst/tmpl/gstelement.sgml:
8992         * docs/gst/tmpl/gsttypes.sgml:
8993         * docs/htmlinstall.mak:
8994         * docs/manual/Makefile.am:
8995         * docs/pwg/Makefile.am:
8996           reorganize doc build a little
8997           split out docbook and gtk-doc stuff
8998           have two separate --enable's and enable them through autogen
8999           but disable by default in configure (to be similar to other
9000           projects)
9001         * gstreamer.spec.in:
9002           clean up docs install
9003         * po/af.po:
9004         * po/az.po:
9005         * po/ca.po:
9006         * po/cs.po:
9007         * po/de.po:
9008         * po/en_GB.po:
9009         * po/fr.po:
9010         * po/it.po:
9011         * po/nb.po:
9012         * po/nl.po:
9013         * po/ru.po:
9014         * po/sq.po:
9015         * po/sr.po:
9016         * po/sv.po:
9017         * po/tr.po:
9018         * po/uk.po:
9019         * po/vi.po:
9020           translation updates
9021
9022 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
9023
9024         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
9025           Add comment.
9026           
9027         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9028         (gst_fake_sink_change_state):
9029           Make state change function thread-safe.
9030           
9031         * gst/gstpad.c: (gst_pad_alloc_buffer):
9032           Set offset on generic buffer allocated by fallback.
9033
9034 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
9035
9036         * docs/gst/gstreamer-sections.txt:
9037         * docs/gst/tmpl/gstelement.sgml:
9038         * gst/gstpad.c:
9039         * libs/gst/controller/gst-controller.c:
9040         (gst_controlled_property_set_interpolation_mode),
9041         (gst_controlled_property_new),
9042         (gst_controller_find_controlled_property):
9043          run the wingo-magic script against the docs
9044
9045 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9046
9047         * docs/gst/gstreamer-docs.sgml:
9048         * docs/gst/gstreamer-sections.txt:
9049         * docs/gst/tmpl/.cvsignore:
9050         * docs/gst/tmpl/gstelementdetails.sgml:
9051         * docs/gst/tmpl/gstelementfactory.sgml:
9052         * gst/gst.c:
9053         * gst/gstbus.c:
9054         * gst/gstelementfactory.c:
9055         * gst/gstelementfactory.h:
9056           merged elementdetails docs into elementfactory docs
9057           inlined both
9058
9059 2005-09-02  Andy Wingo  <wingo@pobox.com>
9060
9061         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
9062         consider this enum an enum and not a flags.
9063
9064 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9065
9066         * docs/gst/gstreamer-docs.sgml:
9067         * docs/gst/tmpl/.cvsignore:
9068         * docs/gst/tmpl/gstghostpad.sgml:
9069         * docs/gst/tmpl/gstiterator.sgml:
9070         * docs/gst/tmpl/gstmacros.sgml:
9071         * docs/gst/tmpl/gstrealpad.sgml:
9072         * docs/gst/tmpl/gstregistry.sgml:
9073         * docs/gst/tmpl/gstregistrypool.sgml:
9074         * docs/gst/tmpl/gststructure.sgml:
9075         * docs/gst/tmpl/gstsystemclock.sgml:
9076         * docs/gst/tmpl/gsttrace.sgml:
9077         * gst/gstghostpad.c:
9078         * gst/gstmacros.h:
9079         * gst/gstmemchunk.c:
9080         * gst/gstmemchunk.h:
9081         * gst/gstqueue.c:
9082         * gst/gstregistry.c:
9083         * gst/gstregistrypool.c:
9084         * gst/gststructure.c:
9085         * gst/gstsystemclock.c:
9086           more docs inlined
9087
9088 2005-09-02  Andy Wingo  <wingo@pobox.com>
9089
9090         * gst/gstelement.h (GstState): Renamed from GstElementState,
9091         changed to be a normal enum instead of flags.
9092         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
9093         munged to be GST_STATE_CHANGE_*.
9094         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
9095         work with the new state representation.
9096         (GstStateChange): New enumeration of possible state transitions.
9097         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
9098         (GstElementClass::change_state): Pass the GstStateChange along as
9099         an argument. Helps language bindings, so they don't have to use
9100         tricky lock-needing macros like GST_STATE_CHANGE ().
9101
9102         * scripts/update-states (file): New script. Run it on a file to
9103         update it for state naming and API changes. Updates files in
9104         place.
9105
9106         * All files updated for the new API.
9107
9108 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9109
9110         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
9111         * gst/gstutils.c: (gst_util_set_value_from_string),
9112         (gst_util_set_object_arg):
9113           fix a bunch of unchecked return values
9114         * tools/gst-complete.c: (main):
9115         * gstreamer.spec.in:
9116           clean up a little
9117
9118 2005-09-01  Wim Taymans  <wim@fluendo.com>
9119
9120         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9121         (gst_base_sink_event), (gst_base_sink_do_sync),
9122         (gst_base_sink_handle_event):
9123         * gst/base/gstbasesink.h:
9124         Handle newsegments more correctly.
9125
9126         * gst/gstbus.c:
9127         Fix docs.
9128
9129         * gst/gstevent.c: (gst_event_new_newsegment):
9130         A newsegment cannot have a start_time of -1
9131
9132 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
9133
9134         * win32/gstenumtypes.c:
9135         * win32/gstenumtypes.h:
9136           Update
9137
9138 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9139
9140         * libs/gst/controller/gst-controller.c:
9141         (gst_controlled_property_set_interpolation_mode),
9142         (gst_controlled_property_new):
9143          fixed boolean again
9144
9145 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
9146
9147         * docs/faq/gst-uninstalled:
9148           add -good
9149         * gst/gstevent.c:
9150         * gst/gstevent.h:
9151           remove wrong docs
9152         * gst/gstutils.c: (gst_element_link_filtered):
9153         * gst/gstutils.h:
9154           add gst_element_link_filtered
9155
9156 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9157
9158         * docs/gst/gstreamer-docs.sgml:
9159         * docs/gst/gstreamer-sections.txt:
9160         * docs/gst/tmpl/.cvsignore:
9161         * docs/gst/tmpl/gsterror.sgml:
9162         * docs/gst/tmpl/gstfilter.sgml:
9163         * docs/gst/tmpl/gsturihandler.sgml:
9164         * docs/gst/tmpl/gsturitype.sgml:
9165         * docs/gst/tmpl/gstutils.sgml:
9166         * docs/gst/tmpl/gstxml.sgml:
9167         * gst/gsterror.c:
9168         * gst/gsterror.h:
9169         * gst/gstfilter.c:
9170         * gst/gsturi.c:
9171         * gst/gsturitype.c:
9172         * gst/gstutils.c:
9173         * gst/gstxml.c:
9174           inlined more docs, fixed double id-ref
9175
9176 2005-08-31  Wim Taymans  <wim@fluendo.com>
9177
9178         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9179         (gst_base_transform_handle_buffer):
9180         Passthrough elements don't need the caps as they don't care.
9181
9182 2005-08-31  Wim Taymans  <wim@fluendo.com>
9183
9184         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9185         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
9186         Don't leak refcounts on buffers.
9187
9188 2005-08-31  Wim Taymans  <wim@fluendo.com>
9189
9190         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
9191         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
9192         (gst_base_transform_chain), (gst_base_transform_change_state):
9193         * gst/base/gstbasetransform.h:
9194         Handle the case where we are not negotiated more gracefully.
9195
9196 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
9197
9198         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
9199         (gst_file_src_map_region):
9200           Set READONLY flag on mmap'ed buffers, otherwise
9201           gst_buffer_make_writable() won't work properly (#314708).
9202
9203 2005-08-31  Wim Taymans  <wim@fluendo.com>
9204
9205         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
9206         passthrough elements can even do inplace on non writable
9207         buffers (as they don't touch them).
9208
9209 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9210
9211         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9212         (gst_test_mono_source_set_property),
9213         (gst_test_mono_source_class_init), (GST_START_TEST),
9214         (gst_controller_suite):
9215           more tests (hehe I have the most)
9216         * gst/gstbus.c:
9217           describe popping messages whenusing mulltiple sources
9218         * libs/gst/controller/gst-controller.c:
9219         (gst_controlled_property_set_interpolation_mode),
9220         (gst_controlled_property_new):
9221         * libs/gst/controller/gst-controller.h:
9222         * libs/gst/controller/gst-interpolation.c:
9223           implement boolean properties
9224
9225 2005-08-31  Wim Taymans  <wim@fluendo.com>
9226
9227         * gst/gstminiobject.c: (gst_mini_object_ref):
9228         Cannot assert that the refcount has to be positive
9229         since a disposed object can be resurrected.
9230
9231 2005-08-31  Wim Taymans  <wim@fluendo.com>
9232
9233         * gst/gstpad.c: (gst_pad_init):
9234         Revert change, need to first fix badly behaving 
9235         apps.
9236
9237 2005-08-30  Wim Taymans  <wim@fluendo.com>
9238
9239         * check/elements/fakesrc.c: (setup_fakesrc):
9240         * check/elements/identity.c: (setup_identity):
9241         Activate pads before using them.
9242
9243 2005-08-30  Wim Taymans  <wim@fluendo.com>
9244
9245         * gst/base/gstadapter.c: (gst_adapter_flush):
9246         Flushing out 0 bytes is ok for this function.
9247
9248         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9249         no newsegment gives a warning and sets the start/stop to 
9250         invalid.
9251
9252         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
9253         (gst_base_transform_set_passthrough):
9254         Some debug info.
9255
9256         * gst/gstminiobject.c: (gst_mini_object_ref):
9257         Check refcount here too.
9258
9259         * gst/gstpad.c: (gst_pad_init):
9260         Pads are initially flushing and refusing data.
9261
9262         * gst/gstutils.c: (gst_element_link_pads_filtered):
9263         When adding a capsfilter element make sure it has the
9264         same state as the parent bin.
9265
9266 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9267
9268         * docs/gst/tmpl/.cvsignore:
9269         * docs/gst/tmpl/gstformat.sgml:
9270         * docs/gst/tmpl/gstversion.sgml:
9271         * gst/gstbus.h:
9272         * gst/gstformat.c:
9273         * gst/gstformat.h:
9274         * gst/gstversion.h.in:
9275           more docs and two more inlined
9276
9277 2005-08-30  Wim Taymans  <wim@fluendo.com>
9278
9279         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
9280         Don't sync to clock.
9281
9282 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9283
9284         * docs/gst/gstreamer-sections.txt:
9285           ultral33t func10ns deserve to appear in the docs actually
9286         * docs/gst/tmpl/.cvsignore:
9287         * docs/gst/tmpl/gstcompat.sgml:
9288         * docs/gst/tmpl/gstconfig.sgml:
9289         * gst/check/gstcheck.c:
9290         * gst/gstcompat.h:
9291         * gst/gstconfig.h.in:
9292           inlined more docs
9293
9294 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9295
9296         * docs/gst/tmpl/.cvsignore:
9297         * docs/gst/tmpl/gstquery.sgml:
9298         * docs/gst/tmpl/gstutils.sgml:
9299         * gst/gstquery.c:
9300         * gst/gstquery.h:
9301           inlined and extended docs
9302
9303 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9304
9305         * check/gst-libs/controller.c: (GST_START_TEST),
9306         (gst_controller_suite):
9307           more tests
9308         * docs/gst/tmpl/gstutils.sgml:
9309         * docs/libs/gstreamer-libs-sections.txt:
9310         * docs/libs/tmpl/gstdataprotocol.sgml:
9311           include path fixes
9312         * examples/controller/audio-example.c: (main):
9313           controller example works now
9314         * gst/gstclock.h:
9315           doc fixes
9316         * tools/gst-inspect.c: (print_element_properties_info):
9317           show param spec flags
9318
9319 2005-08-29  Andy Wingo  <wingo@pobox.com>
9320
9321         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
9322
9323 2005-08-28  Andy Wingo  <wingo@pobox.com>
9324
9325         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
9326         as having two arguments instead of just one. Allows superclasses
9327         to access information on subclasses -- see the terrible for() loop
9328         in gtype.c:g_type_create_instance for the reason why. All callers
9329         changed.
9330
9331 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9332
9333         * docs/design/part-messages.txt:
9334           update info
9335         * docs/gst/tmpl/.cvsignore:
9336         * docs/gst/tmpl/gstcaps.sgml:
9337         * docs/gst/tmpl/gstclock.sgml:
9338         * gst/gstbus.c:
9339         * gst/gstcaps.c:
9340         * gst/gstcaps.h:
9341         * gst/gstclock.c:
9342         * gst/gstclock.h:
9343         * gst/gstmessage.c:
9344           added descriptions for bus and message
9345           inline caps and clock docs
9346
9347 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9348
9349         * gst/gstmessage.c:
9350         * gst/gstmessage.h:
9351           doc fixes
9352
9353 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9354
9355         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9356           fix div-by-zero
9357
9358 2005-08-26  Andy Wingo  <wingo@pobox.com>
9359
9360         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
9361         element_set_state's return val.
9362         (test_2_elements): Add test that's been disabled for months.
9363
9364         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
9365         can-activate-pull properties.
9366
9367         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
9368         can-activate-pull properties. Implement is_seekable so fakesrc can
9369         operate in pull mode.
9370
9371         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
9372         properties.
9373         (gst_base_sink_activate, gst_base_sink_activate_pull)
9374         (gst_base_sink_activate_push): Make activation mode choosing work.
9375         Cleanups.
9376         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
9377         is right. Make pull mode work. Post an eos before pausing in pull
9378         mode.
9379         (gst_base_sink_change_state): Pay attention to the core's
9380         change_state() return val.
9381         
9382         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
9383         has-getrange properties. Cleanups.
9384         
9385         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
9386         has_getrange and replace with can_activate_pull and
9387         can_activate_push.
9388
9389         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
9390         locking comments. Remove has_loop, has_chain and replace with
9391         can_activate_pull and can_activate_push.
9392
9393 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
9394
9395         * configure.ac:
9396         * examples/Makefile.am:
9397         * examples/metadata/Makefile.am:
9398         * examples/metadata/read-metadata.c: (message_loop),
9399         (have_pad_handler), (make_pipeline), (print_tag), (main):
9400           Add metadata reading example that loops over a list of filenames,
9401           dumping any tags found.
9402
9403         * gst/gstbus.c: (gst_bus_dispose):
9404         * gst/gstelement.c: (gst_element_dispose):
9405           Release a few potentially-held references in dispose.
9406
9407 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9408
9409         * docs/gst/tmpl/gstminiobject.sgml:
9410           do *not* add tmpl/*.sgml files to CVS!
9411
9412 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9413
9414         * libs/gst/bytestream/.cvsignore:
9415         * libs/gst/bytestream/Makefile.am:
9416         * libs/gst/bytestream/adapter.c:
9417         * libs/gst/bytestream/adapter.h:
9418         * libs/gst/bytestream/bytestream.c:
9419         * libs/gst/bytestream/bytestream.h:
9420         * libs/gst/bytestream/filepad.c:
9421         * libs/gst/bytestream/filepad.h:
9422           removing obsolete files
9423
9424 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9425
9426         * docs/gst/gstreamer-docs.sgml:
9427         * docs/libs/gstreamer-libs-docs.sgml:
9428           disabed additional index entries again, as this makes docs-gen just
9429           slow and they aren't useful yet
9430         * docs/libs/gstreamer-libs-sections.txt:
9431           little -section.txt cleanup for libs
9432
9433 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9434
9435         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9436         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
9437           fix up some debugging
9438         (gst_base_transform_get_unit_size),
9439         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9440         (gst_base_transform_handle_buffer):
9441         * gst/base/gstbasetransform.h:
9442           handle and store timed NEWSEGMENT events so that subclasses that
9443           calculate time by counting samples have a segment_start time they
9444           need to add to their timestamps - see audioresample
9445
9446 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9447
9448         * gst/gstbin.h:
9449           removed ';' from the end of macro defs
9450         * docs/gst/gstreamer-docs.sgml:
9451         * docs/gst/gstreamer-sections.txt:
9452         * docs/gst/tmpl/.cvsignore:
9453         * gst/gstbus.h:
9454         * gst/gstelement.c: (gst_element_class_init),
9455         (gst_element_set_state), (activate_pads),
9456         (gst_element_save_thyself):
9457         * gst/gstevent.c: (gst_event_new_newsegment):
9458         * gst/gstevent.h:
9459         * gst/gstiterator.c:
9460         * gst/gstiterator.h:
9461         * gst/gstpad.c:
9462         * gst/gstprobe.h:
9463         * gst/gstutils.c: (gst_pad_query_convert):
9464         * gst/gstutils.h:
9465           fixed parameter name mismatches between source, header and docs
9466           added some more docs, resolved the last batch of unused elements in
9467           docs (now someone needs to doc them)
9468
9469 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9470
9471         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
9472         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
9473           don't walk through the plugins backwards.  Where is all this
9474           reversed logic coming from ?
9475
9476 2005-08-25  Wim Taymans  <wim@fluendo.com>
9477
9478         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9479         (gst_base_transform_transform_size),
9480         (gst_base_transform_configure_caps),
9481         (gst_base_transform_get_unit_size),
9482         (gst_base_transform_buffer_alloc),
9483         (gst_base_transform_change_state):
9484         * gst/base/gstbasetransform.h:
9485         Cache caps unit_size.
9486         Make sure we cannot negotiate up and downstream at the
9487         same time.
9488
9489 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9490
9491         * gst/gst.c: (init_pre), (init_post):
9492           register the installed plugin path after the env var
9493         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
9494         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
9495           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
9496           directories, so the tests can prefer uninstalled over installed
9497
9498 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9499
9500         * gst/base/gstbasetransform.h:
9501           comment
9502         * gst/gstpad.c:
9503           add to docs
9504
9505 2005-08-25  Wim Taymans  <wim@fluendo.com>
9506
9507         * gst/gstbin.c: (bin_bus_handler):
9508         Be a bit more conservative about the posted message.
9509         
9510         * gst/gstbus.c: (gst_bus_post):
9511         Some cleanups, warn wrong return values.
9512
9513 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
9514
9515         * check/gst/gstbin.c: (GST_START_TEST):
9516         * gst/gstbin.c: (bin_bus_handler):
9517         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9518         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9519         (gst_message_new_warning), (gst_message_new_tag),
9520         (gst_message_new_state_changed), (gst_message_new_segment_start),
9521         (gst_message_new_segment_done), (gst_message_new_custom):
9522         * gst/gstmessage.h:
9523         * tools/gst-launch.c: (event_loop):
9524         * tools/gst-md5sum.c: (event_loop):
9525           Revert unpopular change for GST_MESSAGE_SRC to GObject.
9526
9527 2005-08-25  Wim Taymans  <wim@fluendo.com>
9528
9529         * check/generic/states.c: (GST_START_TEST):
9530         Cleanup can be done at the end.
9531
9532         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
9533         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9534         (gst_task_get_state), (gst_task_start), (gst_task_pause):
9535         Oh boy.. Thanks for finding this, Thomas. 
9536
9537 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9538
9539         * docs/gst/gstreamer.types:
9540           added missing types
9541
9542 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9543
9544         * docs/gst/gstreamer-docs.sgml:
9545         * docs/gst/gstreamer-sections.txt:
9546         * docs/gst/tmpl/.cvsignore:
9547         * gst/gstbin.c:
9548         * gst/gstiterator.c:
9549         * gst/gstutils.c:
9550         * gst/registries/gstxmlregistry.h:
9551           added missing classes and symbols (123 more to go)
9552           removed removed symbols from section file
9553           fixed many doc-comments
9554
9555 2005-08-24  Wim Taymans  <wim@fluendo.com>
9556
9557         * check/generic/states.c: (GST_START_TEST):
9558         Make sure all tasks are stopped.
9559
9560         * check/gst/gstbin.c: (GST_START_TEST):
9561         Unref after usage for proper valgrinding.
9562
9563         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
9564         Really wait for the task to stop before destroying the
9565         mutex.
9566
9567         * gst/gstqueue.c: (gst_queue_sink_activate_push),
9568         (gst_queue_src_activate_push):
9569         Small cleanups. Don't stop the task when we did not start
9570         it.
9571
9572         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
9573         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9574         (gst_task_get_state), (gst_task_start), (gst_task_pause),
9575         (gst_task_join):
9576         * gst/gsttask.h:
9577         Protect the stream lock with the object lock.
9578         Disallow setting the stream lock when running.
9579         Add cleanup_all to wait for the threadpool to finish.
9580         Remove code to autoallocate a mutex if none was provided.
9581         Add _join() to wait for a task to stop.
9582         Protect the thread pool with a global lock.
9583
9584 2005-08-24  Wim Taymans  <wim@fluendo.com>
9585
9586         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9587         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9588         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
9589         * gst/base/gstbasesink.h:
9590         Handle newsegment events correctly.
9591         Drop buffers out of the segment range.
9592
9593 2005-08-22  Andy Wingo  <wingo@pobox.com>
9594
9595         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
9596         macro, implements an interface and gstimplementsinterface for a
9597         new type.
9598
9599 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9600
9601         * check/Makefile.am:
9602         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
9603           add a test that does a bunch of state changes on elements
9604           needs some fixing for valgrind
9605         * check/states/sinks.c: (gst_object_suite):
9606           whitespace
9607         * gst/gstcaps.h:
9608           add prototype for gst_caps_is_equal_fixed
9609         * gst/gstplugin.c:
9610         * gst/gstregistrypool.c:
9611           doc fixes
9612
9613 2005-08-24  Andy Wingo  <wingo@pobox.com>
9614
9615         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
9616         convert a negative value. Doesn't make much sense. Mostly this is
9617         here to force callers to ensure -1 maps to -1.
9618
9619 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9620
9621         * docs/pwg/advanced-types.xml:
9622           Well done to Michael for catching my deliberate introduction
9623           of this spelling mistake. 
9624         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
9625         * gst/gstelement.h:
9626           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
9627           unlink pads before removing the element from the bin.
9628
9629 2005-08-24  Andy Wingo  <wingo@pobox.com>
9630
9631         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
9632         the same thing as GST_DEBUG=*:4.
9633         (parse_debug_level, parse_debug_category): New helper parsers.
9634
9635 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9636
9637         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9638         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
9639         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
9640         (gst_base_transform_buffer_alloc),
9641         (gst_base_transform_handle_buffer):
9642           use gboolean return values and pointers to size so we can use the
9643           full GST_BUFFER_SIZE range (guint) for buffer sizes
9644           use GstPadDirection for transform_caps
9645         * gst/base/gstbasetransform.h:
9646           rename get_size to get_unit_size since that's what it is
9647         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
9648           use GstPadDirection for transform_caps
9649         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9650         * gst/gstutils.h:
9651           cleanup and debugging
9652
9653 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9654
9655         * gst/gstelement.c: (gst_element_class_init),
9656         (gst_element_set_state), (activate_pads),
9657         (gst_element_save_thyself):
9658         * tools/gst-compprep.c: (main):
9659         * tools/gst-inspect.c: (print_element_properties_info):
9660         * tools/gst-xmlinspect.c: (print_element_properties):
9661           Fixed long standing mem-leak
9662
9663 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9664
9665         * check/gst/gstbin.c: (GST_START_TEST):
9666         * gst/gstbin.c: (bin_bus_handler):
9667         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9668         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9669         (gst_message_new_warning), (gst_message_new_tag),
9670         (gst_message_new_state_changed), (gst_message_new_segment_start),
9671         (gst_message_new_segment_done), (gst_message_new_custom):
9672         * gst/gstmessage.h:
9673         * tools/gst-launch.c: (event_loop):
9674         * tools/gst-md5sum.c: (event_loop):
9675           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
9676           that applications can sensibly post custom messages with references
9677           to their own objects.
9678
9679 2005-08-24  Andy Wingo  <wingo@pobox.com>
9680
9681         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
9682         already.
9683
9684 2005-08-24  Wim Taymans  <wim@fluendo.com>
9685
9686         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9687         (gst_base_transform_transform_caps),
9688         (gst_base_transform_transform_size),
9689         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9690         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9691         (gst_base_transform_handle_buffer):
9692         * gst/base/gstbasetransform.h:
9693         Many fixes and new features added by Thomas. Can now also do
9694         transforms with variable sizes and a custom fixate_caps function.
9695
9696 2005-08-24  Wim Taymans  <wim@fluendo.com>
9697
9698         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9699         Some debugging.
9700
9701         * gst/gstclock.h:
9702         Cast to ClockTime before formatting to time.
9703
9704         * gst/gstutils.h:
9705         Cleanups.
9706
9707 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9708
9709         * check/gst-libs/controller.c: (GST_START_TEST),
9710         (gst_controller_suite):
9711         * docs/gst/tmpl/gstcaps.sgml:
9712         * docs/gst/tmpl/gstghostpad.sgml:
9713         * docs/gst/tmpl/gstquery.sgml:
9714         * docs/gst/tmpl/gstutils.sgml:
9715         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
9716         (gst_object_sink_values), (gst_object_get_value_arrays),
9717         (gst_object_get_value_array):
9718           gracefully handle helper method calls to objects that are not beeing
9719           controlled, added test case for that          
9720
9721 2005-08-23  Wim Taymans  <wim@fluendo.com>
9722
9723         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
9724         (gst_event_new_newsegment), (gst_event_parse_newsegment),
9725         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
9726         (gst_event_parse_qos), (gst_event_new_seek),
9727         (gst_event_parse_seek):
9728         * gst/gstevent.h:
9729         Some more debugging output and doc cleanups.
9730
9731         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9732         Fix possible deadlock.
9733
9734 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9735
9736         * docs/gst/gstreamer-docs.sgml:
9737         * docs/gst/gstreamer-sections.txt:
9738         * docs/gst/gstreamer.types:
9739         * docs/gst/tmpl/.cvsignore:
9740         * gst/gstbin.h:
9741         * gst/gstbus.c:
9742         * gst/gstelement.c:
9743         * gst/gstevent.h:
9744           added 100 symbols from gstreamer-unused.txt to the right sections
9745           fixed more broken comments
9746           added GstBus to docs
9747
9748 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9749
9750         * docs/gst/gstreamer-sections.txt:
9751         * docs/gst/tmpl/.cvsignore:
9752         * docs/gst/tmpl/gstbin.sgml:
9753         * docs/gst/tmpl/gstbuffer.sgml:
9754         * gst/base/gstbasesrc.c:
9755         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
9756         * gst/gstbuffer.c:
9757         * gst/gstbuffer.h:
9758         * tools/gst-launch.1.in:
9759           inlined more doc comments, added missing comments and fixed comments
9760           fixed typos
9761
9762 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9763
9764         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9765           some debugging
9766         * gst/gstcaps.h:
9767           whitespace fixes
9768         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
9769           more debugging
9770         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
9771         * gst/gststructure.h:
9772           add a fixate function for booleans; add a FIXME that these func
9773           names should probably be gst_structure_fixate_*
9774
9775 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9776
9777         * docs/gst/gstreamer-docs.sgml:
9778         * docs/gst/gstreamer-sections.txt:
9779         * gst/Makefile.am:
9780         * gst/gstbin.c: (gst_bin_get_type),
9781         (gst_bin_child_proxy_get_child_by_index),
9782         (gst_bin_child_proxy_get_children_count),
9783         (gst_bin_child_proxy_init):
9784         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9785         (gst_child_proxy_get_child_by_index),
9786         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
9787         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
9788         (gst_child_proxy_get), (gst_child_proxy_set_property),
9789         (gst_child_proxy_set_valist), (gst_child_proxy_set),
9790         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
9791         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
9792         * gst/gstchildproxy.h:
9793         * gst/parse/grammar.y:
9794         * tools/gst-inspect.c: (print_interfaces),
9795         (print_element_properties_info), (print_element_info):
9796           ported gstchildproxy over from 0.8
9797           ported gst-inspect fixes and enhancements over from 0.8
9798
9799 2005-08-22  Wim Taymans  <wim@fluendo.com>
9800
9801         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9802         (gst_base_transform_handle_buffer):
9803         Also call the transform function if we have ANY caps.
9804
9805         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
9806         Fix debug info.
9807
9808 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9809
9810         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
9811           Don't pretend to handle seek events if the source is not seekable
9812
9813 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9814
9815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9816           Remove extra parameter to debug output
9817
9818         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9819         (gst_base_src_do_seek), (gst_base_src_activate_push):
9820           Fix seek event handling.
9821
9822         * gst/gstpipeline.c: (gst_pipeline_change_state):
9823         * gst/gstqueue.c: (gst_queue_handle_sink_event),
9824         (gst_queue_src_activate_push):
9825           Don't start the src pad task on FLUSH_STOP if the pad
9826           isn't linked.
9827           Debug changes.
9828
9829 2005-08-22  Wim Taymans  <wim@fluendo.com>
9830
9831         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9832         Added check for gst_static_caps_get() refcounting.
9833
9834 2005-08-22  Wim Taymans  <wim@fluendo.com>
9835
9836         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
9837         Make _static_caps_get() refcounting sane.
9838         
9839         * gst/gstelement.c: (gst_element_set_state):
9840         Add g_return_val_if_fail() to protect against segfaults.
9841
9842 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
9843
9844         * docs/gst/tmpl/gstevent.sgml:
9845         * gst/gstevent.c:
9846         * gst/gstevent.h:
9847           inlined remaining docs, added missing doc comments
9848
9849 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9850
9851         * check/gst/gstbin.c: (GST_START_TEST):
9852           since we don't know when preroll is done, use refcount range
9853           check for the sink
9854         * gst/check/gstcheck.h:
9855           add macro for checking refcount range
9856
9857 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9858
9859         * check/Makefile.am:
9860           clean up environment for when registry gets built versus
9861           when actual tests are run; valgrind seems to not report
9862           leaks if GST_PLUGIN_PATH is set to some specific values
9863         * check/gst/gstbin.c: (GST_START_TEST):
9864           add more refcounting checks; maybe this exposes a
9865           preroll lock bug ?
9866         * common/check.mak:
9867         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9868         * gst/check/gstcheck.h:
9869         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
9870         (gst_bin_change_state):
9871         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
9872           add/fix debugging/whitespace
9873
9874 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9875
9876         * check/gst/gstevent.c: (event_probe), (test_event),
9877         (GST_START_TEST):
9878          Er, don't call gst_bin_watch_for_state_change you idiot.
9879
9880 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9881
9882         * check/Makefile.am:
9883           Use CHECK_CFLAGS and CHECK_LIBS
9884         * check/gst/gstevent.c: (event_probe), (test_event),
9885         (GST_START_TEST):
9886           Don't leak events.
9887         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9888         (gst_base_src_start), (gst_base_src_stop),
9889         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9890         (gst_base_src_change_state):
9891           Sprinkle gst_base_src_stop liberally around error paths to fix
9892           problems reusing a source after failed state changes.
9893         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9894         (helper_find_suggest), (gst_type_find_helper):
9895           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
9896         * gst/gstevent.h:
9897         * docs/gst/tmpl/gstevent.sgml:
9898           Migrate part of the docs from the SGML file. Wait for ensonic to
9899           tell me how I did it wrong ;)
9900         * tools/gst-typefind.c: (main):
9901           Extra robustness to state changes between files.
9902
9903 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9904
9905         * check/Makefile.am:
9906           don't valgrind the controller test - it's leaking - Stefan, HELP
9907         * gst/check/gstcheck.c: (gst_check_message_error),
9908         (gst_check_chain_func), (gst_check_setup_element),
9909         (gst_check_teardown_element), (gst_check_setup_src_pad),
9910         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9911         (gst_check_teardown_sink_pad):
9912         * gst/check/gstcheck.h:
9913           add a bunch of methods to set up elements, and src and sink pads
9914         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
9915         * check/elements/identity.c: (setup_identity), (cleanup_identity),
9916         (GST_START_TEST):
9917           use them
9918         * gst/gstmessage.c:
9919         * gst/gsttag.h:
9920           whitespace/doc fixes
9921
9922 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9923
9924         * gst/gstelement.h:
9925           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
9926           be handled by the application and not always printed as well
9927
9928 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9929
9930         * check/Makefile.am:
9931           set GST_TOOLS_DIR
9932         * gst/check/gstcheck.c: (gst_check_message_error):
9933         * gst/check/gstcheck.h:
9934           add a fail_unless_equals_int
9935           add fail_unless for error messages
9936
9937 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9938
9939         * check/Makefile.am:
9940         * check/gst.supp:
9941         * common/Makefile.am:
9942         * common/check.mak:
9943         * common/gst.supp:
9944           factor out some of the common stuff so we can use it
9945
9946 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9947
9948         * check/Makefile.am:
9949         * check/gst/gstiterator.c: (GST_START_TEST):
9950         * check/gst/gstsystemclock.c: (GST_START_TEST),
9951         (gst_systemclock_suite):
9952         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9953         * gst/gstclock.c:
9954           valgrind more tests
9955
9956 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9957
9958         * check/elements/.cvsignore:
9959         * check/elements/gstfakesrc.c:
9960           rename to name of element
9961         * check/elements/identity.c: (chain_func), (event_func),
9962         (setup_identity), (cleanup_identity), (GST_START_TEST),
9963         (identity_suite), (main):
9964           add a test for identity
9965         * check/Makefile.am:
9966         * pkgconfig/Makefile.am:
9967         * pkgconfig/gstreamer-check.pc.in:
9968         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9969         * gst/check:
9970         * gst/Makefile.am:
9971         * configure.ac:
9972           move the check stuff to a library that gets installed
9973         * check/gst-libs/controller.c: (GST_START_TEST):
9974         * check/gst-libs/gdp.c:
9975         * check/gst/gst.c: (GST_START_TEST):
9976         * check/gst/gstbin.c:
9977         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9978         * check/gst/gstbus.c:
9979         * check/gst/gstcaps.c: (GST_START_TEST):
9980         * check/gst/gstelement.c:
9981         * check/gst/gstghostpad.c:
9982         * check/gst/gstiterator.c:
9983         * check/gst/gstmessage.c:
9984         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9985         * check/gst/gstobject.c:
9986         * check/gst/gstpad.c: (GST_START_TEST):
9987         * check/gst/gststructure.c: (GST_START_TEST):
9988         * check/gst/gstsystemclock.c: (GST_START_TEST),
9989         (gst_systemclock_suite):
9990         * check/gst/gsttag.c: (gst_tag_suite):
9991         * check/gst/gstvalue.c:
9992         * check/pipelines/cleanup.c:
9993         * check/pipelines/simple_launch_lines.c:
9994         * check/states/sinks.c:
9995           change include statement
9996
9997         * docs/gst/gstreamer-sections.txt:
9998         * docs/gst/tmpl/gstpad.sgml:
9999           document more pad stuff
10000         * gst/gstminiobject.c: (gst_mini_object_ref),
10001         (gst_mini_object_unref):
10002           debug refcounting
10003
10004 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
10005
10006         * docs/gst/tmpl/gst.sgml:
10007         * gst/gst.c:
10008           eliminate another tmpl file, fix spelling in the long-description
10009
10010 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10011
10012         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10013         (test_event), (timediff), (gstevents_suite):
10014           Should fix build on 64-bit arch's
10015
10016 2005-08-18  Andy Wingo  <wingo@pobox.com>
10017
10018         Make sure that when a pipeline goes to PLAYING, that data has
10019         actually hit the sink.
10020
10021         * check/states/sinks.c (test_sink): A sink that doesn't get any
10022         data shouldn't return SUCCESS for going to either PLAYING or
10023         PAUSED. Test also the return values on the way back down.
10024
10025         * gst/gstelement.c (gst_element_set_state): When changing the
10026         state of an element currently changing state asynchronously, go to
10027         lost-state after commiting the pending state. Makes future calls
10028         to get_state continue to return ASYNC.
10029
10030         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
10031         ASYNC when going to PLAYING if we still don't have preroll, as can
10032         happen with live sources.
10033
10034 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10035
10036         * docs/pwg/advanced-types.xml:
10037           Hack long paragraph into 2 chunks as a workaround for buggy
10038           jadetex version in sid and breezy that loops infinitely and
10039           eats all RAM.
10040
10041 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10042
10043         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10044         (test_event), (timediff), (gstevents_suite):
10045           Provide more error margin in clock measurements to allow for 
10046           g_get_current_time inaccuracies.
10047
10048 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10049
10050         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10051         (test_event), (timediff), (gstevents_suite):
10052            Fix error message output so I might be able to tell why the
10053            test works here but fails on the build farm.
10054
10055 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10056
10057         * check/Makefile.am:
10058         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10059         (test_event), (timediff), (gstevents_suite), (main):
10060           I wrote a test!
10061
10062         * docs/design/part-seeking.txt:
10063           Spelling correction
10064
10065         * docs/gst/tmpl/gstevent.sgml:
10066         * docs/gst/tmpl/gstfakesrc.sgml:
10067           Docs updates.
10068
10069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10070           Treat a buffer-without-newsegment the same as a receiving 
10071           a newsegment not in time format, and disable syncing to the clock
10072           with a warning.
10073
10074         * gst/gstbus.c: (gst_bus_set_sync_handler):
10075           Assert if anyone tries to replace the existing sync_handler for bus, 
10076           as only the owner should be setting it.
10077
10078         * gst/gstevent.h:
10079           Have a fixed set of custom event enums with events identified by
10080           their structure name (as in 0.8), rather than a free-for-all
10081           allowing collisions between enum values from different plugins.
10082
10083         * gst/gstpad.c: (gst_pad_class_init):
10084           Docs change.
10085           
10086         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10087           Handle out-of-band downstream events from the sending thread.
10088
10089 2005-08-17  Andy Wingo  <wingo@pobox.com>
10090
10091         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
10092         play-timeout==0 to mean no timeout at all. In that case, don't
10093         bother with a get_state or a warning, just return directly, even
10094         if it's ASYNC.
10095
10096         * gst/base/gstbasetransform.c: Debug changes.
10097
10098         * gst/gstutils.h:
10099         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
10100         ensure bins post state change messages. A bit of a hack but I can't
10101         think of a way to avoid it.
10102
10103         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
10104
10105 2005-08-16  Andy Wingo  <wingo@pobox.com>
10106
10107         * gst/base/gstadapter.h:
10108         * gst/base/gstadapter.c (gst_adapter_take): New function, like
10109         peek() but you own the data. Not terribly efficient atm.
10110
10111 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10112
10113         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
10114         (gst_element_found_tags):
10115         * gst/gstutils.h:
10116           Add two utility functions for tag handling.
10117
10118 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10119
10120         * docs/manual/advanced-dataaccess.xml:
10121         * docs/manual/basics-helloworld.xml:
10122           Fix docs to use _bin_add() before _link(), which fixes the examples
10123           with recent core versions (reported by Madhan Raj M
10124           <raj_madan@rediffmail.com>, #313199).
10125
10126 2005-08-16  Wim Taymans  <wim@fluendo.com>
10127
10128         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10129         Added subtract checks.
10130
10131         * docs/design/part-events.txt:
10132         Some more docs about newsegment
10133
10134         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10135         Fix FIXME
10136
10137         * gst/gstcaps.c: (gst_caps_to_string):
10138         Add comments, cleanups.
10139         
10140         * gst/gstelement.c: (gst_element_save_thyself):
10141         cleanups
10142         
10143         * gst/gstvalue.c: (gst_value_collect_int_range),
10144         (gst_string_unwrap), (gst_value_union_int_int_range),
10145         (gst_value_union_int_range_int_range),
10146         (gst_value_intersect_int_int_range),
10147         (gst_value_intersect_int_range_int_range),
10148         (gst_value_intersect_double_double_range),
10149         (gst_value_intersect_double_range_double_range),
10150         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
10151         (gst_value_subtract_int_range_int),
10152         (gst_value_subtract_double_range_double),
10153         (gst_value_subtract_double_range_double_range),
10154         (gst_value_subtract_from_list), (gst_value_subtract_list),
10155         (gst_value_can_compare), (gst_value_compare_fraction):
10156         Cleanups, add comments, remove unneeded asserts.
10157
10158 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10159
10160         * tools/gst-launch.c: (event_loop):
10161           don't convert NULL structures to strings
10162
10163 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
10164
10165         * docs/gst/gstreamer-sections.txt:
10166           made some defines private
10167         * docs/gst/tmpl/gstconfig.sgml:
10168         * docs/gst/tmpl/gstqueue.sgml:
10169         * docs/gst/tmpl/gsttaglist.sgml:
10170         * docs/gst/tmpl/gsttypes.sgml:
10171         * docs/gst/tmpl/gstutils.sgml:
10172         * docs/pwg/appendix-porting.xml:
10173         * gst/base/gstbasesink.h:
10174         * gst/base/gstbasesrc.c:
10175         * gst/base/gstbasesrc.h:
10176         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
10177         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
10178         * gst/gstelement.c: (gst_element_class_init):
10179         * gst/gstpad.c: (gst_pad_class_init):
10180         * gst/gstqueue.c: (gst_queue_class_init):
10181         * gst/gstxml.c: (gst_xml_class_init):
10182           documented all undocumented signal inline
10183         * libs/gst/controller/gst-controller.h:
10184           added padding
10185
10186 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10187
10188         * docs/pwg/appendix-porting.xml:
10189           Document _set_link_function -> _set_setcaps_function.
10190
10191 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10192
10193         * check/Makefile.am:
10194           add a .check target for running the check
10195         * check/gst-libs/controller.c: (GST_START_TEST):
10196           cosmetic fixups
10197         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10198           complete checks for gstbuffer; would be nice if I could get the
10199           gcov stuff to work so I can see if I actually completed gstbuffer.c
10200         * check/gstcheck.h:
10201           add ASSERT_BUFFER_REFCOUNT
10202
10203 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
10204
10205         * docs/gst/gstreamer-sections.txt:
10206         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10207         * gst/gsttag.h:
10208           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
10209           spew out a warning if a tag that is already registered
10210           is re-registered, unless it is re-registered with a 
10211           different type (#308438).
10212
10213 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
10214
10215         * docs/pwg/appendix-porting.xml:
10216         * docs/pwg/building-state.xml:
10217           Add some paragraphs about state changes in 0.9 to the PWG
10218           and the porting guide, in particular about the new meaning
10219           of GST_STATE_PAUSED and how to write state change functions
10220           with concurrent access by multiple threads in mind.
10221
10222 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
10223
10224         * docs/gst/gstreamer-docs.sgml:
10225         * docs/libs/gstreamer-libs-docs.sgml:
10226           added deprecation and since indexes
10227         * libs/gst/controller/gst-controller.c:
10228         * libs/gst/controller/gst-helper.c:
10229           added since tags
10230
10231
10232 2005-08-11  Wim Taymans  <wim@fluendo.com>
10233
10234         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
10235         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
10236         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
10237         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
10238         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
10239         (gst_ghost_pad_set_target):
10240         Actually implement (re)setting the target on a ghostpad
10241         as described in the docs.
10242
10243 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
10244
10245         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
10246           Check whether GST_DEBUG_NO_COLOR environment variable is
10247           set and disable coloured debug output if that is the case.
10248
10249 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
10250
10251         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10252         (gst_type_find_helper):
10253           The memory returned by gst_type_find_peek() needs to
10254           stay valid until the end of a typefind function, and
10255           typefind functions may keep results from different 
10256           offsets around, so we can't just unref the buffer from
10257           the previous _peek(), but have to save all buffers 
10258           returned by _peek() until typefinding is done and only
10259           free them then.
10260
10261 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
10262
10263         * docs/gst/gstreamer-sections.txt:
10264         * gst/gstutils.h:
10265           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
10266
10267 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10268
10269         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10270           Fix a pretty good memleak.
10271
10272 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10273
10274         * gst/gstiterator.h:
10275           Fix wrong include and 'make distcheck'.
10276
10277 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10278
10279         * gst/gstbin.c: (bin_bus_handler):
10280           Use gst_element_post_message() instead.
10281
10282 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10283
10284         * gst/base/gstadapter.h:
10285         * gst/base/gstbasesink.h:
10286         * gst/base/gstbasesrc.h:
10287         * gst/base/gstbasetransform.h:
10288         * gst/base/gstcollectpads.h:
10289         * gst/base/gstpushsrc.h:
10290         * gst/gstiterator.h:
10291           Add padding to our base elements' class and instance structs and
10292           to GstIterator (you will need to rebuild all plugins and apps!)
10293
10294 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10295
10296         * gst/gstbin.c: (bin_bus_handler):
10297           Make default message forwarding from child->bus to bin->bus
10298           threadsafe and make it not emit warnings if the parent has no bus.
10299
10300 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10301
10302         * gst/gstelement.c: (activate_pads):
10303           On paused->ready, set pad->caps to NULL, as is the documented
10304           behaviour in this state change. Fixes playback of series of
10305           media files when visualization is enabled in Totem.
10306
10307 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10308
10309         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10310           Allow NULL as filter-caps (which means "any").
10311
10312 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10313
10314         * docs/libs/gstreamer-libs-sections.txt:
10315         * libs/gst/controller/gst-controller.c:
10316         * libs/gst/controller/gst-controller.h:
10317         * libs/gst/controller/gst-helper.c:
10318           adding more entries to the docs and fix small doc-bugs
10319
10320 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10321
10322         * docs/gst/gstreamer-docs.sgml:
10323         * docs/gst/gstreamer-sections.txt:
10324         * docs/gst/gstreamer.types:
10325         * docs/gst/tmpl/gstbasesink.sgml:
10326         * docs/gst/tmpl/gstbasesrc.sgml:
10327         * docs/gst/tmpl/gstbasetransform.sgml:
10328         * docs/gst/tmpl/gstfakesrc.sgml:
10329         * gst/base/gstcollectpads.c:
10330         * gst/base/gstcollectpads.h:
10331         * libs/gst/controller/gst-controller.c:
10332         * libs/gst/controller/gst-controller.h:
10333         * libs/gst/controller/gst-helper.c:
10334         * libs/gst/controller/gst-interpolation.c:
10335         * libs/gst/controller/lib.c:
10336           added long/short desc for controller docs
10337           added collectpads base class docs
10338           added correct includes to base-class docs
10339
10340 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10341
10342         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10343         (gst_test_mono_source_set_property),
10344         (gst_test_mono_source_class_init), (GST_START_TEST),
10345         (gst_controller_suite):
10346         * docs/gst/gstreamer-docs.sgml:
10347         * docs/gst/gstreamer-sections.txt:
10348         * docs/gst/gstreamer.types:
10349         * docs/libs/gstreamer-libs-docs.sgml:
10350         * docs/libs/gstreamer-libs-sections.txt:
10351         * gst/base/gstadapter.c:
10352         * libs/gst/controller/gst-controller.c:
10353         (gst_controlled_property_new), (gst_controlled_property_free),
10354         (gst_controller_new_valist),
10355         (gst_controller_remove_properties_valist),
10356         (gst_controller_sink_values), (_gst_controller_finalize):
10357         * libs/gst/controller/gst-controller.h:
10358         * libs/gst/controller/gst-helper.c:
10359         (gst_object_control_properties), (gst_object_uncontrol_properties),
10360         (gst_object_get_controller), (gst_object_set_controller),
10361         (gst_object_sink_values), (gst_object_get_value_arrays),
10362         (gst_object_get_value_array):
10363           more tests (and fixes) for the controller
10364           more docs for the controller
10365           integrated companies docs for the adapter 
10366
10367 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10368
10369         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
10370         (GST_START_TEST), (fakesrc_suite):
10371           add tests for sizetype
10372
10373 2005-08-04  Andy Wingo  <wingo@pobox.com>
10374
10375         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
10376         fixes buffer_alloc proxying among other things.
10377
10378         * gst/base/gstbasetransform.c:
10379         * gst/base/gstbasetransform.h:
10380         Revert patch to gstbasetransform from 7-28 removing
10381         delay_configure.
10382
10383         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
10384         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
10385         Semantics changed, should return not the size of the output buffer
10386         but the byte size of a buffer with a given caps.
10387
10388         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
10389         debug object.
10390         (gst_base_transform_configure_caps): Don't set out_size here: (in,
10391         out) are not the pad caps until setcaps finishes.
10392         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
10393         not-in-place case as well. Deal with changing from in-place to
10394         not-in-place within calling pad_alloc_buffer. Still a bit
10395         concerned about the overhead here...
10396
10397 2005-08-03  Andy Wingo  <wingo@pobox.com>
10398
10399         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
10400         fixating is an error.
10401
10402 2005-08-04  Edward Hervey  <edward@fluendo.com>
10403
10404         * gst/base/gstadapter.h: 
10405         Added gst_adapter_get_type() to the header
10406
10407 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10408
10409         * check/Makefile.am:
10410         * check/gst-libs/controller.c:
10411         * libs/gst/controller/gst-controller.c:
10412         (gst_controller_new_valist):
10413           added check test suite for the controller
10414         * gst/base/gstpushsrc.c:
10415           fixed a doc typo
10416
10417 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10418
10419         * docs/gst/Makefile.am:
10420         * docs/gst/gstreamer-docs.sgml:
10421         * docs/gst/gstreamer-sections.txt:
10422         * docs/gst/gstreamer.types:
10423         * docs/gst/tmpl/gstfakesrc.sgml:
10424         * gst/base/README:
10425         * gst/base/gstbasesink.c:
10426         * gst/base/gstbasesink.h:
10427         * gst/base/gstbasesrc.c:
10428         * gst/base/gstbasesrc.h:
10429         * gst/base/gstbasetransform.c:
10430         * gst/base/gstpushsrc.c:
10431         * gst/base/gstpushsrc.h:
10432           add short/long description docs to base classes
10433           add pushsrc to the docs
10434           remove consolidated doc fragments
10435
10436 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10437
10438         * configure.ac:
10439         * docs/libs/Makefile.am:
10440         * docs/libs/gstreamer-libs-docs.sgml:
10441         * docs/libs/gstreamer-libs-sections.txt:
10442         * docs/libs/gstreamer-libs.types:
10443         * examples/Makefile.am:
10444         * examples/controller/.cvsignore:
10445         * examples/controller/Makefile.am:
10446         * examples/controller/audio-example.c: (main):
10447         * libs/gst/Makefile.am:
10448         * libs/gst/controller/.cvsignore:
10449         * libs/gst/controller/Makefile.am:
10450         * libs/gst/controller/gst-controller.c:
10451         (on_object_controlled_property_changed), (gst_timed_value_compare),
10452         (gst_timed_value_find),
10453         (gst_controlled_property_set_interpolation_mode),
10454         (gst_controlled_property_new), (gst_controlled_property_free),
10455         (gst_controller_find_controlled_property),
10456         (gst_controller_new_valist), (gst_controller_new),
10457         (gst_controller_remove_properties_valist),
10458         (gst_controller_remove_properties), (gst_controller_set),
10459         (gst_controller_set_from_list), (gst_controller_unset),
10460         (gst_controller_get), (gst_controller_get_all),
10461         (gst_controller_sink_values), (gst_controller_get_value_arrays),
10462         (gst_controller_get_value_array),
10463         (gst_controller_set_interpolation_mode),
10464         (_gst_controller_finalize), (_gst_controller_init),
10465         (_gst_controller_class_init), (gst_controller_get_type):
10466         * libs/gst/controller/gst-controller.h:
10467         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
10468         (g_object_uncontrol_properties), (g_object_get_controller),
10469         (g_object_set_controller), (g_object_sink_values),
10470         (g_object_get_value_arrays), (g_object_get_value_array):
10471         * libs/gst/controller/gst-interpolation.c:
10472         (gst_controlled_property_find_timed_value_node),
10473         (interpolate_none_get), (interpolate_trigger_get),
10474         (interpolate_trigger_get_value_array):
10475         * libs/gst/controller/lib.c: (gst_controller_init):
10476         * pkgconfig/Makefile.am:
10477         * pkgconfig/gstreamer-control-uninstalled.pc.in:
10478         * pkgconfig/gstreamer-control.pc.in:
10479         * testsuite/Makefile.am:
10480         * testsuite/controller/.cvsignore:
10481         * testsuite/controller/Makefile.am:
10482         * testsuite/controller/interpolator.c: (main):
10483           added controller code
10484           removed dparam pc files
10485
10486 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10487         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
10488         (gst_collectpads_stop):
10489           Broadcast the condition when shutting down, to make sure we wake all
10490           threads up. Shut down pads on finalize, for safety.
10491
10492 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10493         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10494         (gst_base_transform_handle_buffer),
10495         (gst_base_transform_change_state):
10496           Handle PAUSED->READY->PAUSED transition after negotiation
10497           occurred already.
10498         * gst/gstmessage.c: (gst_message_init):
10499           Extra piece of debug for new messages.
10500
10501 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
10502
10503         * configure.ac:
10504         * docs/gst/tmpl/gstbasesrc.sgml:
10505         * docs/gst/tmpl/gstelement.sgml:
10506         * docs/gst/tmpl/gstevent.sgml:
10507         * docs/gst/tmpl/gstfakesrc.sgml:
10508         * docs/gst/tmpl/gstformat.sgml:
10509         * docs/gst/tmpl/gstghostpad.sgml:
10510         * docs/gst/tmpl/gstpad.sgml:
10511         * docs/gst/tmpl/gstquery.sgml:
10512         * docs/gst/tmpl/gststructure.sgml:
10513         * docs/gst/tmpl/gsttaglist.sgml:
10514         * docs/gst/tmpl/gstvalue.sgml:
10515         * docs/libs/gstreamer-libs-docs.sgml:
10516         * docs/libs/gstreamer-libs-sections.txt:
10517         * docs/libs/gstreamer-libs.types:
10518         * libs/gst/Makefile.am:
10519         * libs/gst/control/.cvsignore:
10520         * libs/gst/control/Makefile.am:
10521         * libs/gst/control/control.c:
10522         * libs/gst/control/control.h:
10523         * libs/gst/control/dparam.c:
10524         * libs/gst/control/dparam.h:
10525         * libs/gst/control/dparam_smooth.c:
10526         * libs/gst/control/dparam_smooth.h:
10527         * libs/gst/control/dparamcommon.h:
10528         * libs/gst/control/dparammanager.c:
10529         * libs/gst/control/dparammanager.h:
10530         * libs/gst/control/dplinearinterp.c:
10531         * libs/gst/control/dplinearinterp.h:
10532         * libs/gst/control/unitconvert.c:
10533         * libs/gst/control/unitconvert.h:
10534         * testsuite/Makefile.am:
10535         * testsuite/dynparams/.cvsignore:
10536         * testsuite/dynparams/Makefile.am:
10537         * testsuite/dynparams/dparamstest.c:
10538         * tools/Makefile.am:
10539         * tools/gst-inspect.c: (print_element_info), (main):
10540         * tools/gst-xmlinspect.c: (print_element_info), (main):
10541           deactivate and remove dparams (libgstcontrol)
10542
10543 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10544
10545         * gst/elements/gsttypefindelement.c:
10546         (gst_type_find_element_have_type), (gst_type_find_element_init),
10547         (stop_typefinding), (gst_type_find_element_handle_event),
10548         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10549         * gst/elements/gsttypefindelement.h:
10550           Set caps on all outgoing buffers, not just the first one.
10551
10552 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10553
10554         * gst/elements/gsttypefindelement.c:
10555         (gst_type_find_element_have_type),
10556         (gst_type_find_element_check_set_buffer_caps),
10557         (gst_type_find_element_init), (stop_typefinding),
10558         (gst_type_find_element_handle_event),
10559         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10560         * gst/elements/gsttypefindelement.h:
10561           Set caps on first outgoing buffer when we've found the type.
10562
10563 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10564
10565         * docs/gst/gstreamer-docs.sgml:
10566         * docs/gst/gstreamer-sections.txt:
10567         * docs/gst/tmpl/gstscheduler.sgml:
10568         * docs/gst/tmpl/gstschedulerfactory.sgml:
10569           Remove some old cruft from docs.
10570
10571 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
10572
10573         * gst/gstpad.h:
10574           Fix inline docs for GstPadLinkReturn.
10575           
10576         * gst/gststructure.c: (gst_structure_has_name):
10577         * gst/gststructure.h:
10578         * docs/gst/gstreamer-sections.txt:
10579           New API: gst_structure_has_name().
10580
10581 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
10582
10583         * configure.ac:
10584           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
10585           and _LARGEFILE_SOURCE in config.h as required. Do not 
10586           export those flags in our .pc files any longer (#142209).
10587
10588           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
10589
10590         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
10591         (gst_file_sink_do_seek), (gst_file_sink_event),
10592         (gst_file_sink_get_current_offset), (gst_file_sink_render):
10593           Redo seek/tell calls with large file support in mind; add some
10594           debugging messages; add log message that tells us when large
10595           file support is unavailable or not enabled for some reason.
10596
10597         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
10598           Add log message that tells us when large file support 
10599           is unavailable or not enabled for some reason.
10600
10601 2005-07-29  Wim Taymans  <wim@fluendo.com>
10602
10603         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10604         Added test for removing an element with ghostpad from a bin.
10605         Fixed test as current implementation does the right thing.
10606
10607         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
10608         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
10609         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
10610         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
10611         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
10612         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10613         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10614         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10615         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
10616         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
10617         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
10618         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
10619         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10620         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
10621         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
10622         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10623         * gst/gstghostpad.h:
10624         Clean up ghostpads, remove properties for internal stuff.
10625         Make threadsafe.
10626         Fix refcounting.
10627         Prepare for switching targets, not all use cases work yet.
10628
10629 2005-07-29  Wim Taymans  <wim@fluendo.com>
10630
10631         * docs/design/part-gstghostpad.txt:
10632         Small update.
10633
10634         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10635         (gst_bin_remove_func):
10636         Unlinking pads while holding the bin LOCK is not a good
10637         idea.
10638
10639         * gst/gstpad.c: (gst_pad_class_init),
10640         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
10641         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
10642         No prob setting template after creating the pad.
10643
10644 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
10645
10646         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
10647         (gst_bus_peek), (gst_bus_source_dispatch),
10648         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
10649         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
10650           gst_bus_poll may be called from other threads. Handle
10651           this nicely by not making poll_data disappear off the
10652           stack once gst_bus_poll returns.
10653           gst_bus_peek now increments the refcount on the returned
10654           message.
10655
10656 2005-07-29  Wim Taymans  <wim@fluendo.com>
10657
10658         * docs/design/part-gstghostpad.txt:
10659         Overview of current GhostPad datastructures and use
10660         cases for changing the target.
10661
10662 2005-07-28  Wim Taymans  <wim@fluendo.com>
10663
10664         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10665         Added checks for hierarchy consistency whan adding linked
10666         elements to bins.
10667
10668         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10669         Added check to test element scheduling without bin/pipeline.
10670
10671         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10672         First add elements to bin, then link.
10673         
10674         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10675         (gst_bin_remove_func):
10676         Unlink pads from elements added/removed from bin to maintain
10677         hierarchy consistency.
10678
10679 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10680
10681         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10682         (gst_base_transform_handle_buffer):
10683         * gst/base/gstbasetransform.h:
10684           Remove broken delay_configure (fixes renegotiation of software
10685           scaling pipelines); remove some leftover printf()s.
10686
10687 2005-07-28  Wim Taymans  <wim@fluendo.com>
10688
10689         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10690         Added some more tests for wrong hierarchy
10691
10692         * docs/design/part-overview.txt:
10693         Some updates.
10694
10695         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
10696         Cleanups.
10697
10698         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
10699         (gst_element_dispose):
10700         Some more cleanups.
10701
10702         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10703         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
10704         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10705         (gst_pad_set_caps), (gst_pad_send_event):
10706         Check for correct hierarchy when linking pads. Moving to
10707         strict requirement for ghostpads when linking elements in
10708         different bins.
10709
10710         * gst/gstpad.h:
10711         Clean ups. Added WRONG_HIERARCHY return value.
10712
10713 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10714
10715         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10716           Better debug if no transform is possible.
10717
10718 2005-07-27  Wim Taymans  <wim@fluendo.com>
10719
10720         * docs/random/wtay/network-transp:
10721         Some old doc I had.
10722
10723 2005-07-27  Wim Taymans  <wim@fluendo.com>
10724
10725         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10726         (gst_dp_event_from_packet):
10727         Fix serialization of seek events.
10728
10729 2005-07-27  Wim Taymans  <wim@fluendo.com>
10730
10731         * check/gst-libs/gdp.c: (GST_START_TEST):
10732         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10733         Fix compilation and fix event serialization.
10734
10735 2005-07-27  Wim Taymans  <wim@fluendo.com>
10736
10737         * CHANGES-0.9:
10738         * docs/design/part-TODO.txt:
10739         * docs/design/part-events.txt:
10740         Some docs updates
10741
10742         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10743         (gst_base_sink_event), (gst_base_sink_do_sync),
10744         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10745         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10746         (gst_base_src_do_seek), (gst_base_src_event_handler),
10747         (gst_base_src_loop):
10748         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10749         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10750         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10751         (gst_base_transform_event), (gst_base_transform_handle_buffer),
10752         (gst_base_transform_set_passthrough),
10753         (gst_base_transform_is_passthrough):
10754         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10755         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10756         Event updates.
10757
10758         * gst/gstbuffer.h:
10759         Use faster casts.
10760
10761         * gst/gstelement.c: (gst_element_seek):
10762         * gst/gstelement.h:
10763         Update gst_element_seek.
10764
10765         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
10766         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
10767         (gst_event_new_flush_start), (gst_event_new_flush_stop),
10768         (gst_event_new_eos), (gst_event_new_newsegment),
10769         (gst_event_parse_newsegment), (gst_event_new_tag),
10770         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
10771         (gst_event_parse_qos), (gst_event_new_seek),
10772         (gst_event_parse_seek), (gst_event_new_navigation):
10773         * gst/gstevent.h:
10774         Make GstEvent use GstStructure. Add parsing code, make sure the
10775         API is sufficiently generic.
10776         Mark possible directions of events and serialization.
10777
10778         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
10779         (_gst_message_copy), (gst_message_new_segment_start),
10780         (gst_message_new_segment_done), (gst_message_new_custom),
10781         (gst_message_parse_segment_start),
10782         (gst_message_parse_segment_done):
10783         Small cleanups.
10784
10785         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10786         (gst_pad_set_caps), (gst_pad_send_event):
10787         Update for new events. 
10788         Catch events sent in wrong directions.
10789
10790         * gst/gstqueue.c: (gst_queue_link_src),
10791         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10792         (gst_queue_handle_src_query):
10793         Event updates.
10794
10795         * gst/gsttag.c:
10796         * gst/gsttag.h:
10797         Remove event code from this file.
10798
10799         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10800         (gst_dp_event_from_packet):
10801         Event updates.
10802
10803 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10804
10805         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
10806         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10807         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
10808           Make debugging actually useful.
10809
10810 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10811
10812         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
10813         (gst_pad_fixate_caps):
10814           Implement default fixation once again, so that gst_pad_fixate()
10815           actually does anything at all. This probably needs to be some
10816           sort of a last resort, and use profile-based fixation first, but
10817           since that doesn't exist yet, this is the best we have. Fixes
10818           visualization in Totem.
10819
10820 2005-07-22  Wim Taymans  <wim@fluendo.com>
10821
10822         * docs/design/part-events.txt:
10823         Small update.
10824
10825         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10826         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
10827         (gst_base_sink_activate_pull):
10828         Some more comments.
10829
10830         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
10831         (gst_fake_src_create):
10832         Fix handoff marshall.
10833
10834         * gst/elements/gstidentity.c: (gst_identity_class_init),
10835         (gst_identity_transform_ip):
10836         We're a real inplace element.
10837
10838         * gst/gstbus.c: (gst_bus_post):
10839         Added some comments.
10840
10841         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
10842         * tests/muxing/case1.c: (main):
10843         * tests/sched/dynamic-pipeline.c: (main):
10844         * tests/sched/interrupt1.c: (main):
10845         * tests/sched/interrupt2.c: (main):
10846         * tests/sched/interrupt3.c: (main):
10847         * tests/sched/runxml.c: (main):
10848         * tests/sched/sched-stress.c: (main):
10849         * tests/seeking/seeking1.c: (event_received), (main):
10850         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10851         (main):
10852         * tests/threadstate/threadstate3.c: (main):
10853         * tests/threadstate/threadstate4.c: (main):
10854         * tests/threadstate/threadstate5.c: (main):
10855         Fix the tests.
10856
10857 2005-07-21  Wim Taymans  <wim@fluendo.com>
10858
10859         * docs/design/part-seeking.txt:
10860         Some small additions.
10861
10862         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10863         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10864         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10865         * gst/base/gstbasesink.h:
10866         discont values are gint64, handle the math correctly.
10867
10868         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10869         Make the basesrc report error if the source pad is not linked.
10870
10871         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10872         (gst_queue_loop), (gst_queue_handle_src_query),
10873         (gst_queue_src_activate_push):
10874         Make queue collect data even if the srcpad is not linked.
10875         Start pushing out data as soon as it is linked.
10876
10877         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
10878         * gst/gstutils.h:
10879         Added gst_flow_get_name() to ease error reporting.
10880
10881 2005-07-20  Wim Taymans  <wim@fluendo.com>
10882
10883         * gst/gstmessage.c: (gst_message_new_segment_start),
10884         (gst_message_new_segment_done), (gst_message_parse_segment_start),
10885         (gst_message_parse_segment_done):
10886         * gst/gstmessage.h:
10887         Added a bunch of messages for advanced seeking.
10888
10889         * gst/parse/grammar.y:
10890         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
10891         (gst_dpman_state_changed):
10892         Fix some new-pad -> pad-added signals
10893
10894 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10895
10896         * docs/manual/appendix-porting.xml:
10897         * docs/pwg/appendix-porting.xml:
10898           Document new-pad/state-change signal renames and the FixedList
10899           type rename.
10900
10901 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10902
10903         * docs/manual/advanced-autoplugging.xml:
10904         * docs/manual/basics-helloworld.xml:
10905         * docs/manual/basics-pads.xml:
10906         * docs/random/ds/0.9-suggested-changes:
10907         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
10908         * gst/gstelement.h:
10909         * gst/gstevent.h:
10910         * gst/gstformat.h:
10911         * gst/gstquery.h:
10912         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10913         (gst_structure_parse_array), (gst_structure_parse_value):
10914         * gst/gstvalue.c: (gst_type_is_fixed),
10915         (gst_value_list_prepend_value), (gst_value_list_append_value),
10916         (gst_value_list_get_size), (gst_value_list_get_value),
10917         (gst_value_transform_array_string), (gst_value_serialize_array),
10918         (gst_value_deserialize_array), (gst_value_intersect_array),
10919         (gst_value_is_fixed), (_gst_value_initialize):
10920         * gst/gstvalue.h:
10921           GstElement::new-pad -> pad-added, GstElement::state-change ->
10922           state-changed, GstValueFixedList -> GstValueArray, add format and
10923           flags as their own arguments in gst_element_seek() (should improve
10924           "bindeability"), remove function generators since they don't work
10925           under a whole bunch of compilers (they were deprecated already
10926           anyway).
10927
10928 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10929
10930         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10931         (_gst_debug_register_funcptr):
10932         * gst/gstinfo.h:
10933           Fix illegal cast on some platforms (#309253).
10934
10935 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10936
10937         * gst/gstmessage.c: (gst_message_new_custom):
10938         * gst/gstmessage.h:
10939           Add _new_custom, make _new_application a macro to _new_custom.
10940
10941 2005-07-20  Wim Taymans  <wim@fluendo.com>
10942
10943         * gst/base/gstbasesrc.c: (gst_base_src_init),
10944         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10945         * gst/base/gstbasesrc.h:
10946         Add a gboolean to decide when to push out a discont.
10947
10948         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10949         (gst_queue_loop), (gst_queue_handle_src_query),
10950         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
10951         (gst_queue_set_property), (gst_queue_get_property):
10952         Some cleanups.
10953
10954         * tests/threadstate/threadstate1.c: (main):
10955         Make a thread test compile and run... very silly..
10956
10957
10958 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10959
10960         * docs/manual/appendix-porting.xml:
10961           Mention removal of libgstgconf-0.9.la and existence of gconf
10962           elements.
10963
10964 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10965
10966         * docs/pwg/advanced-clock.xml:
10967         * docs/pwg/appendix-porting.xml:
10968         * docs/pwg/intro-preface.xml:
10969         * docs/pwg/other-base.xml:
10970         * docs/pwg/other-manager.xml:
10971         * docs/pwg/other-nton.xml:
10972         * docs/pwg/other-ntoone.xml:
10973         * docs/pwg/other-oneton.xml:
10974         * docs/pwg/pwg.xml:
10975           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10976           demuxer), remove n-to-n (was never written), fix some code examples
10977           and links and update the porting section to include all this.
10978
10979 2005-07-19  Wim Taymans  <wim@fluendo.com>
10980
10981         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10982         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10983         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10984         (gst_queue_src_activate_push), (gst_queue_change_state),
10985         (gst_queue_get_property):
10986         * gst/gstqueue.h:
10987         Propagate GstFlowReturn more intelligently upstream and output
10988         an ERROR/EOS when streaming stopped due to fatal error.
10989
10990 2005-07-19  Wim Taymans  <wim@fluendo.com>
10991
10992         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10993         Don't block forever for the state change to complete, the
10994         pipeline already did with a sensible timeout.
10995
10996 2005-07-19  Wim Taymans  <wim@fluendo.com>
10997
10998         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10999         Make sure we never call the create function is we
11000         got deactivated.
11001
11002 2005-07-19  Andy Wingo  <wingo@pobox.com>
11003
11004         * gst/parse/parse.l: Attempt to solve bug #172815.
11005
11006 2005-07-19  Wim Taymans  <wim@fluendo.com>
11007
11008         * docs/design/part-clocks.txt:
11009         * docs/design/part-events.txt:
11010         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
11011         Small docs updates.
11012         Only update the seeking values when we are not
11013         busy streaming.
11014
11015 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11016
11017         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11018           Oops, ignore the result of gst_pad_push_event here.
11019
11020 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11021
11022         * gst/base/gstbasesrc.c: (gst_base_src_loop),
11023         (gst_base_src_activate_push):
11024           Send discont event from the loop function, as pads
11025           aren't activated yet in the activate_push handler.
11026
11027         * gst/gstbin.c: (bin_bus_handler):
11028           Don't leak element name.
11029
11030 2005-07-18  Andy Wingo  <wingo@pobox.com>
11031
11032         * configure.ac: Use AS_LIBTOOL_TAGS.
11033
11034 2005-07-18  Wim Taymans  <wim@fluendo.com>
11035
11036         * docs/gst/gstreamer.types:
11037         Remove deleted types.
11038
11039 2005-07-18  Wim Taymans  <wim@fluendo.com>
11040
11041         * check/elements/gstfakesrc.c: (GST_START_TEST):
11042         * configure.ac:
11043         * gst/Makefile.am:
11044         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11045         (init_popt_callback):
11046         * gst/gst.h:
11047         * gst/gst_private.h:
11048         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
11049         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
11050         * gst/gstbin.h:
11051         * gst/gstbus.h:
11052         * gst/gstconfig.h.in:
11053         * gst/gstelement.c: (gst_element_class_init),
11054         (gst_element_set_base_time), (gst_element_get_base_time),
11055         (iterator_fold_with_resync), (gst_element_change_state),
11056         (gst_element_dispose), (gst_element_get_bus):
11057         * gst/gstelement.h:
11058         * gst/gstelementfactory.h:
11059         * gst/gsterror.c: (_gst_core_errors_init):
11060         * gst/gsterror.h:
11061         * gst/gstevent.h:
11062         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11063         * gst/gstindex.c:
11064         * gst/gstinfo.c: (_gst_debug_init):
11065         * gst/gstmessage.c: (_gst_message_copy):
11066         * gst/gstmessage.h:
11067         * gst/gstminiobject.h:
11068         * gst/gstobject.c:
11069         * gst/gstobject.h:
11070         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11071         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
11072         * gst/gstpad.h:
11073         * gst/gstparse.h:
11074         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11075         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11076         (gst_pipeline_get_last_stream_time):
11077         * gst/gstpipeline.h:
11078         * gst/gstpluginfeature.h:
11079         * gst/gstquery.h:
11080         * gst/gstscheduler.c:
11081         * gst/gstscheduler.h:
11082         * gst/gststructure.h:
11083         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11084         (gst_task_finalize), (gst_task_func), (gst_task_create),
11085         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
11086         (gst_task_stop), (gst_task_pause):
11087         * gst/gsttask.h:
11088         * gst/gsttypefind.h:
11089         * gst/gsttypes.h:
11090         * gst/registries/gstlibxmlregistry.c: (load_feature),
11091         (gst_xml_registry_load), (gst_xml_registry_save_feature):
11092         * gst/registries/gstxmlregistry.c:
11093         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
11094         * gst/schedulers/threadscheduler.c:
11095         * libs/gst/control/dparammanager.h:
11096         * tools/gst-inspect.c: (print_element_list),
11097         (print_plugin_features), (print_element_features):
11098         * tools/gst-xmlinspect.c: (print_element_list),
11099         (print_plugin_info), (main):
11100         Removed plugable schedulers.
11101         Removed Scheduler/Manager from elements.
11102         Removed gsttypes.h, rearranged includes.
11103         Removed dependency pad<->element, element<>pipeline, and
11104         various others,  fix includes.
11105         implement gst_pad_get_parent() with gst_object_get_parent()
11106         Make GstTask sefcontained.
11107         Fix _get_state() on GstBin, it did not return ASYNC with a 0
11108         timeout.
11109         Fix endless loop in iterator_fold_with_resync.
11110
11111
11112 2005-07-18  Wim Taymans  <wim@fluendo.com>
11113
11114         * gst/Makefile.am:
11115         * gst/gstarch.h:
11116         Remove old file.
11117
11118 2005-07-18  Wim Taymans  <wim@fluendo.com>
11119
11120         * gst/Makefile.am:
11121         No more cothreads.h
11122
11123 2005-07-18  Wim Taymans  <wim@fluendo.com>
11124
11125         * gst/cothreads.c:
11126         * gst/cothreads.h:
11127         Let's remove these.
11128
11129 2005-07-18  Wim Taymans  <wim@fluendo.com>
11130
11131         * docs/design/part-dynamic.txt:
11132         * docs/design/part-events.txt:
11133         * docs/design/part-seeking.txt:
11134         Some more docs in the works.
11135
11136         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11137         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
11138         (gst_base_transform_setcaps), (gst_base_transform_get_size),
11139         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11140         (gst_base_transform_handle_buffer),
11141         (gst_base_transform_sink_activate_push),
11142         (gst_base_transform_src_activate_pull),
11143         (gst_base_transform_set_passthrough),
11144         (gst_base_transform_is_passthrough):
11145         Refcounting fixes.
11146
11147         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
11148         Cleanups.
11149
11150         * gst/gstevent.c: (gst_event_finalize):
11151         Set SRC to NULL.
11152
11153         * gst/gstutils.c: (gst_element_unlink),
11154         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
11155         (gst_pad_proxy_setcaps):
11156         * gst/gstutils.h:
11157         Add _get_parent_element() to get a pads parent as an element.
11158
11159 2005-07-18  Wim Taymans  <wim@fluendo.com>
11160
11161         * check/gst/gstbin.c: (GST_START_TEST):
11162         Remove bogus test.
11163
11164 2005-07-18  Wim Taymans  <wim@fluendo.com>
11165
11166         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11167         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11168         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11169         (gst_base_sink_event), (gst_base_sink_do_sync),
11170         (gst_base_sink_chain), (gst_base_sink_loop),
11171         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
11172         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
11173         Refcounting fixes.
11174         Fix logic for returning ASYNC when not prerolled.
11175
11176 2005-07-18  Wim Taymans  <wim@fluendo.com>
11177
11178         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11179         Fix nasty refcount bug.
11180
11181 2005-07-16 Philippe Khalaf <burger@speedy.org>
11182
11183         * gst/elements/gstfdsrc.c:
11184         * gst/elements/gstfdsrc.h:
11185         * gst/elements/gstelements.c:
11186         * gst/elements/Makefile.am:
11187         Ported fdsrc to 0.9.
11188
11189 2005-07-16  Wim Taymans  <wim@fluendo.com>
11190
11191         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11192         (gst_base_sink_do_sync):
11193         Fix compile error.
11194
11195 2005-07-16  Wim Taymans  <wim@fluendo.com>
11196
11197         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11198         (gst_base_sink_event), (gst_base_sink_get_times),
11199         (gst_base_sink_do_sync), (gst_base_sink_change_state):
11200         * gst/base/gstbasesink.h:
11201         Store and use discont values when syncing buffers as described
11202         in design docs.
11203         
11204         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11205         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
11206         (gst_base_src_activate_push):
11207         Push discont event when starting.
11208
11209         * gst/elements/gstidentity.c: (gst_identity_transform):
11210         Small cleanups.
11211
11212         * gst/gstbin.c: (gst_bin_change_state):
11213         Small cleanups in base_time  distribution.
11214
11215         * gst/gstelement.c: (gst_element_set_base_time),
11216         (gst_element_get_base_time), (gst_element_change_state):
11217         * gst/gstelement.h:
11218         Added methods for the base_time of the element.
11219         Some MT fixes.
11220
11221         * gst/gstpipeline.c: (gst_pipeline_send_event),
11222         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11223         (gst_pipeline_get_last_stream_time):
11224         * gst/gstpipeline.h:
11225         MT fixes.
11226         Handle seeking as described in design doc, remove stream_time
11227         hack.
11228         Cleanups clock and stream_time selection code. Added accessors
11229         for the stream_time.
11230         
11231
11232 2005-07-16  Andy Wingo  <wingo@pobox.com>
11233
11234         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
11235         (#305291).
11236
11237 2005-07-16  Wim Taymans  <wim@fluendo.com>
11238
11239         * check/gst/gstbin.c: (GST_START_TEST):
11240         Make elements silent as the deep_notify refs the
11241         parent, which might make the test fail.
11242
11243         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11244         Don't hold the lock for too long.
11245
11246 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
11247
11248         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11249           Don't unref the caps we passed to gst_caps_make_writable() after
11250           passing them. gst_caps_make_writable() will do that for us.
11251
11252 2005-07-15  Andy Wingo  <wingo@pobox.com>
11253
11254         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
11255         (#157311).
11256
11257         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
11258         own marshalling function for the handoff signal. Properly type the
11259         buffer as a buffer. Fixes some warnings. Should do a more general
11260         solution.
11261         (gst_identity_class_init): Plug into the right marshaller.
11262
11263 2005-07-15  Wim Taymans  <wim@fluendo.com>
11264
11265         * docs/design/part-TODO.txt:
11266         * docs/design/part-clocks.txt:
11267         * docs/design/part-element-sink.txt:
11268         * docs/design/part-events.txt:
11269         * docs/design/part-gstpipeline.txt:
11270         Updated docs, mostly DISCONT related.
11271
11272 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
11273
11274         * docs/pwg/building-pads.xml:
11275           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
11276
11277 2005-07-15  Andy Wingo  <wingo@pobox.com>
11278
11279         * tools/gst-typefind.c: Update, add copyright block.
11280
11281         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
11282         Normalize and truncate caps before fixation.
11283
11284         * gst/gstcaps.h:
11285         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
11286         discards all but the first structure from its argument.
11287
11288 2005-07-15  Wim Taymans  <wim@fluendo.com>
11289
11290         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11291         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
11292         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11293         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11294         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
11295         (gst_base_transform_chain), (gst_base_transform_change_state),
11296         (gst_base_transform_set_passthrough),
11297         (gst_base_transform_is_passthrough):
11298         * gst/base/gstbasetransform.h:
11299         Make passthrough work using the bufferpools.
11300         Changed API a bit, subclasses have to write into a buffer
11301         provided by the base class.
11302         More debug info in nego functions.
11303         
11304         * gst/elements/gstidentity.c: (gst_identity_init),
11305         (gst_identity_transform):
11306         Port to new base class.
11307
11308 2005-07-15  Wim Taymans  <wim@fluendo.com>
11309
11310         * gst/gstmessage.c: (gst_message_new_state_changed):
11311         * tools/gst-launch.c: (event_loop), (main):
11312         Totally dump messages in -launch with the -m option.
11313         Fix message name for State messages,
11314
11315 2005-07-14  Wim Taymans  <wim@fluendo.com>
11316
11317         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11318         Post error messages on errors.
11319
11320 2005-07-14  Wim Taymans  <wim@fluendo.com>
11321
11322         * gst/gstcaps.c: (gst_caps_do_simplify):
11323         Remove debug info.
11324
11325         * gst/gsterror.h:
11326         Define error for stream stopped.
11327
11328         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11329         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
11330         Do proper return values.
11331
11332         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11333         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
11334         (gst_pad_get_range):
11335         Better return values.
11336
11337         * gst/gstpad.h:
11338         Reorganise return values, add macro to check for fatal errors.
11339
11340         * gst/gstqueue.c: (gst_queue_chain):
11341         Return proper GstFlowReturn values,
11342
11343 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11344
11345         * docs/gst/gstreamer-sections.txt:
11346         * docs/gst/gstreamer.types:
11347         * docs/gst/tmpl/gst.sgml:
11348         * docs/gst/tmpl/gstbasesink.sgml:
11349         * docs/gst/tmpl/gstbasesrc.sgml:
11350         * docs/gst/tmpl/gstbasetransform.sgml:
11351         * docs/gst/tmpl/gstbin.sgml:
11352         * docs/gst/tmpl/gstbuffer.sgml:
11353         * docs/gst/tmpl/gstcaps.sgml:
11354         * docs/gst/tmpl/gstclock.sgml:
11355         * docs/gst/tmpl/gstcompat.sgml:
11356         * docs/gst/tmpl/gstconfig.sgml:
11357         * docs/gst/tmpl/gstelement.sgml:
11358         * docs/gst/tmpl/gstelementdetails.sgml:
11359         * docs/gst/tmpl/gstelementfactory.sgml:
11360         * docs/gst/tmpl/gstenumtypes.sgml:
11361         * docs/gst/tmpl/gsterror.sgml:
11362         * docs/gst/tmpl/gstevent.sgml:
11363         * docs/gst/tmpl/gstfakesink.sgml:
11364         * docs/gst/tmpl/gstfakesrc.sgml:
11365         * docs/gst/tmpl/gstfilesink.sgml:
11366         * docs/gst/tmpl/gstfilesrc.sgml:
11367         * docs/gst/tmpl/gstfilter.sgml:
11368         * docs/gst/tmpl/gstformat.sgml:
11369         * docs/gst/tmpl/gstghostpad.sgml:
11370         * docs/gst/tmpl/gstimplementsinterface.sgml:
11371         * docs/gst/tmpl/gstindex.sgml:
11372         * docs/gst/tmpl/gstindexfactory.sgml:
11373         * docs/gst/tmpl/gstinfo.sgml:
11374         * docs/gst/tmpl/gstiterator.sgml:
11375         * docs/gst/tmpl/gstmacros.sgml:
11376         * docs/gst/tmpl/gstmemchunk.sgml:
11377         * docs/gst/tmpl/gstminiobject.sgml:
11378         * docs/gst/tmpl/gstobject.sgml:
11379         * docs/gst/tmpl/gstpad.sgml:
11380         * docs/gst/tmpl/gstpadtemplate.sgml:
11381         * docs/gst/tmpl/gstparse.sgml:
11382         * docs/gst/tmpl/gstpipeline.sgml:
11383         * docs/gst/tmpl/gstplugin.sgml:
11384         * docs/gst/tmpl/gstpluginfeature.sgml:
11385         * docs/gst/tmpl/gstquery.sgml:
11386         * docs/gst/tmpl/gstqueue.sgml:
11387         * docs/gst/tmpl/gstregistry.sgml:
11388         * docs/gst/tmpl/gstregistrypool.sgml:
11389         * docs/gst/tmpl/gstscheduler.sgml:
11390         * docs/gst/tmpl/gstschedulerfactory.sgml:
11391         * docs/gst/tmpl/gststructure.sgml:
11392         * docs/gst/tmpl/gstsystemclock.sgml:
11393         * docs/gst/tmpl/gsttaglist.sgml:
11394         * docs/gst/tmpl/gsttagsetter.sgml:
11395         * docs/gst/tmpl/gsttrace.sgml:
11396         * docs/gst/tmpl/gsttrashstack.sgml:
11397         * docs/gst/tmpl/gsttypefind.sgml:
11398         * docs/gst/tmpl/gsttypefindfactory.sgml:
11399         * docs/gst/tmpl/gsttypes.sgml:
11400         * docs/gst/tmpl/gsturihandler.sgml:
11401         * docs/gst/tmpl/gsturitype.sgml:
11402         * docs/gst/tmpl/gstutils.sgml:
11403         * docs/gst/tmpl/gstvalue.sgml:
11404         * docs/gst/tmpl/gstversion.sgml:
11405         * docs/gst/tmpl/gstxml.sgml:
11406         * docs/libs/tmpl/gstcontrol.sgml:
11407         * docs/libs/tmpl/gstdataprotocol.sgml:
11408         * docs/libs/tmpl/gstdparam.sgml:
11409         * docs/libs/tmpl/gstdplinint.sgml:
11410         * docs/libs/tmpl/gstdpman.sgml:
11411         * docs/libs/tmpl/gstdpsmooth.sgml:
11412         * docs/libs/tmpl/gstgetbits.sgml:
11413         * docs/libs/tmpl/gstunitconvert.sgml:
11414         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
11415         (gst_push_src_base_init), (gst_push_src_class_init),
11416         (gst_push_src_init), (gst_push_src_create):
11417         * gst/base/gstpushsrc.h:
11418         * gst/elements/gstelements.c:
11419         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
11420         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
11421         (gst_fake_sink_init), (gst_fake_sink_set_property),
11422         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
11423         (gst_fake_sink_event), (gst_fake_sink_preroll),
11424         (gst_fake_sink_render), (gst_fake_sink_change_state):
11425         * gst/elements/gstfakesink.h:
11426         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11427         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11428         (gst_fake_src_base_init), (gst_fake_src_class_init),
11429         (gst_fake_src_init), (gst_fake_src_event_handler),
11430         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
11431         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
11432         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
11433         (gst_fake_src_create_buffer), (gst_fake_src_create),
11434         (gst_fake_src_start), (gst_fake_src_stop):
11435         * gst/elements/gstfakesrc.h:
11436         * gst/elements/gstfilesink.c: (_do_init),
11437         (gst_file_sink_base_init), (gst_file_sink_class_init),
11438         (gst_file_sink_init), (gst_file_sink_dispose),
11439         (gst_file_sink_set_location), (gst_file_sink_set_property),
11440         (gst_file_sink_get_property), (gst_file_sink_open_file),
11441         (gst_file_sink_close_file), (gst_file_sink_query),
11442         (gst_file_sink_event), (gst_file_sink_render),
11443         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
11444         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
11445         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
11446         * gst/elements/gstfilesink.h:
11447         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
11448         (gst_file_src_class_init), (gst_file_src_init),
11449         (gst_file_src_finalize), (gst_file_src_set_location),
11450         (gst_file_src_set_property), (gst_file_src_get_property),
11451         (gst_file_src_map_region), (gst_file_src_map_small_region),
11452         (gst_file_src_create_mmap), (gst_file_src_create_read),
11453         (gst_file_src_create), (gst_file_src_is_seekable),
11454         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
11455         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
11456         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
11457         (gst_file_src_uri_handler_init):
11458         * gst/elements/gstfilesrc.h:
11459           more autistic cleanliness in functions/names/defines
11460
11461 2005-07-13  Andy Wingo  <wingo@pobox.com>
11462
11463         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
11464         source couldn't negotiate.
11465
11466         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
11467         connections again.
11468
11469         * gst/gstutils.h:
11470         * gst/gstutils.c (gst_element_link_pads_filtered): New old
11471         function. I am channeling Hades. Put your boots on suckers!!!
11472
11473 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11474
11475         * testsuite/caps/Makefile.am:
11476         * testsuite/caps/value_compare.c:
11477         * testsuite/caps/value_intersect.c:
11478         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11479           move two testsuite apps over to the check dir
11480
11481 2005-07-12  Wim Taymans  <wim@fluendo.com>
11482
11483         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11484         Added more debug info in the negotiate process.
11485
11486         * gst/gstmessage.h:
11487         Prepare for segment playback.
11488
11489         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
11490         Better debugging.
11491
11492         * gst/gstutils.c:
11493         Some more docs.
11494
11495         * tools/gst-launch.c: (main):
11496         NULL pipeline on errors.
11497
11498 2005-07-12  Andy Wingo  <wingo@pobox.com>
11499
11500         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
11501         not it comes from a malloc region. Make sure our copy gets freed.
11502
11503 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11504
11505         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11506         * check/gst/gstmessage.c: (GST_START_TEST):
11507         * check/gst/gststructure.c: (GST_START_TEST),
11508         (gst_structure_suite), (main):
11509           more testing
11510         * gst/gstelement.c: (gst_element_message_full):
11511           clean up GError and debug string now that they get copied
11512         * gst/gstmessage.c: (gst_message_new_error),
11513         (gst_message_new_warning), (gst_message_parse_error),
11514         (gst_message_parse_warning):
11515           use GST_TYPE_G_ERROR for structure_new, and take copies of
11516           arguments, so that we don't mess up refcounting
11517
11518 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11519
11520         * check/Makefile.am:
11521           add per-test valgrind targets
11522         * check/gst-libs/gdp.c: (GST_START_TEST),
11523         (gst_data_protocol_suite), (main):
11524           clean up
11525
11526 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11527
11528         * check/Makefile.am:
11529           instate more valgrindable tests
11530         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11531         (GST_START_TEST), (fakesrc_suite):
11532         * check/gst/gstpad.c: (GST_START_TEST):
11533         * check/gst/gststructure.c: (GST_START_TEST):
11534           fix test leaks
11535         * docs/gst/tmpl/gstminiobject.sgml:
11536         * gst/gstpad.c: (gst_pad_finalize):
11537           fix the static mutex leak
11538
11539 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11540
11541         * check/Makefile.am:
11542           add two more tests for valgrinding
11543         * check/gst/gstvalue.c: (GST_START_TEST):
11544           test refcount of deserialized buffer, found a leak
11545         * docs/gst/gstreamer-docs.sgml:
11546         * docs/gst/gstreamer-sections.txt:
11547         * docs/gst/gstreamer.types:
11548         * docs/gst/tmpl/gstminiobject.sgml:
11549           add miniobject to docs
11550         * gst/gstminiobject.c:
11551           add some docs
11552         * gst/gstvalue.c: (gst_value_deserialize_buffer),
11553         (gst_string_unwrap):
11554           fix a hard-to-find invalid write for one of the tests
11555           fix a leak for deserialized buffers
11556
11557 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11558
11559         * docs/pwg/advanced-events.xml:
11560         * docs/pwg/advanced-request.xml:
11561         * docs/pwg/advanced-scheduling.xml:
11562         * docs/pwg/appendix-porting.xml:
11563         * docs/pwg/building-boiler.xml:
11564         * docs/pwg/intro-preface.xml:
11565         * docs/pwg/other-ntoone.xml:
11566           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
11567           of example code and explanation for pad activation, loop() and
11568           getrange() functions and a bit more. Remove old comments pointing
11569           to loop-functions.
11570         * examples/pwg/Makefile.am:
11571           Add loop/getrange examples.
11572
11573 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11574
11575         * configure.ac:
11576           check for valgrind binary + some fixes
11577         * check/gst.supp:
11578           valgrind suppressions for the tests
11579         * check/Makefile.am:
11580           add a valgrind: target that valgrinds the unit tests
11581         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
11582         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11583         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11584         * check/gst/gstghostpad.c:
11585           added some cleanup
11586         * check/gst/gstdata.c:
11587           removed
11588         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
11589         (thread_unref), (gst_mini_object_suite), (main):
11590           added
11591         * gst/gst.c: (gst_deinit):
11592         * gst/gst.h:
11593           add a method to clean up.
11594         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11595         (gst_system_clock_obtain):
11596           allow for disposing the system clock.
11597         * tools/gst-launch.c: (main):
11598           deinit
11599
11600 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11601
11602         * docs/gst/tmpl/gstbasesrc.sgml:
11603         * docs/gst/tmpl/gstfakesrc.sgml:
11604         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11605         (gst_base_src_init), (gst_base_src_set_property),
11606         (gst_base_src_get_property), (gst_base_src_get_range),
11607         (gst_base_src_start):
11608         * gst/base/gstbasesrc.h:
11609           add num-buffers property
11610         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11611         (gst_fakesrc_init), (gst_fakesrc_set_property),
11612         (gst_fakesrc_get_property), (gst_fakesrc_create),
11613         (gst_fakesrc_start):
11614           remove num-buffers property
11615
11616 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11617
11618         * docs/gst/gstreamer-sections.txt:
11619         * docs/gst/tmpl/gstbasesink.sgml:
11620         * docs/gst/tmpl/gstbasesrc.sgml:
11621         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11622         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11623         (gst_base_sink_finalize), (gst_base_sink_set_clock),
11624         (gst_base_sink_set_property), (gst_base_sink_get_property),
11625         (gst_base_sink_handle_object), (gst_base_sink_event),
11626         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11627         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
11628         (gst_base_sink_loop), (gst_base_sink_deactivate),
11629         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
11630         (gst_base_sink_change_state):
11631         * gst/base/gstbasesink.h:
11632         * gst/base/gstbasesrc.h:
11633         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
11634         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11635         (gst_filesink_init):
11636           more macro splitting
11637
11638 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11639
11640         * gst/gstelement.c: (gst_element_get_bus):
11641           add debug
11642         * tools/gst-launch.c: (check_intr), (event_loop):
11643           fix bus leaks
11644
11645 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11646
11647         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11648           fix a caps leak
11649
11650 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11651
11652         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11653         (gst_base_src_finalize):
11654           add finalize method and clean up properly
11655         * gst/gstpipeline.c: (gst_pipeline_dispose):
11656           add debug
11657
11658 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11659
11660         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
11661         (gst_bin_suite):
11662           add more things to check
11663         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11664         * gst/gstelement.c:
11665           more debug
11666
11667 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11668
11669         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11670         (GST_START_TEST), (fakesrc_suite):
11671         * check/gst-libs/gdp.c: (GST_START_TEST):
11672         * check/gst/gst.c: (GST_START_TEST):
11673         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11674         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11675         * check/gst/gstbus.c: (GST_START_TEST):
11676         * check/gst/gstcaps.c: (GST_START_TEST):
11677         * check/gst/gstdata.c: (GST_START_TEST):
11678         * check/gst/gstelement.c: (GST_START_TEST):
11679         * check/gst/gstghostpad.c: (GST_START_TEST):
11680         * check/gst/gstiterator.c: (GST_START_TEST):
11681         * check/gst/gstmessage.c: (GST_START_TEST):
11682         * check/gst/gstobject.c: (GST_START_TEST):
11683         * check/gst/gstpad.c: (GST_START_TEST):
11684         * check/gst/gststructure.c: (GST_START_TEST):
11685         * check/gst/gstsystemclock.c: (GST_START_TEST),
11686         (gst_systemclock_suite):
11687         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11688         * check/gst/gstvalue.c: (GST_START_TEST):
11689         * check/pipelines/cleanup.c: (GST_START_TEST):
11690         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11691         * check/states/sinks.c: (GST_START_TEST):
11692         * check/gstcheck.c: (gst_check_init):
11693         * check/gstcheck.h:
11694           add debugging category
11695           use GST_START_TEST now, so we add a debug line
11696
11697 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11698
11699         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
11700           add test for state change message on a bin
11701         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
11702           add another test
11703         * gst/gstbin.c: (gst_bin_init):
11704         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
11705         * gst/gstelement.c: (gst_element_post_message),
11706         (gst_element_set_state):
11707         * gst/gstelementfactory.c: (gst_element_factory_create):
11708         * gst/gstmessage.c: (gst_message_new):
11709         * gst/gstscheduler.c:
11710           various debugging additions and cleanups
11711
11712 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11713
11714         * check/Makefile.am:
11715         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
11716         (main):
11717           adding tests for elements
11718         * gst/gstelement.c: (gst_element_dispose):
11719
11720 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11721
11722         * gst/registries/gstlibxmlregistry.c: (load_feature):
11723           plug more leaks.  A simple gst_init() now is leakfree, yay.
11724
11725 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11726
11727         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
11728         (gst_xml_registry_load):
11729           plug another memleak
11730
11731 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11732
11733         * configure.ac:
11734           use GST_SET_ERROR_CFLAGS
11735         * docs/faq/cvs.xml:
11736           change to ERROR_CFLAGS
11737
11738 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11739
11740         * configure.ac:
11741           make GST_ERROR_CFLAGS overridable and re-enable Werror
11742         * docs/faq/cvs.xml:
11743           add a note about error CFLAGS
11744         * docs/gst/tmpl/gstfakesrc.sgml:
11745         * gst/elements/gstfakesrc.c:
11746           comment out some unused code
11747         * gst/gst.c: (split_and_iterate):
11748         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
11749         (load_feature):
11750           plug some memleaks
11751
11752 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11753
11754         * common/Makefile.am:
11755         * common/gtk-doc.mak:
11756         * docs/gst/Makefile.am:
11757           factor out gtk-doc.mak
11758
11759 2005-07-07  Wim Taymans  <wim@fluendo.com>
11760
11761         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
11762         (gst_thread_scheduler_dispose):
11763         Unlock the STREAM_LOCK completely.
11764
11765 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11766
11767         * check/Makefile.am:
11768         * check/elements/.cvsignore:
11769         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11770         (START_TEST), (fakesrc_suite), (main):
11771         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11772         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11773         (gst_fakesrc_create), (gst_fakesrc_start):
11774         * gst/elements/gstfakesrc.h:
11775           adding a first element test
11776
11777 2005-07-07  Andy Wingo  <wingo@pobox.com>
11778
11779         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
11780         debug message.
11781
11782 2005-07-07  Wim Taymans  <wim@fluendo.com>
11783
11784         * gst/gstquery.c:
11785         * gst/gstquery.h:
11786         Remove old types
11787
11788 2005-07-07  Wim Taymans  <wim@fluendo.com>
11789
11790         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11791         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
11792         Allow subclasses to implement their own negotiation.
11793
11794 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11795
11796         * docs/design/part-gstbin.txt:
11797         * docs/design/part-gstpipeline.txt:
11798           Update design notes to reflect the movement of
11799           responsibility for bus handling from GstPipeline to
11800           GstBin
11801
11802 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11803
11804         * configure.ac:
11805           Remove unnecessary queue2/3/4 examples.
11806
11807 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11808
11809         * examples/Makefile.am:
11810         * examples/helloworld/helloworld.c: (event_loop), (main):
11811         * examples/queue/queue.c: (event_loop), (main):
11812         * examples/queue2/queue2.c: (main):
11813           Update a couple of the examples to work again.
11814
11815         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11816         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
11817          Spelling corrections and extra debug.
11818         
11819         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
11820         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
11821         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
11822         * gst/gstbin.h:
11823         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11824         (gst_pipeline_change_state):
11825         * gst/gstpipeline.h:
11826           Move the bus handler for children to the GstBin, and create a
11827           separate bus for receiving messages from children to the one the
11828           bus sends 'upwards' on.
11829
11830 2005-07-06  Wim Taymans  <wim@fluendo.com>
11831
11832         * gst/base/README:
11833         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11834         (gst_base_sink_handle_object), (gst_base_sink_loop),
11835         (gst_base_sink_change_state):
11836         * gst/base/gstbasesink.h:
11837         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11838         (gst_base_src_init), (gst_base_src_setcaps),
11839         (gst_base_src_getcaps), (gst_base_src_loop),
11840         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
11841         (gst_base_src_start), (gst_base_src_change_state):
11842         * gst/base/gstbasesrc.h:
11843         Make basesrc negotiate.
11844         Handle the case where preroll fails in basesink.
11845         Update README.
11846
11847 2005-07-06  Wim Taymans  <wim@fluendo.com>
11848
11849         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
11850         Implement the fixate function.
11851         Clean up acceptcaps.
11852
11853 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11854
11855         * docs/pwg/building-filterfactory.xml:
11856         * docs/pwg/pwg.xml:
11857           Remove never-written filter-factory chapter; I'll add the various
11858           base classes to part 4 ("other element types") later on.
11859
11860 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11861
11862         * docs/pwg/advanced-negotiation.xml:
11863         * docs/pwg/building-boiler.xml:
11864         * docs/pwg/building-pads.xml:
11865         * docs/pwg/pwg.xml:
11866         * examples/pwg/Makefile.am:
11867           Add a chapter on caps negotiation, simplify the original code
11868           samples a bit w.r.t. caps negotiation, add link to the advanced
11869           section. Add a bunch of examples showing different use cases of
11870           different types of caps negotiation. Upstream renegotiation isn't
11871           fully documented yet since nobody knows how that works.
11872
11873 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11874
11875         * check/gst/gstpad.c:
11876         * check/gstcheck.c:
11877         * gst/gstpad.c: (gst_pad_get_internal_links_default):
11878           if pad has no parent, return NULL as list of internal links
11879
11880 2005-07-05  Andy Wingo  <wingo@pobox.com>
11881
11882         * gst/elements/gstfilesrc.c:
11883         * gst/elements/gstfakesrc.c: 
11884         * gst/base/gstpushsrc.c:
11885         * gst/base/gstbasesrc.h: 
11886         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
11887         
11888 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
11889
11890         * Makefile.am:
11891           better report generation target (lcov needs a patch)
11892
11893 2005-07-05  Andy Wingo  <wingo@pobox.com>
11894
11895         * gst/elements, testsuite: Null if we got it...
11896
11897 2005-07-05  Wim Taymans  <wim@fluendo.com>
11898
11899         * configure.ac:
11900         * libs/gst/dataprotocol/Makefile.am:
11901         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
11902         * libs/gst/dataprotocol/dataprotocol.h:
11903         * pkgconfig/Makefile.am:
11904         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
11905         * pkgconfig/gstreamer-dataprotocol.pc.in:
11906         Ported dataprotol to 0.9. 
11907         Added pkgconfig files.
11908
11909 2005-07-05  Andy Wingo  <wingo@pobox.com>
11910
11911         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
11912         Default to returning TRUE for the case when tranform_caps returns
11913         a fixed caps, like for identity or volume.
11914
11915         * check/gst/gstbus.c (pound_bus_with_messages): 
11916         * check/gst/gstmessage.c (START_TEST): 
11917         * check/pipelines/simple_launch_lines.c (got_handoff): Application
11918         message API change.
11919
11920         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
11921         logic weaks here: always run transform_caps, trying passthrough
11922         operation only if the original caps intersects with the transform.
11923
11924         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
11925         source and sink caps.
11926
11927         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
11928         Intersect the peer caps with the pad template before going into
11929         transform_caps.
11930         (gst_base_transform_transform_caps): More debugging.
11931
11932         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
11933         src argument.
11934
11935 2005-07-04  Edward Hervey  <edward@fluendo.com>
11936
11937         * gst/gstutils.c:
11938         * gst/gstutils.h:
11939         (gst_pad_add_*_probe): now returns the signal id for better wrapping
11940         in bindings.
11941
11942 2005-07-04  Andy Wingo  <wingo@pobox.com>
11943
11944         * check/gst/gstpad.c: Only set explicit caps on pads.
11945
11946 2005-07-01  Andy Wingo  <wingo@pobox.com>
11947
11948         * tests/network-clock.scm: Commentary update.
11949
11950         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
11951         Didn't really make sense, not implementable with basetransform,
11952         etc.
11953         (gst_identity_transform): Unref inbuf via make_writable. Feeble
11954         attempt at implementing the sync property, needs an unlock method.
11955
11956         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
11957         New func, by default returns the same caps (the identity
11958         transformation).
11959         (gst_base_transform_getcaps): Uses transform_caps to return
11960         something sensible.
11961         (gst_base_transform_setcaps): Complicated logic to get caps on
11962         both pads, even if they are different, and to call set_caps once
11963         for every time both pads get their caps set.
11964         (gst_base_transform_handle_buffer): Give the ref to the transform
11965         function. Allows in-place modification of the buffer.
11966
11967         * gst/base/gstbasetransform.h (transform_caps): New class method.
11968         Given caps on one side, what can I do on the other.
11969         (set_caps): Take two caps, one for each side of the element.
11970
11971         * gst/gstpad.h:
11972         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11973         caps in place. This is safe because we can check the mutability of
11974         the caps, and a good idea because fixate functions are just called
11975         as a matter of last resort. (Not actually implemented.)
11976         (gst_pad_set_caps): If the caps we're setting is actually the same
11977         as the existing pad caps, just update the pointer without calling
11978         setcaps. Assert that caps is either NULL or fixed, as per the
11979         docs.
11980
11981         * gst/gstghostpad.c: Update for fixate changes.
11982
11983 2005-07-02  Andy Wingo  <wingo@pobox.com>
11984
11985         * gst/gstcaps.c:
11986         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11987         two refcounts makes it immutable, which is enough. Doc more.
11988
11989 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11990
11991         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11992           Put the mini_object into GValue as a mini_object,
11993           not a gpointer, since that's how we declared
11994           the signal.
11995
11996 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11997
11998         * examples/pwg/Makefile.am:
11999           Fix buildbot again.
12000
12001 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12002
12003         * docs/pwg/building-testapp.xml:
12004           Add extra check.
12005         * examples/pwg/Makefile.am:
12006           Fix buildbot.
12007
12008 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12009
12010         * configure.ac:
12011         * examples/Makefile.am:
12012         * examples/pwg/Makefile.am:
12013         * examples/pwg/extract.pl:
12014           Enable building the PWG examples.
12015         * docs/pwg/advanced-interfaces.xml:
12016           Add URI interface stub.
12017         * docs/pwg/advanced-types.xml:
12018         * docs/pwg/other-autoplugger.xml:
12019         * docs/pwg/appendix-porting.xml:
12020         * docs/pwg/pwg.xml:
12021           Add porting guide (mostly stubs), remove autoplugging (see ADM).
12022         * docs/pwg/building-boiler.xml:
12023         * docs/pwg/building-chainfn.xml:
12024         * docs/pwg/building-pads.xml:
12025         * docs/pwg/building-props.xml:
12026         * docs/pwg/building-state.xml:
12027         * docs/pwg/building-testapp.xml:
12028           Update the building-*.xml parts for 0.9 changes. All examples
12029           code blocks compile in examples/pwg/*.
12030
12031 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12032
12033         * docs/manual/advanced-autoplugging.xml:
12034         * docs/manual/appendix-checklist.xml:
12035         * docs/manual/appendix-integration.xml:
12036         * docs/manual/highlevel-components.xml:
12037           Fix playbin/decodebin examples, update docs a bit, mention bus
12038           instead of signals in various places, mention kmplayer and
12039           kaffeine since they have a working GStreamer backend in the KDE
12040           section.
12041
12042 2005-06-30  Wim Taymans  <wim@fluendo.com>
12043
12044         * CHANGES-0.9:
12045         * docs/design/draft-ghostpads.txt:
12046         * docs/design/draft-push-pull.txt:
12047         * docs/design/draft-query.txt:
12048         * docs/design/part-TODO.txt:
12049         * docs/design/part-query.txt:
12050         Added CHANGES-0.9 doc, updated status of other docs.
12051         
12052         * gst/gstquery.h:
12053         Remove "hmm" macro
12054
12055 2005-06-30  Wim Taymans  <wim@fluendo.com>
12056
12057         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12058         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12059         (gst_base_sink_change_state):
12060         * gst/base/gstbasesink.h:
12061         Some tweaks, only EOS and a buffer complete a preroll.
12062
12063 2005-06-30  Andy Wingo  <wingo@pobox.com>
12064
12065         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
12066         activate_push down to the internal pad as well.
12067
12068 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
12069
12070         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12071
12072         * gst/gsttaginterface.c:
12073           Some documentation fixes (#307394 and #307397).
12074
12075 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
12076
12077         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12078
12079         * gst/gstvalue.c: (gst_value_intersect_list):
12080           Fix memleak (#309125).
12081
12082 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12083
12084         * docs/manual/advanced-dataaccess.xml:
12085           Fix fakesrc example to compile; doesn't work, bug somewhere...?
12086         * docs/manual/basics-pads.xml:
12087           Add reference for filtered caps to above chapter.
12088
12089 2005-06-30  Wim Taymans  <wim@fluendo.com>
12090
12091         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
12092         (gst_bin_change_state):
12093         Probes are gone.
12094         Lame attempt at making the state change function a bit
12095         more readable.
12096
12097 2005-06-30  Wim Taymans  <wim@fluendo.com>
12098
12099         * docs/design/part-clocks.txt:
12100         * docs/design/part-element-sink.txt:
12101         * docs/design/part-events.txt:
12102         * docs/design/part-preroll.txt:
12103         * docs/design/part-states.txt:
12104         Some more tweeks and additions to the docs.
12105
12106 2005-06-30  Wim Taymans  <wim@fluendo.com>
12107
12108         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12109         (default_have_data), (gst_pad_class_init), (gst_pad_init),
12110         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
12111         (gst_pad_check_pull_range), (gst_pad_get_range),
12112         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
12113         * gst/gstpad.h:
12114         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
12115         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12116         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12117         (gst_pad_remove_buffer_probe):
12118         Removed atomic operations, use existing LOCK.
12119         Move exception handling out of main code path.
12120
12121 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12122
12123         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12124         (silly_return_true_function), (gst_pad_class_init),
12125         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
12126         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
12127         (gst_pad_send_event):
12128           Fix accumulator, add default value by using _emitv() instead
12129           of _emit() for signal emission.
12130
12131 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12132
12133         * docs/manual/advanced-dataaccess.xml:
12134         * examples/manual/Makefile.am:
12135           Add probe example.
12136         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
12137           Make work (??).
12138
12139 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
12140
12141         * gst/elements/gstfilesink.c: (gst_filesink_render):
12142           Simplify code so that we don't have to handle short
12143           writes and return GST_FLOW_ERROR if an error occured.
12144
12145 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12146
12147         * docs/gst/gstreamer-docs.sgml:
12148           Remove probes more.
12149
12150 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12151
12152         * docs/gst/gstreamer-sections.txt:
12153         * docs/gst/tmpl/gstpad.sgml:
12154         * docs/gst/tmpl/gstprobe.sgml:
12155         * gst/Makefile.am:
12156         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12157         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
12158         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12159         (gst_pad_push_event), (gst_pad_send_event):
12160         * gst/gstpad.h:
12161         * gst/gstutils.c: (gst_pad_add_data_probe),
12162         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12163         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12164         (gst_pad_remove_buffer_probe):
12165         * gst/gstutils.h:
12166           Remove old probes, add new g-signal-based probes and some utility
12167           functions.
12168
12169 2005-06-29  Edward Hervey  <edward@fluendo.com>
12170
12171         * gst/gstelementfactory.c:
12172         * gst/gstutils.h:
12173         * gst/gstutils.c:
12174         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
12175         the definition to the header file.
12176
12177 2005-06-29  Andy Wingo  <wingo@pobox.com>
12178
12179         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
12180         plugins from the source directory.
12181
12182 2005-06-29  Wim Taymans  <wim@fluendo.com>
12183
12184         * docs/gst/tmpl/gstbuffer.sgml:
12185         * docs/gst/tmpl/gstclock.sgml:
12186         Some fixings for blantently wrong text.
12187
12188 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12189
12190         * check/Makefile.am:
12191         * gst/gst.c: (add_path_func), (init_pre):
12192         * gst/gstregistry.c: (gst_registry_add_path):
12193           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
12194           only scan the GST_PLUGIN_PATH locations, and not add
12195           system locations
12196
12197 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12198
12199         * docs/gst/gstreamer-sections.txt:
12200         * docs/gst/tmpl/gstbasesrc.sgml:
12201         * gst/gstelement.c:
12202         * gst/gstelement.h:
12203         * gst/gstevent.c:
12204         * gst/gstutils.c:
12205           doc fixes
12206
12207 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12208
12209         * docs/manual/advanced-autoplugging.xml:
12210           Fix autoplugging example.
12211
12212 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12213
12214         * docs/manual/advanced-autoplugging.xml:
12215         * docs/manual/mime-world.fig:
12216           Try to get autoplugging working, fix type detection. Fix text
12217           in hello-world image.
12218
12219 2005-06-29  Wim Taymans  <wim@fluendo.com>
12220
12221         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12222         (gst_base_sink_change_state):
12223         Small debug line.
12224
12225         * gst/gstclock.h:
12226         map SIGNAL and BROADCAST to the right function.
12227
12228         * gst/gstobject.h:
12229         Remove redundant braces.
12230
12231         * gst/gstpad.c: (gst_pad_set_caps):
12232         Don't call setcaps function when reseting caps to NULL.
12233
12234         * gst/gstsystemclock.c: (gst_system_clock_dispose),
12235         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
12236         (gst_system_clock_id_unschedule):
12237         Use BROADCAST as this is what we do.
12238
12239 2005-06-29  Wim Taymans  <wim@fluendo.com>
12240
12241         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12242         We are actually prerolling before commiting the state
12243         change. 
12244
12245 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12246
12247         * docs/manual/advanced-clocks.xml:
12248         * docs/manual/advanced-interfaces.xml:
12249         * docs/manual/advanced-metadata.xml:
12250         * docs/manual/advanced-position.xml:
12251         * docs/manual/advanced-schedulers.xml:
12252         * docs/manual/advanced-threads.xml:
12253         * docs/manual/appendix-porting.xml:
12254         * docs/manual/basics-bins.xml:
12255         * docs/manual/basics-bus.xml:
12256         * docs/manual/basics-elements.xml:
12257         * docs/manual/basics-helloworld.xml:
12258         * docs/manual/basics-pads.xml:
12259         * docs/manual/highlevel-components.xml:
12260         * docs/manual/manual.xml:
12261         * docs/manual/thread.fig:
12262           Update (until threads/scheduling) Application Development Manual;
12263           remove GstThread, add GstBus, add simple porting checklist, add
12264           documentation for tag writing, clocks, make all examples until this
12265           part compile and run.
12266         * examples/manual/Makefile.am:
12267           Update from changes to Application Development Manual; add bus
12268           example, remove thread example.
12269
12270 2005-06-28  Wim Taymans  <wim@fluendo.com>
12271
12272         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
12273         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
12274         (gst_bus_source_dispatch):
12275         Add debugging messages.
12276         Make internal methods static.
12277         Handle the case where the bus is flushed in the handler.
12278         
12279         * gst/gstelement.c: (gst_element_get_bus):
12280         Fix refcount in _get_bus();
12281
12282         * gst/gstpipeline.c: (gst_pipeline_change_state),
12283         (gst_pipeline_get_clock_func):
12284         Clock refcounting fixes.
12285         Handle the case where preroll timed out more gracefully.
12286         
12287         * gst/gstsystemclock.c: (gst_system_clock_dispose):
12288         Clean up the internal thread in dispose. This is needed
12289         for subclasses that actually get disposed.
12290         
12291         * gst/schedulers/threadscheduler.c:
12292         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12293         (gst_thread_scheduler_dispose):
12294         Free thread pool in dispose.
12295
12296 2005-06-28  Andy Wingo  <wingo@pobox.com>
12297
12298         * tests/network-clock-utils.scm (debug, print-event): New utils.
12299
12300         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
12301         (*packet-loss*): Unified loss probability.
12302         (network-time): Report out-of-band events.
12303
12304         * tests/plot-data: Add support for out-of-band events. Hack it
12305         into this script instead of passing it down the pipe; should fix
12306         this later.
12307
12308 2005-06-28  Wim Taymans  <wim@fluendo.com>
12309
12310         * docs/gst/gstreamer.types:
12311         * docs/gst/tmpl/gstbasesrc.sgml:
12312         * docs/gst/tmpl/gstpad.sgml:
12313         Docs fixes.
12314
12315 2005-06-28  Wim Taymans  <wim@fluendo.com>
12316
12317         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12318         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
12319         (gst_proxy_pad_do_fixatecaps):
12320         Correctly proxy the check_pull_range function.
12321
12322 2005-06-28  Andy Wingo  <wingo@pobox.com>
12323
12324         * tests/network-clock.scm: Removed need for slib.
12325         
12326 2005-06-28  Wim Taymans  <wim@fluendo.com>
12327
12328         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
12329         (gst_basesink_preroll_queue_flush):
12330         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
12331         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
12332         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12333         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12334         (gst_proxy_pad_set_property):
12335         * gst/gstpad.c:
12336         * gst/gstpad.h:
12337         * gst/gstqueue.c: (gst_queue_init):
12338         The deprecated pad loop function is removed now.
12339
12340 2005-06-28  Andy Wingo  <wingo@pobox.com>
12341
12342         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
12343         New parameters, simulate network packet loss.
12344
12345         * tests/network-clock-utils.scm: Initialize the RNG.
12346
12347 2005-06-28  Wim Taymans  <wim@fluendo.com>
12348
12349         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
12350         (gst_basesink_event), (gst_basesink_deactivate):
12351         Flushing the preroll queue always needs to unlock the waiters.
12352
12353 2005-06-28  Edward Hervey  <edward@fluendo.com>
12354
12355         * gst/gstpipeline.c: (gst_pipeline_send_event): 
12356         Wheen a seek was successful on a pipeline, set the stream_time to the
12357         seek offset in order to have a synchronized stream_time.
12358
12359 2005-06-28  Wim Taymans  <wim@fluendo.com>
12360
12361         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12362         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12363         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
12364         (gst_proxy_pad_do_fixatecaps):
12365         Call wrapper function instead of just calling the function
12366         pointers. This takes care of any locking and whatmore.
12367
12368 2005-06-28  Wim Taymans  <wim@fluendo.com>
12369
12370         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
12371         (gst_pad_pull_range):
12372         * gst/gstpad.h:
12373         CONNECTED -> LINKED.
12374
12375 2005-06-28  Andy Wingo  <wingo@pobox.com>
12376
12377         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
12378         source-munging commit!!!
12379
12380         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
12381         (gst_object_sink): Take gpointer arguments, not GstObject --
12382         avoids casts. Like GLib.
12383
12384         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
12385         activate.
12386
12387 2005-06-27  Andy Wingo  <wingo@pobox.com>
12388
12389         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
12390         remaining buffer.
12391
12392         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
12393         returns a sorted copy of the trace list.
12394         (gst_alloc_trace_print_live): New API, only prints traces with
12395         live objects. Sort the list.
12396         (gst_alloc_trace_print_all): Sort the list.
12397         (gst_alloc_trace_print): Align columns.
12398
12399         * gst/elements/gstttypefindelement.c:
12400         * gst/elements/gsttee.c:
12401         * gst/base/gstbasesrc.c:
12402         * gst/base/gstbasesink.c:
12403         * gst/base/gstbasetransform.c:
12404         * gst/gstqueue.c: Adapt for pad activation changes.
12405
12406         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
12407         sched.
12408         (gst_pipeline_dispose): Drop ref on sched.
12409
12410         * gst/gstpad.c (gst_pad_init): Set the default activate func.
12411         (gst_pad_activate_default): Push mode by default.
12412         (pre_activate_switch, post_activate_switch): New stubs, things to
12413         do before and after switching activation modes on pads.
12414         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
12415         the pad's activate function to choose which mode to activate.
12416         Shortcut on deactivation and call the right function directly.
12417         (gst_pad_activate_pull): New API, (de)activates a pad in pull
12418         mode.
12419         (gst_pad_activate_push): New API, same for push mode.
12420         (gst_pad_set_activate_function) 
12421         (gst_pad_set_activatepull_function) 
12422         (gst_pad_set_activatepush_function): Setters for new API.
12423
12424         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
12425         Trace all miniobjects.
12426         (gst_mini_object_make_writable): Unref the arg if we copy, like
12427         gst_caps_make_writable.
12428
12429         * gst/gstmessage.c (_gst_message_initialize): No trace init.
12430
12431         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
12432         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
12433         Adapt for new pad API.
12434
12435         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
12436
12437         * gst/gstelement.h:
12438         * gst/gstelement.c (gst_element_iterate_src_pads) 
12439         (gst_element_iterate_sink_pads): New API functions.
12440         
12441         * gst/gstelement.c (iterator_fold_with_resync): New utility,
12442         should fold into gstiterator.c in some form.
12443         (gst_element_pads_activate): Simplified via use of fold and
12444         delegation of decisions to gstpad->activate.
12445
12446         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
12447         help in debugging.
12448
12449         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
12450         class once in init, like gstmessage. Didn't run into this issue
12451         but it seems correct. Don't initialize a trace, gstminiobject does
12452         that.
12453
12454         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
12455         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
12456         to the bus.
12457         (assert_live_count): New util function, uses alloc traces to check
12458         cleanup.
12459
12460         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
12461         To be modified when unlink drops the internal pad.
12462
12463 2005-06-27  Wim Taymans  <wim@fluendo.com>
12464
12465         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
12466         (gst_bin_change_state):
12467         Cleanup the get_state() function a little, make sure it
12468         iterates the same set of elements.
12469         Added stub iterate_state_order().
12470
12471 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12472
12473         * docs/gst/gstreamer-docs.sgml:
12474         * docs/gst/gstreamer-sections.txt:
12475         * docs/gst/gstreamer.types:
12476         * docs/gst/tmpl/gstbasesink.sgml:
12477         * docs/gst/tmpl/gstbasesrc.sgml:
12478         * docs/gst/tmpl/gstbasetransform.sgml:
12479         * docs/gst/tmpl/gstelement.sgml:
12480         * docs/gst/tmpl/gstiterator.sgml:
12481         * gst/base/gstbasesrc.c:
12482         * gst/base/gstbasesrc.h:
12483         * gst/base/gstbasetransform.h:
12484         * gst/gstelement.c:
12485         * gst/gstiterator.h:
12486           adding basetransform and iterator docs
12487
12488 2005-06-27  Andy Wingo  <wingo@pobox.com>
12489
12490         * docs/design/part-activation.txt: Notes on how activation should
12491         work -- not quite implemented yet.
12492
12493 2005-06-25  Wim Taymans  <wim@fluendo.com>
12494
12495         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
12496         At least get the chain function correct, needs more
12497         fixing.
12498
12499 2005-06-25  Wim Taymans  <wim@fluendo.com>
12500
12501         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12502         (gst_basesink_handle_object), (gst_basesink_event),
12503         (gst_basesink_do_sync), (gst_basesink_handle_event),
12504         (gst_basesink_change_state):
12505         * gst/gsttask.h:
12506         Right, two problems here: ghostpads don't take locks and
12507         glib _rec_mutex_lock_full() with depth==0 still locks.
12508         Catch illegal locking and g_warn them.
12509
12510 2005-06-25  Wim Taymans  <wim@fluendo.com>
12511
12512         * check/states/sinks.c: (START_TEST), (gst_object_suite):
12513         Have to check for completion now...
12514
12515 2005-06-25  Wim Taymans  <wim@fluendo.com>
12516
12517         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12518         (gst_basesink_handle_object), (gst_basesink_event),
12519         (gst_basesink_do_sync), (gst_basesink_handle_event),
12520         (gst_basesink_change_state):
12521         * gst/gstpad.h:
12522         Unlock STREAM_LOCK whatever the recursion was.
12523
12524 2005-06-25  Wim Taymans  <wim@fluendo.com>
12525
12526         * gst/base/gstbasesink.c: (gst_basesink_set_property),
12527         (gst_basesink_preroll_queue_empty),
12528         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
12529         (gst_basesink_event), (gst_basesink_do_sync),
12530         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
12531         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
12532         (gst_basesink_change_state):
12533         Reworked the base sink, handle event and buffer serialisation
12534         correctly and removed possible deadlock.
12535         Handle EOS correctly.
12536
12537 2005-06-25  Wim Taymans  <wim@fluendo.com>
12538
12539         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
12540         (gst_pipeline_change_state):
12541         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12542         Allow elements to post EOS in the state change function.
12543         Fix up -launch, make it exit the poll loop when the
12544         pipeline actually changed state.
12545         Fix up warning parsing in -launch.
12546
12547 2005-06-25  Wim Taymans  <wim@fluendo.com>
12548
12549         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
12550         (gst_tee_sink_activate):
12551         Core takes STREAM_LOCK for us now.
12552
12553 2005-06-25  Wim Taymans  <wim@fluendo.com>
12554
12555         * gst/gstelement.c: (gst_element_get_state_func),
12556         (gst_element_set_state):
12557         * gst/gstelement.h:
12558         * gst/gstmessage.c: (gst_message_parse_error),
12559         (gst_message_parse_warning):
12560         Keep track of current target state while performing a state
12561         change so that subclasses can do something interesting.
12562         Fix parsing of warning/error messages when GError is NULL.
12563
12564 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12565
12566         * docs/gst/Makefile.am:
12567         * docs/gst/gstreamer-docs.sgml:
12568         * docs/gst/gstreamer-sections.txt:
12569         * docs/gst/gstreamer.types:
12570         * docs/gst/tmpl/gstbasesink.sgml:
12571         * docs/gst/tmpl/gstbasesrc.sgml:
12572         * docs/gst/tmpl/gstbin.sgml:
12573         * docs/gst/tmpl/gstcompat.sgml:
12574         * docs/gst/tmpl/gstfakesink.sgml:
12575         * docs/gst/tmpl/gstfakesrc.sgml:
12576         * docs/gst/tmpl/gstfilesink.sgml:
12577         * docs/gst/tmpl/gstfilesrc.sgml:
12578         * docs/gst/tmpl/gstindex.sgml:
12579         * docs/manual/appendix-quotes.xml:
12580         * gst/base/gstbasesrc.h:
12581         * gst/elements/gstfakesrc.h:
12582         * gst/gstmessage.h:
12583           start pulling in base classes and elements in our docs
12584
12585 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
12586
12587         * docs/gst/Makefile.am:
12588         * docs/libs/Makefile.am:
12589           fixed make distcheck with gtk-doc 1.3
12590
12591 2005-06-23  Wim Taymans  <wim@fluendo.com>
12592
12593         * gst/gstelement.c: (gst_element_get_state_func),
12594         (gst_element_set_state), (gst_element_change_state):
12595         When the state did not change, also report NO_PREROLL
12596         when it matters.
12597
12598 2005-06-23  Wim Taymans  <wim@fluendo.com>
12599
12600         * gst/gstpad.c: (gst_pad_event_default):
12601         * gst/gstqueue.c: (gst_queue_loop):
12602         No unsafe task pausing please.
12603
12604 2005-06-23  Wim Taymans  <wim@fluendo.com>
12605
12606         * gst/schedulers/threadscheduler.c:
12607         (gst_thread_scheduler_task_start),
12608         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
12609         Ref the task before pushing it on the threadpool. This
12610         makes sure that we have a ref when the threadfunction is
12611         actually called.
12612
12613 2005-06-23  Andy Wingo  <wingo@pobox.com>
12614
12615         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
12616         offset is greater than the file's size.
12617
12618         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
12619         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
12620         * gst/gstobject.c (gst_object_class_init): Make the class lock
12621         recursive. Wim won't let me drop deep_notify. Decodebin works
12622         again, whoopdy doo.
12623
12624         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
12625         internal pad, and hacks accordingly. Doesn't do it on the target
12626         pad because we change its caps. Probably catches all cases of
12627         interest tho.
12628         (gst_ghost_pad_set_property): Connect to notify::caps as
12629         appropritate.
12630
12631         * tests/network-clock.scm (plot-simulation): Pipe data to the
12632         elite python skript.
12633
12634         * tests/network-clock-utils.scm (define-parameter): New macro,
12635         defines a parameter that can be set via the command line.
12636         (set-parameter!, parse-parameter-arguments): Command line args
12637         parser.
12638
12639         * tests/plot-data: Simple matplotlib-based plotter, takes input on
12640         stdin.
12641
12642 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
12643
12644         * gst/elements/gsttypefindelement.c:
12645         (gst_type_find_element_handle_event):
12646           Don't restart typefinding on a discont.
12647         * gst/gstelement.c: (gst_element_set_state):
12648           Debug spelling fix.
12649         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
12650           Allow changing mode of an active pad.
12651           Debug output fixes.
12652         * gst/registries/gstlibxmlregistry.c: (load_feature):
12653           Don't cast a static pad template to a normal pad template.
12654
12655 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12656
12657         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12658         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12659           remove gst_strtoll completely, since it didn't actually do
12660           anything more than what g_ascii_strtoull already does.
12661           check for range errors when deserializing
12662           do a cast for the unsigned cases; but further fixing needs
12663           a decision on what the interpretation of "(int)" and
12664           deserialization should be for values that fall outside the
12665           type's boundaries (ie, refuse, or interpret as casting)
12666
12667 2005-06-23  Wim Taymans  <wim@fluendo.com>
12668
12669         * check/Makefile.am:
12670         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
12671         * docs/design/part-live-source.txt:
12672         * docs/design/part-states.txt:
12673         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12674         (gst_basesrc_set_live), (gst_basesrc_is_live),
12675         (gst_basesrc_get_range), (gst_basesrc_activate),
12676         (gst_basesrc_change_state):
12677         * gst/base/gstbasesrc.h:
12678         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12679         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12680         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
12681         * gst/gstelement.c: (gst_element_get_state_func),
12682         (gst_element_set_state):
12683         * gst/gstelement.h:
12684         * gst/gsttypes.h:
12685         * tools/gst-launch.c: (event_loop), (main):
12686         Added support for live sources and other elements that
12687         cannot do preroll.
12688         Updated design docs, added live-source design doc.
12689         Implemented live source functionality in basesrc
12690         Fix error condition in _bin_get_state()
12691         Implement live source handling in -launch.
12692         Added check for live sources.
12693         Fixed case in GstBin where elements were changed state
12694         multiple times.
12695
12696
12697 2005-06-23  Andy Wingo  <wingo@pobox.com>
12698
12699         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
12700         borken refcounting.
12701
12702         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
12703         gst_caps_replace takes care of this for us.
12704
12705         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
12706         gst_pad_set_caps on the target, not just its setcaps() function.
12707
12708         * tests/network-clock.scm: 
12709         * tests/network-clock-utils.scm: A network clock simulator.
12710         Something of an algorithmic testbed before doing something in C.
12711
12712 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12713
12714         * check/Makefile.am:
12715         * check/gst/capslist.h:
12716           copy over from 0.8, and add two with bitmasks specified with
12717           (int) 0xFF...
12718         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12719           add test to parse everything from capslist.h
12720         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
12721         (main):
12722           add test for structure deserialization
12723         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12724           add tests for deserialization of strings to int types
12725         * gst/gststructure.c: (gst_structure_nth_field_name):
12726         * gst/gststructure.h:
12727           add a way to get the name of a field referenced by index
12728         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12729           instead of checking if the resulting long long lies between
12730           min and max, we check if the long long would fit into
12731           a number of bytes for the final type.
12732           This fixes cases where a string represents 2^32 - 1, which
12733           when cast to int would be the (valid) -1, but is bigger than
12734           G_MAXINT
12735
12736 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12737
12738         * gst/parse/grammar.y:
12739           add a log line for type deserialization
12740
12741 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12742
12743         * check/gst/gstvalue.c: (START_TEST):
12744         * gst/gstvalue.c: (gst_value_deserialize):
12745           return long long, not int, so gint64 deserialization actually
12746           works.  Is there any flag that makes the compiler check this ?
12747           Fixes #308559
12748
12749 2005-06-22  Wim Taymans  <wim@fluendo.com>
12750
12751         * gst/gstbuffer.h:
12752         Added convenience macros for setting buffers in GValue.
12753
12754 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12755
12756         * check/gst/.cvsignore:
12757         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12758           add a test deserializing int64, and comment part out because
12759           it fails, yay !
12760
12761 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12762
12763         * check/Makefile.am:
12764         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
12765         * testsuite/Makefile.am:
12766         * testsuite/caps/Makefile.am:
12767         * testsuite/caps/value_serialize.c:
12768         * testsuite/test_gst_init.c:
12769           move a value_serialize test over
12770
12771 2005-06-20  Wim Taymans  <wim@fluendo.com>
12772
12773         * gst/gstpad.c:
12774         Small doc updates.
12775         
12776         * gst/gstvalue.c: (gst_value_compare_buffer),
12777         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
12778         (gst_value_compare_flags), (gst_value_serialize_flags),
12779         (gst_value_deserialize_flags), (_gst_value_initialize):
12780         Fix serialisation of buffers, they are not boxed types anymore
12781
12782 2005-06-20  Wim Taymans  <wim@fluendo.com>
12783
12784         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12785         Testcase to show error in buffer-on-caps serialisation.
12786
12787 2005-06-20  Andy Wingo  <wingo@pobox.com>
12788
12789         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
12790         will be adding to later.
12791
12792         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
12793         if its socks fill with rocks.
12794         (gst_system_clock_obtain): Set the name on object construction.
12795         Avoid double-checked locking.
12796
12797 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
12798
12799         * gst/gsturi.c: (gst_element_make_from_uri):
12800           Fix potential endless loop.
12801
12802 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12803
12804         * check/Makefile.am:
12805           add gsttag
12806         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
12807         (main):
12808           move over from testsuite dir and clean up
12809         * configure.ac:
12810         * gst/gsttag.c:
12811         * testsuite/Makefile.am:
12812         * testsuite/tags/.cvsignore:
12813         * testsuite/tags/Makefile.am:
12814         * testsuite/tags/merge.c:
12815           remove testsuite/tags
12816
12817 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12818
12819         * docs/gst/gstreamer-sections.txt:
12820         * docs/gst/tmpl/gstenumtypes.sgml:
12821         * win32/gstenumtypes.c:
12822           clean up documentation build a little
12823
12824 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12825
12826         * check/gstcheck.h:
12827           add macros for checking refcounts on objects and caps
12828         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
12829           add some more unit tests
12830         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12831         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
12832           fix leaked refcounts (I hope :)) so unittest works
12833         * gst/gstpad.h:
12834           whitespace removal
12835
12836 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12837
12838         * configure.ac: back to HEAD
12839
12840 === release 0.9.1 ===
12841
12842 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12843
12844         * NEWS:
12845         * RELEASE:
12846           updated
12847
12848 2005-06-17  Andy Wingo  <wingo@pobox.com>
12849
12850         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
12851         assert; it's always possible that the pad gets deactivated in
12852         between the checks in gstpad.c and the implementation. Rely on
12853         finish_preroll() to return a FLUSHING or similar instead of on the
12854         assert.
12855         
12856         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
12857         clock and post an EOS message if we come out of finish_preroll in
12858         the playing state.
12859
12860 2005-06-16  David Schleef  <ds@schleef.org>
12861
12862         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12863         (gst_capsfilter_set_property): Allow NULL as possible value
12864         for filter_caps property, indicating GST_CAPS_ANY.
12865
12866 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12867
12868         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
12869           fix debug output
12870         * gst/schedulers/Makefile.am:
12871           use libgst prefix
12872         * gstreamer.spec.in:
12873           fix spec for it
12874
12875 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12876
12877         * gstreamer.spec.in:
12878           clean up
12879
12880 2005-06-08  Andy Wingo  <wingo@pobox.com>
12881
12882         * gst/gstutils.c: RPAD fixes all around.
12883         (gst_element_link_pads): Refcounting fixes.
12884
12885         * tools/gst-inspect.c:
12886         * tools/gst-xmlinspect.c:
12887         * parse/grammar.y:
12888         * gst/base/gsttypefindhelper.c:
12889         * gst/base/gstbasesink.c:
12890         * gst/gstqueue.c: RPAD fixes.
12891
12892         * gst/gstghostpad.h:
12893         * gst/gstghostpad.c: New ghost pad implementation as full proxy
12894         pads. The tricky thing is they provide both source and sink
12895         interfaces, since they proxy the internal pad for the external
12896         pad, and vice versa. Implement with lower-level ProxyPad objects,
12897         with the interior proxy pad as a child of the exterior ghost pad.
12898         Should write a doc on this.
12899         
12900         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
12901         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
12902         gst_object API.
12903         
12904         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
12905         pads are real pads. No ghost pads in this file. Not documenting
12906         the myriad s/RPAD/PAD/ and REALIZE fixes.
12907         (gst_pad_class_init): Add properties for "direction" and
12908         "template". Both are construct-only, so they can't change during
12909         the life of the pad. Fixes properly deriving from GstPad.
12910         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
12911         derived objects, just set properties when creating the objects via
12912         g_object_new.
12913         (gst_pad_get_parent): Implement as a function, return NULL if the
12914         parent is not an element.
12915         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
12916         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
12917         
12918         * gst/gstobject.c (gst_object_class_init): Make name a construct
12919         property. Don't set it in the object init.
12920
12921         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
12922         with UNKNOWN direction.
12923         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
12924         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
12925         (gst_element_remove_pad): Remove ghost-pad special cases.
12926         (gst_element_pads_activate): Remove rpad cruft.
12927
12928         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
12929         catch the pad's-parent-not-an-element case.
12930
12931         * gst/gst.h: Include gstghostpad.h.
12932
12933         * gst/gst.c (init_post): No more real, ghost pads.
12934
12935         * gst/Makefile.am: Add gstghostpad.[ch].
12936
12937         * check/Makefile.am:
12938         * check/gst/gstbin.c:
12939         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
12940         into a bin creates ghost pads, and that the refcounts are right.
12941         Partly moved from gstbin.c.
12942
12943 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12944
12945         * check/gst-libs/.cvsignore:
12946         * check/gst/.cvsignore:
12947         * check/pipelines/.cvsignore:
12948           ignore more
12949         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
12950         (START_TEST), (cleanup_suite), (main):
12951           add some tests related to cleanup after running pipelines
12952
12953 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12954
12955         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
12956           add a testsuite for GstBuffer
12957
12958 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12959
12960         * gst/gstminiobject.h:
12961           add defines for accessing the refcount
12962
12963 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
12964
12965         * Makefile.am: added support for html unit test coverage reports
12966
12967 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12968
12969         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12970           Free existing caps if the capsfilter changes. Add a FIXME about
12971           setting those caps on the pads.
12972
12973         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12974           Before adding a ghost pad to a parent bin, check that there isn't
12975           already one for the element on the bin. Prevents infinite recursion
12976           when using decodebin in parse pipelines. Andy says he'll rewrite the
12977           way this works anyway, so ignore the hack.
12978
12979 2005-06-02  Andy Wingo  <wingo@pobox.com>
12980
12981         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12982         file size, pass it on to the type find helper.
12983
12984         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12985         segment_start and segment_end properly according to the seek
12986         method. Segment_end is still a bit flaky because offset can be
12987         negative for CUR and END cases, but it takes -1 as an "unset"
12988         value.
12989
12990 2005-06-02  Wim Taymans  <wim@fluendo.com>
12991
12992         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12993         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12994         (gst_basesink_activate):
12995         * gst/base/gstbasesink.h:
12996         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12997         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12998         (gst_pad_query), (gst_pad_start_task):
12999         * gst/gstpad.h:
13000         * gst/gstqueue.c: (gst_queue_bufferalloc),
13001         (gst_queue_handle_sink_event), (gst_queue_chain):
13002         Bufferalloc: return GstFlowReturn to more accuratly report
13003         why allocation failed.
13004
13005 2005-06-02  Wim Taymans  <wim@fluendo.com>
13006
13007         * gst/gstpipeline.c: (gst_pipeline_send_event):
13008         Take snapshot of state without blocking.
13009
13010 2005-06-02  Wim Taymans  <wim@fluendo.com>
13011
13012         * docs/design/part-TODO.txt:
13013         * docs/design/part-caps.txt:
13014         * docs/design/part-clocks.txt:
13015         * docs/design/part-negotiation.txt:
13016         * docs/design/part-preroll.txt:
13017         Small doc updates 
13018
13019 2005-05-30  Wim Taymans  <wim@fluendo.com>
13020
13021         * gst/elements/gstidentity.c: (gst_identity_event),
13022         (gst_identity_transform), (gst_identity_get_property):
13023         Protect last_message property as it is accessed from
13024         multiple threads.
13025
13026 2005-05-30  Wim Taymans  <wim@fluendo.com>
13027
13028         * gst/gstelement.c: (gst_element_init),
13029         (gst_element_pads_activate), (gst_element_change_state):
13030         Slicker pad activation code.
13031
13032 2005-05-30  Wim Taymans  <wim@fluendo.com>
13033
13034         * gst/Makefile.am:
13035         * gst/gstelement.h:
13036         * gst/gstelementfactory.h:
13037         * gst/gsttypes.h:
13038         Move elementfactory methods to separate .h file.
13039
13040 2005-05-30  Wim Taymans  <wim@fluendo.com>
13041
13042         * docs/design/part-overview.txt:
13043         * gst/gstsystemclock.h:
13044         Small typo fixes, doc updates.
13045
13046 2005-05-30  Wim Taymans  <wim@fluendo.com>
13047
13048         * gst/gst.c: (gst_init_get_popt_table), (init_post),
13049         (init_popt_callback):
13050         Remove cpu-opt flag.
13051
13052 2005-05-30  Wim Taymans  <wim@fluendo.com>
13053
13054         * gst/gstbuffer.c: (gst_subbuffer_finalize),
13055         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
13056         * gst/gstbuffer.h:
13057         Avoid typechecking in places where not needed.
13058         Added accessor for malloc_data.
13059
13060 2005-05-30  Wim Taymans  <wim@fluendo.com>
13061
13062         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
13063         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
13064         (gst_pad_configure_sink), (gst_pad_configure_src),
13065         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
13066         (gst_pad_start_task):
13067         Propagate errors from _set_caps() in configure_src/sink
13068         functions instead of returning TRUE.
13069         FLUSH events can travel up and downstream
13070
13071
13072 2005-05-30  Wim Taymans  <wim@fluendo.com>
13073
13074         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13075         (gst_basesink_activate):
13076         Handle EOS in preroll.
13077
13078 2005-05-30  Wim Taymans  <wim@fluendo.com>
13079
13080         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13081         (gst_queue_loop), (gst_queue_handle_src_event):
13082         Remove old pieces of code
13083         Flushing the queue in an upstream event is a very bad idea.
13084
13085 2005-05-26  Andy Wingo  <wingo@pobox.com>
13086
13087         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
13088         gst_value_set_mini_object so as to add a ref on the object (which
13089         will be removed when the value is unset).
13090
13091         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
13092         arg type in ::handoff.
13093
13094         * gst/gstelement.c (gst_element_change_state): Also deactivate
13095         pads in READY->NULL, just in case the element didn't make it to
13096         PAUSED. Wingo tested, Wim approved.
13097
13098 2005-05-26  Wim Taymans  <wim@fluendo.com>
13099
13100         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13101         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13102         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
13103         A flushing pad cannot be used to alloc_buffer from.
13104
13105 2005-05-26  Wim Taymans  <wim@fluendo.com>
13106
13107         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
13108         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
13109         (gst_bus_source_dispatch), (gst_bus_source_finalize),
13110         (gst_bus_create_watch), (gst_bus_add_watch_full):
13111         * gst/gstbus.h:
13112         Implement a real GSource and use g_main_context_wakeup() to
13113         signal new messages instead of the socketpair.
13114
13115 2005-05-25  Wim Taymans  <wim@fluendo.com>
13116
13117         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
13118         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
13119         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13120         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13121         (gst_pad_send_event), (gst_pad_start_task):
13122         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
13123         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13124         (gst_queue_sink_activate), (gst_queue_src_activate),
13125         (gst_queue_change_state):
13126         * gst/gstqueue.h:
13127         Fix state changes for non sinks. We now change sinks, then elements
13128         with unconnected srcpads, then the rest.
13129         More efficient queue unlocking in flush and state changes.
13130         Set the pad activate mode even if it does not have an activate
13131         function.
13132
13133 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13134
13135         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
13136           Don't go in pull mode for non-seekable sources.
13137         * gst/elements/gsttypefindelement.h:
13138         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13139         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
13140         (free_entry), (stop_typefinding),
13141         (gst_type_find_element_handle_event), (find_peek),
13142         (gst_type_find_element_chain), (do_pull_typefind),
13143         (gst_type_find_element_change_state):
13144           Allow typefinding (w/o seeking) in push-mode, simplified version
13145           of what was in 0.8.
13146         * gst/gstutils.c: (gst_buffer_join):
13147         * gst/gstutils.h:
13148           gst_buffer_join() from 0.8.
13149
13150 2005-05-25  Wim Taymans  <wim@fluendo.com>
13151
13152         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13153         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13154         (gst_pad_send_event), (gst_pad_start_task):
13155         Disable attempt at mode switching until it is figured out.
13156
13157 2005-05-25  Wim Taymans  <wim@fluendo.com>
13158
13159         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
13160         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13161         (gst_basesink_finish_preroll), (gst_basesink_chain),
13162         (gst_basesink_loop), (gst_basesink_activate),
13163         (gst_basesink_change_state):
13164         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
13165         (gst_basesrc_get_range), (gst_basesrc_loop),
13166         (gst_basesrc_activate):
13167         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13168         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13169         (gst_real_pad_init), (gst_real_pad_set_property),
13170         (gst_real_pad_get_property), (gst_pad_set_active),
13171         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
13172         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
13173         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
13174         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
13175         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13176         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
13177         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
13178         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13179         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
13180         (gst_pad_stop_task):
13181         * gst/gstpad.h:
13182         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13183         (gst_queue_loop), (gst_queue_src_activate):
13184         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
13185         (gst_task_get_state):
13186         * gst/gsttask.h:
13187         * gst/schedulers/threadscheduler.c:
13188         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
13189         Implement gst_pad_pause/start/stop_task(), take STREAM lock
13190         in task function.
13191         Remove ACTIVE pad flag, use FLUSHING everywhere
13192         Added _pad_chain(), _pad_get_range() to call chain/getrange 
13193         functions.
13194         Add locks around IS_FLUSHING when reading.
13195         Take STREAM lock in chain(), get_range() functions so plugins
13196         don't need to take it anymore.
13197         
13198
13199
13200 2005-05-25  Wim Taymans  <wim@fluendo.com>
13201
13202         * tools/gst-launch.c: (event_loop):
13203         Unref message after using its contents instead of
13204         before.
13205
13206 2005-05-24  Wim Taymans  <wim@fluendo.com>
13207
13208         * docs/design/draft-ghostpads.txt:
13209         * docs/design/draft-push-pull.txt:
13210         * docs/design/draft-query.txt:
13211         * docs/design/part-overview.txt:
13212         Docs updates, added general overview doc.
13213
13214 2005-05-21  David Schleef  <ds@schleef.org>
13215
13216         * docs/gst/tmpl/old/GstBin.sgml:
13217         * docs/gst/tmpl/old/GstBuffer.sgml:
13218         * docs/gst/tmpl/old/GstCaps.sgml:
13219         * docs/gst/tmpl/old/GstClock.sgml:
13220         * docs/gst/tmpl/old/GstCompat.sgml:
13221         * docs/gst/tmpl/old/GstData.sgml:
13222         * docs/gst/tmpl/old/GstElement.sgml:
13223         * docs/gst/tmpl/old/GstEvent.sgml:
13224         * docs/gst/tmpl/old/GstIndex.sgml:
13225         * docs/gst/tmpl/old/GstStructure.sgml:
13226         * docs/gst/tmpl/old/GstTag.sgml:
13227         * docs/gst/tmpl/old/cothreads.sgml:
13228         * docs/gst/tmpl/old/cothreads_compat.sgml:
13229         * docs/gst/tmpl/old/gettext.sgml:
13230         * docs/gst/tmpl/old/gobject2gtk.sgml:
13231         * docs/gst/tmpl/old/grammar.tab.sgml:
13232         * docs/gst/tmpl/old/gst-i18n-app.sgml:
13233         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
13234         * docs/gst/tmpl/old/gst_private.sgml:
13235         * docs/gst/tmpl/old/gstaggregator.sgml:
13236         * docs/gst/tmpl/old/gstarch.sgml:
13237         * docs/gst/tmpl/old/gstatomic_impl.sgml:
13238         * docs/gst/tmpl/old/gstbufferstore.sgml:
13239         * docs/gst/tmpl/old/gstdata_private.sgml:
13240         * docs/gst/tmpl/old/gstdisksink.sgml:
13241         * docs/gst/tmpl/old/gstdisksrc.sgml:
13242         * docs/gst/tmpl/old/gstelementfactory.sgml:
13243         * docs/gst/tmpl/old/gstextratypes.sgml:
13244         * docs/gst/tmpl/old/gstfakesink.sgml:
13245         * docs/gst/tmpl/old/gstfakesrc.sgml:
13246         * docs/gst/tmpl/old/gstfdsink.sgml:
13247         * docs/gst/tmpl/old/gstfdsrc.sgml:
13248         * docs/gst/tmpl/old/gstfilesink.sgml:
13249         * docs/gst/tmpl/old/gstfilesrc.sgml:
13250         * docs/gst/tmpl/old/gsthttpsrc.sgml:
13251         * docs/gst/tmpl/old/gstidentity.sgml:
13252         * docs/gst/tmpl/old/gstindexfactory.sgml:
13253         * docs/gst/tmpl/old/gstmarshal.sgml:
13254         * docs/gst/tmpl/old/gstmd5sink.sgml:
13255         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
13256         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
13257         * docs/gst/tmpl/old/gstpadtemplate.sgml:
13258         * docs/gst/tmpl/old/gstpipefilter.sgml:
13259         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
13260         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
13261         * docs/gst/tmpl/old/gstshaper.sgml:
13262         * docs/gst/tmpl/old/gstspider.sgml:
13263         * docs/gst/tmpl/old/gstspideridentity.sgml:
13264         * docs/gst/tmpl/old/gststatistics.sgml:
13265         * docs/gst/tmpl/old/gsttee.sgml:
13266         * docs/gst/tmpl/old/gsttimecache.sgml:
13267         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
13268         * docs/gst/tmpl/old/gstxmlregistry.sgml:
13269         * docs/gst/tmpl/old/gthread-cothreads.sgml:
13270         * docs/gst/tmpl/old/types.sgml:
13271           I didn't intend to add these or check them in.
13272
13273 2005-05-19  David Schleef  <ds@schleef.org>
13274
13275         * configure.ac: Use -no-common everywhere.  In a sane world, it
13276           would be the default in libtool, because without it, you can't
13277           build DLLs on Windows.
13278         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
13279         * docs/gst/gstreamer-sections.txt:
13280         * docs/gst/tmpl/gstcpu.sgml:
13281         * docs/gst/tmpl/gstdata.sgml:
13282         * docs/gst/tmpl/gstthread.sgml:
13283
13284 2005-05-19  David Schleef  <ds@schleef.org>
13285
13286         * gst/gstminiobject.c: (gst_value_set_mini_object),
13287         (gst_value_take_mini_object), (gst_value_get_mini_object):
13288         * gst/gstminiobject.h: Add GValue set/get functions.
13289
13290 2005-05-19  Wim Taymans  <wim@fluendo.com>
13291
13292         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
13293         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
13294         (gst_subbuffer_init), (gst_buffer_is_span_fast):
13295         * gst/gstbuffer.h:
13296         * gst/gstbus.c: (gst_bus_post):
13297         * gst/gstelement.c: (gst_element_get_random_pad):
13298         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
13299         Make subbufer unref the parent in finalize.
13300         some more debugging info.
13301
13302
13303 2005-05-19  Wim Taymans  <wim@fluendo.com>
13304
13305         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13306         (gst_basesink_init), (gst_basesink_finalize),
13307         (gst_basesink_activate), (gst_basesink_change_state):
13308         Don't free preroll queue too early.
13309
13310 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13311
13312         * gst/Makefile.am:
13313         * gst/ROADMAP:
13314           Hi, I'm outdated. Please shoot me.
13315
13316 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13317
13318         * gst/gstpipeline.c: (gst_pipeline_send_event):
13319           Do not access variables after they have been deleted.
13320
13321 2005-05-19  Wim Taymans  <wim@fluendo.com>
13322
13323         * tools/gst-inspect.c: (print_plugin_features):
13324         A plugin feature does unfortunatly not use the
13325         object name yet...
13326
13327 2005-05-18  Wim Taymans  <wim@fluendo.com>
13328
13329         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
13330         Port _span() functions to new subbuffers.
13331
13332 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13333
13334         * gst/gstbin.c: (gst_bin_add_func):
13335           Fix clock settery in bins when adding kids after the clock has
13336           been selected.
13337
13338 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13339
13340         * gst/elements/gstidentity.c: (gst_identity_class_init):
13341           Workaround until signals support GstMiniObject.
13342
13343 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13344
13345         * gst/gstbuffer.c:
13346         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
13347
13348 2005-05-18  Wim Taymans  <wim@fluendo.com>
13349
13350         * gst/base/Makefile.am:
13351         * gst/base/gstadapter.c: (gst_adapter_base_init),
13352         (gst_adapter_class_init), (gst_adapter_init),
13353         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
13354         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
13355         (gst_adapter_flush), (gst_adapter_available),
13356         (gst_adapter_available_fast):
13357         * gst/base/gstadapter.h:
13358         Ported and added adapter to the base classes.
13359
13360 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13361
13362         * gst/gst.c:
13363         * gst/gstmessage.c:
13364           Make sure the class is reffed/unreffed once before threads can be
13365           used.  Fixes #304551.
13366
13367 2005-05-17  Wim Taymans  <wim@fluendo.com>
13368
13369         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
13370         (gst_basesink_chain_unlocked), (gst_basesink_activate):
13371         * gst/gstminiobject.c: (gst_mini_object_get_type),
13372         (gst_mini_object_free):
13373         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
13374         (gst_pad_push), (gst_pad_push_event):
13375         * gst/gstqueue.c: (gst_queue_change_state):
13376         Don't queue buffers in basesink when we are flushing.
13377         Unref buffer when flushing in basesink.
13378         Flush queue when going to READY
13379         Unref buffer when _push() returns an error.
13380         Don't free MiniObject instance when refcount is incremented
13381         in _finalize() so that we can recover objects.
13382
13383 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13384
13385         * docs/manual/advanced-schedulers.xml:
13386         * docs/manual/appendix-checklist.xml:
13387         * docs/pwg/advanced-clock.xml:
13388         * docs/pwg/advanced-interfaces.xml:
13389         * docs/pwg/advanced-request.xml:
13390         * docs/pwg/advanced-types.xml:
13391         * docs/pwg/intro-preface.xml:
13392         * examples/plugins/example.c: (gst_example_get_type),
13393         (gst_example_class_init), (gst_example_chain),
13394         (gst_example_set_property), (gst_example_get_property),
13395         (gst_example_change_state), (plugin_init):
13396         * examples/plugins/example.h:
13397           small doc fixes
13398
13399 2005-05-17  Wim Taymans  <wim@fluendo.com>
13400
13401         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
13402         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
13403         * gst/gstqueue.c: (gst_queue_change_state):
13404         Clear queue when going to READY.
13405         Remove IN_SETCAPS flag too.
13406
13407 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
13408
13409         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
13410           Remove implicit cast from gboolean to GstElementStateReturn;
13411           make sure we still return failure in paused => ready case if
13412           the parent class fails to change state and our own stop 
13413           vfunc succeeds.
13414
13415 2005-05-17  Wim Taymans  <wim@fluendo.com>
13416
13417         * tools/gst-launch.c: (event_loop):
13418         Message was unreffed too soon.
13419
13420 2005-05-16  Andy Wingo  <wingo@pobox.com>
13421
13422         * gst/gstbin.c (sink_iterator_filter): Err... um...
13423
13424         * check/gst/gstbin.c (test_ghost_pads): New test for the
13425         ghosting-if-elements-not-in-same-bin behavior.
13426
13427 2005-05-16  David Schleef  <ds@schleef.org>
13428
13429         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
13430         accessing refcount directly.
13431
13432 2005-05-15  David Schleef  <ds@schleef.org>
13433
13434         * check/Makefile.am: remove GstData checks
13435         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
13436         * gst/Makefile.am: add miniobject, remove data
13437         * gst/gst.h: add miniobject, remove data
13438         * gst/gstdata.c: remove
13439         * gst/gstdata.h: remove
13440         * gst/gstdata_private.h: remove
13441         * gst/gsttypes.h: remove GstEvent and GstMessage
13442         * gst/gstelement.c: (gst_element_post_message): fix for API changes
13443         * gst/gstmarshal.list: change BOXED -> OBJECT
13444
13445         Implement GstMiniObject.
13446         * gst/gstminiobject.c:
13447         * gst/gstminiobject.h:
13448
13449         Modify to be subclasses of GstMiniObject.
13450         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
13451         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
13452         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
13453         (gst_subbuffer_get_type), (gst_subbuffer_init),
13454         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
13455         (gst_buffer_span):
13456         * gst/gstbuffer.h:
13457         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
13458         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
13459         (_gst_event_copy), (gst_event_new):
13460         * gst/gstevent.h:
13461         * gst/gstmessage.c: (_gst_message_initialize),
13462         (gst_message_get_type), (gst_message_class_init),
13463         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
13464         (gst_message_new), (gst_message_new_error),
13465         (gst_message_new_warning), (gst_message_new_tag),
13466         (gst_message_new_state_changed), (gst_message_new_application):
13467         * gst/gstmessage.h:
13468         * gst/gstprobe.c: (gst_probe_perform),
13469         (gst_probe_dispatcher_dispatch):
13470         * gst/gstprobe.h:
13471         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
13472         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
13473         (_gst_query_copy), (gst_query_new):
13474
13475         Update elements for GstData -> GstMiniObject changes
13476         * gst/gstquery.h:
13477         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
13478         (gst_queue_chain), (gst_queue_loop):
13479         * gst/elements/gstbufferstore.c:
13480         (gst_buffer_store_add_buffer_func),
13481         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
13482         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13483         (gst_fakesink_render):
13484         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13485         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
13486         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
13487         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
13488         (gst_filesrc_create_read):
13489         * gst/elements/gstidentity.c: (gst_identity_class_init):
13490         * gst/elements/gsttypefindelement.c:
13491         (gst_type_find_element_src_event), (free_entry_buffers),
13492         (gst_type_find_element_handle_event):
13493         * libs/gst/dataprotocol/dataprotocol.c:
13494         (gst_dp_header_from_buffer):
13495         * libs/gst/dataprotocol/dataprotocol.h:
13496         * libs/gst/dataprotocol/dp-private.h:
13497
13498 2005-05-15  David Schleef  <ds@schleef.org>
13499
13500         * gst/elements/gstelements.c: Don't include headers that were
13501         just removed.
13502
13503 2005-05-15  David Schleef  <ds@schleef.org>
13504
13505         * gst/elements/Makefile.am: Remove some elements that don't
13506         need to be in the core (or even exist at all).
13507         * gst/elements/gstaggregator.c:
13508         * gst/elements/gstaggregator.h:
13509         * gst/elements/gstmd5sink.c:
13510         * gst/elements/gstmd5sink.h:
13511         * gst/elements/gstmultifilesrc.c:
13512         * gst/elements/gstmultifilesrc.h:
13513         * gst/elements/gstpipefilter.c:
13514         * gst/elements/gstpipefilter.h:
13515         * gst/elements/gstshaper.c:
13516         * gst/elements/gstshaper.h:
13517         * gst/elements/gststatistics.c:
13518         * gst/elements/gststatistics.h:
13519         * po/POTFILES.in: Remove above files.
13520
13521 2005-05-14  Andy Wingo  <wingo@pobox.com>
13522
13523         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
13524         so as to get the refs right.
13525         (sink_iterator_filter): New function, wraps bin_element_is_sink,
13526         unreffing objects that don't pass the filter.
13527
13528         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
13529         gst_element_set_bus.
13530         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
13531         normal cases, this will destroy the bus.
13532
13533         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
13534         object.
13535
13536         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
13537         has no sinks.
13538
13539 2005-05-13  Andy Wingo  <wingo@pobox.com>
13540
13541         * gst/gstutils.c (gst_element_link_pads): Instead of calling
13542         gst_pad_link, call pad_link_maybe_ghosting,
13543         (pad_link_maybe_ghosting): Links pads, making sure that the
13544         elements being linked are in the same bin.
13545         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
13546         Helpers for pad_link_maybe_ghosting.
13547
13548 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13549
13550         * configure.ac:
13551           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
13552
13553 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13554
13555         * docs/design/part-element-source.txt:
13556           Mention GstPushSrc
13557
13558 2005-05-12  Wim Taymans  <wim@fluendo.com>
13559
13560         * gst/base/gstbasesink.c: (gst_basesink_init),
13561         (gst_basesink_activate):
13562         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
13563         (gst_basesrc_is_seekable):
13564         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13565         (bin_element_is_sink), (gst_bin_change_state):
13566         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13567         * gst/gstelement.h:
13568         Identify sinks by their flag to avoid overly complicated
13569         checks (fow now).
13570         Do state changes even for elements not reachable from the
13571         sinks.
13572         BaseSink is a sink now :)
13573         Some more debugging info in the basesrc.
13574
13575
13576 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13577
13578         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
13579           Implement _query on a bin, similar to _send_event.
13580
13581 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13582
13583         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
13584           Discont event offset format should be GST_FORMAT_BYTES,
13585           not GST_FORMAT_TIME.
13586
13587 2005-05-12  Wim Taymans  <wim@fluendo.com>
13588
13589         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
13590         Same fix as Ronald's but without the signal. 
13591
13592 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13593
13594         * gst/gstutils.c: (gst_element_query_position):
13595           No, an element is not a pad.
13596
13597 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13598
13599         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
13600         (gst_bin_get_state):
13601           If a child is removed from a bin while we remove the child from
13602           the bin and while we're retrieving its state, signal this to the
13603           get_state function so we abort the wait (instead of waiting for
13604           a timeout) and can immediately re-iterate over all other elements.
13605
13606 2005-05-12  Wim Taymans  <wim@fluendo.com>
13607
13608         * gst/base/Makefile.am:
13609         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
13610         (gst_basesrc_start):
13611         * gst/base/gstbasesrc.h:
13612         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
13613         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
13614         (gst_pushsrc_init), (gst_pushsrc_create):
13615         * gst/base/gstpushsrc.h:
13616         Added is_seekable to BaseSrc
13617         Added simple PushSrc.
13618
13619 2005-05-11  Wim Taymans  <wim@fluendo.com>
13620
13621         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13622         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13623         (gst_element_link_pads), (gst_element_query_position),
13624         (gst_element_query_convert), (intersect_caps_func),
13625         (gst_pad_query_position), (gst_pad_query_convert):
13626         Fix refcounting in utils function.
13627         No point in trying to activate a pad when it's added, it could
13628         be added from the state change function and then we deadlock, the
13629         element has to decide what to do.
13630
13631 2005-05-10  Andy Wingo  <wingo@pobox.com>
13632
13633         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
13634         *all* the arguments.
13635
13636         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
13637         stream lock if it's a FLUSH_DONE; normal flushes don't get the
13638         lock (according to the docs -- if this is wrong change the docs).
13639
13640         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
13641         flush messages in the NULL state.
13642
13643         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
13644         message immediately and return.
13645         (gst_bus_set_flushing): New function. If a bus is flushing, it
13646         flushes out any queued messages and immediately unrefs new
13647         messages. This is so when an element goes to NULL, all of the
13648         unhandled messages coming from it can be freed, and their
13649         references to the element dropped. In other words: message source
13650         ref considered harmful :P
13651
13652         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
13653         we're finished with it.
13654
13655         * gst/gstmessage.c (gst_message_new_state_changed): 
13656
13657 2005-05-10  Wim Taymans  <wim@fluendo.com>
13658
13659         * gst/gstvalue.c: (gst_value_compare_flags),
13660         (gst_value_serialize_flags), (gst_value_deserialize_flags),
13661         (_gst_value_initialize):
13662         Added flags serialize/deserialize/compare code.
13663
13664 2005-05-09  Andy Wingo  <wingo@pobox.com>
13665
13666         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
13667         Intersect the peer's caps with our caps.
13668
13669 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13670
13671         * gst/base/gsttypefindhelper.c: (helper_find_peek):
13672         * gst/elements/gsttypefindelement.c: (find_peek):
13673           Handle negative offsets better. Fixes decodebin.
13674
13675 2005-05-09  Wim Taymans  <wim@fluendo.com>
13676
13677         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
13678         (gst_base_transform_event):
13679         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
13680         Implement accept_caps.
13681         Fix silly lock/unlock mismatch in base class.
13682
13683 2005-05-09  Wim Taymans  <wim@fluendo.com>
13684
13685         * docs/design/draft-push-pull.txt:
13686         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
13687         * gst/elements/gstfilesink.c: (gst_filesink_init),
13688         (gst_filesink_query):
13689         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13690         (gst_type_find_handle_src_query), (find_element_get_length):
13691         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
13692         * gst/gstelement.h:
13693         * gst/gstmessage.c:
13694         * gst/gstmessage.h:
13695         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
13696         (gst_real_pad_get_caps_unlocked),
13697         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
13698         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13699         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
13700         (gst_real_pad_dispose), (gst_real_pad_finalize),
13701         (gst_pad_load_and_link), (gst_pad_save_thyself),
13702         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
13703         (gst_pad_check_pull_range), (gst_pad_pull_range),
13704         (gst_pad_template_get_type), (gst_pad_template_class_init),
13705         (gst_pad_template_init), (gst_pad_template_dispose),
13706         (name_is_valid), (gst_static_pad_template_get),
13707         (gst_pad_template_new), (gst_static_pad_template_get_caps),
13708         (gst_pad_template_get_caps), (gst_pad_set_element_private),
13709         (gst_pad_get_element_private), (gst_pad_start_task),
13710         (gst_pad_pause_task), (gst_pad_stop_task),
13711         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
13712         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
13713         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
13714         (gst_ghost_pad_new):
13715         * gst/gstpad.h:
13716         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
13717         (gst_query_new_position), (gst_query_set_position),
13718         (gst_query_parse_position), (gst_query_new_convert),
13719         (gst_query_set_convert), (gst_query_parse_convert):
13720         * gst/gstquery.h:
13721         * gst/gstqueryutils.c:
13722         * gst/gstqueryutils.h:
13723         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13724         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13725         (gst_queue_handle_src_query):
13726         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13727         (gst_element_query_position), (gst_element_query_convert),
13728         (intersect_caps_func), (gst_pad_query_position),
13729         (gst_pad_query_convert):
13730         * gst/gstutils.h:
13731         * tools/gst-inspect.c: (print_pad_info):
13732         * tools/gst-xmlinspect.c: (print_element_info):
13733         Remove old query functions. Ported old code.
13734         Added position/convert helper functions to gstutils.
13735         Reordered gstpad.c code, grouping relevant things.
13736         Remove gst_message_new(), always need to speficy a specific
13737         message.
13738
13739
13740 2005-05-09  Andy Wingo  <wingo@pobox.com>
13741
13742         * gst/gstiterator.h: Add some includes.
13743
13744         * gst/gstqueryutils.h: Include more headers.
13745
13746         * gst/gstpad.h:
13747         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
13748         some uses of gst_pad_query.
13749
13750         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
13751         NULL out parameters.
13752         (gst_query_new_position): New proc, allocates a new position
13753         query.
13754
13755         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
13756         gstqueryutils.c to the build.
13757
13758         * gst/gststructure.c (gst_structure_set_valist): Implement with
13759         the generic G_VALUE_COLLECT.
13760         
13761 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
13762
13763         * gst/Makefile.am: (gst_headers):
13764         Added gstqueryutils.h to the list of headers to install, that was
13765         a 'nachty' move wingo :)
13766
13767 2005-05-06  Andy Wingo  <wingo@pobox.com>
13768
13769         * gst/gstquery.h
13770         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
13771         GstData, init a memchunk.
13772         (standard_definitions): Add a few query types, deprecate a few.
13773         (gst_query_get_type): New proc.
13774         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
13775         implementation.
13776         (gst_query_new_application, gst_query_get_structure): New public
13777         procs.
13778
13779         * docs/design/draft-query.txt: Removed LINKS from the query types,
13780         because all the rest can be dispatched to other pads -- seemed
13781         ugly to have a query that couldn't be dispatched. internal_links
13782         is fine as a pad method.
13783
13784         * gst/gstpad.h: Add query2 as a pad method, add the new functions
13785         in gstpad.c, but maintain binary compatibility for the moment.
13786         Will fix before 0.9 is out.
13787
13788         * gst/gstqueryutils.c: 
13789         * gst/gstqueryutils.h: New files, implement 3 methods for each
13790         query type: parse_query, parse_response, and set. Probably need an
13791         allocator as well.
13792
13793         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
13794
13795         * gst/elements/gstfilesink.c (gst_filesink_query2):
13796         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
13797         query_types, and formats methods.
13798
13799         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
13800         (gst_pad_set_query2_function): New functions.
13801         (gst_real_pad_init): Set query2_default as the default query2
13802         function. Basically just dispatches to internally linked pads.
13803
13804         Needs review!
13805         
13806         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
13807         without using the atomic operations. Only one thread can possibly
13808         be accessing the data at this point. Changed so as to avoid
13809         gst_atomic operations.
13810
13811 2005-05-06  Wim Taymans  <wim@fluendo.com>
13812
13813         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
13814         Also set caps if we use the fallback buffer alloc.
13815
13816 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
13817
13818         * docs/gst/Makefile.am:
13819         * docs/gst/gstreamer-docs.sgml:
13820         * docs/gst/gstreamer-sections.txt:
13821         * docs/gst/tmpl/gstatomic.sgml:
13822         * docs/gst/tmpl/gstmemchunk.sgml:
13823         * testsuite/elements/struct_i386.h:
13824         * win32/GStreamer.vcproj:
13825         * win32/Makefile:
13826           Purge GstAtomic stuff from docs and win32 makefiles as well
13827
13828 2005-05-06  Wim Taymans  <wim@fluendo.com>
13829
13830         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
13831         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
13832         * gst/gstpad.c: (gst_pad_peer_get_caps):
13833         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13834         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13835         (gst_queue_src_activate), (gst_queue_change_state):
13836         * gst/gstqueue.h:
13837         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13838         (intersect_caps_func):
13839         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
13840         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
13841         Some fixes for the peer_get_caps() change.
13842
13843 2005-05-06  Wim Taymans  <wim@fluendo.com>
13844
13845         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13846         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
13847         (gst_basesink_activate):
13848         Actually do something with error codes returned from the push
13849         functions.
13850
13851 2005-05-06  Wim Taymans  <wim@fluendo.com>
13852
13853         * docs/design/part-element-sink.txt:
13854         * docs/design/part-element-source.txt:
13855         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13856         (gst_basesink_event), (gst_basesink_activate):
13857         * gst/base/gstbasesink.h:
13858         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
13859         (gst_basesrc_activate):
13860         * gst/base/gstbasesrc.h:
13861         * gst/gstelement.c: (gst_element_pads_activate):
13862         Some more documentation.
13863         Fixed scheduling decision in _pads_activate().
13864
13865 2005-05-05  Andy Wingo  <wingo@pobox.com>
13866
13867         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
13868         the test suite.
13869
13870 2005-05-05  Wim Taymans  <wim@fluendo.com>
13871
13872         * gst/base/Makefile.am:
13873         * gst/base/gstbasesink.h:
13874         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13875         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
13876         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
13877         (gst_collectpads_class_init), (gst_collectpads_init),
13878         (gst_collectpads_finalize), (gst_collectpads_new),
13879         (gst_collectpads_set_function), (gst_collectpads_add_pad),
13880         (find_pad), (gst_collectpads_remove_pad),
13881         (gst_collectpads_is_active), (gst_collectpads_collect),
13882         (gst_collectpads_collect_range), (gst_collectpads_start),
13883         (gst_collectpads_stop), (gst_collectpads_peek),
13884         (gst_collectpads_pop), (gst_collectpads_available),
13885         (gst_collectpads_read), (gst_collectpads_flush),
13886         (gst_collectpads_chain):
13887         * gst/base/gstcollectpads.h:
13888         * gst/elements/Makefile.am:
13889         * gst/elements/gstelements.c:
13890         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13891         (gst_fakesink_get_times), (gst_fakesink_event),
13892         (gst_fakesink_preroll), (gst_fakesink_render):
13893         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13894         (gst_filesink_init), (gst_filesink_set_location),
13895         (gst_filesink_open_file), (gst_filesink_close_file),
13896         (gst_filesink_pad_query), (gst_filesink_event),
13897         (gst_filesink_render), (gst_filesink_change_state):
13898         * gst/elements/gstfilesink.h:
13899         Added object to help in making collect pad based elements.
13900         Ported filesink.
13901         Make event function in sink baseclass return gboolean.
13902
13903 2005-05-05  Wim Taymans  <wim@fluendo.com>
13904
13905         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
13906         (gst_bin_get_by_name):
13907         * gst/gstbuffer.h:
13908         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
13909         (gst_clock_finalize):
13910         * gst/gstdata.c: (gst_data_replace):
13911         * gst/gstdata.h:
13912         * gst/gstelement.c: (gst_element_request_pad),
13913         (gst_element_pads_activate):
13914         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13915         (gst_object_unref):
13916         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13917         (gst_pad_set_checkgetrange_function),
13918         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
13919         (gst_pad_check_pull_range), (gst_pad_pull_range),
13920         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13921         (gst_pad_pause_task), (gst_pad_stop_task):
13922         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13923         (gst_element_request_pad), (gst_pad_proxy_getcaps):
13924         Fix name lookup in GstBin.
13925         Added _data_replace() function and _buffer_replace()
13926         Use finalize method to clean up clock.
13927         Fix refcounting on request pads.
13928         Fix pad schedule mode error.
13929         Some more object refcounting debug info,
13930
13931
13932 2005-05-04  Andy Wingo <wingo@pobox.com>
13933
13934         * check/Makefile.am:
13935         * docs/gst/tmpl/gstatomic.sgml:
13936         * docs/gst/tmpl/gstplugin.sgml:
13937         * gst/base/gstbasesink.c: (gst_basesink_activate):
13938         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
13939         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
13940         (gst_basesrc_query), (gst_basesrc_set_property),
13941         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
13942         (gst_basesrc_activate):
13943         * gst/base/gstbasesrc.h:
13944         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
13945         (gst_base_transform_src_activate):
13946         * gst/elements/gstelements.c:
13947         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13948         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13949         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13950         * gst/elements/gsttypefindelement.c: (find_element_get_length),
13951         (gst_type_find_element_checkgetrange),
13952         (gst_type_find_element_activate):
13953         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
13954         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
13955         (gst_caps_load_thyself):
13956         * gst/gstelement.c: (gst_element_pads_activate),
13957         (gst_element_save_thyself), (gst_element_restore_thyself):
13958         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
13959         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
13960         * gst/gstpad.h:
13961         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
13962         (gst_xml_parse_file), (gst_xml_parse_memory),
13963         (gst_xml_get_element), (gst_xml_make_element):
13964         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13965         (_file_index_id_save_xml), (gst_file_index_commit):
13966         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13967         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13968         (load_paths):
13969         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13970         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13971         * tools/gst-complete.c: (main):
13972         * tools/gst-compprep.c: (main):
13973         * tools/gst-inspect.c: (print_element_properties_info):
13974         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13975         * tools/gst-xmlinspect.c: (print_element_properties):
13976         GCC 4 fixen.
13977         
13978 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13979
13980         * gst/gstplugin.c: (gst_plugin_check_module),
13981         (gst_plugin_check_file), (gst_plugin_load_file):
13982             apply patch from #172526 to make register work on MacOSX
13983
13984 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13985
13986         * docs/gst/tmpl/gstconfig.sgml:
13987         * gst/gstconfig.h.in:
13988           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13989         * testsuite/debug/printf_extension.c: (main):
13990           Do not use GST_PTR_FORMAT on pointers to types with
13991           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13992         * testsuite/elements/property.h:
13993           use correct printf format
13994
13995 2005-05-02  Wim Taymans  <wim@fluendo.com>
13996
13997         * docs/design/draft-push-pull.txt:
13998         * docs/design/draft-query.txt:
13999         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
14000         (gst_basesrc_start):
14001         Added draft for new query API.
14002         Added draft for better selecting scheduling methods.
14003         Make basesrc ignore length if the subclass does not support
14004         it.
14005
14006 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14007
14008         * gst/Makefile.am:
14009           possible fixes for automake-1.5 - _LIBADD is reserved
14010
14011 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14012
14013         * docs/faq/Makefile.am:
14014         * docs/manual/Makefile.am:
14015         * docs/manuals.mak:
14016         * docs/pwg/Makefile.am:
14017         * gst/Makefile.am:
14018           possible fixes for automake-1.5
14019
14020 2005-04-28  Wim Taymans  <wim@fluendo.com>
14021
14022         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14023         (gst_basesink_pad_getcaps), (gst_basesink_init),
14024         (gst_basesink_do_sync):
14025         * gst/gstclock.c: (gst_clock_entry_new):
14026         * gst/gstevent.c: (gst_event_discont_get_value):
14027         * gst/gstpipeline.c: (pipeline_bus_handler),
14028         (gst_pipeline_change_state):
14029         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14030         Better debugging of clocking info.
14031         Allow NULL values when getting discont values.
14032
14033 2005-04-27  Wim Taymans  <wim@fluendo.com>
14034
14035         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14036         * check/gst/gstpad.c: (gst_pad_suite):
14037         Increase timeout for checks.
14038
14039 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14040
14041         * check/Makefile.am:
14042           fix the broken rule for cleanup.  Apparently this rule is
14043           only needed on FC2, so maybe this warrants further autotool
14044           inspection.
14045
14046 2005-04-26  Wim Taymans  <wim@fluendo.com>
14047
14048         * gst/gsttrashstack.h:
14049         Ooohh. a nasty one! After having a failed pop() from the stack,
14050         it's possible that the stack is empty. In that case, don't
14051         follow the NULL pointer.
14052
14053 2005-04-25  Wim Taymans  <wim@fluendo.com>
14054
14055         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14056         (gst_pad_set_checkgetrange_function),
14057         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
14058         (gst_pad_check_pull_range), (gst_pad_pull_range),
14059         (gst_static_pad_template_get_caps), (gst_pad_start_task),
14060         (gst_pad_pause_task), (gst_pad_stop_task):
14061         * gst/gstplugin.c: (gst_plugin_load):
14062         * gst/gstplugin.h:
14063         Remove gst_library_load as it does more harm than good with
14064         the new g_module flags.
14065         Revert bogus caps template check in pad linking, pad caps
14066         are important when linking not the template, which is more
14067         general than the current caps.
14068
14069 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14070
14071         * gst/autoplug/.cvsignore:
14072         * gst/autoplug/Makefile.am:
14073         * gst/autoplug/gstsearchfuncs.c:
14074         * gst/autoplug/gstsearchfuncs.h:
14075         * gst/autoplug/gstspider.c:
14076         * gst/autoplug/gstspider.h:
14077         * gst/autoplug/gstspideridentity.c:
14078         * gst/autoplug/gstspideridentity.h:
14079         * gst/autoplug/spidertest.c:
14080           Die, spider, die.
14081
14082 2005-04-25  Wim Taymans  <wim@fluendo.com>
14083
14084         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14085         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14086         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
14087         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
14088         * gst/gstpad.h:
14089         Added stubs for unimplemented functions. 
14090
14091 2005-04-24  David Schleef  <ds@schleef.org>
14092
14093         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
14094         please fix.
14095
14096 2005-04-24  David Schleef  <ds@schleef.org>
14097
14098         Convert everything from GstAtomicInt to g_atomic_int_*, and
14099         remove gstatomic.
14100         * gst/Makefile.am:
14101         * gst/gstatomic.c:
14102         * gst/gstatomic.h:
14103         * gst/gstatomic_impl.h:
14104         * gst/gstbuffer.c:
14105         * gst/gstcaps.c:
14106         * gst/gstcaps.h:
14107         * gst/gstclock.c:
14108         * gst/gstclock.h:
14109         * gst/gstdata.c:
14110         * gst/gstdata.h:
14111         * gst/gstdata_private.h:
14112         * gst/gstevent.c:
14113         * gst/gstinfo.c:
14114         * gst/gstinfo.h:
14115         * gst/gstmessage.c:
14116         * gst/gstobject.c:
14117         * gst/gstobject.h:
14118         * gst/gststructure.c:
14119         * gst/gststructure.h:
14120         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
14121         * gst/gstutils.h:
14122
14123 2005-04-24  David Schleef  <ds@schleef.org>
14124
14125         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
14126         make the regressions tests work.  Remove some code that is no
14127         longer true.
14128         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
14129         Disable warning for pads without templates.
14130
14131 2005-04-24  David Schleef  <ds@schleef.org>
14132
14133         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
14134         functions that handle filtered links.
14135         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
14136         removed functions.
14137         * gst/gstutils.c: Fix/remove utility functions that handle
14138         filtered caps.
14139         * gst/gstutils.h:
14140         * gst/gstvalue.c: Add serialization/deserialization of caps
14141         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
14142         requires fixing so that the filter caps notation creates
14143         a capsfilter element and sets the filter_caps property.  I
14144         think everyone probably wants to keep the shorthand notation.
14145         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
14146         * docs/gst/tmpl/gstpad.sgml:
14147
14148         * gst/elements/gstelements.c: Register capsfilter element.
14149         * gst/Makefile.am: fix spacing
14150         * docs/random/ds/0.9-suggested-changes: random
14151
14152 2005-04-23  David Schleef  <ds@schleef.org>
14153
14154         * gst/elements/Makefile.am:
14155         * gst/elements/gstcapsfilter.c: New element that acts like an
14156         identity, but filters caps.  Will eventually replace filtered
14157         caps in pad linking.
14158         * gst/gstutils.c: (gst_element_create_all_pads): New function
14159         to create all the ALWAYS pads that are registered with an
14160         element class.  This functionality should eventually be
14161         merged in with GstElement initialization.
14162         * gst/gstutils.h:
14163         * testsuite/trigger/README: part of trigger test code that should
14164         have been checked in a long time ago.
14165
14166 2005-04-23  David Schleef  <ds@schleef.org>
14167
14168         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
14169         needed with new versions of libtool (nobody will confirm this),
14170         and hard to carry around.
14171         * gst/autoplug/Makefile.am:
14172         * gst/base/Makefile.am:
14173         * gst/elements/Makefile.am:
14174         * gst/indexers/Makefile.am:
14175         * gst/schedulers/Makefile.am:
14176         * libs/gst/bytestream/Makefile.am:
14177         * libs/gst/control/Makefile.am:
14178         * libs/gst/dataprotocol/Makefile.am:
14179         * libs/gst/getbits/Makefile.am:
14180
14181 2005-04-21  Wim Taymans  <wim@fluendo.com>
14182
14183         * docs/design/draft-push-pull.txt:
14184         * docs/design/part-MT-refcounting.txt:
14185         * docs/design/part-TODO.txt:
14186         * docs/design/part-caps.txt:
14187         * docs/design/part-events.txt:
14188         * docs/design/part-gstbus.txt:
14189         * docs/design/part-gstpipeline.txt:
14190         * docs/design/part-messages.txt:
14191         * docs/design/part-push-pull.txt:
14192         * docs/design/part-query.txt:
14193         Some more docs.
14194
14195 2005-04-21  Wim Taymans  <wim@fluendo.com>
14196
14197         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
14198         (gst_message_new), (gst_message_new_error),
14199         (gst_message_new_warning), (gst_message_new_tag),
14200         (gst_message_new_state_changed), (gst_message_new_application),
14201         (gst_message_get_structure):
14202         * gst/gstmessage.h:
14203         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14204         (gst_structure_copy_conditional):
14205         Use parent refcount in GstMessage to ensure GstStructure
14206         consistency.
14207         Cleaned up headers a bit.
14208         
14209
14210 2005-04-20  Wim Taymans  <wim@fluendo.com>
14211
14212         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14213         (gst_basesink_pad_getcaps), (gst_basesink_init),
14214         (gst_basesink_chain_unlocked):
14215         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
14216         (gst_type_find_helper):
14217         * gst/elements/gsttypefindelement.c:
14218         (gst_type_find_element_have_type), (gst_type_find_element_init),
14219         (stop_typefinding), (gst_type_find_element_handle_event),
14220         (find_suggest), (gst_type_find_element_chain),
14221         (gst_type_find_element_checkgetrange),
14222         (gst_type_find_element_getrange), (do_typefind),
14223         (gst_type_find_element_activate):
14224         * gst/gstbuffer.c: (_gst_buffer_sub_free),
14225         (gst_buffer_default_free), (gst_buffer_default_copy),
14226         (gst_buffer_set_caps):
14227         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
14228         (gst_caps_replace):
14229         * gst/gstmessage.c: (gst_message_new),
14230         (gst_message_new_state_changed):
14231         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14232         (gst_pad_set_checkgetrange_function),
14233         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
14234         (gst_pad_set_caps), (gst_pad_check_pull_range),
14235         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
14236         * gst/gstpad.h:
14237         * gst/gsttypefind.c: (gst_type_find_register):
14238         Make gst_caps_replace() work like other _replace() functions.
14239         Use _caps_replace() where possible.
14240         Make sure _message_new() initialises its field.
14241         Add gst_static_pad_template_get_caps()
14242
14243
14244 2005-04-18  Andy Wingo  <wingo@pobox.com>
14245
14246         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
14247         on the peer, not the pad. I think that was a typo. Pass an extra
14248         arg to see if random access is possible. Activate the pads as
14249         PULL_RANGE if possible.
14250
14251         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
14252
14253         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
14254         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
14255         to PROP_....
14256
14257 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14258
14259         * docs/faq/using.xml:
14260           Add note on gstreamer-properties (#154996).
14261
14262 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14263
14264         * docs/random/bbb/optional-properties:
14265           Some analysis on optional properties.
14266
14267 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14268
14269         * docs/gst/tmpl/gstelementfactory.sgml:
14270         * gst/gstelement.h:
14271         * gst/gstelementfactory.c: (gst_element_factory_init),
14272         (gst_element_factory_cleanup), (gst_element_register),
14273         (__gst_element_factory_add_static_pad_template),
14274         (gst_element_factory_get_static_pad_templates),
14275         (gst_element_factory_can_src_caps),
14276         (gst_element_factory_can_sink_caps):
14277         * gst/registries/Makefile.am:
14278         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
14279         (gst_xml_registry_class_init), (gst_xml_registry_init),
14280         (gst_xml_registry_new), (gst_xml_registry_set_property),
14281         (gst_xml_registry_get_property), (get_time), (make_dir),
14282         (gst_xml_registry_get_perms_func),
14283         (plugin_times_older_than_recurse), (plugin_times_older_than),
14284         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
14285         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
14286         (add_to_char_array), (read_string), (read_uint), (read_enum),
14287         (load_pad_template), (load_feature), (load_plugin), (load_paths),
14288         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
14289         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
14290         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
14291         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
14292         (gst_xml_registry_rebuild):
14293         * gst/registries/gstlibxmlregistry.h:
14294         * tools/gst-compprep.c: (main):
14295         * tools/gst-inspect.c: (print_pad_templates_info):
14296         * tools/gst-xmlinspect.c: (print_element_info):
14297           Use libxml2 for registry parsing, use staticpadtemplates in
14298           elementfactories. Makes gst_init() +/- 10x faster.
14299
14300 2005-04-12  Wim Taymans  <wim@fluendo.com>
14301
14302         * gst/base/Makefile.am:
14303         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14304         (gst_basesink_pad_getcaps), (gst_basesink_init),
14305         (gst_basesink_event), (gst_basesink_change_state):
14306         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14307         (gst_basesrc_init), (gst_basesrc_query),
14308         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14309         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14310         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14311         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14312         (gst_basesrc_stop), (gst_basesrc_activate),
14313         (gst_basesrc_change_state):
14314         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14315         (helper_find_suggest), (gst_type_find_helper):
14316         * gst/base/gsttypefindhelper.h:
14317         * gst/elements/Makefile.am:
14318         * gst/elements/gstelements.c:
14319         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14320         (gst_fakesink_get_times), (gst_fakesink_event),
14321         (gst_fakesink_preroll), (gst_fakesink_render):
14322         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14323         (gst_fakesrc_init), (gst_fakesrc_event_handler),
14324         (gst_fakesrc_get_property), (gst_fakesrc_create),
14325         (gst_fakesrc_start), (gst_fakesrc_stop):
14326         * gst/elements/gstfakesrc.h:
14327         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
14328         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14329         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14330         (gst_filesrc_create_read), (gst_filesrc_create),
14331         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
14332         (gst_filesrc_start):
14333         * gst/elements/gsttypefindelement.c:
14334         (gst_type_find_element_have_type), (gst_type_find_element_init),
14335         (start_typefinding), (stop_typefinding), (push_buffer_store),
14336         (gst_type_find_element_handle_event),
14337         (gst_type_find_element_chain),
14338         (gst_type_find_element_checkgetrange),
14339         (gst_type_find_element_getrange), (do_typefind),
14340         (gst_type_find_element_activate),
14341         (gst_type_find_element_change_state):
14342         * gst/elements/gsttypefindelement.h:
14343         * gst/gstpipeline.c: (pipeline_bus_handler):
14344         Added typefind helper.
14345         Small preroll fix in the base sink.
14346         Disable typefind code in basesrc.
14347         Crude port of typefindelement.
14348         Fakesrc cleanups.
14349
14350
14351 2005-04-11  Wim Taymans  <wim@fluendo.com>
14352
14353         * check/gst/gstbus.c: (gstbus_suite):
14354         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
14355         * check/gstcheck.h:
14356           Fix up the timeout so that the test does not fail.
14357
14358 2005-04-06  Wim Taymans  <wim@fluendo.com>
14359
14360         * gst/base/README:
14361         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14362         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
14363         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14364         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14365         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14366         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14367         (gst_basesrc_stop), (gst_basesrc_activate),
14368         (gst_basesrc_change_state), (basesrc_find_peek),
14369         (basesrc_find_suggest), (gst_basesrc_type_find):
14370         * gst/base/gstbasesrc.h:
14371         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
14372         (gst_filesrc_class_init), (gst_filesrc_init),
14373         (gst_filesrc_finalize), (gst_filesrc_set_location),
14374         (gst_filesrc_set_property), (gst_filesrc_get_property),
14375         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14376         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14377         (gst_filesrc_create_read), (gst_filesrc_create),
14378         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
14379         * gst/elements/gstfilesrc.h:
14380         * gst/gstelement.c: (gst_element_get_state_func),
14381         (gst_element_lost_state), (gst_element_pads_activate):
14382         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14383         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14384         (gst_pad_pull_range):
14385         * gst/gstpad.h:
14386         More work on the generic source base class, implement seeking,
14387         query.
14388         Make filesrc extend the base source class.
14389         Added gst_pad_set_checkgetrange_function to GstPad.
14390
14391 2005-04-06  Andy Wingo  <wingo@pobox.com>
14392
14393         * pkgconfig/gstreamer-base.pc.in:
14394         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
14395
14396         * pkgconfig/Makefile.am:
14397         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
14398
14399 2005-04-04  Wim Taymans  <wim@fluendo.com>
14400
14401         * gst/base/Makefile.am:
14402         * gst/base/README:
14403         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14404         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14405         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14406         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
14407         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14408         (gst_basesrc_base_init), (gst_basesrc_class_init),
14409         (gst_basesrc_init), (gst_basesrc_get_formats),
14410         (gst_basesrc_get_query_types), (gst_basesrc_query),
14411         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
14412         (gst_basesrc_set_property), (gst_basesrc_get_property),
14413         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
14414         (gst_basesrc_loop), (gst_basesrc_activate),
14415         (gst_basesrc_change_state):
14416         * gst/base/gstbasesrc.h:
14417         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
14418         (gst_fakesrc_class_init), (gst_fakesrc_init),
14419         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
14420         (gst_fakesrc_get_property), (gst_fakesrc_create):
14421         * gst/elements/gstfakesrc.h:
14422         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
14423         (gst_filesrc_open_file), (gst_filesrc_loop),
14424         (gst_filesrc_activate), (filesrc_find_peek),
14425         (gst_filesrc_type_find):
14426         Made base source class, make fakesrc extend it.
14427         Add comments to basesink class.
14428         Some filesrc cleanup.
14429
14430 2005-03-31  David Schleef  <ds@schleef.org>
14431
14432         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
14433         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
14434         expected to link against libgstreamer.
14435         * gst/base/Makefile.am: link against libgstreamer
14436         * gst/elements/Makefile.am: same
14437
14438 2005-03-31  Andy Wingo  <wingo@pobox.com>
14439
14440         * tests/instantiate/Makefile.am:
14441         * tests/instantiate/caps.c: Add test to test speed of caps copy
14442         and free.
14443
14444         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
14445         GMemChunk to be fair.
14446
14447         * gst/gsttrashstack.h: Remove warning about using the fallback
14448         trash stack implementation, it's still faster than malloc.
14449
14450 2005-03-30  Andy Wingo  <wingo@pobox.com>
14451
14452         * tests/complexity.c: Add a copyright.
14453
14454 2005-03-31  Wim Taymans  <wim@fluendo.com>
14455
14456         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
14457         (gst_base_transform_class_init), (gst_base_transform_init),
14458         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14459         (gst_base_transform_get_property),
14460         (gst_base_transform_sink_activate),
14461         (gst_base_transform_src_activate),
14462         (gst_base_transform_change_state):
14463         * gst/base/gstbasetransform.h:
14464         * gst/elements/gstidentity.c: (gst_identity_class_init),
14465         (gst_identity_event), (gst_identity_check_perfect),
14466         (gst_identity_transform), (gst_identity_start),
14467         (gst_identity_stop):
14468         Added start/stop methods to transform base class so subclasses 
14469         don't need to deal with state changes even.
14470
14471 2005-03-31  Wim Taymans  <wim@fluendo.com>
14472
14473         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
14474         (gst_event_new_discontinuous), (gst_event_discont_get_value):
14475         * gst/gstevent.h:
14476         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14477         (gst_pad_pull_range):
14478         Added rate to the discont event to prepare for variable speed
14479         and reverse playback.
14480
14481 2005-03-29  David Schleef  <ds@schleef.org>
14482
14483         * configure.ac:
14484         * testsuite/trigger/Makefile.am:
14485         * testsuite/trigger/trigger.c: A little example program to show
14486         how trigger-based elements can work.
14487
14488 2005-03-29  Wim Taymans  <wim@fluendo.com>
14489
14490         * gst/base/Makefile.am:
14491         * gst/base/README:
14492         * gst/base/gstbasesink.c: (gst_basesink_get_type),
14493         (gst_basesink_base_init), (gst_basesink_class_init),
14494         (gst_basesink_pad_getcaps), (gst_basesink_init),
14495         (gst_basesink_activate), (gst_basesink_change_state):
14496         * gst/base/gstbasesink.h:
14497         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
14498         (gst_base_transform_base_init), (gst_base_transform_finalize),
14499         (gst_base_transform_class_init), (gst_base_transform_init),
14500         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
14501         (gst_base_transform_event), (gst_base_transform_getrange),
14502         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
14503         (gst_base_transform_set_property),
14504         (gst_base_transform_get_property),
14505         (gst_base_transform_sink_activate),
14506         (gst_base_transform_src_activate),
14507         (gst_base_transform_change_state):
14508         * gst/base/gstbasetransform.h:
14509         * gst/elements/gstidentity.c: (gst_identity_finalize),
14510         (gst_identity_class_init), (gst_identity_init),
14511         (gst_identity_event), (gst_identity_check_perfect),
14512         (gst_identity_transform), (gst_identity_set_property),
14513         (gst_identity_get_property), (gst_identity_change_state):
14514         * gst/elements/gstidentity.h:
14515         * gst/gstelement.c: (gst_element_get_state_func),
14516         (gst_element_lost_state), (gst_element_pads_activate):
14517         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14518         (gst_pad_check_pull_range), (gst_pad_pull_range):
14519         * gst/gstpad.h:
14520         Simplify pad activation.
14521         Added function to check if pull_range can be performed.
14522         Error out when pulling inactive or flushing pads.
14523         Removed const from refcounted types as it does not make sense.
14524         Simplify pad templates in basesink
14525         Added base class for simple 1-to-1 transforms.
14526         Make identity subclass the base transform.
14527
14528 2005-03-29  Andy Wingo  <wingo@pobox.com>
14529
14530         * docs/libs/gstreamer-libs-overrides.txt: 
14531         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
14532         really don't understand what's going on, but like whatever. I want
14533         green buildbot!
14534
14535         * docs/gst/Makefile.am:
14536         * docs/libs/Makefile.am: Dist the overrides files.
14537
14538         * check/Makefile.am (clean-local): Remove .libs directories.
14539
14540         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
14541         elements to EXTRA_DIST, so po/ files are happy.
14542
14543         * po/POTFILES.in: Er, remove it here.
14544
14545         * po/POTFILES: Remove gstspider.c.
14546
14547         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
14548
14549         * docs/libs/gstreamer-libs-docs.sgml: 
14550         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
14551         bytestream.
14552
14553         * tests/complexity.c (main): Set the length of the preroll queue
14554         on the sinks to prevent a lockup.
14555
14556         * libs/gst/dataprotocol/Makefile.am: 
14557         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
14558         the same as the one in check/gst-libs/gdp.c.
14559
14560         * po/, docs/gst/: Commit automatic changes to docs and po files.
14561
14562         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
14563         the versioned libgstbase.
14564
14565         * check/Makefile.am: Depend on an unversioned gst-register, seems
14566         to make autoconf happier.
14567
14568         * gst/base/Makefile.am: Make libgstbase a versioned lib.
14569
14570 2005-03-28  Wim Taymans  <wim@fluendo.com>
14571
14572         * configure.ac:
14573         * docs/design/part-gstelement.txt:
14574         * docs/design/part-negotiation.txt:
14575         * docs/design/part-preroll.txt:
14576         * docs/design/part-scheduling.txt:
14577         * docs/design/part-states.txt:
14578         * gst/Makefile.am:
14579         * gst/base/Makefile.am:
14580         * gst/base/README:
14581         * gst/base/gstbasesink.c: (gst_basesink_get_template),
14582         (gst_basesink_base_init), (gst_basesink_class_init),
14583         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14584         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14585         (gst_basesink_set_pad_functions),
14586         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
14587         (gst_basesink_set_property), (gst_basesink_get_property),
14588         (gst_base_sink_get_template), (gst_base_sink_get_caps),
14589         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
14590         (gst_basesink_preroll_queue_push),
14591         (gst_basesink_preroll_queue_empty),
14592         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
14593         (gst_basesink_event), (gst_basesink_get_times),
14594         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
14595         (gst_basesink_chain_unlocked), (gst_basesink_chain),
14596         (gst_basesink_loop), (gst_basesink_activate),
14597         (gst_basesink_change_state):
14598         * gst/base/gstbasesink.h:
14599         * gst/elements/Makefile.am:
14600         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
14601         (gst_fakesink_class_init), (gst_fakesink_init),
14602         (gst_fakesink_set_property), (gst_fakesink_get_property),
14603         (gst_fakesink_get_times), (gst_fakesink_event),
14604         (gst_fakesink_preroll), (gst_fakesink_render),
14605         (gst_fakesink_change_state):
14606         * gst/elements/gstfakesink.h:
14607         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14608         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
14609         * gst/gstelement.c: (gst_element_add_pad),
14610         (gst_element_get_state_func), (gst_element_abort_state),
14611         (gst_element_commit_state), (gst_element_lost_state),
14612         (gst_element_set_state), (gst_element_pads_activate):
14613         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
14614         * gst/gstpipeline.c: (gst_pipeline_send_event),
14615         (gst_pipeline_change_state):
14616         Added state change code.
14617         Added/updated docs.
14618         Added sink base class, make fakesink extend the base class.
14619         Small cleanups in GstPipeline.
14620
14621 2005-03-26  David Schleef  <ds@schleef.org>
14622
14623         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
14624         is broken and should be implemented in a different library.
14625         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
14626         * gst/gst.h: remove gstcpu.h
14627         * gst/gstcpu.c: remove
14628         * gst/gstcpu.h: remove
14629         * gst/Makefile.am.future: Remove this file.  It's ancient.
14630
14631 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14632
14633         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14634         (gst_bin_send_event):
14635           Add default event/set_manager handlers. The set_manager handler
14636           takes care that the manager is distributed over kids that were
14637           already in the bin before the manager was set. The event handler
14638           is a utility virtual function that sends the event over all sinks,
14639           so that gst_element_send_event (bin, event); has the expected
14640           behaviour.
14641         * gst/gstpad.c: (gst_pad_event_default):
14642           Re-install default event handling for discontinuities, so that
14643           seeking works without requiring hacks in applications or extra
14644           code in sinks.
14645         * gst/gstpipeline.c: (gst_pipeline_class_init),
14646         (gst_pipeline_send_event):
14647           Half hack, half utility: set a pipeline to PAUSED for seek events,
14648           since that is the only way we can guarantee a/v sync. Means that
14649           you can do gst_element_seek (pipeline, method, pos); on a pipeline
14650           and it "just works".
14651
14652 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14653
14654         * gst/gstpipeline.c: (gst_pipeline_use_clock):
14655           Lock/unlock mismatch.
14656
14657 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14658
14659         * docs/faq/gst-uninstalled:
14660           add gst-plugins-base
14661         * docs/gst/Makefile.am:
14662           don't error out until docs are fixed
14663         * docs/gst/gstreamer.types:
14664           remove thread
14665
14666 2005-03-22  Wim Taymans  <wim@fluendo.com>
14667
14668         * check/Makefile.am:
14669         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
14670         * gst/gststructure.c: (gst_structure_set_valist),
14671         (gst_structure_copy_conditional):
14672         Activated more tests.
14673         Added message test.
14674         Added G_TYPE_POINTER to GstStructure.
14675         
14676
14677 2005-03-22  Wim Taymans  <wim@fluendo.com>
14678
14679         * docs/design/part-TODO.txt:
14680         * docs/design/part-events.txt:
14681         * docs/design/part-gstbin.txt:
14682         * docs/design/part-gstbus.txt:
14683         * docs/design/part-gstpipeline.txt:
14684         * docs/design/part-messages.txt:
14685         * gst/gstbus.c:
14686         * gst/gstmessage.c:
14687         Docs updates
14688
14689 2005-03-21  Wim Taymans  <wim@fluendo.com>
14690
14691         * gst/gstbus.c: (gst_bus_post):
14692         Fix copy-and-paste error.
14693
14694 2005-03-21  Wim Taymans  <wim@fluendo.com>
14695
14696         * check/Makefile.am:
14697         * gst/Makefile.am:
14698         * gst/elements/Makefile.am:
14699         * gst/elements/gstelements.c:
14700         * gst/elements/gstfakesink.c: (gst_fakesink_init),
14701         (gst_fakesink_event), (gst_fakesink_chain):
14702         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14703         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
14704         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
14705         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
14706         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14707         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
14708         (gst_fakesrc_loop), (gst_fakesrc_activate),
14709         (gst_fakesrc_change_state):
14710         * gst/elements/gstfakesrc.h:
14711         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
14712         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
14713         (gst_filesrc_open_file), (gst_filesrc_loop),
14714         (gst_filesrc_activate), (gst_filesrc_change_state),
14715         (filesrc_find_peek), (filesrc_find_suggest),
14716         (gst_filesrc_type_find):
14717         * gst/elements/gstidentity.c: (gst_identity_finalize),
14718         (gst_identity_class_init), (gst_identity_init),
14719         (gst_identity_proxy_getcaps), (identity_queue_push),
14720         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
14721         (gst_identity_getrange), (gst_identity_chain),
14722         (gst_identity_sink_loop), (gst_identity_src_loop),
14723         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
14724         (gst_identity_set_property), (gst_identity_get_property),
14725         (gst_identity_change_state):
14726         * gst/elements/gstidentity.h:
14727         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
14728         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
14729         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
14730         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
14731         (gst_tee_sink_activate):
14732         * gst/elements/gsttee.h:
14733         * gst/gst.c: (gst_register_core_elements), (init_post):
14734         * gst/gst.h:
14735         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
14736         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
14737         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
14738         (gst_bin_change_state):
14739         * gst/gstbin.h:
14740         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
14741         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
14742         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
14743         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
14744         (gst_bus_set_sync_handler), (gst_bus_create_watch),
14745         (bus_watch_callback), (bus_watch_destroy),
14746         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
14747         (poll_timeout), (gst_bus_poll):
14748         * gst/gstbus.h:
14749         * gst/gstcaps.h:
14750         * gst/gstdata.h:
14751         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14752         (gst_element_post_message), (gst_element_message_full),
14753         (gst_element_get_state_func), (gst_element_get_state),
14754         (gst_element_abort_state), (gst_element_commit_state),
14755         (gst_element_lost_state), (gst_element_set_state),
14756         (gst_element_pads_activate), (gst_element_change_state),
14757         (gst_element_dispose), (gst_element_set_manager_func),
14758         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
14759         (gst_element_set_manager), (gst_element_get_manager),
14760         (gst_element_set_bus), (gst_element_get_bus),
14761         (gst_element_set_scheduler), (gst_element_get_scheduler):
14762         * gst/gstelement.h:
14763         * gst/gstevent.c: (gst_event_new_segment_seek),
14764         (gst_event_new_flush):
14765         * gst/gstevent.h:
14766         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
14767         (_gst_message_free), (gst_message_get_type), (gst_message_new),
14768         (gst_message_new_eos), (gst_message_new_error),
14769         (gst_message_new_warning), (gst_message_new_tag),
14770         (gst_message_new_state_changed), (gst_message_new_application),
14771         (gst_message_get_structure), (gst_message_parse_tag),
14772         (gst_message_parse_state_changed), (gst_message_parse_error),
14773         (gst_message_parse_warning):
14774         * gst/gstmessage.h:
14775         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
14776         (gst_real_pad_set_property), (gst_pad_set_active),
14777         (gst_pad_is_active), (gst_pad_set_blocked_async),
14778         (gst_pad_set_blocked), (gst_pad_is_blocked),
14779         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
14780         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
14781         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
14782         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
14783         (gst_pad_link_filtered), (gst_pad_relink_filtered),
14784         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
14785         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
14786         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
14787         (gst_pad_set_caps), (gst_pad_configure_sink),
14788         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
14789         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
14790         (gst_real_pad_dispose), (gst_real_pad_finalize),
14791         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
14792         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14793         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
14794         * gst/gstpad.h:
14795         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
14796         (pipeline_bus_handler), (gst_pipeline_change_state),
14797         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
14798         * gst/gstpipeline.h:
14799         * gst/gstprobe.h:
14800         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14801         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
14802         (gst_queue_link_src), (gst_queue_bufferalloc),
14803         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14804         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
14805         (gst_queue_loop), (gst_queue_handle_src_event),
14806         (gst_queue_handle_src_query), (gst_queue_src_activate),
14807         (gst_queue_change_state):
14808         * gst/gstqueue.h:
14809         * gst/gstscheduler.c: (gst_scheduler_init),
14810         (gst_scheduler_dispose), (gst_scheduler_create_task),
14811         (gst_scheduler_factory_create):
14812         * gst/gstscheduler.h:
14813         * gst/gststructure.c: (gst_structure_get_type),
14814         (gst_structure_copy_conditional):
14815         * gst/gststructure.h:
14816         * gst/gsttaginterface.h:
14817         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14818         (gst_task_init), (gst_task_dispose), (gst_task_create),
14819         (gst_task_get_state), (gst_task_start), (gst_task_stop),
14820         (gst_task_pause):
14821         * gst/gsttask.h:
14822         * gst/gstthread.c:
14823         * gst/gstthread.h:
14824         * gst/gsttypes.h:
14825         * gst/schedulers/Makefile.am:
14826         * gst/schedulers/cothreads_compat.h:
14827         * gst/schedulers/entryscheduler.c:
14828         * gst/schedulers/faircothreads.c:
14829         * gst/schedulers/faircothreads.h:
14830         * gst/schedulers/fairscheduler.c:
14831         * gst/schedulers/gstbasicscheduler.c:
14832         * gst/schedulers/gstoptimalscheduler.c:
14833         * gst/schedulers/gthread-cothreads.h:
14834         * gst/schedulers/threadscheduler.c:
14835         (gst_thread_scheduler_task_get_type),
14836         (gst_thread_scheduler_task_class_init),
14837         (gst_thread_scheduler_task_init),
14838         (gst_thread_scheduler_task_start),
14839         (gst_thread_scheduler_task_stop),
14840         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
14841         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14842         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
14843         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
14844         (plugin_init):
14845         * libs/gst/Makefile.am:
14846         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
14847         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
14848         (gst_file_pad_parent_set):
14849         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14850         (gst_dp_event_from_packet):
14851         * tests/complexity.c: (main):
14852         * tests/mass_elements.c: (main):
14853         * testsuite/states/locked.c: (message_received), (main):
14854         * testsuite/states/parent.c: (main):
14855         * tools/gst-inspect.c: (print_element_flag_info),
14856         (print_implementation_info), (print_pad_info):
14857         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
14858         (main):
14859         * tools/gst-md5sum.c: (event_loop), (main):
14860         * tools/gst-typefind.c: (main):
14861         * tools/gst-xmlinspect.c: (print_element_info):
14862         Next big merge.
14863         Added GstBus for mainloop integration.
14864         Added GstMessage for sending notifications on the bus.
14865         Added GstTask as an abstraction for pipeline entry points.
14866         Removed GstThread.
14867         Removed Schedulers.
14868         Simplified GstQueue for multithreaded core.
14869         Made _link threadsafe, removed old capsnego.
14870         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
14871         Added pad blocking functions.
14872         Reworked scheduling functions in GstPad to prepare for
14873         scheduling updates soon.
14874         Moved events out of data stream.
14875         Simplified GstEvent types.
14876         Added return values to push/pull.
14877         Removed clocking from GstElement.
14878         Added prototypes for state change function for next merge.
14879         Removed iterate from bins and state change management.
14880         Fixed some elements, disabled others for now.
14881         Fixed -inspect and -launch.
14882         Added check for GstBus.
14883
14884 2005-03-10  Wim Taymans  <wim@fluendo.com>
14885
14886         * docs/design/part-MT-refcounting.txt:
14887         * docs/design/part-clocks.txt:
14888         * docs/design/part-gstelement.txt:
14889         * docs/design/part-gstobject.txt:
14890         * docs/design/part-standards.txt:
14891         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14892         (gst_bin_remove_func), (gst_bin_remove):
14893         * gst/gstbin.h:
14894         * gst/gstbuffer.c:
14895         * gst/gstcaps.h:
14896         * testsuite/clock/clock1.c: (main):
14897         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
14898         (main):
14899         * testsuite/dlopen/loadgst.c: (do_test):
14900         * testsuite/refcounting/bin.c: (add_remove_test1),
14901         (add_remove_test2), (main):
14902         * testsuite/refcounting/element.c: (main):
14903         * testsuite/refcounting/element_pad.c: (main):
14904         * testsuite/refcounting/pad.c: (main):
14905         * tools/gst-launch.c: (sigint_handler_sighandler):
14906         * tools/gst-typefind.c: (main):
14907         Doc updates.
14908         Added doc about clock.
14909         removed gst_bin_iterate_recurse_up(), marked methods
14910         for removal.
14911         Fix more testsuites.
14912
14913 2005-03-09  Wim Taymans  <wim@fluendo.com>
14914
14915         * gst/gstpad.c: (gst_pad_get_direction),
14916         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
14917         (gst_pad_collect_valist):
14918         * testsuite/bins/interface.c: (main):
14919         * testsuite/caps/audioscale.c: (test_caps):
14920         * testsuite/caps/caps.c: (test1), (test2), (test3):
14921         * testsuite/caps/deserialize.c: (main):
14922         * testsuite/caps/enumcaps.c: (main):
14923         * testsuite/caps/filtercaps.c: (main):
14924         * testsuite/caps/intersect2.c: (main):
14925         * testsuite/caps/random.c: (main):
14926         * testsuite/caps/renegotiate.c: (my_fixate), (main):
14927         * testsuite/caps/sets.c: (check_caps):
14928         * testsuite/caps/simplify.c: (check_caps), (main):
14929         * testsuite/caps/subtract.c: (check_caps):
14930         Fix _pad_get_direction wrt ghostpads.
14931         Fix caps testsuite.
14932
14933 2005-03-09  Wim Taymans  <wim@fluendo.com>
14934
14935         * check/Makefile.am:
14936         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
14937         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
14938         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
14939         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
14940         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
14941         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
14942         (gst_bin_remove), (gst_bin_iterate_recurse_up),
14943         (bin_element_is_sink), (gst_bin_iterate_sinks),
14944         (gst_bin_iterate_all_by_interface):
14945         * gst/gstbin.h:
14946         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
14947         (gst_element_change_state), (gst_element_dispose),
14948         (gst_element_finalize), (gst_element_set_loop_function):
14949         * gst/gstelement.h:
14950         * gst/gstiterator.c: (find_custom_fold_func):
14951         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14952         (gst_pad_collectv), (gst_pad_collect_valist),
14953         (gst_pad_template_new):
14954         * gst/gstpipeline.c: (gst_pipeline_class_init),
14955         (gst_pipeline_dispose), (gst_pipeline_set_property),
14956         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
14957         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
14958         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
14959         * gst/gstutils.h:
14960         * gst/schedulers/entryscheduler.c:
14961         * gst/schedulers/gstbasicscheduler.c:
14962         (gst_basic_scheduler_cothreaded_chain),
14963         (gst_basic_scheduler_chain_add_element):
14964         * testsuite/bins/interface.c: (main):
14965         Added GstBin test.
14966         Added GstSystemClock test.
14967         Implemented clock distribution code in GstBin.
14968         Implemented iterate sinks method for future use.
14969         Rearranged gstelement.h
14970         Fix GstIterator comparison bug.
14971         Moved some code to GstPipeline, mostly clocking related.
14972
14973 2005-03-09  Wim Taymans  <wim@fluendo.com>
14974
14975         * configure.ac:
14976         * gst/gst_private.h:
14977         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14978         (gst_bin_remove_func), (gst_bin_remove),
14979         (gst_bin_get_by_name_recurse_up):
14980         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14981         (gst_clock_id_compare_func), (gst_clock_id_wait),
14982         (gst_clock_id_wait_async), (gst_clock_init),
14983         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14984         * gst/gstelement.h:
14985         * gst/gstinfo.c: (_gst_debug_init):
14986         * gst/gstobject.h:
14987         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14988         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14989         * gst/gstpad.h:
14990         Bump version number, we're now 0.9.0
14991         Add future debugging category.
14992         Fix NULL _unref() in _get_by_name_recurse_up
14993         Rearrange gstpad.h.
14994         Update some docs.
14995
14996 2005-03-08  Wim Taymans  <wim@fluendo.com>
14997
14998         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14999         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
15000         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15001         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
15002         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
15003         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
15004         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
15005         * gst/elements/gstidentity.c: (gst_identity_class_init):
15006         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
15007         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
15008         * gst/elements/gstshaper.c: (gst_shaper_class_init):
15009         * gst/elements/gststatistics.c: (gst_statistics_class_init):
15010         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
15011         (gst_tee_link):
15012         * gst/gstelement.c: (gst_element_class_init),
15013         (gst_element_base_class_init), (gst_element_init),
15014         (gst_element_get_random_pad), (gst_element_wait_state_change),
15015         (gst_element_change_state), (gst_element_dispose),
15016         (gst_element_finalize), (gst_element_set_loop_function):
15017         * gst/gstelement.h:
15018         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
15019         * gst/gstthread.c: (gst_thread_class_init),
15020         (gst_thread_release_children_locks), (gst_thread_change_state):
15021         * gst/schedulers/gstbasicscheduler.c:
15022         (gst_basic_scheduler_loopfunc_wrapper),
15023         (gst_basic_scheduler_chain_wrapper),
15024         (gst_basic_scheduler_src_wrapper),
15025         (gst_basic_scheduler_remove_element):
15026         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
15027         Remove threadsafe properties. Fix elements because GObject
15028         complains when installing a property before declaring a
15029         set/get_property handler.
15030         Rearrange gstelement.h file, use STATE macros for state locks.
15031         Free mutexes in the finalize method instead of dispose.
15032
15033 2005-03-08  Wim Taymans  <wim@fluendo.com>
15034
15035         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15036         * gst/gstthread.c: (gst_thread_release_children_locks):
15037         Added parentage check.
15038         Fix build og GstThread again.
15039
15040 2005-03-08  Wim Taymans  <wim@fluendo.com>
15041
15042         * docs/design/part-MT-refcounting.txt:
15043         * docs/design/part-conventions.txt:
15044         * docs/design/part-gstobject.txt:
15045         * docs/design/part-relations.txt:
15046         * docs/design/part-standards.txt:
15047         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15048         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
15049         (gst_bin_get_by_name), (gst_bin_get_by_interface),
15050         (gst_bin_iterate_all_by_interface):
15051         * gst/gstbuffer.h:
15052         * gst/gstclock.h:
15053         * gst/gstelement.c: (gst_element_class_init),
15054         (gst_element_change_state), (gst_element_set_loop_function):
15055         * gst/gstelement.h:
15056         * gst/gstiterator.c:
15057         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
15058         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
15059         (gst_object_dispatch_properties_changed), (gst_object_set_name),
15060         (gst_object_set_parent), (gst_object_unparent),
15061         (gst_object_check_uniqueness):
15062         * gst/gstobject.h:
15063         Docs updates, clean up some headers.
15064
15065 2005-03-07  Wim Taymans  <wim@fluendo.com>
15066
15067         * check/.cvsignore:
15068         * check/Makefile.am:
15069         * check/gst-libs/.cvsignore:
15070         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
15071         * check/gst/.cvsignore:
15072         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
15073         (START_TEST), (gstbus_suite), (main):
15074         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
15075         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
15076         (gst_data_suite), (main):
15077         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
15078         (add_fold_func), (gstiterator_suite), (main):
15079         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
15080         (thread_name_object), (thread_name_object_default),
15081         (gst_object_name_compare), (gst_object_suite), (main):
15082         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
15083         (gst_pad_suite), (main):
15084         * check/gstcheck.c: (gst_check_log_message_func),
15085         (gst_check_log_critical_func), (gst_check_init):
15086         * check/gstcheck.h:
15087         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
15088         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
15089         Added checks.
15090
15091 2005-03-07  Wim Taymans  <wim@fluendo.com>
15092
15093         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15094         (gst_list_iterator_next), (gst_list_iterator_resync),
15095         (gst_list_iterator_free), (gst_iterator_new_list),
15096         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
15097         (gst_iterator_free), (gst_iterator_push), (filter_next),
15098         (filter_resync), (filter_uninit), (filter_free),
15099         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
15100         (gst_iterator_foreach), (find_custom_fold_func),
15101         (gst_iterator_find_custom):
15102         * gst/gstiterator.h:
15103         Added missing files.
15104
15105 2005-03-07  Wim Taymans  <wim@fluendo.com>
15106
15107         * Makefile.am:
15108         * configure.ac:
15109         * docs/design/part-MT-refcounting.txt:
15110         * docs/design/part-conventions.txt:
15111         * docs/design/part-gstobject.txt:
15112         * docs/design/part-relations.txt:
15113         * examples/mixer/mixer.c: (main):
15114         * examples/thread/thread.c: (eos), (main):
15115         * gst/Makefile.am:
15116         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
15117         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
15118         (gst_spider_plug_from_srcpad):
15119         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
15120         (gst_spider_identity_change_state),
15121         (gst_spider_identity_sink_loop_type_finding):
15122         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
15123         * gst/elements/gstidentity.c: (gst_identity_init):
15124         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
15125         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
15126         * gst/elements/gsttypefindelement.c: (free_entry):
15127         * gst/gst.c:
15128         * gst/gst.h:
15129         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
15130         (gst_bin_set_clock_func), (gst_bin_auto_clock),
15131         (gst_bin_set_index), (gst_bin_set_element_sched),
15132         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
15133         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
15134         (gst_bin_iterate_elements), (iterate_child_recurse),
15135         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
15136         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
15137         (compare_interface), (gst_bin_get_by_interface),
15138         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
15139         * gst/gstbin.h:
15140         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
15141         (gst_buffer_default_free), (gst_buffer_default_copy),
15142         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
15143         (gst_buffer_create_sub):
15144         * gst/gstbuffer.h:
15145         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
15146         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
15147         (gst_caps_unref), (gst_static_caps_get),
15148         (gst_caps_remove_and_get_structure), (gst_caps_append),
15149         (gst_caps_append_structure), (gst_caps_remove_structure),
15150         (gst_caps_copy_nth), (gst_caps_set_simple),
15151         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
15152         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
15153         (gst_caps_structure_intersect_field), (gst_caps_intersect),
15154         (gst_caps_structure_subtract_field), (gst_caps_subtract),
15155         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
15156         (gst_caps_structure_figure_out_union),
15157         (gst_caps_switch_structures), (gst_caps_do_simplify),
15158         (gst_caps_replace), (gst_caps_from_string),
15159         (gst_caps_copy_conditional):
15160         * gst/gstcaps.h:
15161         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
15162         (_gst_clock_id_free), (gst_clock_id_unref),
15163         (gst_clock_id_compare_func), (gst_clock_id_wait),
15164         (gst_clock_id_wait_async), (gst_clock_class_init),
15165         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
15166         (gst_clock_get_time), (gst_clock_set_time_adjust),
15167         (gst_clock_set_property), (gst_clock_get_property):
15168         * gst/gstclock.h:
15169         * gst/gstcompat.h:
15170         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
15171         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
15172         * gst/gstdata.h:
15173         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15174         (gst_element_requires_clock), (gst_element_provides_clock),
15175         (gst_element_set_clock), (gst_element_clock_wait),
15176         (gst_element_wait), (gst_element_set_time_delay),
15177         (gst_element_is_indexable), (gst_element_add_pad),
15178         (gst_element_add_ghost_pad), (gst_element_remove_pad),
15179         (pad_compare_name), (gst_element_get_static_pad),
15180         (gst_element_request_pad), (gst_element_get_request_pad),
15181         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
15182         (gst_element_class_get_pad_template_list),
15183         (gst_element_class_get_pad_template), (gst_element_error_func),
15184         (gst_element_get_random_pad), (gst_element_get_event_masks),
15185         (gst_element_send_event), (gst_element_seek),
15186         (gst_element_get_query_types), (gst_element_query),
15187         (gst_element_get_formats), (gst_element_convert),
15188         (gst_element_is_locked_state), (gst_element_set_locked_state),
15189         (gst_element_sync_state_with_parent), (gst_element_change_state),
15190         (gst_element_finalize), (gst_element_yield),
15191         (gst_element_interrupt), (gst_element_set_scheduler),
15192         (gst_element_get_scheduler), (gst_element_set_loop_function):
15193         * gst/gstelement.h:
15194         * gst/gstevent.h:
15195         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
15196         (gst_format_get_by_nick), (gst_format_get_details),
15197         (gst_format_iterate_definitions):
15198         * gst/gstformat.h:
15199         * gst/gstindex.c: (gst_index_gtype_resolver):
15200         * gst/gstinfo.c:
15201         * gst/gstinfo.h:
15202         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
15203         (gst_mem_chunk_free):
15204         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15205         (gst_object_ref), (gst_object_unref), (gst_object_sink),
15206         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
15207         (gst_object_dispatch_properties_changed),
15208         (gst_object_set_name_default), (gst_object_set_name),
15209         (gst_object_get_name), (gst_object_set_name_prefix),
15210         (gst_object_get_name_prefix), (gst_object_set_parent),
15211         (gst_object_get_parent), (gst_object_unparent),
15212         (gst_object_check_uniqueness), (gst_object_save_thyself),
15213         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
15214         (gst_object_set_property), (gst_object_get_property),
15215         (gst_object_get_path_string):
15216         * gst/gstobject.h:
15217         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15218         (gst_real_pad_init), (gst_real_pad_get_property),
15219         (gst_pad_custom_new), (gst_pad_get_direction),
15220         (gst_pad_set_active), (gst_pad_is_active),
15221         (gst_pad_set_event_function), (gst_pad_is_linked),
15222         (gst_pad_link_free), (gst_pad_link_intersect),
15223         (gst_pad_link_fixate), (gst_pad_set_caps),
15224         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
15225         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
15226         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
15227         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
15228         (gst_pad_get_caps), (gst_pad_peer_get_caps),
15229         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
15230         (gst_pad_realize), (gst_pad_get_allowed_caps),
15231         (gst_real_pad_dispose), (gst_real_pad_finalize),
15232         (gst_pad_collectv), (gst_pad_collect_valist),
15233         (gst_pad_template_dispose), (gst_pad_template_new),
15234         (gst_pad_get_internal_links):
15235         * gst/gstpad.h:
15236         * gst/gstpipeline.c: (gst_pipeline_dispose),
15237         (gst_pipeline_change_state):
15238         * gst/gstpipeline.h:
15239         * gst/gstplugin.c:
15240         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
15241         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
15242         * gst/gstpluginfeature.h:
15243         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
15244         * gst/gstquery.c: (_gst_query_type_initialize),
15245         (gst_query_type_register), (gst_query_type_get_by_nick),
15246         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
15247         * gst/gstquery.h:
15248         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
15249         * gst/gstscheduler.c: (gst_scheduler_add_element),
15250         (gst_scheduler_factory_create):
15251         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15252         (gst_structure_free), (gst_structure_set_name),
15253         (gst_structure_id_set_value), (gst_structure_set_value),
15254         (gst_structure_set_valist), (gst_structure_remove_field),
15255         (gst_structure_remove_fields),
15256         (gst_structure_remove_fields_valist),
15257         (gst_structure_remove_all_fields), (gst_structure_foreach),
15258         (gst_structure_map_in_place),
15259         (gst_caps_structure_fixate_field_nearest_int),
15260         (gst_caps_structure_fixate_field_nearest_double):
15261         * gst/gststructure.h:
15262         * gst/gstsystemclock.c: (gst_system_clock_class_init),
15263         (gst_system_clock_init), (gst_system_clock_dispose),
15264         (gst_system_clock_async_thread),
15265         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
15266         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
15267         * gst/gstsystemclock.h:
15268         * gst/gsttag.c: (gst_tag_list_add_value_internal),
15269         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
15270         * gst/gsttaginterface.c:
15271         * gst/gstthread.c: (gst_thread_dispose),
15272         (gst_thread_release_children_locks), (gst_thread_change_state),
15273         (gst_thread_main_loop):
15274         * gst/gsttrashstack.h:
15275         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
15276         * gst/gsttypes.h:
15277         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15278         (gst_element_request_pad), (gst_element_get_pad_from_template),
15279         (gst_element_request_compatible_pad),
15280         (gst_element_get_compatible_pad_filtered),
15281         (gst_element_get_compatible_pad), (gst_element_state_get_name),
15282         (gst_element_link_pads_filtered), (gst_element_link_filtered),
15283         (gst_element_link_many), (gst_element_link),
15284         (gst_element_link_pads), (gst_element_unlink_pads),
15285         (gst_element_unlink_many), (gst_element_unlink),
15286         (gst_pad_can_link_filtered), (gst_pad_can_link),
15287         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
15288         (gst_object_default_error), (gst_bin_add_many),
15289         (gst_bin_remove_many), (gst_element_populate_std_props),
15290         (gst_element_class_install_std_props), (gst_buffer_merge),
15291         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
15292         (link_fold_func), (gst_pad_proxy_setcaps):
15293         * gst/gstutils.h:
15294         * gst/gstvalue.c: (gst_value_deserialize_string):
15295         * gst/parse/grammar.y:
15296         * gst/schedulers/gstbasicscheduler.c:
15297         (gst_basic_scheduler_cothreaded_chain),
15298         (gst_basic_scheduler_chain_recursive_add),
15299         (gst_basic_scheduler_pad_link):
15300         * gst/schedulers/gstoptimalscheduler.c:
15301         (get_group_schedule_function),
15302         (gst_opt_scheduler_state_transition),
15303         (gst_opt_scheduler_add_element), (element_get_reachables_func):
15304         * libs/gst/bytestream/bytestream.c:
15305         * libs/gst/dataprotocol/dataprotocol.c:
15306         (gst_dp_header_from_buffer):
15307         * po/nb.po:
15308         * po/ru.po:
15309         * tests/threadstate/threadstate2.c: (eos):
15310         * tools/gst-compprep.c: (main):
15311         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
15312         (print_pad_info), (print_children_info):
15313         * tools/gst-launch.c: (idle_func), (main):
15314         * tools/gst-md5sum.c: (idle_func), (main):
15315         * tools/gst-xmlinspect.c: (print_element_info):
15316         First THREADED backport attempt, focusing on adding locks and
15317         making sure the API is threadsafe. Needs more work. More docs
15318         follow this week.
15319
15320 2005-02-24  Andy Wingo  <wingo@pobox.com>
15321
15322         * tests/bench-complexity.scm:
15323         * tests/complexity.gnuplot: New files, good for running complexity
15324         benchmarks.
15325
15326         * tests/Makefile.am:
15327         * tests/complexity.c: New test, sets up N elements, at each level
15328         teeing into M streams per element. Eeeenteresting.
15329
15330         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
15331         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
15332         running bench-mass_elements.scm.
15333
15334         * tests/bench-mass_elements.scm: New script, runs mass_elements
15335         for various numbers of identities, outputting the results to a
15336         file. Requires guile 1.6. Just for testing.
15337
15338 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15339
15340         * gst/schedulers/fairscheduler.c:
15341           compile with debug disabled
15342
15343 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15344
15345         * configure.ac:
15346           hunting season on 0.9 is now OPEN