libs/gst/base/gstbasesink.c: Make property overridable.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-03-06  Wim Taymans  <wim@fluendo.com>
2
3         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4         Make property overridable.
5
6 2006-03-06  Wim Taymans  <wim@fluendo.com>
7
8         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9         (gst_base_sink_init), (gst_base_sink_set_property),
10         (gst_base_sink_get_property), (gst_base_sink_do_sync):
11         * libs/gst/base/gstbasesink.h:
12         Make max-lateness a property.
13
14 2006-03-06  Wim Taymans  <wim@fluendo.com>
15
16         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
17         (gst_base_sink_do_sync), (gst_base_sink_render_object):
18         Don't ever draw a frame that is >10ms late.
19
20 2006-03-06  Michael Smith  <msmith@fluendo.com>
21
22         * gst/gstmessage.c: (_gst_message_copy):
23           When copying a message, set the parent_refcount of the enclosed
24           structure to point at the copy, not the original message.
25
26 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
27
28         * gst/gstutils.h:
29           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
30           usable in c++ code (#333417; patch by: Christophe Fergeau)
31
32 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
33
34         * gst/gstclock.h:
35           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
36
37 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
38
39         * libs/gst/base/gstbasetransform.c:
40         (gst_base_transform_transform_caps):
41           Make sure caps are writable before passing them to
42           gst_caps_append().
43
44 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
45
46         * gst/gsterror.h:
47           Fix some minor docs errors.
48
49 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
50
51         * gst/gsterror.c: (_gst_resource_errors_init):
52         * gst/gsterror.h:
53           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
54           patch by: Ross Burton <ross at burtonini dot com>).
55
56 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
57
58         * gst/gst.c:
59         Add a check and output a g_warning when GStreamer is built
60         against GLib 2.6 but running against 2.8 or higher, and vice 
61         versa. (Closes: #323542)
62
63 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
64
65         * gst/parse/parse.l:
66           Commit patch for parse_launch syntax from #331255. Removes 
67           support for quoted strings and mimetypes when writing filtered 
68           caps. See the bug report for more details - I'm pretty sure this
69           obscure feature is not in use by _anyone_ anywhere.
70
71           With this simple change, the size of the gstreamer.so here 
72           drops from 2193KB to 1565KB.
73
74 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
75
76         * plugins/elements/gsttypefindelement.h:
77         * plugins/elements/gsttypefindelement.c:
78         (gst_type_find_element_src_event), (start_typefinding),
79         (stop_typefinding), (gst_type_find_element_handle_event),
80         (gst_type_find_element_chain),
81         (gst_type_find_element_chain_do_typefinding):
82           Use gst_type_find_helper_for_buffer() for chain-based
83           typefinding.
84
85 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
86
87         * plugins/elements/gsttypefindelement.c:
88         (gst_type_find_element_class_init),
89         (gst_type_find_element_set_property),
90         (gst_type_find_element_get_property):
91           Deprecate "maximum" property (not only was it only taken into
92           account for typefinding in push-mode anyway, it also was never
93           actually possible to set it in the first place because the
94           property was registered with the numeric property ID for the
95           "minimum" property). Register "maximum" property correctly,
96           for the sake of future copy'n'pasters. Remove some cruft
97           from property get/set functions.
98
99 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
100
101         * plugins/elements/gsttypefindelement.c:
102         (gst_type_find_element_activate):
103           Use gst_type_find_helper_get_range() here, so we
104           can honour the "minimum" property and also emit
105           the signal with the correct probability of the found caps.
106
107 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
108
109         * docs/libs/gstreamer-libs-sections.txt:
110         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
111         (helper_find_suggest), (gst_type_find_helper_get_range),
112         (gst_type_find_helper):
113         * libs/gst/base/gsttypefindhelper.h:
114           New API: gst_type_find_helper_get_range() (#333042).
115
116 2006-03-02  Michael Smith  <msmith@fluendo.com>
117
118         * gst/gstregistryxml.c: (load_feature):
119           Asserting on a failure to read part of the registry is Not Cool.
120           Just log a warning and return NULL (which is already handled)
121
122 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
123
124         * win32/common/libgstbase.def:
125           added export of gst_type_find_helper_for_buffer
126         * win32/common/libgstbase.def:
127           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
128           gst_ghost_pad_get_target
129
130 2006-02-28  Wim Taymans  <wim@fluendo.com>
131
132         * docs/design/draft-klass.txt:
133         We use Filter now.
134         Added Connector to mark elements that are only used to
135         allow pipeline connections.
136         Moved Debug to extra feature since most of them are 
137         functionally something else.
138
139 2006-02-28  Wim Taymans  <wim@fluendo.com>
140
141         * docs/design/draft-klass.txt:
142         Some updates and clarifications.
143
144 2006-02-28  Wim Taymans  <wim@fluendo.com>
145
146         * docs/design/draft-klass.txt:
147         Proposal for klass field values.
148
149         * docs/design/part-streams.txt:
150         Start of a doc describing stream anatomy.
151
152 2006-02-28  Wim Taymans  <wim@fluendo.com>
153
154         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
155         Help the compiler a bit with type registration.
156         Use existing forward cod path instead of duplicating it when 
157         handling a message.
158         
159         * gst/gstbus.c: (gst_bus_get_type):
160         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
161         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
162         * gst/gstclock.c: (gst_clock_get_type):
163         * gst/gstelement.c: (gst_element_get_type),
164         * gst/gstelementfactory.c: (gst_element_factory_get_type):
165         * gst/gstindexfactory.c: (gst_index_factory_get_type):
166         * gst/gstminiobject.c: (gst_mini_object_get_type):
167         * gst/gstpad.c: (gst_pad_get_type):
168         * gst/gstsegment.c: (gst_segment_get_type):
169         * gst/gststructure.c: (gst_structure_get_type):
170         * gst/gstsystemclock.c: (gst_system_clock_get_type):
171         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
172         * gst/gstvalue.c:
173         Help compiler with type registration.
174
175         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
176         Small doc update.
177
178
179 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
180
181         * plugins/elements/gsttypefindelement.c:
182         (gst_type_find_element_handle_event):
183           When we get an EOS event and have not found a type yet
184           (most likely because we had not yet accumulated
185           TYPE_FIND_MIN_SIZE of data yet), try to determine the
186           type given the data we have so far. Fixes typefinding
187           for very short streams again, most notably quicktime
188           redirections as used on Apple's trailer site (#331701).
189
190 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
191
192         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
193         (gst_type_find_helper):
194           Try typefinding factories with the highest rank first.
195
196 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
197
198         * docs/libs/gstreamer-libs-docs.sgml:
199         * docs/libs/gstreamer-libs-sections.txt:
200         * libs/gst/base/gsttypefindhelper.c:
201           Add section for typefind helper and add documentation
202           for the old and the new function.
203
204 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
205
206         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
207         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
208         (gst_type_find_helper_for_buffer):
209         * libs/gst/base/gsttypefindhelper.h:
210           New API: gst_type_find_helper_for_buffer() (#332723).
211           
212 2006-02-27  Michael Smith  <msmith@fluendo.com>
213
214         * configure.ac:
215         * docs/Makefile.am:
216         * docs/slides/Makefile.am:
217           Patch from Loïc Minier to prevent CVS directories getting disted.
218
219 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
220
221         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
222           Use the REFCOUNTING category for caps refcounting.
223           
224 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
225
226         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
227           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
228
229 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
230
231         * plugins/elements/gsttypefindelement.c:
232         (gst_type_find_element_activate):
233           Use gst_pad_check_pull_range() before _activate_pull()
234           to avoid unnecessary open/close (see #331690).
235
236 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
237
238         * gst/gstutils.c:
239           Docs enhancement: make it crystal clear what the
240           gst_pad_add_*_probe() callbacks should look like.
241
242 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
243
244         * libs/gst/base/gstbasesrc.c:
245           Document how applications can stop recording from
246           live sources (see #330996).
247
248 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
249
250         * docs/gst/tmpl/.cvsignore:
251         * docs/plugins/tmpl/.cvsignore:
252         * tests/check/gst/.cvsignore:
253         * tests/check/libs/.cvsignore:
254         * tests/check/pipelines/.cvsignore:
255           Ignore more stuff.
256
257 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
258
259         * tests/check/Makefile.am:
260         * tests/check/libs/basesrc.c: (eos_event_counter),
261         (basesrc_eos_events_pull), (basesrc_eos_events_push),
262         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
263         (gst_basesrc_suite), (main):
264           ... and add some tests for the base source EOS stuff.
265
266 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
267
268         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
269           Test case originally showed the problem fixed below,
270           but was then amended. Add checks back at the place
271           where they used to be.
272
273 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
274
275         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
276         (gst_base_src_init), (gst_base_src_loop),
277         (gst_base_src_activate_push), (gst_base_src_activate_pull),
278         (gst_base_src_change_state):
279         * libs/gst/base/gstbasesrc.h:
280           Don't unconditionally send EOS when going from PAUSED to
281           READY state, esp. make sure we don't send two EOS events
282           in some cases (e.g. one when reaching EOS and one when
283           going from PAUSED to READY). Also, we don't want to send
284           EOS events when operating in pull mode. However, we do
285           want to send an EOS event when shutting down a live
286           source explicitly, for example (fixes #330996).
287           
288 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
289
290         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
291           Update src->read_position after a seek when not using mmap.
292           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
293
294 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
295
296         * gst/Makefile.am:
297         * gst/gstparse.h:
298         * gst/gstutils.c:
299         * gst/gstutils.h:
300         Make things work with --disable-parse as they do with 
301         --disable-load-save - the symbols involved disappear, but the
302         header is still installed and GST_DISABLE_PARSE is included via
303         gstconfig.h
304
305 2006-02-20  Julien MOUTTE  <julien@moutte.net>
306
307         * libs/gst/base/gstbasetransform.c:
308         (gst_base_transform_change_state): Fix a stupid bug. I was 
309         sure i compiled that.
310
311 2006-02-20  Julien MOUTTE  <julien@moutte.net>
312
313         * gst/gstpad.c: (gst_pad_set_blocked_async):
314         * gst/gstutils.c: (gst_pad_add_data_probe),
315         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
316         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
317         (gst_pad_remove_buffer_probe): Make those function act on the
318         ghostpad target when it's a ghostpad. (Closes #331727)
319
320 2006-02-20  Julien MOUTTE  <julien@moutte.net>
321
322         * libs/gst/base/gstbasetransform.c:
323         (gst_base_transform_change_state): Make basetransform reusable.
324         (Closes #331898)
325
326 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
327
328         * docs/random/release:
329         Move the current documentation of how to do a release to the top
330         of the file.
331
332         * gst/gstbin.c: (gst_bin_class_init),
333         (gst_bin_handle_message_func):
334         Allow multiple state-recalculation threads. (Closes #328873)
335
336 2006-02-19  Julien MOUTTE  <julien@moutte.net>
337
338         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
339         * gst/gstpad.c: (gst_pad_set_event_function),
340         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
341         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
342         2 strings. You can't use the STR_NULL macro on that.
343
344 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
345
346         * gst/gstpad.c: (gst_pad_set_event_function),
347         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
348         (gst_pad_set_getcaps_function)
349         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
350                 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
351                 So now, we can use --gst-debug-level=5 on Windows
352         * win32/common/libgstcontroller.def:
353           Added export of gst_controller_init
354         * win32/vs6/libgstcontroller.dsp:
355           Fixed Release post build configuration
356
357 2006-02-17  Wim Taymans  <wim@fluendo.com>
358
359         * tests/check/gst/gstquery.c: (GST_START_TEST):
360         Added another check.
361
362 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
363
364         * plugins/elements/gsttypefindelement.c: (find_peek):
365           We can do peeks at non-zero offsets, as long as they
366           fall within the buffer we have.
367
368 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
369
370         * tests/check/Makefile.am:
371         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
372         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
373         (parse_suite), (main):
374           Add testsuite for parse launch syntax
375
376 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
377
378         * plugins/elements/gsttypefindelement.c:
379         (gst_type_find_element_chain):
380           When typefinding is unsuccessful in the chain function, don't
381           error out immediately. Only error out with NO_CAPS_FOUND if
382           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
383           otherwise simply wait for more data so we can try typefinding
384           again with more data later. Also, don't attempt to typefind
385           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
386           this should improve typefinding from network sources where the
387           size of the first buffer can be somewhat random.
388
389 2006-02-14  Wim Taymans  <wim@fluendo.com>
390
391         * docs/gst/gstreamer-sections.txt:
392         * gst/gstpadtemplate.c:
393         * gst/gstpadtemplate.h:
394         Fix padtemplate docs, fixes #328805.
395
396 2006-02-14  Wim Taymans  <wim@fluendo.com>
397
398         * tools/gst-launch.c: (main):
399         NO_PREROLL is not an ERROR so don't send confusing messages
400         to the user.
401
402 2006-02-14  Wim Taymans  <wim@fluendo.com>
403
404         * gst/gstregistry.c: (gst_registry_get_default),
405         (_gst_registry_cleanup):
406         Protect default registry with lock and ref/sink it.
407         Fixes #324818, patch by Torsten Schoenfeld.
408
409 2006-02-14  Wim Taymans  <wim@fluendo.com>
410
411         * gst/gstbuffer.c:
412         * gst/gstquery.c: (gst_query_list_add_format),
413         (gst_query_set_formatsv), (gst_query_parse_formats_length),
414         (gst_query_parse_formats_nth):
415         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
416         Docs fixes.
417
418 2006-02-14  Wim Taymans  <wim@fluendo.com>
419
420         * docs/gst/gstreamer-sections.txt:
421         Reworked query docs.
422
423         * gst/gstquery.c: (gst_query_new_formats),
424         (gst_query_list_add_format), (gst_query_set_formats),
425         (gst_query_set_formatsv), (gst_query_parse_formats_length),
426         (gst_query_parse_formats_nth):
427         * gst/gstquery.h:
428         Flesh out formats query, added some new methods.
429         Fix part of #324398.
430
431         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
432         Added query creation tests.
433
434 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
435
436         * gst/gstpad.c: (fixate_value):
437         Add a default fixation for fraction lists.
438
439 2006-02-13  Wim Taymans  <wim@fluendo.com>
440
441         * gst/gsttask.c: (gst_task_init), (gst_task_func),
442         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
443         (gst_task_join):
444         * gst/gsttask.h:
445         Detect and warn for obvious deadlocks. fixes #320340
446         Fix error case where lock was not released.
447
448         * tests/check/Makefile.am:
449         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
450         (task_func), (gst_element_suite), (main):
451         Add task check.
452
453 2006-02-13  Wim Taymans  <wim@fluendo.com>
454
455         * docs/gst/gstreamer-sections.txt:
456         * gst/gstbus.c:
457         Add new functions to docs.
458
459 2006-02-13  Wim Taymans  <wim@fluendo.com>
460
461         * docs/design/part-TODO.txt:
462         Updated TODO list, basesrc supports seeking to non-bytes
463         formats.
464
465         * docs/design/part-element-sink.txt:
466         Update docs.
467
468         * gst/gstbin.c: (bin_replace_message),
469         (gst_bin_handle_message_func):
470         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
471         * gst/gstevent.c: (gst_event_finalize):
472         * gst/gstpad.c: (gst_pad_event_default_dispatch),
473         (gst_pad_send_event):
474         Use shiny new _TYPE_NAME macros.
475
476         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
477         Move debug statement up.
478
479         * gst/gstelement.c: (gst_element_set_locked_state):
480         Add some debugging.
481
482 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
483
484         * docs/gst/gstreamer-sections.txt:
485         * gst/gstmessage.h:
486         * gst/gstquery.h:
487           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
488           macros (#330906). Also, document the already existing
489           GST_QUERY_TYPE macro.
490
491 2006-02-13  Wim Taymans  <wim@fluendo.com>
492
493         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
494         (event_probe), (GST_START_TEST):
495         Only events up to the pipeline EOS are counted, there are
496         some more when going to NULL currently which we don't care
497         about for now.
498
499 2006-02-13  Wim Taymans  <wim@fluendo.com>
500
501         * gst/gstpad.c: (gst_pad_send_event):
502         Correctly check flushing and emit probes. fixes #330125
503
504 2006-02-10  Andy Wingo  <wingo@pobox.com>
505
506         * gst/gstbus.c (gst_bus_class_init): Declare our private data
507         structure.
508         (gst_bus_init): Cache the location of the private data in the
509         instance structure.
510         (gst_bus_enable_sync_message_emission) 
511         (gst_bus_disable_sync_message_emission): Implement new public
512         functions.
513         (gst_bus_post): Emit the sync-message signal if the user asked for
514         it. Fixes #330684.
515
516         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
517         location of the bus-private structuure.
518         (gst_bus_enable_sync_message_emission)
519         (gst_bus_disable_sync_message_emission): New public functions.
520
521 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
522
523         * docs/pwg/building-boiler.xml:
524         PWG patch from #326800 (Patch by Vincent Torri)
525
526 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
527
528         * configure.ac:
529         * docs/Makefile.am:
530         * docs/design/Makefile.am:
531           Dist design docs.
532
533 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
534
535         * configure.ac:
536           back to CVS
537
538 === release 0.10.3 ===
539
540 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
541
542         * configure.ac:
543           releasing 0.10.3, "Like a virgin"
544
545 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
546
547         * configure.ac:
548           2nd prerelease of 0.10.3
549           Bump libtool versioning.
550
551 2006-02-07  Andy Wingo  <wingo@pobox.com>
552
553         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
554         update last_stop if we're in TIME format and the timestamp is
555         valid.
556
557         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
558         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
559         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
560         If we get a new newsegment with a different format, adapt
561         accordingly.
562
563         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
564         of 0. Not a problem, really.
565
566         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
567         warn if sync=true.
568
569 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
570
571         * configure.ac:
572           Prelease of 0.10.3
573
574 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
575
576         * win32/vs7:
577           project files updated to the default vs7 configuration
578         * win32/common/libgstbase.def:
579         * win32/common/libgstreamer.def:
580           added new symbols,
581           removed empty lines,
582           sorted all exported symbols alphabetically
583         * win32/common/dirent.c:
584         * win32/common/dirent.h:
585         * win32/common/gchar.h:
586           use windows line end.
587           
588 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
589
590         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
591           Send EOS event when stopping.
592
593 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
594
595         * docs/README:
596           Tell folks what to do if the plugin-foobar.xml file
597           hasn't been generated for a newly-added plugin.
598
599 2006-02-05  Julien MOUTTE  <julien@moutte.net>
600
601         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
602         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
603         (gst_collect_pads_start), (gst_collect_pads_stop),
604         (gst_collect_pads_event): Collectpads now holds a reference
605         to the GstPad that was added. Indeed we don't want to look
606         at pads that might just go away with no warning...
607
608 2006-02-05  Julien MOUTTE  <julien@moutte.net>
609
610         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
611         (gst_collect_pads_start), (gst_collect_pads_stop),
612         (gst_collect_pads_event), (gst_collect_pads_chain):
613         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
614         Mark Nauwelaerts's patch on bug #328491.
615
616 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
617
618         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
619         (gst_utils_suite):
620           Add some simple tests for gst_parse_bin_from_description() and
621           gst_bin_find_unconnected_pad() (#329069).
622
623 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
624
625         * tools/gst-launch.c: (event_loop), (main):
626           Catch errors during preroll (#320084).
627
628 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
629
630         * plugins/elements/gsttypefindelement.c:
631         (gst_type_find_element_activate):
632           Post TYPE_NOT_FOUND error message when typefinding
633           is unsuccessful in the activate function as well.
634
635 2006-02-02  Wim Taymans  <wim@fluendo.com>
636
637         * docs/design/part-element-sink.txt:
638         Updated doc.
639
640 2006-02-02  Wim Taymans  <wim@fluendo.com>
641
642         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
643         (gst_base_sink_render_object),
644         (gst_base_sink_queue_object_unlocked):
645         Only keep track of prerollable items when we are 
646         prerolling.
647         Before rendering after preroll, always check if we
648         have queued items.
649         Added some more debugging.
650
651 2006-02-02  Wim Taymans  <wim@fluendo.com>
652
653         * gst/gstelement.c: (gst_element_continue_state),
654         (gst_element_set_state_func), (gst_element_change_state):
655         Fixed #326576, been running this for quite some time with
656         no regressions at all.
657
658 2006-02-02  Wim Taymans  <wim@fluendo.com>
659
660         * common/gst.supp:
661         Added more suppressions
662
663 2006-02-02  Wim Taymans  <wim@fluendo.com>
664
665         * docs/design/part-element-sink.txt:
666         Updated document.
667
668         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
669         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
670         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
671         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
672         (gst_base_sink_do_sync), (gst_base_sink_render_object),
673         (gst_base_sink_preroll_object),
674         (gst_base_sink_queue_object_unlocked),
675         (gst_base_sink_queue_object), (gst_base_sink_event),
676         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
677         (gst_base_sink_loop), (gst_base_sink_activate_pull),
678         (gst_base_sink_get_position), (gst_base_sink_change_state):
679         * libs/gst/base/gstbasesink.h:
680         Totally refactored matching the design doc.
681         Use two segments, one to clip incomming buffers and another to
682         perform sync.
683         Handle queueing correctly, bypass the queue when playing.
684         Make EOS cancelable.
685         Handle errors correctly when operating in pull based mode.
686
687         * tests/check/elements/fakesink.c: (GST_START_TEST),
688         (fakesink_suite):
689         Added new check for sinks.
690
691 2006-02-02  Wim Taymans  <wim@fluendo.com>
692
693         * gst/gstsegment.c: (gst_segment_clip):
694         No reason to refuse to clip when start == -1
695
696 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
697
698         * docs/README:
699         * docs/manual/intro-basics.xml:
700         * docs/manual/intro-preface.xml:
701         * docs/manual/manual.xml:
702         * docs/pwg/advanced-dparams.xml:
703         * docs/pwg/intro-basics.xml:
704         * docs/pwg/intro-preface.xml:
705         * docs/pwg/pwg.xml:
706           describe dparams (controller) for plugins
707           unify docs a little more
708
709 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
710
711         * docs/gst/gstreamer-sections.txt:
712         * gst/gstutils.c: (element_find_unconnected_pad),
713         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
714         * gst/gstutils.h:
715           Add new API: gst_parse_bin_from_description() and
716           gst_bin_find_unconnected_pad() (#329069).
717
718 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
719
720         * docs/manual/README:
721           uncover a nasty detail of the docs build
722
723 2006-01-31  Wim Taymans  <wim@fluendo.com>
724
725         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
726         Don't cache duration messages if we're not going to use or
727         free them.
728
729 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
730
731         * docs/manual/advanced-dparams.xml:
732         * docs/pwg/advanced-dparams.xml:
733           more dparam docs
734         * gst/gstindex.c:
735           fix docs
736         * libs/gst/controller/lib.c: (gst_controller_init):
737           init just once
738
739 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
740
741         * gst/gstelement.c: (gst_element_message_full):
742           also show file/line/func if no additional debug was given
743
744 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
745         
746         * win32/vs7/grammar.vcproj:
747                 activate copy of autogenerated files for Release mode
748
749 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
750         
751         * win32/common/libgstreamer.def:
752                 export gst_value_compare
753
754 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
755
756         * plugins/elements/Makefile.am:
757         * plugins/elements/gstelements.c:
758         * plugins/elements/gstfdsink.c: (_do_init),
759         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
760         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
761         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
762         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
763         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
764         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
765         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
766         * plugins/elements/gstfdsink.h:
767         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
768
769 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
770
771         * docs/manual/advanced-dparams.xml:
772           describe controller
773         * docs/manual/advanced-position.xml:
774         * docs/manual/basics-init.xml:
775         * docs/manual/manual.xml:
776         * docs/manual/titlepage.xml:
777         * docs/pwg/pwg.xml:
778         * docs/pwg/titlepage.xml:
779           cleanup xml (more to come)
780         * libs/gst/controller/gstcontroller.c:
781           fix typo
782
783 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
784         
785         * win32/vs6/grammar.dsp:
786                 add autogen of gstmarshal.c,h for Release mode
787                 
788 2006-01-30  Wim Taymans  <wim@fluendo.com>
789
790         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
791         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
792         (gst_base_sink_handle_object), (gst_base_sink_event),
793         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
794         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
795         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
796         (gst_base_sink_deactivate), (gst_base_sink_activate),
797         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
798         (gst_base_sink_query), (gst_base_sink_change_state):
799         Basesink cleanups, remove some old code.
800         Handle the case where a subclass can preroll in the render
801         method (mostly audiosinks).
802         Handle more events.
803         Remove some locks around variables that are now protected
804         with the PREROLL_LOCK (clock_id, flushing, ..).
805         Optimize position query some more, do correct locking.
806         Remove old code to push queue in state change, this is not
807         needed anymore since preroll blocks on all prerollable items 
808         now.
809         Almost implemented as described in design doc.
810
811 2006-01-30  Wim Taymans  <wim@fluendo.com>
812
813         * tests/check/gst/gstbin.c: (GST_START_TEST):
814         Wait for refcount to settle down before checking.
815
816 2006-01-30  Wim Taymans  <wim@fluendo.com>
817
818         * docs/design/part-element-sink.txt:
819         Pseudo code overview of desired sink behaviour regarding
820         preroll.
821
822 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
823         * win32/vs6/grammar.dsp:
824                 fix some bugs in Release mode for autogenerated files
825                 
826 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
827         * win32/common/libgstbase.def:
828         * win32/common/libgstreamer.def:
829                 export some new symbols: gst_base_src_set_format,
830                 gst_iterator_next, gst_structure_set_valist
831
832 2006-01-29  Julien MOUTTE  <julien@moutte.net>
833
834         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
835         Set pad functions unconditionally. Fixes #329105.
836
837 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
838         * win32/vs8:
839                 add vs8 project files created by Sergey Scobich
840
841 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
842
843         * gst/gstutils.c: (gst_element_unlink_pads):
844         Don't leak pad references.
845
846         * tests/check/elements/fakesink.c: (GST_START_TEST):
847         * tests/check/generic/sinks.c: (GST_START_TEST):
848         * tests/check/generic/states.c: (GST_START_TEST):
849         * tests/check/gst/gstbin.c: (GST_START_TEST):
850         * tests/check/gst/gstcaps.c: (GST_START_TEST):
851         * tests/check/gst/gstelement.c: (GST_START_TEST):
852         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
853         * tests/check/gst/gstiterator.c: (GST_START_TEST):
854         * tests/check/gst/gstvalue.c: (GST_START_TEST):
855         Fix a bunch of leaks. Make generic/sinks.c
856         use a bit less cpu by slowing the buffer rate
857         between fakesrc and fakesink.
858         
859 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
860         * gst/gstcaps.c:
861         * gst/gstelement.c: (gst_element_send_event):
862         * gst/gstevent.c:
863         * gst/gstinfo.c:
864         * gst/gstiterator.c:
865         * gst/gstiterator.h:
866         * gst/gstpad.c: (gst_pad_send_event):
867         * gst/gststructure.c:
868         * gst/gsturi.c:
869         * gst/gstutils.c:
870         * gst/gstvalue.c:
871         * libs/gst/base/gstadapter.c:
872           doc fixes, to link to function, just write gst_cool_function(), don't
873           prefix with '#'
874
875 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
876
877         * plugins/elements/gsttee.c: (gst_tee_do_push),
878         (gst_tee_handle_buffer):
879         Always prefer an actual return value from a src
880         pad in place of NOT_LINKED. This means we return
881         WRONG_STATE when all src pads are WRONG_STATE
882         instead of NOT_LINKED.
883
884         Lock when replacing the last message to prevent
885         racing with the get_property method.
886
887         Add debug output
888
889 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
890
891         * tests/check/Makefile.am:
892         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
893         (main):
894         Add a very simple check that should have caught the memleak I fixed
895         last night (if not for the slice allocator hiding it)
896
897 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
898
899         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
900         (gst_bin_remove_func), (gst_bin_handle_message_func),
901         (bin_query_duration_fold), (bin_query_generic_fold):
902         Clean up references to the clock provider when disposed or when
903         handling a clock-lost message from it.
904
905         Unref sinks when performing a query via gst_iterator_fold, as the
906         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
907
908         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
909         (gst_clock_set_master):
910         Drop our reference to the master clock, if any, when we are disposed.
911
912         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
913         Chain up in dispose. 
914
915 2006-01-26  Wim Taymans  <wim@fluendo.com>
916
917         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
918         Add some debugging.
919
920 2006-01-26  Julien MOUTTE  <julien@moutte.net>
921
922         * plugins/elements/gsttee.c: (gst_tee_do_push),
923         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
924         handles pad being NOT_LINKED or in WRONG_STATE.
925
926 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
927
928         * win32/MANIFEST:
929           more updating
930
931 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
932
933         * win32/MANIFEST:
934           remove obsolete entry
935
936 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
937
938         * docs/gst/gstreamer-sections.txt:
939         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
940         (gst_bin_iterate_sources), (gst_bin_send_event):
941         * gst/gstbin.h:
942         * gst/gstelement.c: (gst_element_send_event):
943         * gst/gstevent.c:
944         * gst/gstpad.c: (gst_pad_send_event):
945           added code for downstream events, reviewed docs in gstevent.c
946
947 2006-01-25  Julien MOUTTE  <julien@moutte.net>
948
949         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
950         We only query position using the clock in the playing state.
951         Query peer in the other cases.
952         * win32/common/config.h: Updates.
953
954 2006-01-24  Wim Taymans  <wim@fluendo.com>
955
956         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
957         A clock entry that is scheduled for the exact time of the
958         clock is still in time.
959
960         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
961         (gst_base_sink_do_sync):
962         Add some more debug info.
963
964 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
965
966         * win32/vs7:
967           Add new vs7 project files and solution.
968
969 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
970
971         * win32/vs7:
972           all files removed as they were out-dated.
973
974 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
975
976         * docs/random/release:
977           update notes
978         * gst/gstbin.c: (gst_bin_init):
979         * gst/gstbus.c: (gst_bus_new):
980         * gst/gstbus.h:
981         * gst/gstpipeline.c: (gst_pipeline_init):
982           use gst_bus_new(), improve logging, fix docs
983         * win32/common/config.h:
984           update for cvs build
985
986 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
987
988         * autogen.sh:
989           up required version of automake to 1.7
990
991 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
992
993         * win32/common/libgstreamer.def:
994           export gst_buffer_is_metadata_writable
995
996 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
997
998         * docs/gst/gstreamer-sections.txt:
999         * gst/gstevent.h:
1000           Add gst_event_replace() (#327001)
1001
1002 2006-01-20  Wim Taymans  <wim@fluendo.com>
1003
1004         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1005         Make it actually compile too..
1006
1007 2006-01-20  Wim Taymans  <wim@fluendo.com>
1008
1009         * gst/gstcaps.c:
1010         Clarify behaviour of _is_equal() when passing NULL parameters.
1011
1012         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1013         (gst_pad_set_caps):
1014         Cleanups. Don't unref NULL caps.
1015         When setting the same caps, protect caps of the pad with
1016         proper lock.
1017         Use full functionality of _is_equal() when comparing caps.
1018
1019 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
1020
1021         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1022         Don't loop infinitely if there are no buffers to present. Partially
1023         fixes #327197, but collectpads is just broken for reusing elements
1024         to do multiple encodes atm.
1025
1026 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
1027
1028         * tools/gst-inspect.c: (print_element_features):
1029         * tools/gst-xmlinspect.c: (main):
1030         URL_HANDLER is not a plugin feature we can search for in
1031         the registry.
1032
1033 2006-01-19  Edward Hervey  <edward@fluendo.com>
1034
1035         * gst/gstelement.c: (gst_element_pads_activate): 
1036         When activating, do src pads first, then sink pads.
1037         When de-activating, do sink pads first, then src pads.
1038
1039 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1040
1041         * docs/gst/gstreamer-sections.txt:
1042         Add gst_index_add_associationv to the docs
1043
1044 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1045
1046         * gst/gstevent.c:
1047           Fix docs typo
1048
1049         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
1050         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
1051           Do some refactoring. Doesn't actually change functionality,
1052           but makes landing the DRAIN event easier later.
1053
1054 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
1055
1056         * docs/pwg/advanced-scheduling.xml:
1057           Update from 0.9.x to 0.10 API and make example a bit
1058           clearer.
1059
1060 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1061
1062         * docs/gst/gstreamer-sections.txt:
1063         Add gst_buffer_(is|make)_metadata_writable methods.
1064
1065 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1066
1067         * docs/design/part-sparsestreams.txt:
1068         Update sparse streams doc, hopefully for greater clarity
1069
1070 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
1071
1072         * docs/design/part-events.txt:
1073         Remove mention of FILLER events.
1074         Add DRAIN event.
1075
1076         * docs/design/part-sparsestreams.txt:
1077         Write some things about using NEWSEGMENT to keep sparse streams
1078         flowing.
1079
1080 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
1081
1082         * gst/gstbin.c: (gst_bin_dispose):
1083           Guard gst_object_unref call against a NULL object (dispose
1084           can theoretically be called multiple times).
1085           
1086 2006-01-18  Wim Taymans  <wim@fluendo.com>
1087
1088         * gst/gstbin.c: (gst_bin_element_set_state):
1089         * gst/gstclock.c: (gst_clock_id_wait):
1090         Added some more debug info.
1091
1092         * libs/gst/base/gstadapter.c:
1093         Added more docs.
1094
1095         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1096         (gst_base_sink_do_sync), (gst_base_sink_chain):
1097         Added some comments.
1098
1099 2006-01-18  Wim Taymans  <wim@fluendo.com>
1100
1101         * tests/check/Makefile.am:
1102         * tests/check/elements/fakesink.c: (chain_async_buffer),
1103         (chain_async), (chain_async_return), (GST_START_TEST),
1104         (fakesink_suite), (main):
1105         Added fakesink test that checks prerolling and clipping
1106         behaviour.
1107
1108         * tests/check/gst/gstutils.c: (GST_START_TEST):
1109         Make check run faster so that buildbots don't timeout.
1110
1111 2006-01-18  Wim Taymans  <wim@fluendo.com>
1112
1113         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1114         (gst_base_sink_do_sync):
1115         Some cleanups.
1116         When the sink finishes blocking on the preroll buffer, it can
1117         immediatly render it instead of rendering when the next buffer
1118         arrives.
1119
1120 2006-01-18  Wim Taymans  <wim@fluendo.com>
1121
1122         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
1123         (gst_base_sink_get_property), (gst_base_sink_do_sync),
1124         (gst_base_sink_chain):
1125         Small cleanups.
1126         GST_ELEMENT_CLOCK and sync are protected with LOCK.
1127         Don't store _last_stop if the buffer is dropped.
1128
1129 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
1130
1131         * plugins/elements/gsttypefindelement.c:
1132         (gst_type_find_element_class_init):
1133           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
1134           object method handler that sets the caps on the pad and we want
1135           that to happen before we emit the signal (fixes e.g. feeding a
1136           plain text file to decodebin).
1137
1138 2006-01-18  Christian Schaller  <Christian@fluendo.com>
1139
1140         * gst/gstplugin.c: Add MPL and Proprietary as license options
1141
1142 2006-01-18  Andy Wingo  <wingo@pobox.com>
1143
1144         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
1145         symbol was exported before, it appears this was just an oversight.
1146         Fixes #168703.
1147         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
1148
1149         * gst/gstindex.c (gst_index_add_associationv): Changed int in
1150         prototype to gint. OK since this prototype was not in the header.
1151
1152 2006-01-17  Andy Wingo  <wingo@pobox.com>
1153
1154         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
1155         registry while we remove plugins.
1156
1157         * tools/gst-inspect.c (print_element_info): Don't unref the
1158         factory arg, that should be the responsibility of whatever code
1159         received the ref. Fixes a double-free when called from
1160         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
1161         (main): Unref the factory if we have one.
1162         (print_element_list): No change -- relies on the
1163         plugin_feature_list_free to free the list of features.
1164
1165 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
1166
1167         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1168         (gst_buffer_make_metadata_writable):
1169         * gst/gstbuffer.h:
1170         * libs/gst/base/gstbasetransform.c:
1171         (gst_base_transform_prepare_output_buf):
1172         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1173         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1174           Replace gst_buffer_(make|is)_metadata_writable patch now
1175           that the release is out.
1176
1177 2006-01-17  Andy Wingo  <wingo@pobox.com>
1178
1179         * gst/gstregistry.c: Reflow design comment. Update so as to speak
1180         in the present tense without reference to versions.
1181
1182         * gst/gstregistry.c (gst_registry_add_plugin)
1183         (gst_registry_remove_plugin, gst_registry_remove_feature)
1184         (gst_registry_find_feature, gst_registry_get_feature_list)
1185         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
1186         (gst_registry_lookup, gst_registry_scan_path)
1187         (_gst_registry_remove_cache_plugins)
1188         (gst_registry_get_feature_list_by_plugin): Add argument
1189         validation.
1190
1191 === release 0.10.2 ===
1192
1193 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
1194
1195         * configure.ac:
1196           releasing 0.10.2, "If man is five"
1197
1198 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1199
1200         * gst/gstbuffer.c:
1201         * gst/gstbuffer.h:
1202         * libs/gst/base/gstbasetransform.c:
1203         (gst_base_transform_prepare_output_buf):
1204         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1205         * tests/check/gst/gstbuffer.c: (gst_test_suite):
1206           Back out patch until after the release.
1207
1208 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1209
1210         * gst/gstminiobject.c:
1211           Spelling fix in docs.
1212         * ChangeLog - remove conflict indicator
1213
1214 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1215
1216         Reviewed By: Andy Wingo
1217
1218         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1219         (gst_buffer_make_metadata_writable):
1220         * gst/gstbuffer.h:
1221           Add gst_buffer_(is|make)_metadata_writable as analogues of
1222           gst_buffer_(is|make)_writable.
1223
1224         * libs/gst/base/gstbasetransform.c:
1225         (gst_base_transform_prepare_output_buf):
1226         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1227           Use name gst_buffer_(is|make)_metadata_writable functions.
1228
1229         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1230           Test gst_buffer_(is|make)_metadata_writable
1231         
1232           (Closes: #324162)
1233
1234 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1235
1236         * docs/manual/Makefile.am:
1237           don't do parallel make
1238         * configure.ac:
1239           AC_SUBST HOST_CPU
1240         * win32/common/config.h.in:
1241           add generations for HOST_CPU and GST_MAJORMINOR
1242         * win32/common/config.h:
1243           commit generated result
1244
1245 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
1246
1247         * docs/manual/appendix-integration.xml:
1248           Update GNOME integration section to use gst_init_get_option_group()
1249           instead of the old popt stuff (#322911). Also, GNOME applications
1250           should  now use gconf*sink and gconf*src instead of the old gconf
1251           helper lib we had.
1252
1253 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
1254
1255
1256         * docs/gst/gstreamer-docs.sgml:
1257         * docs/gst/gstreamer-sections.txt:
1258         * docs/libs/gstreamer-libs-sections.txt:
1259           add new API entries to the docs
1260         * libs/gst/controller/Makefile.am:
1261         * libs/gst/controller/gstcontroller.c:
1262         * libs/gst/controller/gstcontroller.h:
1263         * libs/gst/controller/gstcontrollerprivate.h:
1264         * libs/gst/controller/gsthelper.c:
1265         * libs/gst/controller/gstinterpolation.c:
1266           move private structs to private header
1267         * po/README:
1268           gstreamer-0.7 -> gstreamer-0.10
1269         * tests/check/libs/struct_i386.h:
1270           remove private structs
1271
1272 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1273
1274         * plugins/indexers/Makefile.am:
1275           Fixes as part of #317048
1276
1277 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1278
1279         * plugins/indexers/Makefile.am:
1280           fix #316086 - compilation when mmap is missing
1281
1282 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
1283
1284         * libs/gst/base/gstbasesink.c:
1285           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
1286           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
1287         * win32/common/config.h:
1288           added some defines GST_MAJORMINOR and HOST_CPU
1289         * win32/common/libgstbase.def:
1290         * win32/common/libgstreamer.def:
1291           added some exported functions.
1292
1293 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1294
1295         * libs/gst/controller/gstcontroller.c:
1296         (gst_controlled_property_set_interpolation_mode),
1297         (gst_controlled_property_new):
1298         * libs/gst/controller/gstcontroller.h:
1299         * libs/gst/controller/gstinterpolation.c:
1300         (interpolate_none_get_string_value_array):
1301           make G_TYPE_STRING controlable
1302
1303 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1304
1305         * tools/README:
1306         * tools/gst-feedback.1.in:
1307         * tools/gst-inspect.1.in:
1308         * tools/gst-launch.1.in:
1309         * tools/gst-md5sum.1.in:
1310         * tools/gst-typefind.1.in:
1311         * tools/gst-xmlinspect.1.in:
1312         * tools/gst-xmllaunch.1.in:
1313           cleanup man-pages, remove reference to gst-register, document env-vars
1314
1315 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
1316
1317         * gst/gstbuffer.c: (gst_buffer_span):
1318           gst_buffer_span should copy the timestamp of the first buffer
1319           if they were both originally overlapping subbuffers of the 
1320           same parent, using the same logic as the 'slow copy' case.
1321
1322 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
1323
1324         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
1325           Need to awaken ALL the pads when we pop a buffer, otherwise
1326           collectpads only works when there is 2 input streams.
1327
1328 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
1329
1330         * docs/random/ensonic/media-device-daemon.txt:
1331           more ideas (dbus)
1332         * gst/gstbuffer.c:
1333           fix doc example, add clarification
1334         * tools/gst-launch.1.in:
1335           add initial info about GST_PLUGIN_PATH, needs more work
1336
1337 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1338
1339         * docs/manual/basics-bins.xml:
1340         * docs/manual/basics-elements.xml:
1341         * docs/manual/intro-basics.xml:
1342           Some more minor docs additions and updates.
1343
1344 2006-01-11  Wim Taymans  <wim@fluendo.com>
1345
1346         * docs/manual/basics-bins.xml:
1347         * docs/manual/basics-elements.xml:
1348         Some small fixes as pointed out by Ser-ver on IRC.
1349
1350 2006-01-10  Edward Hervey  <edward@fluendo.com>
1351
1352         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1353         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
1354         the single-segment mode.
1355
1356 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
1357
1358         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1359
1360         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
1361         (gst_base_src_perform_seek), (gst_base_src_send_event),
1362         (gst_base_src_set_property), (gst_base_src_get_property),
1363         (gst_base_src_loop), (gst_base_src_start),
1364         (gst_base_src_activate_push):
1365         * libs/gst/base/gstbasesrc.h:
1366           Name (private) union; makes Sun's Forte compiler happy (#324900).
1367
1368 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1369
1370         * README:
1371           gst-register is gone.
1372
1373 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1374
1375         * gst/gstvalue.c: (_gst_value_initialize):
1376           make the G_TYPE_DATE instantiation work if debug is disabled
1377
1378 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
1379
1380         * gst/gstmessage.c: (gst_message_parse_tag),
1381         (gst_message_parse_error), (gst_message_parse_warning):
1382           Don't crash when return location for error/warning debug
1383           string is NULL; add fact that return locations can be
1384           NULL to docs where appropriate.
1385
1386 2006-01-05  Wim Taymans  <wim@fluendo.com>
1387
1388         * gst/gstplugin.c: (gst_plugin_load_file):
1389         Replace strdup by g_strdup.
1390
1391 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1392
1393         * docs/pwg/advanced-types.xml:
1394           fix doc borkage
1395
1396 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1397
1398         submitted by: Abel Cheung
1399
1400         * po/LINGUAS:
1401         * po/zh_TW.po:
1402           Added Chinese (traditional) translation
1403
1404 2006-01-04  Wim Taymans  <wim@fluendo.com>
1405
1406         * docs/manual/basics-pads.xml:
1407         * docs/plugins/Makefile.am:
1408         * docs/plugins/gstreamer-plugins-docs.sgml:
1409         * docs/plugins/gstreamer-plugins-sections.txt:
1410         * docs/pwg/advanced-clock.xml:
1411         * docs/pwg/advanced-scheduling.xml:
1412         * docs/pwg/advanced-types.xml:
1413         * plugins/elements/gstfdsink.c:
1414         * plugins/elements/gstfdsrc.c:
1415         * plugins/elements/gstfdsrc.h:
1416         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1417         * plugins/elements/gstidentity.h:
1418         * plugins/elements/gstqueue.h:
1419         * plugins/elements/gsttee.c:
1420         * plugins/elements/gsttee.h:
1421         * plugins/elements/gsttypefindelement.c:
1422         (gst_type_find_element_class_init):
1423         * plugins/elements/gsttypefindelement.h:
1424         Small updates to various docs.
1425         Added core plugins to docs.
1426
1427 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1428
1429         * common/gst.supp:
1430           add a suppression for liboil's uninitialized variable
1431
1432 2006-01-02  James Livingston  <jrl at ids dot org dot au>
1433
1434         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1435
1436         * gst/gstutils.h:
1437           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
1438           macro, so that gcc doesn't complain if the -Wmissing-prototypes
1439           compiler switch is being used (#325429).
1440
1441 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
1442
1443         * gst/gstbin.c: (gst_bin_query):
1444           Disable duration query caching in bins until it gets
1445           fixed (see #324807).
1446
1447 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1448
1449         * tools/gst-inspect.c: (print_element_properties_info):
1450           Handle properties of POINTER and BOXED type.
1451
1452 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1453
1454         * gst/gst.c: (init_post):
1455           Init tags stuff and some other things before loading
1456           any static plugins (there may be other static plugins
1457           than just the GStreamer ones, and they may want to
1458           register their own tags or formats or whatever, and
1459           preferably without segfaulting).
1460
1461         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1462           Print at least a warning in the debug logs if we drop a
1463           query just because we don't know how to adjust the value
1464           in the particular format.
1465
1466 2005-12-24  David Schleef  <ds@schleef.org>
1467
1468         * tools/gstreamer-completion:
1469           Replacement for gst-complete written in sh and sed.  Only
1470           completes names of features, but that's 90% of what I want
1471           it for.  Properties are not available in registry.xml.  (Maybe
1472           they should be...)
1473
1474 === release 0.10.1 ===
1475
1476 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
1477
1478         * configure.ac:
1479           releasing 0.10.1, "Nollaig chridheil"
1480
1481 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
1482
1483         * docs/faq/cvs.xml:
1484           Add missing quote, should be make ERROR_CFLAGS="".
1485
1486 2005-12-20  Wim Taymans  <wim@fluendo.com>
1487
1488         * docs/design/part-trickmodes.txt:
1489         More documentation on trickmodes.
1490
1491 2005-12-20  Edward Hervey  <edward@fluendo.com>
1492
1493         * gst/gstcaps.c: (gst_static_caps_get_type):
1494         * gst/gstcaps.h:
1495           API addition: GST_TYPE_STATIC_CAPS
1496         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
1497         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
1498         * gst/gstpadtemplate.h:
1499           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
1500         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
1501         bindings.
1502
1503 2005-12-18  Wim Taymans  <wim@fluendo.com>
1504
1505         * libs/gst/base/gstadapter.c:
1506         * libs/gst/base/gstadapter.h:
1507         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1508         (gst_base_sink_get_position):
1509         * libs/gst/base/gstbasesink.h:
1510         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1511         (gst_base_src_default_query), (gst_base_src_default_do_seek),
1512         (gst_base_src_do_seek), (gst_base_src_perform_seek),
1513         (gst_base_src_send_event), (gst_base_src_update_length),
1514         (gst_base_src_get_range), (gst_base_src_loop),
1515         (gst_base_src_start):
1516         * libs/gst/base/gstbasesrc.h:
1517         * libs/gst/base/gstbasetransform.h:
1518         * libs/gst/base/gstcollectpads.h:
1519         * libs/gst/base/gstpushsrc.c:
1520         * libs/gst/base/gstpushsrc.h:
1521         * libs/gst/dataprotocol/dataprotocol.c:
1522         * libs/gst/dataprotocol/dataprotocol.h:
1523         * libs/gst/net/gstnetclientclock.h:
1524         * libs/gst/net/gstnettimeprovider.h:
1525         Documentation updates.
1526
1527 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1528
1529         * docs/manual/basics-helloworld.xml:
1530           Remove superfluous closing bracket in helloworld example.
1531
1532 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1533
1534         * tools/gst-launch.1.in:
1535           Update gst-launch man page; add a section with useful
1536           environment variables. Fixes #323882.
1537
1538 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
1539
1540         * gst/gst.c:
1541         * gst/gst_private.h:
1542           change some char* into char[]
1543
1544 2005-12-16  Wim Taymans  <wim@fluendo.com>
1545
1546         * gst/gstregistryxml.c: (load_feature):
1547         Cleanups.
1548         Don't use g_object_unref on GstObjects so that we avoid
1549         leaks on unsafe glibs.
1550
1551 2005-12-16  Wim Taymans  <wim@fluendo.com>
1552
1553         * gst/gstbin.c: (gst_bin_recalc_state):
1554         Small doc updates.
1555
1556 2005-12-16  Wim Taymans  <wim@fluendo.com>
1557
1558         * common/check.mak:
1559         Added make forever target for check.
1560
1561 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1562
1563         * gst/gst.c: (init_post):
1564           make the registry cache file HOST_CPU-dependent
1565
1566 2005-12-16  Andy Wingo  <wingo@pobox.com>
1567
1568         * plugins/elements/gstbufferstore.c
1569         (gst_buffer_store_cleared_func): Pay attention to g_list_append
1570         return value.
1571
1572         * tests/check/gst/gstobject.c
1573         (test_fake_object_name_threaded_unique): Pay attention to
1574         g_list_sort return value.
1575
1576 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1577
1578         * tools/gst-feedback-m.m:
1579           Update for 0.9/0.10 (fixes #323870).
1580
1581 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
1582
1583         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
1584           Fix lcopy for mini objects, the mini object needs to be ref'ed.
1585           
1586         * tests/check/gst/gstminiobject.c: (my_foo_init),
1587         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
1588         (test_value_collection), (gst_mini_object_suite):
1589           Add test to ensure refcounts end up as expected when passing
1590           GstMiniObjects through g_object_get() and g_object_set().
1591
1592 2005-12-14  Julien MOUTTE  <julien@moutte.net>
1593
1594         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1595         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
1596         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
1597         of collectpads. This version removes a lot of races without
1598         touching API/ABI. Yay !
1599
1600 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
1601
1602         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
1603           Don't allow activation of a srcpad in pull_range if it has no
1604           getrange function.
1605           Change some debug statements to be a little clearer
1606
1607         * plugins/elements/gsttypefindelement.c:
1608         (gst_type_find_handle_src_query):
1609           Check that we have a peer before executing queries thereupon.
1610
1611         * tests/examples/metadata/read-metadata.c: (message_loop):
1612           Use gst_bus_pop instead of gst_bus_poll when we just want it to
1613           immediately return us any available message with 0 timeout.
1614
1615 2005-12-12  Michael Smith  <msmith@fluendo.com>
1616
1617         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1618           Don't unref factories after calling them.
1619         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
1620         * plugins/elements/gsttypefindelement.c:
1621         (gst_type_find_element_chain):
1622           Free lists of factories after using them. Fixing typefinding memory
1623           leaks.
1624
1625 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1626
1627         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1628         (gst_plugin_feature_load):
1629           more meaningful debug output
1630         * configure.ac:
1631         * tests/Makefile.am:
1632         * tests/old/examples/Makefile.am:
1633           make make distcheck happy again
1634
1635 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1636
1637         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1638           Catch the special case where we are operating chain-based,
1639           but the downstream peer pad has no chain function. Emit a
1640           custom error message in this case instead of letting the
1641           core generate one implying that this is some sort of core
1642           bug. It's not, it just means that whatever got plugged
1643           into the pipeline downstream when we announced the type
1644           can only operate pull-based, while our source can only
1645           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
1646           Error string has not been marked for translation yet, as
1647           it probably needs some more work first.
1648
1649         (gst_type_find_element_get_best_possibility):
1650           Add helper function to find the best of all available
1651           found possibilities that qualify given the min. threshold.
1652
1653         (gst_type_find_element_handle_event):
1654           Fix the case where we get an EOS while still in TYPEFIND
1655           mode (we want to chose the best of all possible types,
1656           not just the first type that happens to be in our unsorted
1657           list of possible types).
1658
1659         (gst_type_find_element_chain):
1660           Make sure we return GST_FLOW_ERROR when we errored out
1661           in stop_typefinding(); also, don't just find the best of
1662           all found type entries and then use the last examined
1663           type entry, but actually use the best entry.
1664
1665 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1666
1667         * tests/examples/typefind/typefind.c: (type_found):
1668         * tests/examples/xml/runxml.c: (xml_loaded):
1669           More gcc4 fixes and a mem leak fix.
1670
1671 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1672
1673         * tests/examples/xml/createxml.c: (object_saved):
1674           gcc 4 fixes
1675
1676 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1677
1678         * tests/Makefile.am:
1679           enable the examples even more
1680
1681 2005-12-12  Andy Wingo  <wingo@pobox.com>
1682
1683         * libs/gst/net/gstnettimeprovider.c
1684         (gst_net_time_provider_class_init, gst_net_time_provider_init)
1685         (gst_net_time_provider_set_property)
1686         (gst_net_time_provider_get_property):
1687         API addition: Export "active" as a GObject property.
1688         (gst_net_time_provider_thread): Only respond to time queries if
1689         the time provider is active.
1690
1691         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
1692         NetTimeProvider, preserving binary compat.
1693
1694 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1695
1696         * tests/examples/controller/audio-example.c: (main):
1697         * tests/examples/launch/Makefile.am:
1698           convert comments again
1699
1700 2005-12-12  Wim Taymans  <wim@fluendo.com>
1701
1702         * libs/gst/base/gstpushsrc.c:
1703         Fix typo.
1704
1705 2005-12-12  Wim Taymans  <wim@fluendo.com>
1706
1707         * docs/libs/gstreamer-libs-sections.txt:
1708         Added new symbol to docs.
1709
1710         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1711         (gst_base_src_init), (gst_base_src_set_format),
1712         (gst_base_src_default_query), (gst_base_src_query),
1713         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
1714         (gst_base_src_perform_seek), (gst_base_src_send_event),
1715         (gst_base_src_default_event), (gst_base_src_event_handler),
1716         (gst_base_src_set_property), (gst_base_src_get_property),
1717         (gst_base_src_wait), (gst_base_src_do_sync),
1718         (gst_base_src_update_length), (gst_base_src_get_range),
1719         (gst_base_src_check_get_range), (gst_base_src_loop),
1720         (gst_base_src_default_negotiate), (gst_base_src_start),
1721         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1722         (gst_base_src_change_state):
1723         * libs/gst/base/gstbasesrc.h:
1724         Implement seeking to other formats than _BYTES.
1725         Implement more seeking methods correctly.
1726         Doc updates.
1727         Added query vmethod.
1728         Added do_seek vmethod to make life easier for subclasses
1729         when seeking.
1730         API addition: gst_base_src_set_format()
1731
1732 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1733
1734         * tests/examples/Makefile.am:
1735           added that too
1736
1737 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1738
1739         * configure.ac:
1740         * docs/random/ensonic/media-device-daemon.txt:
1741         * tests/examples/controller/.cvsignore:
1742         * tests/examples/controller/Makefile.am:
1743         * tests/examples/controller/audio-example.c: (main):
1744         * tests/examples/helloworld/.cvsignore:
1745         * tests/examples/helloworld/Makefile.am:
1746         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
1747         * tests/examples/launch/.cvsignore:
1748         * tests/examples/launch/Makefile.am:
1749         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
1750         * tests/examples/metadata/.cvsignore:
1751         * tests/examples/metadata/Makefile.am:
1752         * tests/examples/metadata/read-metadata.c: (message_loop),
1753         (make_pipeline), (print_tag), (main):
1754         * tests/examples/queue/.cvsignore:
1755         * tests/examples/queue/Makefile.am:
1756         * tests/examples/queue/queue.c: (event_loop), (main):
1757         * tests/examples/typefind/.cvsignore:
1758         * tests/examples/typefind/Makefile.am:
1759         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
1760         (main):
1761         * tests/examples/xml/.cvsignore:
1762         * tests/examples/xml/Makefile.am:
1763         * tests/examples/xml/createxml.c: (object_saved), (main):
1764         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
1765         * tests/old/examples/Makefile.am:
1766         * tests/old/examples/TODO:
1767         * tests/old/examples/controller/.cvsignore:
1768         * tests/old/examples/controller/Makefile.am:
1769         * tests/old/examples/controller/audio-example.c:
1770         * tests/old/examples/helloworld/.cvsignore:
1771         * tests/old/examples/helloworld/Makefile.am:
1772         * tests/old/examples/helloworld/helloworld.c:
1773         * tests/old/examples/launch/.cvsignore:
1774         * tests/old/examples/launch/Makefile.am:
1775         * tests/old/examples/launch/mp3parselaunch.c:
1776         * tests/old/examples/launch/mp3play:
1777         * tests/old/examples/manual/Makefile.am:
1778         * tests/old/examples/metadata/Makefile.am:
1779         * tests/old/examples/metadata/read-metadata.c:
1780         * tests/old/examples/queue/.cvsignore:
1781         * tests/old/examples/queue/Makefile.am:
1782         * tests/old/examples/queue/queue.c:
1783         * tests/old/examples/typefind/.cvsignore:
1784         * tests/old/examples/typefind/Makefile.am:
1785         * tests/old/examples/typefind/typefind.c:
1786         * tests/old/examples/xml/.cvsignore:
1787         * tests/old/examples/xml/Makefile.am:
1788         * tests/old/examples/xml/createxml.c:
1789         * tests/old/examples/xml/runxml.c:
1790           applied some simple fixing to some examples
1791           re-enabled the working examples
1792
1793 2005-12-12  Wim Taymans  <wim@fluendo.com>
1794
1795         * gst/gstsegment.c: (gst_segment_init),
1796         (gst_segment_set_last_stop), (gst_segment_set_seek),
1797         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1798         (gst_segment_to_running_time):
1799         Added more documentation.
1800         Make sure the last_pos value is updated properly.
1801         Make sure to_stream_time and to_running_time don't
1802         operate on wrong values.
1803
1804         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1805         Update check.
1806
1807 2005-12-12  Michael Smith  <msmith@fluendo.com>
1808
1809         * plugins/elements/gsttypefindelement.c: (free_entry),
1810         (gst_type_find_element_chain):
1811           Now that we're not leaking factories, make sure we keep references
1812           to them while we need them.
1813
1814 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1815
1816         * tests/check/gst/struct_i386.h:
1817           ifdef out the XML structs
1818
1819 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1820
1821         * gst/gstvalue.c: (gst_value_transform_double_fraction):
1822           floor is not needed, F is always positive; this obviates the
1823           need for adding -lm when building without libxml
1824
1825 2005-12-12  Wim Taymans  <wim@fluendo.com>
1826
1827         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1828         Take current playback rate into account when reporting
1829         the position.
1830
1831 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1832
1833         * docs/manual/mime-world.fig:
1834           Let's try this again, this time with a file that is
1835           actually in XFig format.
1836
1837 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1838
1839         * docs/manual/mime-world.fig:
1840           Add audioconvert element to diagram so that it
1841           matches the text and the code (fixes #319526).
1842
1843 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1844
1845         * docs/pwg/building-chainfn.xml:
1846         * docs/pwg/building-pads.xml:
1847         * docs/pwg/building-state.xml:
1848         * docs/pwg/other-source.xml:
1849           Update state change stuff for 0.10 (fixes #322969).
1850
1851 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1852
1853         * docs/manual/advanced-dataaccess.xml:
1854         * docs/manual/appendix-checklist.xml:
1855         * docs/manual/appendix-programs.xml:
1856         * docs/manual/basics-pads.xml:
1857         * docs/manual/highlevel-components.xml:
1858         * docs/manual/manual.xml:
1859           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1860           add converters in front of pipelines; remove curly
1861           brackets for threads stuff, they no longer exist; use
1862           GST_TYPE_FRACTION for framerates; update some pieces of
1863           code to 0.10, but there's plenty more to do.
1864
1865         * docs/manual/appendix-porting.xml:
1866           Expand on asynchroneous state changes; s/0.9/0.10/;
1867           mention disappearance of gst_init_get_popt_table()
1868           (fixes #322916).
1869
1870 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1871
1872         * docs/faq/using.xml:
1873           Spider no longer exists, and neither does gst-launch-ext.
1874           Update examples to use decodebin and playbin and put
1875           converters in front of sinks (fixes #323726).
1876
1877 2005-12-09  Michael Smith  <msmith@fluendo.com>
1878
1879         * plugins/elements/gsttypefindelement.c: (find_peek),
1880         (gst_type_find_element_chain):
1881           Fix leaking element factories in typefinding.
1882           Fix problem where we forgot about a probable type on non-seekable
1883           files, and thus later mis-typefound it.
1884
1885 2005-12-09  Michael Smith  <msmith@fluendo.com>
1886
1887         * common/m4/gst-makecontext.m4:
1888         * common/m4/gst-mcsc.m4:
1889         * configure.ac:
1890         * win32/common/config.h:
1891         * win32/common/config.h.in:
1892           Remove makecontext stuff; not used in 0.10 and causes problems on
1893           HPUX according to bug #322441
1894
1895 2005-12-07  Wim Taymans  <wim@fluendo.com>
1896
1897         * tests/check/Makefile.am:
1898         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1899         (main):
1900         * tests/check/libs/struct_i386.h:
1901         Added ABI check for libs
1902
1903 2005-12-07  Wim Taymans  <wim@fluendo.com>
1904
1905         * tests/check/Makefile.am:
1906         And add the struct_i386.h to dist.
1907
1908 2005-12-07  Wim Taymans  <wim@fluendo.com>
1909
1910         * tests/check/Makefile.am:
1911         * tests/check/gst/.cvsignore:
1912         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1913         (main):
1914         * tests/check/gst/struct_i386.h:
1915         Added check for ABI compatibility.
1916
1917 2005-12-07  Wim Taymans  <wim@fluendo.com>
1918
1919         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1920         (gst_fake_src_get_times), (gst_fake_src_create):
1921         Fix broken sync option, fixes #323259
1922
1923 2005-12-07  Wim Taymans  <wim@fluendo.com>
1924
1925         * gst/gstbuffer.c:
1926         Small docs update.
1927
1928         * gst/gstcaps.c: (gst_caps_is_equal):
1929         Don't assert on NULL <--> X. Fixes #323260
1930
1931         * gst/gstminiobject.c: (gst_mini_object_replace):
1932         If we're doing atomic operations, we might just as well use
1933         the proper way to get an atomic pointer.
1934
1935         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1936         Clean up debugging.
1937
1938 2005-12-07  Michael Smith  <msmith@fluendo.com>
1939
1940         * gst/parse/grammar.y:
1941           Remove handling of { } for threads.
1942
1943 2005-12-06  David Schleef  <ds@schleef.org>
1944
1945         * libs/gst/base/gstbasetransform.c: speling fix.
1946
1947 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1948
1949         * docs/libs/tmpl/gstdataprotocol.sgml:
1950         * docs/random/omega/testing/gstobject.c:
1951         * gst/gst.c:
1952         * gst/gstclock.c:
1953         * gst/gstelement.c:
1954         * gst/gstelementfactory.c:
1955         * gst/gsterror.c:
1956         * gst/gstevent.c:
1957         * gst/gstghostpad.c:
1958         * gst/gstinfo.c:
1959         * gst/gstpadtemplate.c:
1960         * gst/gstregistryxml.c:
1961         * gst/gsttaglist.c:
1962         * gst/gsttagsetter.c:
1963         * gst/gsttypefind.c:
1964         * gst/gstvalue.c:
1965         * libs/gst/base/gstbasesrc.c:
1966         * libs/gst/net/gstnetclientclock.c:
1967         * libs/gst/net/gstnettimeprovider.c:
1968         * plugins/elements/gstfakesrc.c:
1969         * plugins/elements/gstfdsrc.c:
1970         * plugins/elements/gstfilesrc.c:
1971         * plugins/elements/gstidentity.c:
1972         * plugins/elements/gstqueue.c:
1973         * plugins/elements/gsttypefindelement.c:
1974         * plugins/indexers/gstfileindex.c:
1975         * plugins/indexers/gstmemindex.c:
1976         * tests/check/gst/gsttag.c:
1977         * tests/old/examples/cutter/cutter.c:
1978         * tests/old/examples/mixer/mixer.c:
1979         * tests/old/examples/xml/runxml.c: (main):
1980         * tests/old/testsuite/caps/normalisation.c:
1981         * tests/old/testsuite/debug/global.c:
1982         * tests/old/testsuite/parse/parse1.c:
1983         * tools/gst-xmlinspect.c:
1984         * win32/common/dirent.c:
1985           expand tabs
1986
1987 === release 0.10.0 ===
1988
1989 2005-12-05   <thomas (at) apestaart (dot) org>
1990
1991         * configure.ac:
1992           releasing 0.10.0, "Maroilles"
1993
1994 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1995
1996         submitted by: Funda Wang <fundawang@linux.net.cn>
1997
1998         * po/LINGUAS:
1999         * po/zh_CN.po:
2000           added Chinese (Traditional) translation
2001
2002 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2003
2004         * docs/gst/gstreamer-sections.txt:
2005         * docs/libs/tmpl/gstdataprotocol.sgml:
2006         * docs/random/thomasvs/TODO:
2007         * gst/gstutils.c:
2008         * gst/gstutils.h:
2009           fix docs
2010
2011 2005-12-05  Andy Wingo  <wingo@pobox.com>
2012
2013         patch by: Wim Taymans <wim@fluendo.com>
2014
2015         * libs/gst/base/gstbasetransform.c
2016         (gst_base_transform_prepare_output_buf)
2017         (gst_base_transform_buffer_alloc):
2018         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
2019         alloc_buffer_and_set_caps.
2020
2021         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
2022         set_caps on the source pad.
2023         (gst_pad_alloc_buffer_and_set_caps): New function, does what
2024         alloc_buffer used to do. Fixes #322874.
2025
2026         * docs/gst/gstreamer-sections.txt: 
2027         * docs/design/part-negotiation.txt: 
2028         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
2029         changes.
2030
2031 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2032
2033         patch by: Sebastien Moutte
2034
2035         * win32/MANIFEST:
2036         * win32/common/config.h.in:
2037         * win32/vs6/libgstcontroller.dsp:
2038           win32 build fixes
2039
2040 2005-12-05  Wim Taymans  <wim@fluendo.com>
2041
2042         * gst/gstcaps.c: (gst_caps_is_equal):
2043         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2044         (gst_fake_src_create):
2045         Back out previous code changes, leave doc updates, file bugs 
2046         instead. 
2047
2048 2005-12-05  Wim Taymans  <wim@fluendo.com>
2049
2050         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2051         (gst_fake_src_get_times), (gst_fake_src_create):
2052         * plugins/elements/gstfakesrc.h:
2053         Fix broken sync code.
2054
2055 2005-12-05  Wim Taymans  <wim@fluendo.com>
2056
2057         * gst/gstcaps.c: (gst_caps_is_equal):
2058         Comparing NULL against !NULL yields different caps, not a
2059         failure.
2060
2061 2005-12-05  Wim Taymans  <wim@fluendo.com>
2062
2063         * gst/gstpipeline.c:
2064         Fix small typo in docs.
2065
2066 2005-12-05  Andy Wingo  <wingo@pobox.com>
2067
2068         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
2069
2070         * gst/gst.c (init_post): remove hard-coded 0.9 location for
2071         registries/plugins with a MAJORMINOR one.
2072         (plugin_desc): Rename library from gstcoreleements to
2073         staticelements. Fixes #323222.
2074
2075 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
2076
2077         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
2078           Change debug category to 'collectpads' from 'collect_pads'
2079           (fixes #323250).
2080
2081 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2082
2083         patch by: Sebastien Moutte
2084
2085         * libs/gst/controller/gstinterpolation.c:
2086           use convert function for uint64/double
2087         * win32/vs6/libgstcontroller.dsp:
2088           link to GLib
2089
2090 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2091
2092         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
2093         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
2094         * gst/gstutils.h:
2095         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2096           add tests that seem to show that the guint64/gdouble conversions
2097           are correct.
2098
2099 2005-12-02  Wim Taymans  <wim@fluendo.com>
2100
2101         * gst/gstregistry.c: (gst_registry_add_path):
2102         * gst/gstregistry.h:
2103         * gst/gstregistryxml.c:
2104         Fix docs again.
2105
2106 2005-12-02  Wim Taymans  <wim@fluendo.com>
2107
2108         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2109         (gst_util_uint64_scale_int):
2110         Small cleanup.
2111
2112         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2113         Add debug log line.
2114
2115         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
2116         Add FIXME.
2117
2118 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2119
2120         * win32/MANIFEST:
2121         * win32/common/config.h:
2122         * win32/vs6/gstreamer.dsw:
2123         * win32/vs6/libgstcoreelements.dsp:
2124         * win32/vs6/libgstelements.dsp:
2125           renamed core elements plugin
2126
2127 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2128
2129         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
2130         (get_candidates):
2131           do piece-wise major/minor comparison so 0.9 < 0.10
2132           also allow .exe extensions for tools
2133
2134 2005-12-02  Michael Smith  <msmith@fluendo.com>
2135
2136         * gst/gst.c:
2137           Escape a % to make gtkdoc happier; bug 322958.
2138
2139 === release 0.9.7 ===
2140
2141 2005-12-01   <thomas (at) apestaart (dot) org>
2142
2143         * configure.ac:
2144           releasing 0.9.7, "My Dog Has No Nose"
2145
2146 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2147
2148         * common/gst-xmlinspect.py:
2149         * configure.ac:
2150         * docs/libs/tmpl/gstdataprotocol.sgml:
2151         * docs/random/release:
2152         * po/af.po:
2153         * po/az.po:
2154         * po/bg.po:
2155         * po/ca.po:
2156         * po/cs.po:
2157         * po/de.po:
2158         * po/en_GB.po:
2159         * po/fr.po:
2160         * po/it.po:
2161         * po/nb.po:
2162         * po/nl.po:
2163         * po/ru.po:
2164         * po/sq.po:
2165         * po/sr.po:
2166         * po/sv.po:
2167         * po/tr.po:
2168         * po/uk.po:
2169         * po/vi.po:
2170         * win32/common/config.h:
2171         * win32/common/config.h.in:
2172         * win32/vs6/gst_inspect.dsp:
2173         * win32/vs6/gst_launch.dsp:
2174         * win32/vs6/libgstbase.dsp:
2175         * win32/vs6/libgstelements.dsp:
2176         * win32/vs6/libgstreamer.dsp:
2177         * win32/vs7/GStreamer.vcproj:
2178         * win32/vs7/gst-inspect.vcproj:
2179         * win32/vs7/gst-launch.vcproj:
2180         * win32/vs7/libgstbase.vcproj:
2181           bump GST_MAJORMINOR to 0.10
2182           reset libtool version
2183
2184 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2185
2186         * po/LINGUAS:
2187         * po/bg.po:
2188           Added Bulgarian translation by (Alexander Shopov)
2189
2190 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2191
2192         * tests/check/gst/gstplugin.c:
2193           fix test
2194
2195 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2196
2197         * common/gst-xmlinspect.py:
2198         * common/gtk-doc-plugins.mak:
2199         * configure.ac:
2200         * docs/Makefile.am:
2201         * docs/gst/Makefile.am:
2202         * docs/gst/gstreamer-docs.sgml:
2203         * docs/gst/gstreamer-sections.txt:
2204         * docs/gst/gstreamer.types:
2205         * docs/gst/gstreamer.types.in:
2206         * docs/plugins/Makefile.am:
2207         * docs/plugins/gstreamer-plugins-docs.sgml:
2208         * docs/plugins/gstreamer-plugins-sections.txt:
2209         * docs/plugins/gstreamer-plugins.types:
2210         * docs/plugins/inspect.stamp:
2211         * docs/plugins/inspect/plugin-coreelements.xml:
2212         * docs/plugins/inspect/plugin-coreindexers.xml:
2213         * docs/plugins/scanobj-build.stamp:
2214         * gstreamer.spec.in:
2215         * plugins/elements/Makefile.am:
2216         * plugins/elements/gstelements.c:
2217         * plugins/elements/gstfakesink.c:
2218         * plugins/elements/gstfakesrc.c:
2219         * plugins/elements/gstfilesink.c:
2220         * plugins/elements/gstfilesrc.c:
2221         * plugins/elements/gstqueue.c:
2222         * plugins/indexers/Makefile.am:
2223         * plugins/indexers/gstindexers.c:
2224           document core plugins in a separate document just like all the
2225           others
2226           rename these plugins to something starting with core
2227
2228 2005-12-01  Andy Wingo  <wingo@pobox.com>
2229
2230         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
2231         padding here before, but it missed the commit.
2232
2233 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2234
2235         * libs/gst/controller/gstinterpolation.c:
2236           whitespace prices have crashed, we should feel free to use some now
2237           use gst_guint64_to_gdouble
2238
2239 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2240
2241         * libs/gst/controller/gstcontroller.c:
2242         * libs/gst/controller/gsthelper.c:
2243         * libs/gst/controller/gstinterpolation.c:
2244         * libs/gst/controller/lib.c:
2245           wrap config.h include
2246
2247 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2248
2249         * docs/gst/gstreamer-sections.txt:
2250           update docs
2251
2252 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2253
2254         * plugins/elements/gstelements.c:
2255         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
2256         (gst_fd_sink__class_init), (gst_fd_sink__init),
2257         (gst_fd_sink__chain), (gst_fd_sink__set_property),
2258         (gst_fd_sink__get_property):
2259         * plugins/elements/gstfdsink.h:
2260         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
2261         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
2262         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
2263         (gst_fd_src_unlock), (gst_fd_src_set_property),
2264         (gst_fd_src_get_property), (gst_fd_src_create),
2265         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
2266         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
2267         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
2268         (gst_fd_src_uri_handler_init):
2269         * plugins/elements/gstfdsrc.h:
2270         * plugins/elements/gstqueue.c: (gst_queue_get_type):
2271           more anal cleanup
2272
2273 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2274
2275         * docs/gst/Makefile.am:
2276         * docs/gst/gstreamer.types.in:
2277         * gst/Makefile.am:
2278           fix the docs build
2279
2280 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2281
2282         * configure.ac:
2283         * gst/Makefile.am:
2284         * gst/gst.c:
2285         * gst/gstplugin.h:
2286         * gst/gstregistry.h:
2287         * tests/benchmarks/complexity.c:
2288         * tests/benchmarks/mass-elements.c:
2289         * tests/check/Makefile.am:
2290         * tools/Makefile.am:
2291         * tools/gst-inspect.c:
2292         * tools/gst-xmlinspect.c:
2293           various fixes to make
2294           --disable-nls --disable-registry --disable-loadsave
2295           --disable-parse --disable-gst-debug
2296           work and get the core .so down to 360444 bytes after stripping
2297
2298 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2299
2300         * Makefile.am:
2301         * configure.ac:
2302           descend into tests
2303         * docs/random/thomasvs/TODO:
2304         * tests/Makefile.am:
2305         * tests/README:
2306           add a README
2307
2308 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2309
2310         * win32/GStreamer.vcproj:
2311         * win32/MANIFEST:
2312         * win32/Makefile:
2313         * win32/Makefile.inspect:
2314         * win32/Makefile.launch:
2315         * win32/Makefile.register:
2316         * win32/README.txt:
2317         * win32/gst-inspect.vcproj:
2318         * win32/gst-launch.vcproj:
2319         * win32/gst-register.vcproj:
2320         * win32/gstelements.vcproj:
2321         * win32/gstgetbits.def:
2322         * win32/gstgetbits.vcproj:
2323         * win32/gstreamer-dbg.def:
2324         * win32/gstreamer.def:
2325         * win32/libgstbase.def:
2326         * win32/libgstbase.vcproj:
2327         * win32/link_oldruntime.c:
2328         * win32/mman.c:
2329         * win32/mman.h:
2330         * win32/mman.inl:
2331         * win32/msvc71.sln:
2332           move even more stuff, win32/ is nice and clean now
2333
2334 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2335
2336         * libs/gst/control/.cvsignore:
2337         * win32/MANIFEST:
2338         * win32/config.h:
2339         * win32/dirent.c:
2340         * win32/dirent.h:
2341         * win32/gstbytestream.def:
2342         * win32/gstbytestream.vcproj:
2343         * win32/gstconfig.h:
2344         * win32/gstenumtypes.c:
2345         * win32/gstenumtypes.h:
2346         * win32/gstoptimalscheduler.vcproj:
2347         * win32/gstversion.h:
2348         * win32/gtchar.h:
2349         * win32/testsuite/bins.vcproj:
2350         * win32/testsuite/bytestream.vcproj:
2351         * win32/testsuite/caps.vcproj:
2352         * win32/testsuite/cleanup.vcproj:
2353         * win32/testsuite/clock.vcproj:
2354         * win32/testsuite/debug.vcproj:
2355         * win32/testsuite/dlopen.vcproj:
2356         * win32/testsuite/dynparams.vcproj:
2357         * win32/testsuite/elements.vcproj:
2358         * win32/testsuite/ghostpads.vcproj:
2359         * win32/testsuite/indexers.vcproj:
2360         * win32/testsuite/negotiation.vcproj:
2361         * win32/testsuite/parse.vcproj:
2362         * win32/testsuite/plugin.vcproj:
2363         * win32/testsuite/refcounting.vcproj:
2364         * win32/testsuite/schedulers.vcproj:
2365         * win32/testsuite/states.vcproj:
2366         * win32/testsuite/tags.vcproj:
2367         * win32/testsuite/threads.vcproj:
2368           remove old win32 stuff that isn't maintained and should be
2369           reorganized
2370
2371 2005-11-30  Andy Wingo  <wingo@pobox.com>
2372
2373         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
2374         loading the gst.interfaces python module bork.
2375
2376         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
2377         available since GLib 2.2. Fixes #318031.
2378
2379 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2380
2381         * Makefile.am:
2382         * check/.cvsignore:
2383         * check/Makefile.am:
2384         * check/elements/.cvsignore:
2385         * check/elements/fakesrc.c:
2386         * check/elements/fdsrc.c:
2387         * check/elements/identity.c:
2388         * check/generic/.cvsignore:
2389         * check/generic/states.c:
2390         * check/gst-libs/.cvsignore:
2391         * check/gst-libs/controller.c:
2392         * check/gst-libs/gdp.c:
2393         * check/gst/.cvsignore:
2394         * check/gst/capslist.h:
2395         * check/gst/gst.c:
2396         * check/gst/gstbin.c:
2397         * check/gst/gstbuffer.c:
2398         * check/gst/gstbus.c:
2399         * check/gst/gstcaps.c:
2400         * check/gst/gstelement.c:
2401         * check/gst/gstevent.c:
2402         * check/gst/gstghostpad.c:
2403         * check/gst/gstiterator.c:
2404         * check/gst/gstmessage.c:
2405         * check/gst/gstminiobject.c:
2406         * check/gst/gstobject.c:
2407         * check/gst/gstpad.c:
2408         * check/gst/gstpipeline.c:
2409         * check/gst/gstplugin.c:
2410         * check/gst/gstsegment.c:
2411         * check/gst/gststructure.c:
2412         * check/gst/gstsystemclock.c:
2413         * check/gst/gsttag.c:
2414         * check/gst/gstutils.c:
2415         * check/gst/gstvalue.c:
2416         * check/net/.cvsignore:
2417         * check/net/gstnetclientclock.c:
2418         * check/net/gstnettimeprovider.c:
2419         * check/pipelines/.cvsignore:
2420         * check/pipelines/cleanup.c:
2421         * check/pipelines/simple_launch_lines.c:
2422         * check/pipelines/stress.c:
2423         * check/states/.cvsignore:
2424         * check/states/sinks.c:
2425         * configure.ac:
2426         * examples/Makefile.am:
2427         * examples/appreader/.cvsignore:
2428         * examples/appreader/Makefile.am:
2429         * examples/appreader/appreader.c:
2430         * examples/controller/.cvsignore:
2431         * examples/controller/Makefile.am:
2432         * examples/controller/audio-example.c:
2433         * examples/cutter/.cvsignore:
2434         * examples/cutter/Makefile.am:
2435         * examples/cutter/cutter.c:
2436         * examples/cutter/cutter.h:
2437         * examples/events/Makefile.am:
2438         * examples/events/seek.c:
2439         * examples/helloworld/.cvsignore:
2440         * examples/helloworld/Makefile.am:
2441         * examples/helloworld/helloworld.c:
2442         * examples/helloworld2/.cvsignore:
2443         * examples/helloworld2/Makefile.am:
2444         * examples/helloworld2/helloworld2.c:
2445         * examples/launch/.cvsignore:
2446         * examples/launch/Makefile.am:
2447         * examples/launch/mp3parselaunch.c:
2448         * examples/launch/mp3play:
2449         * examples/manual/.cvsignore:
2450         * examples/manual/Makefile.am:
2451         * examples/manual/extract.pl:
2452         * examples/metadata/Makefile.am:
2453         * examples/metadata/read-metadata.c:
2454         * examples/mixer/.cvsignore:
2455         * examples/mixer/Makefile.am:
2456         * examples/mixer/mixer.c:
2457         * examples/mixer/mixer.h:
2458         * examples/pingpong/.cvsignore:
2459         * examples/pingpong/Makefile.am:
2460         * examples/pingpong/pingpong.c:
2461         * examples/plugins/.cvsignore:
2462         * examples/plugins/Makefile.am:
2463         * examples/plugins/example.c:
2464         * examples/plugins/example.h:
2465         * examples/pwg/.cvsignore:
2466         * examples/pwg/Makefile.am:
2467         * examples/pwg/extract.pl:
2468         * examples/queue/.cvsignore:
2469         * examples/queue/Makefile.am:
2470         * examples/queue/queue.c:
2471         * examples/queue2/.cvsignore:
2472         * examples/queue2/Makefile.am:
2473         * examples/queue2/queue2.c:
2474         * examples/queue3/.cvsignore:
2475         * examples/queue3/Makefile.am:
2476         * examples/queue3/queue3.c:
2477         * examples/queue4/.cvsignore:
2478         * examples/queue4/Makefile.am:
2479         * examples/queue4/queue4.c:
2480         * examples/retag/.cvsignore:
2481         * examples/retag/Makefile.am:
2482         * examples/retag/retag.c:
2483         * examples/retag/transcode.c:
2484         * examples/thread/.cvsignore:
2485         * examples/thread/Makefile.am:
2486         * examples/thread/thread.c:
2487         * examples/typefind/.cvsignore:
2488         * examples/typefind/Makefile.am:
2489         * examples/typefind/typefind.c:
2490         * examples/xml/.cvsignore:
2491         * examples/xml/Makefile.am:
2492         * examples/xml/createxml.c:
2493         * examples/xml/runxml.c:
2494         * tests/Makefile.am:
2495         * tests/check/Makefile.am:
2496         * testsuite/.cvsignore:
2497         * testsuite/Makefile.am:
2498         * testsuite/Rules:
2499         * testsuite/caps/.cvsignore:
2500         * testsuite/caps/Makefile.am:
2501         * testsuite/caps/app_fixate.c:
2502         * testsuite/caps/audioscale.c:
2503         * testsuite/caps/caps.c:
2504         * testsuite/caps/caps.h:
2505         * testsuite/caps/caps_strings:
2506         * testsuite/caps/compatibility.c:
2507         * testsuite/caps/deserialize.c:
2508         * testsuite/caps/enumcaps.c:
2509         * testsuite/caps/eratosthenes.c:
2510         * testsuite/caps/filtercaps.c:
2511         * testsuite/caps/fixed.c:
2512         * testsuite/caps/fraction-convert.c:
2513         * testsuite/caps/fraction-multiply-and-zero.c:
2514         * testsuite/caps/intersect2.c:
2515         * testsuite/caps/intersection.c:
2516         * testsuite/caps/normalisation.c:
2517         * testsuite/caps/random.c:
2518         * testsuite/caps/renegotiate.c:
2519         * testsuite/caps/sets.c:
2520         * testsuite/caps/simplify.c:
2521         * testsuite/caps/string-conversions.c:
2522         * testsuite/caps/structure.c:
2523         * testsuite/caps/subtract.c:
2524         * testsuite/caps/union.c:
2525         * testsuite/debug/.cvsignore:
2526         * testsuite/debug/Makefile.am:
2527         * testsuite/debug/category.c:
2528         * testsuite/debug/commandline.c:
2529         * testsuite/debug/global.c:
2530         * testsuite/debug/output.c:
2531         * testsuite/debug/printf_extension.c:
2532         * testsuite/dlopen/.cvsignore:
2533         * testsuite/dlopen/Makefile.am:
2534         * testsuite/dlopen/dlopen_gst.c:
2535         * testsuite/dlopen/loadgst.c:
2536         * testsuite/elements/.cvsignore:
2537         * testsuite/elements/Makefile.am:
2538         * testsuite/elements/gst-inspect-check.in:
2539         * testsuite/elements/struct_i386.h:
2540         * testsuite/elements/struct_size.c:
2541         * testsuite/indexers/.cvsignore:
2542         * testsuite/indexers/Makefile.am:
2543         * testsuite/indexers/cache1.c:
2544         * testsuite/indexers/indexdump.c:
2545         * testsuite/parse/.cvsignore:
2546         * testsuite/parse/Makefile.am:
2547         * testsuite/parse/parse1.c:
2548         * testsuite/parse/parse2.c:
2549         * testsuite/plugin/.cvsignore:
2550         * testsuite/plugin/Makefile.am:
2551         * testsuite/plugin/README:
2552         * testsuite/plugin/dynamic.c:
2553         * testsuite/plugin/linked.c:
2554         * testsuite/plugin/loading.c:
2555         * testsuite/plugin/registry.c:
2556         * testsuite/plugin/static.c:
2557         * testsuite/plugin/static2.c:
2558         * testsuite/plugin/testplugin.c:
2559         * testsuite/plugin/testplugin2.c:
2560         * testsuite/plugin/testplugin2_s.c:
2561         * testsuite/plugin/testplugin_s.c:
2562         * testsuite/refcounting/.cvsignore:
2563         * testsuite/refcounting/Makefile.am:
2564         * testsuite/refcounting/bin.c:
2565         * testsuite/refcounting/element.c:
2566         * testsuite/refcounting/element_pad.c:
2567         * testsuite/refcounting/mainloop.c:
2568         * testsuite/refcounting/mem.c:
2569         * testsuite/refcounting/mem.h:
2570         * testsuite/refcounting/object.c:
2571         * testsuite/refcounting/pad.c:
2572         * testsuite/refcounting/sched.c:
2573         * testsuite/refcounting/thread.c:
2574         * testsuite/states/.cvsignore:
2575         * testsuite/states/Makefile.am:
2576         * testsuite/states/bin.c:
2577         * testsuite/states/locked.c:
2578         * testsuite/states/parent.c:
2579         * testsuite/threads/.cvsignore:
2580         * testsuite/threads/159566.c:
2581         * testsuite/threads/159852.c:
2582         * testsuite/threads/Makefile.am:
2583         * testsuite/threads/queue.c:
2584         * testsuite/threads/signals.c:
2585         * testsuite/threads/staticrec.c:
2586         * testsuite/threads/thread.c:
2587         * testsuite/threads/threadb.c:
2588         * testsuite/threads/threadc.c:
2589         * testsuite/threads/threadd.c:
2590         * testsuite/threads/threade.c:
2591         * testsuite/threads/threadf.c:
2592         * testsuite/threads/threadg.c:
2593         * testsuite/threads/threadh.c:
2594         * testsuite/threads/threadi.c:
2595           move all of these under tests
2596
2597 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2598
2599         * configure.ac:
2600         * tests/Makefile.am:
2601           fix distcheck
2602
2603 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2604
2605         * docs/gst/gstreamer-sections.txt:
2606         * tests/sched/.cvsignore:
2607         * tests/sched/Makefile.am:
2608         * tests/sched/cases/(fs-fs).xml:
2609         * tests/sched/cases/(fs-i-fs).xml:
2610         * tests/sched/cases/(fs-i-i-fs).xml:
2611         * tests/sched/cases/(fs-i-q[i-fs]).xml:
2612         * tests/sched/dynamic-pipeline.c:
2613         * tests/sched/interrupt1.c:
2614         * tests/sched/interrupt2.c:
2615         * tests/sched/interrupt3.c:
2616         * tests/sched/runtestcases:
2617         * tests/sched/runxml.c:
2618         * tests/sched/sched-stress.c:
2619         * tests/sched/sort.c:
2620         * tests/sched/testcases:
2621         * tests/sched/testcases1.tc:
2622         * tests/seeking/.cvsignore:
2623         * tests/seeking/Makefile.am:
2624         * tests/seeking/seeking1.c:
2625         * tests/threadstate/.cvsignore:
2626         * tests/threadstate/Makefile.am:
2627         * tests/threadstate/test1.c:
2628         * tests/threadstate/test2.c:
2629         * tests/threadstate/threadstate1.c:
2630         * tests/threadstate/threadstate2.c:
2631         * tests/threadstate/threadstate3.c:
2632         * tests/threadstate/threadstate4.c:
2633         * tests/threadstate/threadstate5.c:
2634           remove obsolete tests
2635         * configure.ac:
2636         * tests/bench-complexity.scm:
2637         * tests/bench-mass_elements.scm:
2638         * tests/complexity.c:
2639         * tests/complexity.gnuplot:
2640         * tests/instantiate/.cvsignore:
2641         * tests/instantiate/Makefile.am:
2642         * tests/instantiate/caps.c:
2643         * tests/mass_elements.c:
2644         * tests/network-clock-utils.scm:
2645         * tests/network-clock.scm:
2646         * tests/plot-data:
2647         First pass at cleaning up tests/ dir before moving the rest
2648         Combined with CVS surgery
2649
2650 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2651
2652         * po/POTFILES.in:
2653           queue has moved, update
2654
2655 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2656
2657         * docs/gst/gstreamer-sections.txt:
2658           remove double entries from the docs
2659         * gst/gst_private.h:
2660         * gst/gstinfo.c: (_gst_debug_init):
2661           remove the THREAD debug category
2662         * gst/Makefile.am:
2663         * gst/gstqueue.c:
2664         * gst/gstqueue.h:
2665         * docs/gst/gstreamer.types:
2666         * plugins/elements/gstqueue.c: (gst_queue_get_type),
2667         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
2668           completely move queue and fix up debugging categories
2669
2670 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2671
2672         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2673           make initialization portable, using LL is not
2674
2675 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2676
2677         * win32/common/gstconfig.h:
2678           add large padding
2679
2680 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2681
2682         * win32/common/libgstreamer.def:
2683           rename symbols; sort base section
2684
2685 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2686
2687         * gst/gstclock.c: (do_linear_regression):
2688           remove crack non-portable handrolled DEBUG macro
2689
2690 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2691
2692         * docs/random/release:
2693           update notes
2694         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2695         (gst_object_flags_get_type), (register_gst_bin_flags),
2696         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2697         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2698         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2699         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
2700         (gst_caps_flags_get_type), (register_gst_clock_return),
2701         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2702         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2703         (gst_clock_flags_get_type), (register_gst_state),
2704         (gst_state_get_type), (register_gst_state_change_return),
2705         (gst_state_change_return_get_type), (register_gst_state_change),
2706         (gst_state_change_get_type), (register_gst_element_flags),
2707         (gst_element_flags_get_type), (register_gst_core_error),
2708         (gst_core_error_get_type), (register_gst_library_error),
2709         (gst_library_error_get_type), (register_gst_resource_error),
2710         (gst_resource_error_get_type), (register_gst_stream_error),
2711         (gst_stream_error_get_type), (register_gst_event_type_flags),
2712         (gst_event_type_flags_get_type), (register_gst_event_type),
2713         (gst_event_type_get_type), (register_gst_seek_type),
2714         (gst_seek_type_get_type), (register_gst_seek_flags),
2715         (gst_seek_flags_get_type), (register_gst_format),
2716         (gst_format_get_type), (register_gst_index_certainty),
2717         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2718         (gst_index_entry_type_get_type),
2719         (register_gst_index_lookup_method),
2720         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2721         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2722         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2723         (gst_index_flags_get_type), (register_gst_debug_level),
2724         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2725         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2726         (gst_iterator_result_get_type), (register_gst_iterator_item),
2727         (gst_iterator_item_get_type), (register_gst_message_type),
2728         (gst_message_type_get_type), (register_gst_mini_object_flags),
2729         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2730         (gst_pad_link_return_get_type), (register_gst_flow_return),
2731         (gst_flow_return_get_type), (register_gst_activate_mode),
2732         (gst_activate_mode_get_type), (register_gst_pad_direction),
2733         (gst_pad_direction_get_type), (register_gst_pad_flags),
2734         (gst_pad_flags_get_type), (register_gst_pad_presence),
2735         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2736         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2737         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2738         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2739         (gst_plugin_flags_get_type), (register_gst_rank),
2740         (gst_rank_get_type), (register_gst_query_type),
2741         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2742         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2743         (gst_tag_flag_get_type), (register_gst_task_state),
2744         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2745         (gst_alloc_trace_flags_get_type),
2746         (register_gst_type_find_probability),
2747         (gst_type_find_probability_get_type), (register_gst_uri_type),
2748         (gst_uri_type_get_type), (register_gst_parse_error),
2749         (gst_parse_error_get_type):
2750         * win32/common/gstenumtypes.h:
2751         * win32/common/gstversion.h:
2752           update visual studio generated files
2753
2754 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2755
2756         * win32/vs6/libgstbase.dsp:
2757         * win32/vs6/libgstelements.dsp:
2758           update project files for new locations
2759
2760 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2761
2762         * Makefile.am:
2763           remove some files
2764         * README:
2765           reinstate and update
2766         * DEVEL:
2767         * REQUIREMENTS:
2768           removed
2769         * LICENSE:
2770         * docs/random/LICENSE:
2771           moved to random
2772
2773 2005-11-30  Edward Hervey  <edward@fluendo.com>
2774
2775         * gst/gsttypefind.c: (gst_type_find_register):
2776         * gst/gsttypefind.h:
2777         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
2778         (gst_type_find_factory_dispose):
2779         * gst/gsttypefindfactory.h:
2780         Fix memory leak in GstTypeFindFactory.
2781
2782 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2783
2784         * gst/gst.c:
2785         * plugins/elements/Makefile.am:
2786         * plugins/elements/gstelements.c:
2787         * plugins/elements/gstqueue.c:
2788           move queue from core to the elements plugin
2789
2790 2005-11-29  Andy Wingo  <wingo@pobox.com>
2791
2792         * libs/gst/base/gstbasetransform.h: 
2793         * libs/gst/base/gstbasesrc.h: 
2794         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
2795
2796         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
2797         of pointers by which to pad very extensible base classes (like the
2798         ones in libs/gst/base).
2799
2800 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2801
2802         * docs/gst/gstreamer-docs.sgml:
2803         * docs/gst/gstreamer-sections.txt:
2804         * docs/libs/gstreamer-libs-docs.sgml:
2805         * docs/libs/gstreamer-libs-sections.txt:
2806           moving documentation from core to lib
2807
2808 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2809
2810         * check/Makefile.am:
2811         * configure.ac:
2812         * docs/gst/Makefile.am:
2813         * gst/Makefile.am:
2814         * gst/base/.cvsignore:
2815         * gst/base/Makefile.am:
2816         * gst/base/README:
2817         * gst/base/gstadapter.c:
2818         * gst/base/gstadapter.h:
2819         * gst/base/gstbasesink.c:
2820         * gst/base/gstbasesink.h:
2821         * gst/base/gstbasesrc.c:
2822         * gst/base/gstbasesrc.h:
2823         * gst/base/gstbasetransform.c:
2824         * gst/base/gstbasetransform.h:
2825         * gst/base/gstcollectpads.c:
2826         * gst/base/gstcollectpads.h:
2827         * gst/base/gstpushsrc.c:
2828         * gst/base/gstpushsrc.h:
2829         * gst/base/gsttypefindhelper.c:
2830         * gst/base/gsttypefindhelper.h:
2831         * gst/check/Makefile.am:
2832         * gst/check/gstcheck.c:
2833         * gst/check/gstcheck.h:
2834         * gst/net/Makefile.am:
2835         * gst/net/gstnet.h:
2836         * gst/net/gstnetclientclock.c:
2837         * gst/net/gstnetclientclock.h:
2838         * gst/net/gstnettimepacket.c:
2839         * gst/net/gstnettimepacket.h:
2840         * gst/net/gstnettimeprovider.c:
2841         * gst/net/gstnettimeprovider.h:
2842         * libs/gst/Makefile.am:
2843         * libs/gst/base/Makefile.am:
2844         * libs/gst/base/gstbasetransform.c:
2845         * libs/gst/check/Makefile.am:
2846         * plugins/elements/Makefile.am:
2847         * po/POTFILES.in:
2848           CVS surgery + support to move base, check, and net out of gst
2849           and into libs/gst
2850
2851 2005-11-29  Andy Wingo  <wingo@pobox.com>
2852
2853         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2854
2855         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2856         padding.
2857
2858         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2859
2860         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2861
2862         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2863
2864         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2865         padding; reduces object size by about 30%. We don't expect
2866         anything else to go into gstobject.
2867
2868         * gst/gstminiobject.h (struct _GstMiniObject)
2869         (struct _GstMiniObjectClass): Only one pointer of padding; the
2870         payload is only a pointer and two ints anyway. For the class there
2871         are only two methods as well.
2872         
2873         * gst/gstelement.h (struct _GstElementClass): Removed
2874         the state_changed signal callback, it is not used.
2875
2876 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2877
2878         * docs/gst/gstreamer.types:
2879           fix includes, though they are a little dinky
2880
2881 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2882
2883         * check/Makefile.am:
2884           look in the right place for elements, a lot more chance of
2885           success
2886         * gst/Makefile.am:
2887           remove indexers and elements subdirs
2888         * plugins/Makefile.am:
2889           make indexers conditional
2890
2891 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2892
2893         * Makefile.am:
2894         * configure.ac:
2895         * plugins/elements/Makefile.am:
2896         * plugins/elements/gstcapsfilter.c:
2897         * plugins/elements/gstfilesink.c:
2898         * plugins/elements/gstfilesrc.c:
2899         * plugins/elements/gstidentity.c:
2900         * plugins/indexers/Makefile.am:
2901           do CVS surgery and related build fixery to move elements
2902           and indexers in a new gstreamer/plugins directory, out of the
2903           gst/ directory
2904
2905 2005-11-29  Andy Wingo  <wingo@pobox.com>
2906
2907         * check/Makefile.am:
2908         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2909         * pkgconfig/gstreamer-net.pc.in:
2910         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2911         #322257.
2912
2913 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2914
2915         * tools/Makefile.am:
2916         * tools/gst-complete.1.in:
2917         * tools/gst-complete.c:
2918         * tools/gst-compprep.1.in:
2919         * tools/gst-compprep.c:
2920           removing -compprep and -complete
2921
2922 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2923
2924         * gst/gstevent.c: (gst_event_new_new_segment),
2925         (gst_event_parse_new_segment):
2926         * gst/gstevent.h:
2927           fix #320529 - clean up new_segment API and structure.
2928           Let's hope everyone was using the methods, and not the structure.
2929
2930 2005-11-29  Edward Hervey  <edward@fluendo.com>
2931
2932         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2933         (gst_base_sink_event), (gst_base_sink_do_sync),
2934         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2935         Properly handle non GST_FORMAT_TIME segment
2936         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2937         Properly handle non GST_FORMAT_TIME segment
2938         * gst/gstsegment.c:
2939         This function is valid if the accumulator is 0 and the format
2940         is different from the requested format.
2941         
2942 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2943
2944         * docs/gst/gstreamer-sections.txt:
2945         Add gst_query_new_seeking and gst_query_parse_seeking to the
2946         docs.
2947
2948 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2949
2950         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2951           Treat a pad alloc with new caps the same as if we were not
2952           negotiated, in order to allow a changing upstream output
2953           to produce a new format of data.
2954
2955 2005-11-29  Edward Hervey  <edward@fluendo.com>
2956
2957         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2958         (gst_base_transform_event), (gst_base_transform_eventfunc):
2959         The event virtual method is now properly implemented, with a default
2960         handler
2961         Sub classes should call the parent_class event method. They should
2962         return FALSE if they had a problem handling the given event, or don't
2963         want GstBaseTransform to send that even downstream
2964         * gst/elements/gstidentity.c: (gst_identity_class_init),
2965         (gst_identity_init), (gst_identity_event),
2966         (gst_identity_transform_ip), (gst_identity_set_property),
2967         (gst_identity_get_property):
2968         * gst/elements/gstidentity.h:
2969         Added the single-segment boolean property.
2970         If set to TRUE, it will output a single segment of data, starting from
2971         0, will eat up all incoming newsegment, and modify the timestamp of the
2972         buffers accordingly
2973
2974 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2975
2976         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2977           Don't ref NULL target pad (#322751). Improve docs.
2978
2979 2005-11-29  Michael Smith  <msmith@fluendo.com>
2980
2981         * gst/gstregistryxml.c: (load_plugin):
2982           Don't crash if we failed to load a feature from a plugin. 
2983
2984 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2985
2986         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2987         (GST_START_TEST):
2988           use more check API and less GLib API
2989
2990 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2991
2992         * Makefile.am:
2993           don't run checks if we don't have check
2994         * common/check.mak:
2995           remove the registry when running make torture
2996         * docs/gst/gstreamer-sections.txt:
2997           remove second multiply
2998         * gst/gstqueue.c: (gst_queue_loop):
2999           fix a compile warning when disabling debug
3000
3001 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3002
3003         * gst/gstinfo.h:
3004         Hey! Let's print the pad name if the pointer != NULL instead
3005         of when it == NULL :-)
3006
3007 2005-11-28  Wim Taymans  <wim@fluendo.com>
3008
3009         * check/gst/gstutils.c: (GST_START_TEST):
3010         Updated check, add some scaling accuracy checking code.
3011
3012         * gst/gstutils.c: (gst_util_div128_64),
3013         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
3014         (gst_util_uint64_scale_int):
3015         Fix 6 times faster division code. Optimize for common 
3016         1/1 and less common X/1 cases.
3017
3018 2005-11-28  Wim Taymans  <wim@fluendo.com>
3019
3020         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3021         More checks.
3022
3023         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
3024         (do_linear_regression), (gst_clock_add_observation):
3025         Cleanups.
3026         Release lock when the clock cannot be slaved.
3027         Catch the case where the regression returned an invalid denominator.
3028
3029         * gst/gstutils.c: (gst_util_div128_64_iterate),
3030         (gst_util_div128_64), (gst_util_uint64_scale_int64),
3031         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3032         Add protentially more performant non-iterative 128/64 divide function
3033         that unfortunatly does not work yet.
3034         Shortcut the trivial 0/X = 0 case.
3035         Remove the warnings on overflow.
3036
3037 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3038
3039         * gst/gstplugin.c: (gst_plugin_register_func):
3040           everything causing a plugin not to load should be at least a WARNING
3041
3042 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
3043
3044         * docs/random/ensonic/dparams.txt:
3045           some TODOs for the next dev cycle
3046         * libs/gst/controller/gstcontroller.c:
3047         (gst_controlled_property_set_interpolation_mode),
3048         (gst_controlled_property_new):
3049         * libs/gst/controller/gstcontroller.h:
3050           use base type to assign acccessor functions
3051
3052 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3053
3054         * check/Makefile.am:
3055         Oops, that should have been top_srcdir
3056
3057 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3058
3059         * check/Makefile.am:
3060         * check/elements/fdsrc.c: (GST_START_TEST):
3061         Use a cmdline define to specify the location of a file to use for
3062         testing, to avoid breaking distcheck.
3063
3064 2005-11-28  Andy Wingo  <wingo@pobox.com>
3065
3066         * gst/gstpad.c (fixate_value): Use array functions for arrays.
3067
3068 2005-11-28  Edward Hervey  <edward@fluendo.com>
3069
3070         * tools/gst-launch.c: (main):
3071         Clarify the output strings, makes it easier to translate.
3072         Fixes #322626
3073
3074 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3075
3076         * gst/Makefile.am:
3077           don't try and build net if we don't even have <sys/socket.h>
3078
3079 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
3080
3081         * check/Makefile.am:
3082         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
3083         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
3084           Add tests for fdsrc seekability
3085
3086         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
3087         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
3088         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
3089         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
3090         * gst/elements/gstfdsrc.h:
3091           fdsrc should not be a 'live' source.
3092           Implement seeking on seekable fd's.
3093
3094         * gst/gstquery.c: (gst_query_new_seeking),
3095         (gst_query_parse_seeking):
3096         * gst/gstquery.h:
3097           Implement SEEKING query functions: 
3098             *_new_seeking and *_parse_seeking
3099
3100 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
3101
3102         * gst/gstelement.c: (gst_element_dispose):
3103           don't loop forever
3104
3105         * gst/gstiterator.c:
3106         * gst/gststructure.c:
3107           doc fixes
3108
3109         * libs/gst/controller/gstcontroller.c:
3110         (gst_controlled_property_set_interpolation_mode):
3111         * libs/gst/controller/gstcontroller.h:
3112         * libs/gst/controller/gstinterpolation.c:
3113         (interpolate_none_get_enum_value_array):
3114           support controlling enums
3115
3116 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
3117
3118         * gst/gstvalue.c:
3119           Improve documentation for gst_value_union().
3120
3121         * gst/gstvalue.h:
3122           Change return value for union, intersect and subtract functions
3123           from gint to gboolean.
3124
3125 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
3126
3127         * gst/gstvalue.c: (gst_value_serialize_any_list),
3128         (gst_value_transform_any_list_string),
3129         (gst_value_deserialize_list), (gst_value_deserialize_array),
3130         (gst_value_set_int_range), (gst_value_deserialize_int_range),
3131         (gst_value_set_double_range), (gst_value_deserialize_double_range),
3132         (gst_value_set_fraction_range_full),
3133         (gst_value_deserialize_fraction_range),
3134         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
3135         (gst_value_deserialize_boolean),
3136         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
3137         (gst_value_serialize_float), (gst_value_deserialize_float),
3138         (gst_string_wrap), (gst_value_deserialize_string),
3139         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
3140         (gst_value_union_int_range_int_range),
3141         (gst_value_intersect_int_range_int_range),
3142         (gst_value_intersect_double_range_double_range),
3143         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
3144         (gst_value_subtract_int_range_int_range),
3145         (gst_value_subtract_double_double_range),
3146         (gst_value_subtract_double_range_double_range),
3147         (gst_value_deserialize_fraction):
3148         * gst/gstvalue.h:
3149           Use gint, gdouble and gchar in our API instead of int, double and
3150           char (and make usage in gstvalue.c more consistent).
3151
3152 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3153
3154         * check/Makefile.am:
3155         * libs/gst/controller/Makefile.am:
3156         * libs/gst/dataprotocol/Makefile.am:
3157           fix up Makefile.am and remove GST_ENABLE_NEW
3158
3159 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3160
3161         * configure.ac:
3162         * gst/Makefile.am:
3163         * gst/base/Makefile.am:
3164         * gst/check/Makefile.am:
3165         * gst/elements/Makefile.am:
3166         * gst/net/Makefile.am:
3167           update LDFLAGS use some more
3168
3169 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3170
3171         * common/m4/gst-doc.m4:
3172           Fixes #312589
3173
3174 2005-11-26  Edward Hervey  <edward@fluendo.com>
3175
3176         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3177         This shouldn't issue a g_warning since it returns NULL if it
3178         couldn't find the plugin, and all functions using this behave
3179         properly on a NULL return. Switching to a GST_WARNING.
3180
3181 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
3182
3183         * gst/gstbin.c: (gst_bin_handle_message_func):
3184         Don't leak clock messages.
3185
3186 2005-11-25  Wim Taymans  <wim@fluendo.com>
3187
3188         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3189         (gst_util_uint64_scale_int):
3190         Optimisations, remove unneeded vars.
3191
3192 2005-11-25  Wim Taymans  <wim@fluendo.com>
3193
3194         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3195         Added more checks for the high precision uint64 cases.
3196
3197         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3198         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3199         Implement high precision (guint64 * guint64) / guint64.
3200
3201 2005-11-24  Wim Taymans  <wim@fluendo.com>
3202
3203         * gst/base/gstbasesrc.c: (gst_base_src_query):
3204         Fix wrong percentage query.
3205
3206         * gst/gstutils.c: (gst_util_uint64_scale),
3207         (gst_util_uint64_scale_int):
3208         Add some more common cases that can be handled 
3209         efficiently to _scale.
3210
3211 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3212
3213         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
3214         (gst_mini_object_suite):
3215           don't use check calls from threads; check probably isn't
3216           threadsafe and using a lock to make it threadsafe would
3217           defeat the purpose of this check
3218         * gst/check/gstcheck.c:
3219         * gst/check/gstcheck.h:
3220           use GST_DEBUG some more
3221
3222 2005-11-24  Wim Taymans  <wim@fluendo.com>
3223
3224         * gst/gstutils.c: (gst_util_uint64_scale),
3225         (gst_util_uint64_scale_int):
3226         Chain trivial case to _scale_int.
3227
3228 2005-11-24  Wim Taymans  <wim@fluendo.com>
3229
3230         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3231         Added test for scaling.
3232
3233         * gst/gstclock.h:
3234         Small doc fix.
3235
3236         * gst/gstutils.c: (gst_util_uint64_scale_int):
3237         Implemented high precision scaling code.
3238
3239 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
3240
3241         * gst/gstinfo.h:
3242           do not crash on pad==NULL
3243
3244 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3245
3246         Patch by: Stefan Kost
3247
3248         * common/gtk-doc.mak:
3249         * docs/gst/Makefile.am:
3250         * docs/libs/Makefile.am:
3251           Fix distcheck issues for the libraries docs build
3252           Closes #319599.
3253
3254 2005-11-24  Michael Smith <msmith@fluendo.com>
3255
3256         * docs/manual/basics-helloworld.xml:
3257           Fix bug #315027: memory leak in example code in docs.
3258
3259 2005-11-24  Michael Smith <msmith@fluendo.com>
3260
3261         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3262           Unlock the PREROLL_LOCK in a failure case.
3263
3264 2005-11-24  Wim Taymans  <wim@fluendo.com>
3265
3266         * docs/gst/gstreamer-sections.txt:
3267         * gst/base/gstadapter.h:
3268         * gst/base/gstbasesink.h:
3269         * gst/base/gstbasesrc.h:
3270         * gst/base/gstbasetransform.h:
3271         * gst/base/gstpushsrc.h:
3272         * gst/elements/gstfakesink.h:
3273         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
3274         * gst/elements/gstfakesrc.h:
3275         * gst/elements/gstfilesink.h:
3276         * gst/elements/gstfilesrc.h:
3277         * gst/gst.c:
3278         * gst/gstbin.c:
3279         * gst/gstbuffer.c: (_gst_buffer_copy):
3280         * gst/gstbus.h:
3281         * gst/gstcaps.c:
3282         * gst/gstchildproxy.c:
3283         * gst/gstclock.c:
3284         * gst/gstelement.c:
3285         * gst/gstelementfactory.c:
3286         * gst/gstelementfactory.h:
3287         * gst/gstevent.c:
3288         * gst/gstghostpad.h:
3289         * gst/gstindex.h:
3290         * gst/gstinterface.h:
3291         * gst/gstminiobject.c:
3292         * gst/gstminiobject.h:
3293         * gst/gstpad.c:
3294         * gst/gstpad.h:
3295         * gst/gstpadtemplate.h:
3296         * gst/gstpipeline.h:
3297         * gst/gstpluginfeature.h:
3298         * gst/gstquery.h:
3299         * gst/gstqueue.h:
3300         * gst/gsttaglist.c:
3301         * gst/gsttaglist.h:
3302         * gst/gsttagsetter.c:
3303         * gst/gsttagsetter.h:
3304         * gst/gsttrace.c:
3305         * gst/gsttrace.h:
3306         * gst/gsttypefind.h:
3307         * gst/gsturi.h:
3308         * gst/gstvalue.c:
3309         * gst/net/gstnetclientclock.c:
3310         * gst/net/gstnetclientclock.h:
3311         * gst/net/gstnettimepacket.c:
3312         * gst/net/gstnettimeprovider.c:
3313         * gst/net/gstnettimeprovider.h:
3314         Doc fixes.
3315
3316 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3317
3318         * configure.ac: back to HEAD
3319
3320 === release 0.9.6 ===
3321
3322 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
3323
3324         * configure.ac:
3325           releasing 0.9.6, "Always On Time"
3326
3327 2005-11-23  Wim Taymans  <wim@fluendo.com>
3328
3329         * docs/gst/gstreamer-sections.txt:
3330         * gst/glib-compat.c:
3331         * gst/gsttagsetter.c:
3332         * gst/gstvalue.c:
3333         * gst/net/gstnetclientclock.c:
3334         * gst/net/gstnettimepacket.h:
3335         Doc updates.
3336
3337 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3338
3339         * docs/faq/using.xml:
3340         * docs/libs/tmpl/gstcontrol.sgml:
3341         * docs/manual/advanced-dparams.xml:
3342         * docs/manual/appendix-checklist.xml:
3343         * docs/manual/basics-elements.xml:
3344         * docs/pwg/other-source.xml:
3345         * docs/random/moving-plugins:
3346         * gst/gstpad.c:
3347         * tools/gst-launch.1.in:
3348           remove mentions of sinesrc
3349
3350 2005-11-23  Michael Smith <msmith@fluendo.com>
3351
3352         * docs/gst/gstreamer-sections.txt:
3353           Update for new API and API changes.
3354         * gst/gstobject.h:
3355           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
3356         * gst/gstvalue.c:
3357           Documentation typo fix.
3358         * gst/net/gstnettimepacket.c:
3359           Documentation fixes for arguments.
3360
3361 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
3362
3363         * gst/gststructure.c: (gst_structure_get_fraction),
3364         (gst_structure_parse_value),
3365         (gst_structure_fixate_field_nearest_fraction):
3366         * gst/gststructure.h:
3367         * gst/gstutils.c: (gst_util_uint64_scale_int):
3368         * gst/gstutils.h:
3369         * scripts/update-funcnames:
3370         API Changes. 
3371         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
3372         Make gst_structure_fixate_field_nearest_fraction take a numerator
3373         and denominator argument instead of a GValue
3374         add gst_structure_get_fraction helper function.
3375
3376 2005-11-23  Wim Taymans  <wim@fluendo.com>
3377
3378         * docs/design/part-TODO.txt:
3379         Update TODO.
3380
3381         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3382         * gst/net/gstnetclientclock.h:
3383         Use parent fields for timeout and window_size.
3384
3385 2005-11-23  Andy Wingo  <wingo@pobox.com>
3386
3387         * check/net/gstnetclientclock.c (test_functioning): Adjust to
3388         rate_num/rate_denom change.
3389
3390         * gst/net/gstnetclientclock.c
3391         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
3392         OBJECT_LOCK. Don't call add_observation with the lock.
3393
3394         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
3395         fraction.
3396         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
3397         rate fraction.
3398         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
3399         deal with rate as a fraction whose numerator and denominator are
3400         GstClockTime values.
3401         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
3402         master; the other fields are protected by the SLAVE_LOCK.
3403         (do_linear_regression): Note that this must be called with the
3404         SLAVE_LOCK.
3405         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
3406         OBJECT_LOCK. Call set_calibration instead of touching the
3407         variables directly.
3408         (gst_clock_set_property, gst_clock_get_property): Protect
3409         master/slave parameters with the SLAVE_LOCK.
3410
3411         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
3412         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
3413         note that all of the instance variables that add_observation and
3414         the set_master functions use are protected by that lock and not
3415         the OBJECT_LOCK.
3416         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
3417
3418         * gst/gstclock.c (gst_clock_add_observation): No longer requires
3419         the caller to take the object lock.
3420
3421 2005-11-23  Wim Taymans  <wim@fluendo.com>
3422
3423         * gst/gsterror.c: (_gst_core_errors_init):
3424         * gst/gsterror.h:
3425         Add error for clock stuff.
3426
3427         * gst/gstpipeline.c: (gst_pipeline_change_state),
3428         (gst_pipeline_set_clock):
3429         Post clock error when clock cannot be used in a pipeline.
3430
3431 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
3432
3433         * docs/gst/gstreamer-sections.txt:
3434           make two symbols from gstinfo private for the docs
3435         * gst/base/gstcollectpads.h:
3436         * gst/gstutils.c:
3437           fix doc typos, update docs
3438
3439 2005-11-22  Wim Taymans  <wim@fluendo.com>
3440
3441         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3442         (gst_base_sink_wait), (gst_base_sink_do_sync),
3443         (gst_base_sink_handle_event):
3444         * gst/base/gstbasesink.h:
3445         No need to store the clock, the parent element class already
3446         has it.
3447
3448         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
3449         Updates for clock_set returning a gboolean
3450
3451         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
3452         (gst_clock_id_wait_async), (gst_clock_class_init),
3453         (gst_clock_init), (gst_clock_finalize),
3454         (gst_clock_get_internal_time), (gst_clock_get_time),
3455         (gst_clock_slave_callback), (gst_clock_set_master),
3456         (gst_clock_get_master), (do_linear_regression),
3457         (gst_clock_add_observation), (gst_clock_set_property),
3458         (gst_clock_get_property):
3459         * gst/gstclock.h:
3460         Implement master/slave. When setting a clock as a slave, a
3461         periodic timeout is scheduled to sample master and slave times.
3462         Then the slave clock is recalibrated to match offset and rate
3463         of the master clock.
3464         Update logging a bit.
3465         Add flag so that a clock can state that is cannot be slaved to
3466         another clock.
3467
3468         * gst/gstelement.c: (gst_element_set_clock):
3469         * gst/gstelement.h:
3470         The set clock returns a gboolean for when an element cannot
3471         deal with the selected clock in the pipeline. 
3472
3473         * gst/gstpipeline.c: (gst_pipeline_change_state),
3474         (gst_pipeline_set_clock):
3475         * gst/gstpipeline.h:
3476         Handle the case where the selected clock cannot be set on
3477         the pipeline.
3478
3479         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
3480         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3481         (gst_net_client_clock_set_property),
3482         (gst_net_client_clock_get_property),
3483         (gst_net_client_clock_observe_times):
3484         * gst/net/gstnetclientclock.h:
3485         Use regression code in GstClock parent, remove duplicated
3486         functionality.
3487
3488 2005-11-22  Michael Smith <msmith@fluendo.com>
3489
3490         * gst/gstutils.c: (gst_util_clock_time_scale):
3491         * gst/gstutils.h:
3492         * docs/gst/gstreamer-sections.txt:
3493           Rename method to have extra underscore.
3494
3495 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3496
3497         * gst/elements/Makefile.am:
3498         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
3499         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3500         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3501         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
3502         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
3503         * gst/elements/gstfakesrc.h:
3504         * gst/gstqueue.c: (queue_leaky_get_type):
3505           correctly fix GEnumValues so that nick is the short lowercase
3506           dashed tag
3507         * tools/gst-inspect.c: (print_element_properties_info):
3508           also show the nick, since it's useful to use from parse_launch
3509           syntax
3510           Fixes #322139
3511
3512 2005-11-22  Michael Smith <msmith@fluendo.com>
3513
3514         * gst/gstutils.c: (gst_util_clocktime_scale):
3515         * gst/gstutils.h:
3516         * docs/gst/gstreamer-sections.txt:
3517           Add util method for scaling a clocktime by a fraction. Useful 
3518           implementation is left as an exercise for the reader.
3519
3520 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3521
3522         * gst/gstvalue.c: (gst_value_collect_fraction_range):
3523         If needed, allocate storage in the destination value during
3524         collection.
3525
3526 2005-11-22  Edward Hervey  <edward@fluendo.com>
3527
3528         * docs/gst/gstreamer-sections.txt:
3529         * gst/Makefile.am:
3530         * gst/gst.h:
3531         * gst/gsturitype.c:
3532         * gst/gsturitype.h:
3533         * gst/gstutils.c: (gst_util_set_object_arg):
3534         * tools/gst-compprep.c: (main):
3535         * tools/gst-inspect.c: (print_element_properties_info):
3536         Removed GstURI, closes bug #321061
3537
3538 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3539
3540         * check/gst/gststructure.c: (GST_START_TEST):
3541         * gst/gststructure.c: (gst_structure_parse_value):
3542           Oops, broke automatic string type parsing.
3543           Add a test to catch it in future.
3544
3545 2005-11-22  Andy Wingo  <wingo@pobox.com>
3546
3547         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
3548         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
3549         Actually rename the function implementations. Grr.
3550
3551 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3552
3553         * check/gst/capslist.h:
3554           Comment test cases
3555         * check/gst/gststructure.c: (GST_START_TEST),
3556         (gst_structure_suite):
3557           Test automatic value type detection in gst_structure_from_string.
3558         * gst/gststructure.c: (gst_structure_parse_value):
3559           Add fraction as a type we try and guess automatically in
3560           caps/structure strings.
3561
3562 2005-11-22  Andy Wingo  <wingo@pobox.com>
3563
3564         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
3565
3566         * gst/gsttagsetter.h:
3567         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
3568         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
3569         (gst_tag_setter_add_tag_valist)
3570         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
3571         _add_values, _add_valist, and _add_valist_values. Since this is an
3572         interface the function suffixes should be more explicit so
3573         language binding don't end up with element.add_valist ->
3574         gst_tag_setter_add_valist, for example. Fixes #322069.
3575
3576 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3577
3578         * check/gst/gstcaps.c: (GST_START_TEST):
3579           Extend caps string tests to check that a caps to string
3580           conversion is reversible and produces the same caps.
3581
3582         * gst/gststructure.c: (gst_structure_value_get_generic_type):
3583           Output "fraction" as the generic type fraction range, so caps
3584           serialisation and deserialisation works.
3585         * check/gst/capslist.h:
3586         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3587           Support 'MIN' and 'MAX' for deserialising fractions.
3588
3589 2005-11-22  Andy Wingo  <wingo@pobox.com>
3590
3591         * gst/gstevent.h (gst_event_new_new_segment)
3592         (gst_event_parse_new_segment, gst_event_new_buffer_size)
3593         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
3594         Renamed from *_newsegment, *_buffersize, *_notarget.
3595
3596         * scripts/update-funcnames: New script, performs the changes
3597         listed above.
3598
3599 2005-11-22  Wim Taymans  <wim@fluendo.com>
3600
3601         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3602         Make sure the GstFlowReturn is returned.
3603
3604         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
3605         (gst_bus_add_signal_watch):
3606         * gst/gstbus.h:
3607         add gst_bus_add_signal_watch_full.
3608
3609         * gst/gstplugin.c: (gst_plugin_load_file):
3610         Small style cleanup.
3611
3612 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3613
3614         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
3615           Block the fakesrc srcpad when we send an event, to avoid
3616           contention on the stream_lock causing random test failures.
3617
3618 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3619
3620         * check/gst/gstvalue.c: (GST_START_TEST):
3621         * gst/gstvalue.c: (gst_value_fraction_subtract):
3622           Fix subtraction.
3623
3624 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
3625
3626         * gst/gst.h:
3627           include "gstchildproxy.h"
3628         * gst/gstchildproxy.h:
3629         * libs/gst/controller/gstcontroller.h:
3630           use G_GNUC_NULL_TERMINATED
3631
3632 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3633
3634         * check/gst/capslist.h:
3635         * check/gst/gstcaps.c: (GST_START_TEST):
3636         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3637         * gst/gststructure.c: (gst_structure_parse_range),
3638         (gst_structure_fixate_field_nearest_fraction):
3639         * gst/gststructure.h:
3640         * gst/gstvalue.c: (gst_value_init_fraction_range),
3641         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
3642         (gst_value_collect_fraction_range),
3643         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
3644         (gst_value_set_fraction_range_full),
3645         (gst_value_get_fraction_range_min),
3646         (gst_value_get_fraction_range_max),
3647         (gst_value_serialize_fraction_range),
3648         (gst_value_transform_fraction_range_string),
3649         (gst_value_compare_fraction_range),
3650         (gst_value_deserialize_fraction_range),
3651         (gst_value_intersect_fraction_fraction_range),
3652         (gst_value_intersect_fraction_range_fraction_range),
3653         (gst_value_subtract_fraction_fraction_range),
3654         (gst_value_subtract_fraction_range_fraction),
3655         (gst_value_subtract_fraction_range_fraction_range),
3656         (gst_value_collect_fraction), (gst_value_fraction_multiply),
3657         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
3658         (gst_value_transform_string_fraction), (_gst_value_initialize):
3659         * gst/gstvalue.h:
3660           Implement fraction ranges and extend GstFraction to support
3661           arithmetic subtraction, as well as deserialization from integer
3662           strings such as "100"
3663           Add a testsuite as for int and double range set operations
3664
3665 2005-11-21  Andy Wingo  <wingo@pobox.com>
3666
3667         * gst/gsttaglist.h: 
3668         * gst/gstcaps.h: 
3669         * gst/gststructure.h: Add glib-compat.h.
3670
3671 2005-11-21  Wim Taymans  <wim@fluendo.com>
3672
3673         * gst/gstbin.c: (gst_bin_change_state_func):
3674         Fix for #321595
3675
3676 2005-11-21  Wim Taymans  <wim@fluendo.com>
3677
3678         * gst/gstsegment.h:
3679         And add a nice define too.
3680
3681 2005-11-21  Wim Taymans  <wim@fluendo.com>
3682
3683         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
3684         (gst_segment_new), (gst_segment_free), (gst_segment_init),
3685         (gst_segment_set_duration), (gst_segment_set_last_stop),
3686         (gst_segment_set_seek), (gst_segment_set_newsegment),
3687         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3688         (gst_segment_clip):
3689         * gst/gstsegment.h:
3690         Make binding friendly.
3691
3692 2005-11-21  Andy Wingo  <wingo@pobox.com>
3693
3694         * gst/gsttagsetter.h: 
3695         * gst/gsttaglist.h: 
3696         * gst/gststructure.h: 
3697         * gst/gstcaps.h: 
3698         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
3699         #319940.
3700
3701         * gst/gsterror.c (_gst_core_errors_init):
3702         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
3703         category.
3704
3705         * gst/Makefile.am (gst_headers): Add glib-compat.h.
3706         (noinst_HEADERS): noinst the -private.
3707
3708 2005-11-21  Michael Smith <msmith@fluendo.com>
3709
3710         * gst/gstplugin.h:
3711         * gst/gstregistry.h:
3712           Remove unimplemented declarations for which we can see no sensible
3713           use.
3714
3715 2005-11-21  Andy Wingo  <wingo@pobox.com>
3716
3717         * gst/gst.h: Include glib-compat.h.
3718
3719         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
3720
3721         * gst/glib-compat.c: Include the public and the private header.
3722
3723         * gst/glib-compat-private.h: Copied here from glib-compat.h.
3724
3725         * gst/gstvalue.c: 
3726         * gst/gstpad.c: 
3727         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
3728
3729         * check/gst/gstevent.c (create_custom_events): Check that
3730         FLUSH_STOP is serialized.
3731
3732         * check/elements/identity.c (event_func): 
3733         * check/elements/fakesrc.c (event_func): No stream lock, the core
3734         takes it.
3735
3736         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
3737         stream lock taking, yay.
3738
3739         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
3740         ensure that core takes the stream lock.
3741
3742         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
3743         lock name change.
3744
3745         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
3746         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
3747         it already. For the flush start we do take it though so we get the
3748         right preroll state change messages.
3749
3750         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
3751         the stream lock here, the core does it for us.
3752
3753         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
3754         GST_STREAM_GET_LOCK.
3755         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
3756         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
3757         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
3758         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
3759         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
3760         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
3761
3762         * gst/gstpad.c: Update for stream lock name change.
3763
3764         * gst/base/gstbasesink.c: Update for preroll lock name change.
3765
3766 2005-11-21  Wim Taymans  <wim@fluendo.com>
3767
3768         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
3769         (gst_clock_get_master):
3770         * gst/gstclock.h:
3771         * gst/gstsystemclock.c: (gst_system_clock_init):
3772         Convert Clock flags to object flags.
3773         Added methods to manage master/slave clocks.
3774
3775 2005-11-21  Wim Taymans  <wim@fluendo.com>
3776
3777         * check/gst/gstsegment.c: (GST_START_TEST):
3778         * docs/design/part-TODO.txt:
3779         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3780         (gst_base_sink_event), (gst_base_sink_do_sync),
3781         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3782         (gst_base_sink_query), (gst_base_sink_change_state):
3783         * gst/base/gstbasesink.h:
3784         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3785         (gst_base_src_default_newsegment),
3786         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3787         (gst_base_src_get_range), (gst_base_src_loop),
3788         (gst_base_src_change_state):
3789         * gst/base/gstbasesrc.h:
3790         * gst/base/gstbasetransform.c:
3791         (gst_base_transform_prepare_output_buf),
3792         (gst_base_transform_event), (gst_base_transform_change_state):
3793         * gst/base/gstbasetransform.h:
3794         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3795         (gst_collect_pads_event):
3796         * gst/base/gstcollectpads.h:
3797         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
3798         (gst_fake_src_create):
3799         * gst/elements/gstfakesrc.h:
3800         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3801         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3802         (gst_segment_set_last_stop), (gst_segment_set_seek),
3803         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3804         (gst_segment_to_running_time), (gst_segment_clip):
3805         * gst/gstsegment.h:
3806         More segment updates, replace code in plugins with segment
3807         helper functions.
3808
3809 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3810
3811         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
3812         Don't ignore sscanf results
3813
3814 2005-11-21  Andy Wingo  <wingo@pobox.com>
3815
3816         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
3817
3818         * *.h:
3819         * *.c: Ran scripts/update-macros. Oh yes.
3820
3821         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
3822         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
3823         GST_GET_LOCK, etc.
3824
3825         * scripts/update-macros: New script. Run it on your files to
3826         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
3827         well.
3828
3829 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3830
3831         * docs/gst/Makefile.am:
3832         * docs/gst/gstreamer-docs.sgml:
3833         * docs/gst/gstreamer-sections.txt:
3834         * docs/gst/gstreamer.types:
3835         * gst/gstinfo.h:
3836           more docs fixes, add new api to the docs
3837
3838 2005-11-21  Andy Wingo  <wingo@pobox.com>
3839
3840         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
3841         state_broadcast call.
3842
3843         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
3844
3845 2005-11-21  Julien MOUTTE  <julien@moutte.net>
3846
3847         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
3848         function calls for arrays.
3849
3850 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3851
3852         * docs/random/ensonic/media-device-daemon.txt:
3853           wild idea, can this be done?
3854         * docs/gst/gstreamer-sections.txt:
3855         * gst/gsterror.h:
3856         * gst/gstfilter.c:
3857         * gst/gstfilter.h:
3858         * gst/gstplugin.h:
3859         * gst/gstpluginfeature.c:
3860         * gst/gsttrace.c:
3861         * gst/gstvalue.c:
3862         * gst/gstvalue.h:
3863           doc fixes and additions
3864
3865 2005-11-21  Andy Wingo  <wingo@pobox.com>
3866
3867         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3868         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3869         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3870         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3871         private to the basesrc implementation.
3872
3873         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3874         behalf of event function if necessary. It should no longer be
3875         necessary to take the stream lock in pad's event functions. Fixes
3876         #320299.
3877
3878 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3879         * docs/gst/gstreamer-sections.txt:
3880         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3881         (gst_structure_fixate_field_nearest_double),
3882         (gst_structure_fixate_field_boolean):
3883         * gst/gststructure.h:
3884         * win32/common/libgstreamer.def:
3885         * win32/gstreamer.def:
3886
3887         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3888         (#322027)
3889
3890 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3891
3892         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3893         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3894         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3895         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3896         (gst_fdsrc_uri_handler_init):
3897         * gst/elements/gstfdsrc.h:
3898           Port fd:// URI handler from 0.8 to fdsrc
3899
3900 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3901
3902         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3903         (gst_value_serialize_fourcc):
3904         * gst/gstvalue.h:
3905           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3906           consistent with our other format defines (#320324).
3907
3908 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3909
3910         * gst/gstvalue.c: (gst_value_is_fixed):
3911           Revert previous commit. Value lists are by definition
3912           not fixed, as they are a list of possible values.
3913
3914 2005-11-21  Andy Wingo  <wingo@pobox.com>
3915
3916         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3917         during the stable series if we need it. Fixes #319178.
3918
3919         * gst/gstevent.c (gst_event_new_filler): Removed.
3920
3921         * check/gst/gstevent.c: Update comment about filler events.
3922
3923 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3924
3925         * gst/gstvalue.c: (gst_value_is_fixed):
3926           Should handle both value arrays and value lists.
3927
3928 2005-11-21  Andy Wingo  <wingo@pobox.com>
3929
3930         patch by: Alessandro Dessina <alessandro nnva org>
3931
3932         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3933         functions to access arrays. Fixes #321962.
3934
3935 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3936
3937         * docs/gst/gstreamer.types:
3938           gst_collectpads_get_type => gst_collect_pads_get_type.
3939           
3940         * gst/base/gstbasetransform.c:
3941           Remove unused SIGNAL_HANDOFF enum.
3942
3943 2005-11-21  Andy Wingo  <wingo@pobox.com>
3944
3945         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3946         the event type (upstream, downstream, serialized). Renamed
3947         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3948         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3949         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3950
3951         * gst/gstevent.c: Update for new CUSTOM event names.
3952
3953         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3954
3955         * gst/gstevent.h:
3956         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3957         bug #319392.
3958
3959 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3960
3961         * docs/gst/gstreamer-sections.txt:
3962         * win32/common/libgstbase.def:
3963         * win32/libgstbase.def:
3964         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3965         (gst_collect_pads_class_init), (gst_collect_pads_init),
3966         (gst_collect_pads_finalize), (gst_collect_pads_new),
3967         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3968         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3969         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3970         (gst_collect_pads_start), (gst_collect_pads_stop),
3971         (gst_collect_pads_peek), (gst_collect_pads_pop),
3972         (gst_collect_pads_available), (gst_collect_pads_read),
3973         (gst_collect_pads_flush), (gst_collect_pads_event),
3974         (gst_collect_pads_chain):
3975         * gst/base/gstcollectpads.h:
3976           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3977           unimplemented functions as unimplemented. Add padding to
3978           GstCollectData. (#320766, #320423)
3979
3980 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3981
3982         * gst/gstmessage.c:
3983           Improve docs for DURATION message (usage of duration parameter)
3984           (#320113)
3985
3986 2005-11-20  Wim Taymans  <wim@fluendo.com>
3987
3988         * check/Makefile.am:
3989         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3990         (main):
3991         * gst/Makefile.am:
3992         * gst/gst.h:
3993         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3994         (gst_segment_set_seek), (gst_segment_set_newsegment),
3995         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3996         (gst_segment_clip):
3997         * gst/gstsegment.h:
3998         Added segment helper structure and methods. Not fully implemented
3999         yet.
4000         Added segment check.
4001
4002 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
4003
4004         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4005           Add a deserialisation test for fractions
4006         * examples/metadata/read-metadata.c: (message_loop),
4007         (make_pipeline), (main):
4008           Fix up metadata reading sample.
4009         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4010           Debug format fix
4011         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4012           Don't try and fixate empty caps
4013         * gst/gst_private.h:
4014           Wrap in G_BEGIN_DECLS/G_END_DECLS
4015         * gst/gstvalue.c: (gst_value_collect_fraction),
4016         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
4017         (gst_value_transform_string_fraction),
4018         (gst_value_compare_fraction):
4019           Add some extra guards to ensure that we don't end up 
4020           with an invalid denominator of 0 in a gstfraction and
4021           that fractions always get reduced.
4022
4023 2005-11-20  Wim Taymans  <wim@fluendo.com>
4024
4025         * docs/gst/gstreamer-sections.txt:
4026         * gst/gstbuffer.h:
4027         * gst/gstelement.c:
4028         * gst/gstformat.c:
4029         * gst/gstformat.h:
4030         * gst/gstindex.h:
4031         * gst/gstquery.c:
4032         * gst/gstquery.h:
4033         * gst/gstvalue.c:
4034         Doc fixes.
4035
4036 2005-11-20  Wim Taymans  <wim@fluendo.com>
4037
4038         * docs/design/part-TODO.txt:
4039         * gst/gstcaps.h:
4040         Make a proper enum of the flag.
4041
4042 2005-11-19  Wim Taymans  <wim@fluendo.com>
4043
4044         * docs/design/part-TODO.txt:
4045         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
4046         (gst_format_to_quark), (gst_format_register):
4047         * gst/gstformat.h:
4048         * gst/gstquery.c: (_gst_query_initialize),
4049         (gst_query_type_get_name), (gst_query_type_to_quark),
4050         (gst_query_type_register):
4051         * gst/gstquery.h:
4052         Add type to quark and type to string conversions.
4053
4054 2005-11-19  Andy Wingo  <wingo@pobox.com>
4055
4056         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
4057         #320097.
4058
4059 2005-11-19  Wim Taymans  <wim@fluendo.com>
4060
4061         * docs/design/part-TODO.txt:
4062         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4063         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
4064         (gst_bin_handle_message_func):
4065         * gst/gstbin.h:
4066         Make message handling overridable.
4067
4068 2005-11-19  Andy Wingo  <wingo@pobox.com>
4069
4070         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
4071
4072         * gst/gstclock.h:
4073         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
4074         be a GstClockTime.
4075         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
4076         is a GstClockTime. Fixes #321710.
4077
4078         * gst/gstclock.h (GstClock): Remove offset property. Add
4079         internal_calibration and external_calibration. Fix padding. Pad
4080         also by GstClockTime so we don't run into problems.
4081
4082         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
4083         (gst_clock_get_rate_offset): Remove.
4084         (gst_clock_set_time_adjust): Remove. Fixes #321712.
4085
4086         * gst/gstutils.h:
4087         * gst/gstutils.c (g_static_rec_cond_wait)
4088         (g_static_rec_cond_timed_wait): Removed, no longer needed.
4089
4090         * gst/gstbin.c: Remove terrible continue_state prototype.
4091
4092         * gst/gstelement.h (gst_element_continue_state): Make public.
4093
4094         * gst/gstelement.h:
4095         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
4096         by continue_state. Fixes #319389.
4097
4098         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
4099         Really fixes #168438. However I don't see anywhere where the
4100         filter function is called... stupid GStreamer...
4101         
4102         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
4103         don't have a dispose function, so it won't get called when the
4104         object is unreffed, but oh well!
4105
4106         * gst/gstindex.c (gst_index_set_filter_full): New API function,
4107         allows a destroy function to be set so user_data can be freed.
4108         Fixes #168438.
4109         (gst_index_set_filter): Call gst_index_set_filter_full.
4110
4111         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
4112
4113         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
4114         string should produce an error, given the lack of a way to
4115         represent NULL strings. Fixes #165650.
4116         
4117         * gst/gstvalue.h: 
4118         * gst/gstvalue.c (gst_value_array_append_value) 
4119         (gst_value_array_prepend_value, gst_value_array_get_size) 
4120         (gst_value_array_get_value): New API, copied from
4121         gst_value_list_*, only operates on arrays.
4122         (gst_value_list_append_value, gst_value_list_prepend_value) 
4123         (gst_value_list_concat, gst_value_list_get_size) 
4124         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
4125
4126         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
4127         init_list, because it works on both.
4128         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
4129         (gst_value_copy_list_or_array): Renamed from copy_list.
4130         (gst_value_free_list_or_array): Renamed from free_list.
4131         (gst_value_collect_list_or_array): Renamed from collect_list.
4132         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
4133         (gst_value_list_or_array_peek_pointer): Renamed from
4134         list_peek_pointer.
4135         (_gst_value_array_value_table, _gst_value_list_value_table):
4136         Update value table functions.
4137         (gst_value_compare_list_or_array): Renamed from compare_list.
4138
4139         * gsttaglist.h: Whoops, foreach function returns void. Also fix
4140         some constness.
4141
4142         * gst/gsttaglist.c:
4143         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
4144         GstTagList*. Fixes #143472.
4145
4146         * gst/gststructure.h: Clarify what the foreach/map functions can
4147         or can't do to their arguments.
4148
4149 2005-11-18  Wim Taymans  <wim@fluendo.com>
4150
4151         * gst/gstclock.c: (gst_clock_set_calibration),
4152         (gst_clock_get_calibration):
4153         Doc and API fixes.
4154         Calibration can be set with internal time equal to current
4155         internal time too.
4156
4157 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4158
4159         * gst/gsterror.c:
4160         * gst/gsterror.h:
4161           document
4162
4163 2005-11-18  Andy Wingo  <wingo@pobox.com>
4164
4165         * configure.ac: 
4166         * pkgconfig/gstreamer-net.pc.in:
4167         * pkgconfig/gstreamer-net-uninstalled.pc.in:
4168         * pkgconfig/Makefile.am: Add net pkgconfig files.
4169
4170 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
4171
4172         * gst/gstcaps.c:
4173         * gst/gstghostpad.c:
4174         * gst/gsttrace.c:
4175         * gst/gstvalue.c:
4176         * gst/gstvalue.h:
4177           docs fixes
4178
4179 2005-11-18  Andy Wingo  <wingo@pobox.com>
4180
4181         * gst/net/gstnetclientclock.c: Turn off debugging.
4182
4183         * check/net/gstnetclientclock.c (test_functioning): Assert that the
4184         times connverge somewhat. Can't make a real test.
4185
4186         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
4187         integer arithmetic. Return the minimum of the domain, which can be
4188         set as "internal" for gst_clock_set_calibration.
4189         (gst_net_client_clock_observe_times): Call _set_calibration.
4190         (gst_net_client_clock_new): Call _set_calibration instead of
4191         rate_offset.
4192
4193         * check/net/gstnetclientclock.c (test_functioning): Use the right
4194         adjustment api.
4195
4196         * gst/gstclock.h:
4197         * gst/gstclock.c (gst_clock_get_calibration) 
4198         (gst_clock_set_calibration): New functions, obsolete the ones I
4199         added yesterday. Doh. Precision issues mean we have to extrapolate
4200         from a point in the more recent past than 1970.
4201         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
4202         obsolete.
4203         (gst_clock_adjust_unlocked): Use the right calibration data.
4204
4205 2005-11-18  Edward Hervey  <edward@fluendo.com>
4206
4207         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
4208         Also reset the ->current_* values in READY->PAUSED
4209
4210 2005-11-18  Andy Wingo  <wingo@pobox.com>
4211
4212         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
4213         Whoops, check the right fd. Also add some debugging.
4214         (gst_net_client_clock_observe_times): Adjust for int64 offset.
4215         (do_linear_regression): Add a crapload of debugging. Subtract off
4216         the minimum values from the input series to discard unneeded bits.
4217         Use only int arithmetic. There is still double arithmetic when
4218         calculating the intercept that needs fixing. Return boolean to
4219         indicate success; FALSE would mean the domain or range is too
4220         great. Still needs fixes.
4221
4222 2005-11-18  Wim Taymans  <wim@fluendo.com>
4223
4224         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4225         For the current position in stream time, we need to subtract
4226         accumulated time.
4227         
4228         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4229         Release lock before calling the callback function of async
4230         entries.
4231
4232 2005-11-18  Andy Wingo  <wingo@pobox.com>
4233
4234         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
4235         Port goes all the way to MAXUINT16.
4236
4237         * gst/net/gstnettimeprovider.c: Make the port range the same as
4238         for the kernel: 0 assigns, otherwise ports are less than
4239         MAXUINT16.
4240
4241         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
4242         port change.
4243
4244         * check/net/gstnetclientclock.c (test_functioning): Add the start
4245         of another test. 
4246
4247 2005-11-18  Wim Taymans  <wim@fluendo.com>
4248
4249         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4250         (gst_bin_remove_func), (bin_bus_handler):
4251         * gst/gstbin.h:
4252         Removing a clock provider from a bin, triggers a clock lost message
4253         so that a new clock will be selected.
4254         Adding a clock to a bin triggers a clock provider message.
4255         Make sure we reselect a clock when we received a clock lost message.
4256         Keep a reference to the element that provided the clock.
4257
4258 2005-11-18  Andy Wingo  <wingo@pobox.com>
4259
4260         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
4261         the clock initially so it produces values around the base time.
4262         (gst_net_client_clock_class_init): Typo fix.
4263         (gst_net_client_clock_thread): Add note on when the socket gets
4264         closed.
4265
4266 2005-11-17  Wim Taymans  <wim@fluendo.com>
4267
4268         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
4269         Free remote and local time arrays.
4270
4271 2005-11-17  Wim Taymans  <wim@fluendo.com>
4272
4273         * gst/net/gstnetclientclock.c: (do_linear_regression),
4274         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
4275         Fix compilation, uninitialized vars and a forgotten continue.
4276
4277 2005-11-17  Andy Wingo  <wingo@pobox.com>
4278
4279         * check/Makefile.am (check_PROGRAMS): 
4280         * check/net/gstnetclientclock.c: Add a most minimal test for the
4281         net client clock. More to come later.
4282
4283         * gst/net/gstnet.h: 
4284         * gst/net/Makefile.am: Add netclientclock.
4285
4286         * gst/net/gstnetclientclock.h:
4287         * gst/net/gstnetclientclock.c: New files, implement an untested
4288         GstClock that takes its time from a network time provider.
4289         Implements the algorithm in network-clock.scm.
4290
4291         * tests/network-clock.scm (*window-size*): Rename from
4292         *queue-length*.
4293         * tests/network-clock.scm (network-time): 
4294         * tests/network-clock-utils.scm (q-push): Update callers.
4295
4296 2005-11-17  Wim Taymans  <wim@fluendo.com>
4297
4298         * gst/gstbin.c: (gst_bin_provide_clock_func),
4299         (gst_bin_sort_iterator_new):
4300         And unref the child too..
4301
4302 2005-11-17  Wim Taymans  <wim@fluendo.com>
4303
4304         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4305         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
4306         Refactor the sort iterator so it can be used while holding the
4307         LOCK too.
4308         Make clock selection select a clock closest to the source.
4309
4310 2005-11-17  Michael Smith <msmith@fluendo.com>
4311
4312         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
4313         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
4314         * gst/gstclock.h:
4315           Anonymous structs are a gcc (and some other compilers) extension, so
4316           don't use them. Since this is only for ABI-compatibility, and our
4317           API/ABI freeze is over in a few days, this whole thing will only
4318           last a few days, so don't bother trying to think up a meaningful
4319           name for the struct.
4320
4321 2005-11-17  Andy Wingo  <wingo@pobox.com>
4322
4323         * gst/gstclock.h (GstClock): Add rate and offset properties,
4324         preserving ABI stability. Add rate/offset accessors. Will file bug
4325         for the freeze break.
4326
4327         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
4328         and offset, trying to keep precision and avoiding
4329         underflow/overflow.
4330         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
4331         functions. Make gst_clock_set_time_adjust obsolete.
4332         (gst_clock_set_time_adjust): Note that this function is obsolete.
4333         Will file bug soon.
4334
4335         * gst/base/gstbasetransform.h: Make the ABI-stability hack
4336         greppable by using GST_PADDING-1+1.
4337
4338 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
4339
4340         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4341
4342         * gst/gstmessage.c: (gst_message_parse_clock_lost):
4343           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
4344
4345         * gst/gstpadtemplate.h:
4346         * gst/gstpluginfeature.h:
4347           Don't use c++ style comments in headers (#321638).
4348
4349 2005-11-16  Andy Wingo  <wingo@pobox.com>
4350
4351         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
4352         buffer.
4353
4354         * check/net/gstnettimeprovider.c: Check to see that the time
4355         provider actually provides times. Works, yo!
4356
4357 2005-11-16  Wim Taymans  <wim@fluendo.com>
4358
4359         * check/Makefile.am:
4360         Enable more tests.
4361
4362         * check/elements/fakesrc.c: (GST_START_TEST):
4363         Set element to NULL before disposing it.
4364
4365 2005-11-16  Andy Wingo  <wingo@pobox.com>
4366
4367         * gst/net/Makefile.am:
4368         * gst/net/gstnet.h:
4369         * gst/net/gstnettimeprovider.c: 
4370         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
4371         provider, include it from gstnet.h, and add it to the build.
4372
4373         * gst/net/gstnettimepacket.h: 
4374         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
4375         sending and receiving.
4376
4377 2005-11-16  Wim Taymans  <wim@fluendo.com>
4378
4379         * check/Makefile.am:
4380         Enable valgrind check.
4381
4382         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
4383         (gst_fake_src_alloc_buffer):
4384         Fix memleak.
4385
4386 2005-11-16  Wim Taymans  <wim@fluendo.com>
4387
4388         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
4389         Call parent finalize too.
4390
4391 2005-11-16  Wim Taymans  <wim@fluendo.com>
4392
4393         * check/Makefile.am:
4394         Enable valgrind check that should work fine now.
4395
4396         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4397         * gst/gstqueue.c: (gst_queue_init):
4398         Fix memleaks in pad allocation.
4399
4400 2005-11-16  Andy Wingo  <wingo@pobox.com>
4401
4402         * gst/net/Makefile.am:
4403         * gst/net/gstnet.h: New part of core to hold network elements and
4404         objects. Put in core because it exposes API that applications want
4405         to use. The library is named libgstnet-tempname right now because
4406         of the existing libgstnet in gst-plugins-base. Solution is
4407         probably to rename the one in plugins-base; will file a bug for
4408         the freeze break.
4409
4410         * gst/net/gstnettimeprovider.c: 
4411         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
4412         get_time call over the network.
4413
4414         * configure.ac: 
4415         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
4416
4417         * check/Makefile.am:
4418         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
4419         get additions shortly.
4420
4421 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4422
4423         * gst/gstpad.c: (gst_pad_new_from_static_template):
4424         * gst/gstpad.h:
4425           add gst_pad_new_from_static_template functions
4426         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
4427         (gst_check_setup_sink_pad):
4428         * gst/elements/gsttee.c: (gst_tee_init):
4429           and use them
4430
4431 2005-11-16  Wim Taymans  <wim@fluendo.com>
4432
4433         * gst/gstpad.c: (gst_pad_pause_task):
4434         Removed warning, it's not really an error either.
4435
4436 2005-11-16  Wim Taymans  <wim@fluendo.com>
4437
4438         * gst/base/gstbasetransform.c:
4439         (gst_base_transform_prepare_output_buf),
4440         (gst_base_transform_event):
4441         Check if the caps are NULL, this can happen if the element
4442         is shutting down and the pad caps are set to NULL.
4443
4444 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4445
4446         * gst/elements/gsttee.c: (gst_tee_init):
4447           fix pad template leak in tee
4448
4449 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4450
4451         * gst/glib-compat.c: (g_value_dup_gst_object):
4452         * gst/glib-compat.h:
4453         * gst/gstpad.c: (gst_pad_set_property):
4454           use gst_object_ref when setting the pad template; this will
4455           trigger the pad template leaks on GLib 2.6 and the slaves
4456
4457 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4458
4459         * gst/glib-compat.c: (gst_flags_get_first_value):
4460         * gst/glib-compat.h:
4461         * gst/gstregistryxml.c:
4462           remove functions copied from GLib 2.6
4463
4464 2005-11-16  Michael Smith <msmith@fluendo.com>
4465
4466         * gst/Makefile.am:
4467           Don't link against VALGRIND_LIBS. That was always the wrong thing to
4468           do, but only breaks with newer valgrind versions. We're not a
4469           valgrind tool, we have no link-time dependencies on libcoregrind.
4470
4471 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4472
4473         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4474           some debug changes
4475         * gst/gstmessage.h:
4476           typo fixes
4477
4478 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4479
4480         * gst/base/gstbasesrc.c: (gst_base_src_init):
4481         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4482         * gst/gstqueue.c: (gst_queue_init):
4483         * gst/gstregistryxml.c: (load_feature):
4484           Revert all these unrefs, they don't even pass make check !
4485
4486 2005-11-15  Johan Dahlin  <johan@gnome.org>
4487
4488         * gst/base/gstbasesrc.c: (gst_base_src_init):
4489         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4490         * gst/gstqueue.c: (gst_queue_init): 
4491         Free pad templates, fixes a couple of leaks.
4492
4493 2005-11-15  Daniel Fischer  <dan at f3c dot com>
4494
4495         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4496
4497         * gst/gstpad.c: (gst_pad_get_property):
4498           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
4499           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
4500           (#321452)
4501
4502 2005-11-15  Wim Taymans  <wim@fluendo.com>
4503
4504         * gst/gstevent.c:
4505         Small doc update.
4506
4507 2005-11-15  Andy Wingo  <wingo@pobox.com>
4508
4509         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
4510
4511         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
4512         using GST_CLOCK_TIME_NONE to disable base time management.
4513         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
4514         time if it was NONE before.
4515         (gst_pipeline_change_state): Only munge the base time if
4516         stream_time != GST_CLOCK_TIME_NONE.
4517
4518         * check/gst/gstpipeline.c (test_base_time): Punt around the
4519         problem of the probe not being called, because that's not the
4520         issue I'm looking at. Add a check that setting stream_time to NONE
4521         disables base time management.
4522         
4523 2005-11-15  Wim Taymans  <wim@fluendo.com>
4524
4525         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4526         segment_stop == -1 at startup.
4527
4528         * gst/base/gstbasetransform.c: (gst_base_transform_event),
4529         (gst_base_transform_change_state):
4530         Init segment values at start.
4531
4532 2005-11-15  Wim Taymans  <wim@fluendo.com>
4533
4534         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4535         0 segment values are 0 in any format.
4536
4537         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4538         * gst/base/gstbasetransform.h:
4539         Parse newsegment correctly in basetransform
4540
4541         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4542         Sync to clock using updated segment values.
4543
4544 2005-11-15  Andy Wingo  <wingo@pobox.com>
4545
4546         * check/gst/gstpipeline.c (test_base_time): Add check that the
4547         base time and stream time are reset correctly.
4548
4549 2005-11-15  Wim Taymans  <wim@fluendo.com>
4550
4551         * docs/design/part-TODO.txt:
4552         Some more TODO items.
4553
4554 2005-11-15  Andy Wingo  <wingo@pobox.com>
4555
4556         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
4557         error if the user selected "no clock" as the clocking method.
4558
4559         * check/gst/gstpipeline.c (test_base_time): New test for buffer
4560         timestamps with live capture.
4561
4562         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
4563         is 0 but we are a live source, timestamp the buffers using the
4564         element's clock.
4565
4566 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
4567
4568         * docs/gst/gstreamer-sections.txt:
4569         * gst/gsterror.c:
4570         * gst/gstghostpad.c:
4571         * gst/gstobject.h:
4572         * gst/gstxml.c:
4573           more section docs
4574
4575 2005-11-14  Wim Taymans  <wim@fluendo.com>
4576
4577         * common/gst.supp:
4578           add suppressions from Wim's Debian machine
4579
4580 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4581
4582         * common/gst.supp:
4583           add suppressions from Andy's AMD64 Ubuntu machine
4584
4585 2005-11-14  Andy Wingo  <wingo@pobox.com>
4586
4587         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
4588         STATE_LOCK not necessary. Fixes #311489.
4589
4590         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
4591         #305291.
4592
4593         * gst/gstindex.c (gst_index_add_object): Note in the docs that
4594         this function is not implemented.
4595
4596 2005-11-14  Julien MOUTTE  <julien@moutte.net>
4597
4598         * gst/base/gstbasetransform.c:
4599         (gst_base_transform_prepare_output_buf):
4600         Ref the source pad caps while we need them.
4601         Fixes (#321386)
4602
4603 2005-11-11  Wim Taymans  <wim@fluendo.com>
4604
4605         * docs/gst/gstreamer-sections.txt:
4606         Added some docs for GstCollectData.
4607
4608         * gst/base/gstadapter.c:
4609         Some small code example fix.
4610
4611         * gst/base/gstcollectpads.c:
4612         * gst/base/gstcollectpads.h:
4613         Document some more.
4614
4615 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4616
4617         * configure.ac: back to HEAD
4618
4619 === release 0.9.5 ===
4620
4621 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
4622
4623         * configure.ac:
4624           releasing 0.9.5, "Bike Lunch Day"
4625
4626 2005-11-11  Wim Taymans  <wim@fluendo.com>
4627
4628         * gst/gstbuffer.c: (_gst_buffer_copy):
4629         Copy more flags.
4630
4631         * gst/gstcaps.c: (gst_caps_is_equal):
4632         Fix some docs.
4633         Make _is_equal fast in the trivial cases.
4634
4635         * gst/gstminiobject.c:
4636         * gst/gstminiobject.h:
4637         More docs. Spifify .h file.
4638
4639         * gst/gstutils.c:
4640         Small doc update.
4641
4642 2005-11-11  Wim Taymans  <wim@fluendo.com>
4643
4644         * gst/base/gstbasetransform.c:
4645         (gst_base_transform_prepare_output_buf),
4646         (gst_base_transform_handle_buffer):
4647         Small cleanups.
4648         If we're processing a buffer and need to allocate an output
4649         buffer, we cannot accept a format change. If we did get a 
4650         format change, we have to alloc a buffer ourselves of the 
4651         right size.
4652
4653 2005-11-11  Wim Taymans  <wim@fluendo.com>
4654
4655         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
4656         While checking the flag for reentrancy in the gstcaps function
4657         is nice to detect recursive invocations, it also makes it 
4658         impossible to call getcaps from multiple threads, which must be
4659         possible. So, checking for recursive calls has to go.
4660
4661 2005-11-11  Michael Smith <msmith@fluendo.com>
4662
4663         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4664           Don't sync on buffers that fall partially outside our current
4665           segment. Prevents an assertion failure/abort playing some files.
4666
4667 2005-11-10  Andy Wingo  <wingo@pobox.com>
4668
4669         * check/gst/gstbin.c (test_message_state_changed_children): Style
4670         fix..
4671
4672         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
4673         gst_bus_poll with the signal watch. Ensures that poll and a signal
4674         watch see the same messages.
4675
4676         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
4677         a poll and a watch at the same time get the same messages.
4678
4679 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4680
4681         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
4682         * gst/gstcaps.c: (gst_caps_intersect):
4683           Don't call gst_caps_do_simplify - it doesn't respect order of caps
4684           and it's not needed.
4685
4686 2005-11-10  Wim Taymans  <wim@fluendo.com>
4687
4688         * docs/design/part-TODO.txt:
4689         Updated todo.
4690
4691 2005-11-10  Wim Taymans  <wim@fluendo.com>
4692
4693         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4694         * gst/base/gstbasesrc.c: (gst_base_src_wait),
4695         (gst_base_src_do_sync), (gst_base_src_get_range):
4696         Implement clock sync in base class.
4697
4698 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4699
4700         patch by: Tim-Philipp Müller <tim at centricular dot net>
4701
4702         * gst/gststructure.c: (gst_structure_parse_field),
4703         (gst_structure_from_string):
4704           Forward-port a 0.8 patch to handle escaped spaces in structure string,
4705           so that gst_parse_launch() can deal with spaces in filtered link
4706           caps (fixes #164479)
4707         * check/gst/capslist.h:
4708         * check/gst/gststructure.c: (GST_START_TEST):
4709           add unit tests for this change
4710
4711 2005-11-10  Wim Taymans  <wim@fluendo.com>
4712
4713         * docs/gst/gstreamer-sections.txt:
4714         * gst/gstelement.c:
4715         * gst/gstelement.h:
4716         Fix docs, move some STATE macros to private.
4717
4718 2005-11-10  Wim Taymans  <wim@fluendo.com>
4719
4720         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4721         Added check for bug #317341
4722
4723         * gst/gstbuffer.c:
4724         * gst/gstbuffer.h:
4725         Some more spiffifying.
4726
4727         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
4728         Call peer linkfunction if we are a source pad. Totally fixes
4729         #317341
4730
4731         * gst/gstpad.c:
4732         Update docs, source pads should call the peer linkfunction
4733         so they can atomically perform the pad link.
4734
4735 2005-11-09  Wim Taymans  <wim@fluendo.com>
4736
4737         * gst/gstbuffer.c:
4738         * gst/gstbuffer.h:
4739         Uber-spiffy-spiffify some more.
4740
4741 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
4742
4743         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
4744         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4745         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4746         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
4747         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
4748         * gst/gstpad.c: (gst_pad_init):
4749           Use GST_DEBUG_FUNCPTR() more extensively.
4750
4751 2005-11-09  Wim Taymans  <wim@fluendo.com>
4752
4753         * gst/gstobject.c: (gst_object_class_init):
4754         * gst/gstobject.h:
4755         Documentation fixes.
4756
4757 2005-11-09  Edward Hervey  <edward@fluendo.com>
4758
4759         * gst/gsttypefindfactory.c:
4760         Fix docs.
4761         
4762 2005-11-09  Edward Hervey  <edward@fluendo.com>
4763
4764         * gst/base/gsttypefindhelper.c:
4765         * gst/gsttypefind.c:
4766         * gst/gsttypefind.h:
4767         Fix docs.
4768
4769 2005-11-09  Wim Taymans  <wim@fluendo.com>
4770
4771         * gst/gstiterator.c:
4772         Fix revision data.
4773
4774         * gst/gsttask.c:
4775         * gst/gsttask.h:
4776         Fix docs.
4777
4778 2005-11-09  Wim Taymans  <wim@fluendo.com>
4779
4780         * gst/gstevent.h:
4781         * gst/gsturi.h:
4782         Fix docs.
4783
4784 2005-11-09  Wim Taymans  <wim@fluendo.com>
4785
4786         * docs/gst/gstreamer-sections.txt:
4787         Moved the message async delivery private lock and cond
4788         to the private section.
4789
4790         * gst/gstmessage.c:
4791         * gst/gstmessage.h:
4792         Fixed docs.
4793
4794 2005-11-09  Edward Hervey  <edward@fluendo.com>
4795
4796         * docs/gst/gstreamer-sections.txt:
4797         * gst/gsturi.c:
4798         * gst/gsturi.h:
4799         Document GstURIHandler
4800
4801 2005-11-09  Wim Taymans  <wim@fluendo.com>
4802
4803         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
4804         (gst_iterator_find_custom):
4805         * gst/gstiterator.h:
4806         Fix iterator docs.
4807
4808 2005-11-09  Wim Taymans  <wim@fluendo.com>
4809
4810         * gst/gstbin.h:
4811         Document another field.
4812
4813         * gst/gststructure.c:
4814         * gst/gststructure.h:
4815         Document.
4816
4817 2005-11-09  Wim Taymans  <wim@fluendo.com>
4818
4819         * gst/gstbin.h:
4820         Documented structs.
4821
4822 2005-11-09  Wim Taymans  <wim@fluendo.com>
4823
4824         * docs/gst/gstreamer-sections.txt:
4825         Added some new macros.
4826
4827         * gst/gstclock.c:
4828         * gst/gstclock.h:
4829         * gst/gstobject.h:
4830         Docs updates.
4831
4832 2005-11-09  Wim Taymans  <wim@fluendo.com>
4833
4834         * docs/design/part-TODO.txt:
4835         Some more items for the TODO
4836
4837         * gst/gstcaps.c:
4838         * gst/gstcaps.h:
4839         Document GstCaps.
4840
4841 2005-11-09  Andy Wingo  <wingo@pobox.com>
4842
4843         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
4844         to work on something else now tho...
4845
4846         * gst/base/gstadapter.c: More adapter docs.
4847
4848         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4849         (gst_file_sink_stop): New functions, replace the state change
4850         handler.
4851         (gst_file_sink_class_init): Hook up the start and stop functions.
4852         (gst_file_sink_base_init): Don't set the state change handler any
4853         more. It was a bit ugly too, being set from here...
4854         (gst_file_sink_get_property, gst_file_sink_set_property):
4855         Cleanups...
4856         (gst_file_sink_set_location): More robust check that doesn't call
4857         GST_STATE. Ugggggg.
4858
4859 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4860
4861         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4862           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4863
4864 2005-11-08  Wim Taymans  <wim@fluendo.com>
4865
4866         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4867         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4868         (gst_base_sink_chain), (gst_base_sink_change_state):
4869         * gst/base/gstbasesink.h:
4870         * gst/base/gstbasesrc.h:
4871         * gst/gstelement.h:
4872         * gst/gstevent.h:
4873         Avoid excessive typechecking in macros.
4874
4875         * gst/gstminiobject.c: (gst_mini_object_get_type),
4876         (gst_mini_object_init), (gst_mini_object_new),
4877         (gst_mini_object_free):
4878         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4879         (gst_object_finalize):
4880         Remove cruft code, optimize alloc_trace.
4881
4882 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4883
4884         * docs/faq/gst-uninstalled:
4885           fix up PS1 for systems that try to reset it
4886
4887 2005-11-07  Wim Taymans  <wim@fluendo.com>
4888
4889         * gst/base/gstbasesrc.c: (gst_base_src_init),
4890         (gst_base_src_get_range):
4891         Set the segment_end to -1 initially. Fixed typefind.
4892
4893 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4894
4895         * gst/base/gstadapter.c:
4896           Debug category should be 'adapter', not 'GstAdapter'.
4897           
4898         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4899         (gst_collectpads_class_init), (gst_collectpads_init),
4900         (gst_collectpads_peek), (gst_collectpads_pop),
4901         (gst_collectpads_event), (gst_collectpads_chain):
4902           Add debug category and some debugging output. Use boilerplate
4903           macros. Remove some extraneous words from docs.
4904
4905 2005-11-05  Andy Wingo  <wingo@pobox.com>
4906
4907         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4908         macro.
4909
4910 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4911
4912         * docs/gst/gstreamer-sections.txt:
4913         * gst/gstcaps.h:
4914         * gst/gstinfo.c:
4915         * gst/gstminiobject.h:
4916         * gst/gstobject.h:
4917         * gst/gstutils.h:
4918           more docs added
4919
4920 2005-11-04  Wim Taymans  <wim@fluendo.com>
4921
4922         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4923         Small update to stop at the configured segment_end
4924         position.
4925
4926 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4927
4928         * gst/gstregistry.c:
4929         * gst/gstregistry.h:
4930           added missing docs
4931
4932 2005-11-04  Edward Hervey  <edward@fluendo.com>
4933
4934         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4935         Check if we are doing a segment seek and have arrived at the
4936         end of that segment.
4937
4938 2005-11-04  Wim Taymans  <wim@fluendo.com>
4939
4940         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4941         Don't leak a mutex unlock in case of an error.
4942
4943         * gst/gstbus.h:
4944         Doc fixes.
4945
4946 2005-11-04  Wim Taymans  <wim@fluendo.com>
4947
4948         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4949         (gst_bus_post):
4950         Get the context to wake up only once.
4951
4952 2005-11-03  Wim Taymans  <wim@fluendo.com>
4953
4954         * check/states/sinks.c: (GST_START_TEST):
4955         Uncomment fixed check.
4956
4957         * docs/design/part-TODO.txt:
4958         Updated TODO.
4959
4960         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4961         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4962         (gst_base_sink_get_position):
4963         If we are going to PLAYING, post the right pending state
4964         when we post the intermediate paused message.
4965
4966         * gst/gstelement.c: (gst_element_continue_state),
4967         (gst_element_set_state_func), (gst_element_change_state):
4968         Don't post state changes that were between the same state
4969         and were not ASYNC.
4970
4971 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4972
4973         * docs/gst/gstreamer-sections.txt:
4974         * gst/gstcaps.h:
4975         * gst/gstinfo.c:
4976         * gst/gstminiobject.h:
4977         * gst/gstobject.h:
4978         * gst/gstutils.h:
4979           more docs and doc style fixes
4980
4981 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4982
4983         * docs/gst/gstreamer-sections.txt:
4984         * gst/gstelement.c:
4985         * gst/gstminiobject.c:
4986         doc fixes
4987
4988 2005-11-03  Andy Wingo  <wingo@pobox.com>
4989
4990         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4991         state-changed messages actually have the right order and the right
4992         values.
4993
4994 2005-11-03  Wim Taymans  <wim@fluendo.com>
4995
4996         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4997         Added some more checks. Specifically the case where NO_PREROLL
4998         elements are in the pipeline.
4999
5000         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5001         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5002         (gst_base_sink_get_position):
5003         Post READY->PAUSED state change messages too.
5004         Fix bug where VOID was posted as pending state...
5005
5006         * gst/gstbin.c: (gst_bin_recalc_state):
5007         use _element_continue_state() to continue the state change.
5008
5009         * gst/gstelement.c: (gst_element_continue_state),
5010         (gst_element_commit_state), (gst_element_set_state_func),
5011         (gst_element_change_state), (gst_element_change_state_func):
5012         Lots of state change cleanups, assign the STATE_RETURN in
5013         a new continue_state() function that also propagates the
5014         last return value from a state change to the app.
5015         Update some debug statements with proper category.
5016
5017 2005-11-03  Wim Taymans  <wim@fluendo.com>
5018
5019         * docs/design/part-events.txt:
5020         * docs/design/part-gstpipeline.txt:
5021         * docs/design/part-messages.txt:
5022         * docs/design/part-overview.txt:
5023         * docs/design/part-seeking.txt:
5024         * docs/design/part-states.txt:
5025         * docs/design/part-trickmodes.txt:
5026         * docs/manual/advanced-position.xml:
5027         Small docs updates.
5028
5029         * gst/gstobject.h:
5030         People think !! is ugly, this looks better.
5031
5032         * gst/gstpad.c: (gst_pad_set_blocked_async):
5033         Remove !! since it's fixed elsewhere now.
5034
5035 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5036
5037         * gst/gstminiobject.h:
5038         * gst/gstobject.h:
5039           Add !! to _FLAG_IS_SET macros to make the result boolean.
5040
5041 2005-11-03  Edward Hervey  <edward@fluendo.com>
5042
5043         * gst/gstpad.c: (gst_pad_set_blocked_async):
5044         comparing a flag and a gboolean rarely returns coherent results...
5045         Added two characters (!!) to make that work correctly.
5046         
5047 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5048
5049         * gst/gstbus.c: (gst_bus_class_init):
5050           Fix some typos.
5051           
5052         * gst/gstqueue.c: (gst_queue_loop):
5053           Don't assume a miniobject that isn't a buffer is an
5054           event (it could be that there is a refcounting
5055           problem somewhere and the pointer is stale and
5056           refers to an already destroyed miniobject).
5057
5058 2005-11-03  Julien MOUTTE  <julien@moutte.net>
5059
5060         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
5061
5062 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5063
5064         * docs/manual/advanced-position.xml:
5065           Update seek example and explanations to current 0.9 API.
5066
5067         * gst/elements/gsttypefindelement.c:
5068         (gst_type_find_element_activate):
5069           Remove FIXME comment now that the found caps
5070           are unreffed.
5071
5072 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5073
5074         * gst/gstregistryxml.c: (load_feature):
5075           Add another GST_STR_NULL instance
5076
5077 2005-11-02  Edward Hervey  <edward@fluendo.com>
5078
5079         * gst/gstpad.c: (handle_pad_block):
5080         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
5081         
5082 2005-11-02  Wim Taymans  <wim@fluendo.com>
5083
5084         * gst/gstbin.c:
5085         Fix typo in docs.
5086
5087         * gst/gstelement.c: (gst_element_commit_state):
5088         Remove unused value.
5089
5090         * gst/gstiterator.c:
5091         Mention that the returned element is reffed in the docs.
5092
5093 2005-11-02  Wim Taymans  <wim@fluendo.com>
5094
5095         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
5096         (gst_pad_push), (gst_pad_push_event):
5097         Unlock blocked pads when they are flushed.
5098
5099 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5100
5101         * docs/README:
5102         * docs/gst/gstreamer-sections.txt:
5103         * gst/gstbin.c:
5104           doc updates
5105         * gst/gstregistry.c: (gst_registry_scan_path_level):
5106           fix for a nasty little missed situation where an installed plug-in
5107           which was in the cache did not get overridden by an uninstalled one
5108           which was earlier in the plugin path because the newly created plugin
5109           for the uninstalled one (not in the registry) didn't get its
5110           ->registered set to TRUE
5111
5112 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5113
5114         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
5115         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
5116         (gst_collectpads_is_active), (gst_collectpads_collect),
5117         (gst_collectpads_collect_range), (gst_collectpads_start),
5118         (gst_collectpads_stop), (gst_collectpads_peek),
5119         (gst_collectpads_pop), (gst_collectpads_available),
5120         (gst_collectpads_read), (gst_collectpads_flush):
5121           Guard public API with assertions.
5122         
5123         * gst/gstpad.c:
5124           Fix docs for gst_pad_set_link_function().
5125
5126 2005-11-02  Johan Dahlin  <johan@gnome.org>
5127
5128         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
5129         Unref found_caps after we used it.
5130
5131 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5132
5133         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
5134           Don't try to ref NULL.
5135
5136 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5137
5138         * win32/common/config.h.in:
5139           provide a GST_FUNCTION that just gives a string for now
5140
5141 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5142
5143         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5144         (gst_object_flags_get_type), (register_gst_bin_flags),
5145         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5146         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5147         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5148         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
5149         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5150         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5151         (gst_clock_flags_get_type), (register_gst_state),
5152         (gst_state_get_type), (register_gst_state_change_return),
5153         (gst_state_change_return_get_type), (register_gst_state_change),
5154         (gst_state_change_get_type), (register_gst_element_flags),
5155         (gst_element_flags_get_type), (register_gst_core_error),
5156         (gst_core_error_get_type), (register_gst_library_error),
5157         (gst_library_error_get_type), (register_gst_resource_error),
5158         (gst_resource_error_get_type), (register_gst_stream_error),
5159         (gst_stream_error_get_type), (register_gst_event_type),
5160         (gst_event_type_get_type), (register_gst_seek_type),
5161         (gst_seek_type_get_type), (register_gst_seek_flags),
5162         (gst_seek_flags_get_type), (register_gst_format),
5163         (gst_format_get_type), (register_gst_index_certainty),
5164         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5165         (gst_index_entry_type_get_type),
5166         (register_gst_index_lookup_method),
5167         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5168         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5169         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5170         (gst_index_flags_get_type), (register_gst_debug_level),
5171         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5172         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5173         (gst_iterator_result_get_type), (register_gst_iterator_item),
5174         (gst_iterator_item_get_type), (register_gst_message_type),
5175         (gst_message_type_get_type), (register_gst_mini_object_flags),
5176         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5177         (gst_pad_link_return_get_type), (register_gst_flow_return),
5178         (gst_flow_return_get_type), (register_gst_activate_mode),
5179         (gst_activate_mode_get_type), (register_gst_pad_direction),
5180         (gst_pad_direction_get_type), (register_gst_pad_flags),
5181         (gst_pad_flags_get_type), (register_gst_pad_presence),
5182         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5183         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5184         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5185         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5186         (gst_plugin_flags_get_type), (register_gst_rank),
5187         (gst_rank_get_type), (register_gst_query_type),
5188         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5189         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5190         (gst_tag_flag_get_type), (register_gst_task_state),
5191         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5192         (gst_alloc_trace_flags_get_type),
5193         (register_gst_type_find_probability),
5194         (gst_type_find_probability_get_type), (register_gst_uri_type),
5195         (gst_uri_type_get_type), (register_gst_parse_error),
5196         (gst_parse_error_get_type):
5197         * win32/common/gstversion.h:
5198           update win32 copies
5199
5200 2005-11-01  Luca Ognibene  <luogni@tin.it>
5201
5202         * gst/gst.c:
5203           fix docs. popt is dead, long live GOption.
5204
5205 2005-10-31  Wim Taymans  <wim@fluendo.com>
5206
5207         * gst/gstbuffer.h:
5208         Small doc fix.
5209
5210 2005-10-31  Andy Wingo  <wingo@pobox.com>
5211
5212         * Boo!
5213
5214         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
5215
5216         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
5217         need to serialize property notifications on GLib 2.8. GLib 2.6 has
5218         the possibility of deadlocks here if code calling notify() or
5219         set() has a lock that can be taken in another notify handler (ABBA
5220         with class lock and e.g. python GIL state lock).
5221
5222 2005-10-28  Julien MOUTTE  <julien@moutte.net>
5223
5224         * gst/gstbus.c: Doc updates.
5225
5226 2005-10-28  Wim Taymans  <wim@fluendo.com>
5227
5228         * docs/design/part-TODO.txt:
5229         * gst/gstiterator.c:
5230         * gst/gstsystemclock.c:
5231         * gst/gstsystemclock.h:
5232         Doc updates.
5233
5234 2005-10-28  Edward Hervey  <edward@fluendo.com>
5235
5236         * docs/gst/gstreamer-docs.sgml:
5237         * docs/gst/gstreamer-sections.txt:
5238         the GstURIType documentation page is private, it only defines GstURIType
5239         which should be defined in the GstURIHandler page
5240         
5241 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5242
5243         * gst/gstbin.c: (gst_bin_class_init):
5244         * gst/gstbin.h:
5245         * gst/gstutils.c:
5246         Documentation updates.
5247
5248 2005-10-28  Wim Taymans  <wim@fluendo.com>
5249
5250         * docs/gst/gstreamer-sections.txt:
5251         * gst/gstclock.c:
5252         * gst/gstclock.h:
5253         Documented the clocks.
5254
5255 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
5256
5257         * docs/gst/gstreamer-sections.txt:
5258           move some macros to private sections
5259         * gst/gstminiobject.c:
5260         * gst/gstminiobject.h:
5261           add descriptions provided by ds and some more
5262         * gst/gstpad.h:
5263           mark macro as to be removed
5264
5265 2005-10-28  Wim Taymans  <wim@fluendo.com>
5266
5267         * docs/design/part-TODO.txt:
5268         Add an item to TODO.
5269
5270         * gst/gstiterator.c: (gst_iterator_fold),
5271         (gst_iterator_find_custom):
5272         * gst/gstiterator.h:
5273         Add iterator docs.
5274
5275 2005-10-28  Wim Taymans  <wim@fluendo.com>
5276
5277         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5278         (gst_base_transform_init):
5279         Don't leak class.
5280
5281         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
5282         An EOS event marks the queue as completely filled.
5283
5284 2005-10-27  Wim Taymans  <wim@fluendo.com>
5285
5286         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5287         (gst_base_sink_do_sync), (gst_base_sink_get_position):
5288         Some more debugging.
5289
5290         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
5291         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
5292         (gst_base_transform_event), (gst_base_transform_getrange),
5293         (gst_base_transform_chain):
5294         * gst/base/gstbasetransform.h:
5295         Fix debugging,
5296         Protect transform and concurrent buffer alloc with a new lock.
5297         Try not to break ABI/API.
5298
5299 2005-10-27  Wim Taymans  <wim@fluendo.com>
5300
5301         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5302         (gst_base_src_init), (gst_base_src_query),
5303         (gst_base_src_default_newsegment),
5304         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5305         (gst_base_src_send_event), (gst_base_src_event_handler),
5306         (gst_base_src_pad_get_range), (gst_base_src_loop),
5307         (gst_base_src_unlock), (gst_base_src_default_negotiate),
5308         (gst_base_src_start), (gst_base_src_deactivate),
5309         (gst_base_src_activate_push), (gst_base_src_change_state):
5310         Move some stuff around and cleanup things.
5311
5312 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
5313
5314         * gst/base/gstbasesrc.c: (gst_base_src_query):
5315           Add missing break statements.
5316
5317 2005-10-27  Wim Taymans  <wim@fluendo.com>
5318
5319         * check/gst/gstbin.c: (GST_START_TEST):
5320         An extra refcount is taken in basesrc.
5321
5322         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5323         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5324         (gst_base_src_loop):
5325         Small cleanups, check for flushing after being unlocked from the 
5326         LIVE_LOCK. take refcounts correctly (not yet everywhere).
5327         Don't send out EOS when going to READY.
5328
5329 2005-10-27  Wim Taymans  <wim@fluendo.com>
5330
5331         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5332         (gst_base_sink_get_position):
5333         Some more debug.
5334
5335         * gst/gstbin.c: (message_check), (bin_replace_message),
5336         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5337         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5338         (bin_query_duration_init), (bin_query_duration_fold),
5339         (bin_query_duration_done), (bin_query_generic_fold),
5340         (gst_bin_query):
5341         * tools/gst-launch.c: (main):
5342         Remove old option.
5343
5344 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
5345
5346         * examples/controller/audio-example.c: (main):
5347         * examples/queue/queue.c: (event_loop):
5348         * gst/base/gstbasetransform.h:
5349         * gst/gstelement.c: (gst_element_send_event):
5350         * gst/gstevent.h:
5351         * gst/gstpad.c: (gst_pad_send_event):
5352           fixing examples
5353           fixing docs typos
5354           changing log priority in error situations
5355
5356 2005-10-25  Wim Taymans  <wim@fluendo.com>
5357
5358         * gst/gstbin.c: (message_check), (bin_replace_message),
5359         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5360         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5361         (bin_query_duration_init), (bin_query_duration_fold),
5362         (bin_query_duration_done), (bin_query_generic_fold),
5363         (gst_bin_query):
5364         Some doc and debug updates.
5365         Cache previously requested query DURATION for speed. invalidate
5366         cached duration if element posts a DURATION message.
5367
5368 2005-10-25  Wim Taymans  <wim@fluendo.com>
5369
5370         * docs/design/part-TODO.txt:
5371         Update TODO.
5372
5373         * gst/gstbin.c: (message_check), (bin_replace_message),
5374         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5375         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5376         (bin_query_duration_init), (bin_query_duration_fold),
5377         (bin_query_duration_done), (bin_query_generic_fold),
5378         (gst_bin_query):
5379         Handle SEGMENT_START/DONE messages correctly.
5380         More evolved query algorithm that handles duration queries
5381         correctly.
5382
5383         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
5384         (gst_element_get_state_func), (gst_element_abort_state),
5385         (gst_element_commit_state), (gst_element_lost_state):
5386         Some more debugging.
5387
5388         * gst/gstmessage.h:
5389         Added doc.
5390
5391 2005-10-25  Wim Taymans  <wim@fluendo.com>
5392
5393         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5394         Don't use invalid stream_time.
5395
5396         * gst/gstevent.c: (gst_event_new_newsegment):
5397         stream_time in newsegment cannot be undefined.
5398
5399 2005-10-24  Wim Taymans  <wim@fluendo.com>
5400
5401         * gst/gstbus.c:
5402         Doc fix.
5403
5404         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5405         (gst_queue_loop):
5406         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
5407
5408 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
5409
5410         * docs/libs/tmpl/gstdparam.sgml:
5411         * docs/libs/tmpl/gstdplinint.sgml:
5412         * docs/libs/tmpl/gstdpman.sgml:
5413         * docs/libs/tmpl/gstdpsmooth.sgml:
5414         * docs/libs/tmpl/gstunitconvert.sgml:
5415           these are obsolete
5416
5417 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5418
5419         * configure.ac:
5420           back to HEAD
5421
5422 === release 0.9.4 ===
5423
5424 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5425
5426         * configure.ac:
5427           releasing 0.9.4, "Tyrannosaurus Rex"
5428
5429 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
5430
5431         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5432         (gst_file_sink_get_current_offset):
5433           Use fseeko() and ftello() if available. When falling back on
5434           lseek() to get the current offset, fflush() first to make sure
5435           everything is up-to-date and we get the right offset.
5436
5437 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5438
5439         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5440         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5441         * gst/gsterror.c: (_gst_stream_errors_init):
5442         * gst/gsterror.h:
5443         * gst/gstqueue.c: (gst_queue_loop):
5444         * po/POTFILES.in:
5445           remove prematurely added error category and clean up the instances
5446
5447 2005-10-21  Wim Taymans  <wim@fluendo.com>
5448
5449         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5450         (gst_base_sink_get_position), (gst_base_sink_query),
5451         (gst_base_sink_change_state):
5452         Simply set the right flag when going to playing, that's all
5453         we need to do instead of calling a function inside the object
5454         lock (that could take the lock as well and deadlock)
5455
5456 2005-10-21  Wim Taymans  <wim@fluendo.com>
5457
5458         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
5459         (gst_base_src_loop):
5460         Don't warn, the peer element knows what to do best when
5461         the seek failed, it might try something else.
5462
5463 2005-10-21  Wim Taymans  <wim@fluendo.com>
5464
5465         * gst/base/gstbasesrc.c: (gst_base_src_init),
5466         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5467         Fix seeking.
5468
5469 2005-10-21  Wim Taymans  <wim@fluendo.com>
5470
5471         * docs/design/part-segments.txt:
5472         More docs.
5473
5474         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5475         Correctly set caps, even on the subbufer.
5476
5477 2005-10-21  Wim Taymans  <wim@fluendo.com>
5478
5479         * docs/gst/gstreamer-docs.sgml:
5480         * docs/gst/gstreamer-sections.txt:
5481         * gst/gstelement.h:
5482         * gst/gstevent.c:
5483         * gst/gstevent.h:
5484         * gst/gstmessage.h:
5485         * gst/gstpad.h:
5486         * gst/gstparse.h:
5487         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
5488         * gst/gsttask.h:
5489         * gst/gstutils.c:
5490         * gst/gstutils.h:
5491         And 2% more doc coverage.
5492
5493 2005-10-21  Andy Wingo  <wingo@pobox.com>
5494
5495         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
5496         position reporting.
5497
5498 2005-10-20  Wim Taymans  <wim@fluendo.com>
5499
5500         * gst/gsterror.c: (gst_error_get_message):
5501         * gst/gstparse.h:
5502         * gst/gstquery.h:
5503         * gst/gststructure.c:
5504         * gst/gsttrace.c:
5505         * gst/gstutils.c:
5506         More docs.
5507
5508 2005-10-20  Wim Taymans  <wim@fluendo.com>
5509
5510         * gst/gstbuffer.h:
5511         * gst/gstpad.c:
5512         * gst/gstparse.c:
5513         Another 1% more coverage.
5514
5515 2005-10-20  Wim Taymans  <wim@fluendo.com>
5516
5517         * docs/gst/gstreamer-sections.txt:
5518         * gst/gstelement.c: (gst_element_get_state_func),
5519         (gst_element_abort_state), (gst_element_commit_state),
5520         (gst_element_lost_state):
5521         * gst/gstevent.h:
5522         * gst/gstquery.c: (gst_query_set_position),
5523         (gst_query_parse_position), (gst_query_set_duration),
5524         (gst_query_parse_duration), (gst_query_new_convert):
5525         * gst/gstutils.c:
5526         Yay! 1% more docs coverage.
5527
5528 2005-10-20  Wim Taymans  <wim@fluendo.com>
5529
5530         * gst/gstpad.h:
5531         * gst/gstquery.c: (gst_query_set_position),
5532         (gst_query_parse_position), (gst_query_set_duration),
5533         (gst_query_parse_duration), (gst_query_new_convert):
5534         * gst/gstquery.h:
5535         * gst/gstutils.c: (gst_element_query_convert):
5536         * gst/gstutils.h:
5537         Docs and consistency fixes.
5538
5539 2005-10-20  Wim Taymans  <wim@fluendo.com>
5540
5541         * gst/gsttask.c:
5542         * gst/gsttask.h:
5543         More docs.
5544
5545 2005-10-20  Wim Taymans  <wim@fluendo.com>
5546
5547         * gst/gstbin.c: (message_check), (bin_replace_message),
5548         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5549         (update_degree), (gst_bin_sort_iterator_next),
5550         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
5551         Reworked the message handling a bit, cache the messages instead of
5552         only the senders. alows us to do more in the future.
5553
5554 2005-10-20  Wim Taymans  <wim@fluendo.com>
5555
5556         * docs/design/part-TODO.txt:
5557         Update TODO
5558
5559         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5560         (gst_base_sink_query):
5561         Don't use clock time to report position when in EOS.
5562
5563 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
5564
5565         * tools/gst-inspect.c: (print_interfaces),
5566         (print_element_properties_info), (print_element_info):
5567           Fix interface output with gst-inspect -a; don't print
5568           newlines after double/float properties.
5569
5570 2005-10-20  Wim Taymans  <wim@fluendo.com>
5571
5572         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5573         (gst_base_sink_query):
5574         Speed up current position calculation.
5575
5576         * gst/base/gstbasesrc.c: (gst_base_src_query),
5577         (gst_base_src_default_newsegment):
5578         Correctly set stream position in newsegment.
5579
5580         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
5581         (update_degree), (gst_bin_sort_iterator_next),
5582         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
5583         * gst/gstmessage.c: (gst_message_new_custom):
5584         Clean up debugging info
5585
5586         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
5587         (gst_queue_loop), (gst_queue_handle_src_query):
5588         Pause task faster.
5589
5590 2005-10-19  Wim Taymans  <wim@fluendo.com>
5591
5592         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5593         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5594         Fix query handling again.
5595
5596 2005-10-19  Wim Taymans  <wim@fluendo.com>
5597
5598         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5599         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5600         * gst/base/gstbasesrc.c: (gst_base_src_query):
5601         * gst/elements/gstfilesink.c: (gst_file_sink_query):
5602         * gst/elements/gsttypefindelement.c:
5603         (gst_type_find_handle_src_query), (find_element_get_length),
5604         (gst_type_find_element_activate):
5605         API change fix.
5606
5607         * gst/gstquery.c: (gst_query_new_position),
5608         (gst_query_set_position), (gst_query_parse_position),
5609         (gst_query_new_duration), (gst_query_set_duration),
5610         (gst_query_parse_duration), (gst_query_set_segment),
5611         (gst_query_parse_segment):
5612         * gst/gstquery.h:
5613         Bundling query position/duration is not a good idea since duration
5614         does not change much and we don't want to recalculate it for every
5615         position query, so they are separated again..
5616         Base value in segment query is not needed.
5617
5618         * gst/gstqueue.c: (gst_queue_handle_src_query):
5619         * gst/gstutils.c: (gst_element_query_position),
5620         (gst_element_query_duration), (gst_pad_query_position),
5621         (gst_pad_query_duration):
5622         * gst/gstutils.h:
5623         Updates for query API change.
5624         Added some docs here and there.
5625
5626 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5627
5628         * check/gst/gstbin.c: (GST_START_TEST):
5629         * check/gst/gstghostpad.c: (GST_START_TEST):
5630         * check/pipelines/cleanup.c: (GST_START_TEST):
5631           wait on thread to die so we can check refcount correctly
5632
5633 2005-10-18  Wim Taymans  <wim@fluendo.com>
5634
5635         * check/pipelines/stress.c: (GST_START_TEST):
5636         Make check a little more time consuming.
5637
5638 2005-10-18  Wim Taymans  <wim@fluendo.com>
5639
5640         * check/Makefile.am:
5641         * check/pipelines/stress.c: (GST_START_TEST),
5642         (simple_launch_lines_suite), (main):
5643         Small state change torture test.
5644
5645         * docs/design/part-states.txt:
5646         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5647         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
5648         (gst_base_sink_change_state):
5649         Never take state lock from streaming thread, clean up ugly
5650         hacks. Unfortunatly core does not yet support nice ways to
5651         async commit state.
5652         
5653         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
5654         (bin_bus_handler):
5655         Start state recalc if a STATE_DIRTY message is posted, but only
5656         on the toplevel bin.
5657
5658         * gst/gstelement.c: (gst_element_sync_state_with_parent),
5659         (gst_element_get_state_func), (gst_element_abort_state),
5660         (gst_element_commit_state), (gst_element_lost_state),
5661         (gst_element_set_state_func), (gst_element_change_state):
5662         * gst/gstelement.h:
5663         State variables are now protected with the LOCK, the state
5664         lock is only used to serialize _set_state().
5665
5666 2005-10-18  Wim Taymans  <wim@fluendo.com>
5667
5668         * check/gst/gstbin.c: (GST_START_TEST):
5669         * check/gst/gstmessage.c: (GST_START_TEST):
5670         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5671         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
5672         (bin_bus_handler):
5673         * gst/gstelement.c: (gst_element_abort_state),
5674         (gst_element_commit_state), (gst_element_lost_state):
5675         * gst/gstmessage.c: (gst_message_new_state_changed),
5676         (gst_message_new_state_dirty), (gst_message_new_segment_start),
5677         (gst_message_new_segment_done), (gst_message_new_duration),
5678         (gst_message_parse_state_changed),
5679         (gst_message_parse_segment_start),
5680         (gst_message_parse_segment_done), (gst_message_parse_duration):
5681         * gst/gstmessage.h:
5682         * tools/gst-launch.c: (event_loop):
5683         Seriously, this is better than a previous commit as we only need
5684         to notify the fact that an element changed state in a streaming
5685         thread, marking the state of the parents dirty, hence the 
5686         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
5687         message.
5688
5689 2005-10-18  Wim Taymans  <wim@fluendo.com>
5690
5691         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5692         (gst_bin_recalc_func):
5693         * gst/gstelement.c: (gst_element_set_clock),
5694         (gst_element_abort_state), (gst_element_lost_state):
5695         Cleanups, prepare for state change fixes.
5696
5697 2005-10-18  Wim Taymans  <wim@fluendo.com>
5698
5699         * gst/gstbin.h:
5700         * gst/gstelement.c: (gst_element_class_init),
5701         (gst_element_set_state), (gst_element_set_state_func):
5702         * gst/gstelement.h:
5703         Pending ABI changes.
5704         GThreadPool in GstBinClass to monitor async state changes.
5705         state_cookie in GstElement to detect concurrent gst/set state.
5706         set_state is now virtual too in case a very complicated element
5707         has to be constructed.
5708
5709 2005-10-18  Wim Taymans  <wim@fluendo.com>
5710
5711         * check/gst/gstbin.c: (GST_START_TEST):
5712         * check/gst/gstmessage.c: (GST_START_TEST):
5713         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5714         * gst/gstbin.c: (bin_bus_handler):
5715         * gst/gstelement.c: (gst_element_commit_state),
5716         (gst_element_lost_state):
5717         * gst/gstmessage.c: (gst_message_new_state_changed),
5718         (gst_message_new_segment_start), (gst_message_new_segment_done),
5719         (gst_message_new_duration), (gst_message_parse_state_changed),
5720         (gst_message_parse_segment_start),
5721         (gst_message_parse_segment_done), (gst_message_parse_duration):
5722         * gst/gstmessage.h:
5723         * tools/gst-launch.c: (event_loop):
5724         Make messages future proof.
5725         state-change gets a flag if it was a message comming from the
5726         streaming thread.
5727         segment-start/stop can also be specified in other formats.
5728         A message to notify an app that a pipeline changed playback 
5729         duration.
5730         Also fix a GstMessage leak in -launch
5731
5732 2005-10-18  Andy Wingo  <wingo@pobox.com>
5733
5734         * gst/gstelement.c (gst_element_dispose): More helpful message.
5735
5736 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5737
5738         reviewed by: <delete if not using a buddy>
5739
5740         * common/gtk-doc.mak:
5741
5742 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5743
5744         * gst/gstregistry.c: (gst_registry_scan_path_level):
5745           unref a plug-in we get that was already initialized
5746
5747 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
5748
5749         * docs/gst/gstreamer-sections.txt:
5750         * docs/libs/gstreamer-libs-sections.txt:
5751         * gst/gstelement.h:
5752           add new api entries
5753           hide internal macro
5754
5755 2005-10-17  Andy Wingo  <wingo@pobox.com>
5756
5757         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
5758         cleanup.
5759
5760         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
5761
5762         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
5763
5764         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
5765         (gst_element_get_state_func): Better debug message.
5766         (gst_element_commit_state): s/INFO/DEBUG/.
5767         (gst_element_lost_state, gst_element_change_state): 
5768
5769         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
5770         (gst_message_new_custom): s/INFO/LOG/.
5771
5772 2005-10-17  Michael Smith <msmith@fluendo.com>
5773
5774         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5775           Check if end time is valid using end time, not start time.
5776
5777 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
5778
5779         * check/gst-libs/controller.c: (GST_START_TEST),
5780         (gst_controller_suite):
5781         * libs/gst/controller/gstcontroller.c:
5782         (gst_controlled_property_set_interpolation_mode):
5783         * libs/gst/controller/gstcontroller.h:
5784         * libs/gst/controller/gstinterpolation.c:
5785         * testsuite/controller/.cvsignore:
5786         * testsuite/controller/Makefile.am:
5787         * testsuite/controller/interpolator.c:
5788           merge controller testsuites
5789           fix broken tests
5790           remove mem-chunk from docs
5791
5792 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5793
5794         * gst/gstmemchunk.c:
5795         * gst/gstmemchunk.h:
5796         * gst/gsttrashstack.c:
5797         * gst/gsttrashstack.h:
5798           out.  get out.  you're fired.  to the Attic !
5799
5800 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5801
5802         * gst/gstcaps.c: (gst_caps_intersect):
5803           fix signedness issues in a (hopefully) correct way
5804         * gst/gstelement.c: (gst_element_pads_activate):
5805           some debugging
5806         * gst/gstobject.c: (gst_object_set_parent):
5807           some debugging
5808
5809 2005-10-17  Julien MOUTTE  <julien@moutte.net>
5810
5811         * gst/gstvalue.h: Fix prototypes.
5812
5813 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5814
5815         * docs/gst/gstreamer-sections.txt:
5816         * gst/gst.c: (gst_version_string):
5817         * gst/gst.h:
5818         * gst/gstversion.h.in:
5819         * win32/common/libgstreamer.def:
5820           add gst_version_string ()
5821
5822 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5823
5824         * configure.ac:
5825           clean up further
5826         * gst/gst.c: (init_post):
5827         * win32/common/config.h.in:
5828           it's PLUGINDIR now
5829         * gst/gstcaps.c: (gst_caps_intersect):
5830           use gint64, the range could be bigger than a guint
5831
5832 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5833
5834         * gst/gstclock.h:
5835           document potential problem in 2038
5836
5837 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5838
5839         * gst/gstcaps.c: (gst_caps_intersect):
5840           Fix guint j diving under 0
5841
5842 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5843
5844         * configure.ac:
5845         * win32/common/config.h:
5846         * win32/common/config.h.in:
5847           check for process.h, declares getpid() on Windows
5848         * gst/gstinfo.c:
5849           include process.h if we have it
5850         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5851         * gst/gstmemchunk.h:
5852           fix signedness issues
5853         * win32/common/libgstreamer.def:
5854           fix get_type's
5855
5856 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5857
5858         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5859         fix. Because of unsigned ints, caps intersection was going nuts and
5860         trying to access structures with G_MAXUINT index. That fixes
5861         videotestsrc ! ffmpegcolorspace ! fakesink
5862         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5863         consistency.
5864
5865 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5866
5867         * configure.ac:
5868           use the gettext macro
5869         * gst/elements/gstelements.c:
5870         * gst/gst.c:
5871         * gst/indexers/gstindexers.c:
5872           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5873         * win32/common/config.h:
5874           updated config.h
5875         * win32/common/config.h.in:
5876           add the template to generate config.h
5877         * win32/common/gstenumtypes.c:
5878         * win32/common/gstversion.h:
5879           updated copies
5880
5881 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5882
5883         * gst/gst.c: (gst_version):
5884         * gst/gstversion.h.in:
5885           add the nano
5886
5887 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5888
5889         * gst/gstevent.h:
5890           Oops, add missing closing bracket.
5891
5892 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5893
5894         * configure.ac:
5895           use common m4's for argument checking
5896
5897 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5898
5899         * docs/gst/gstreamer-sections.txt:
5900         * gst/gstevent.h:
5901           Add GST_EVENT_TYPE_NAME() macro.
5902
5903 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5904
5905         * gst/gstinfo.c:
5906         * gst/gstpluginfeature.c:
5907         * gst/gsttask.c:
5908           privatize more symbols
5909
5910 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5911
5912         * configure.ac:
5913           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5914           everything that uses GStreamer API should have the includes
5915
5916 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5917
5918         * docs/gst/gstreamer-sections.txt:
5919         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5920         * gst/gstvalue.h:
5921           give each value a _get_type, removes the DATA exports
5922
5923 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5924
5925         * gst/gst.c:
5926         * gst/gst.h:
5927           remove _gst_registry_auto_load, not used anymore
5928         * gst/gstbin.c: (gst_bin_get_type):
5929         * gst/gstbin.h:
5930         * gst/gstelement.c: (gst_element_get_type):
5931         * gst/gstelement.h:
5932         * gst/gstobject.c: (gst_object_get_type):
5933         * gst/gstobject.h:
5934         * gst/gstpad.c: (gst_pad_get_type):
5935         * gst/gstpad.h:
5936           make _get_type functions similar, fixes data export from library
5937
5938 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5939
5940         * configure.ac:
5941           correctly make conditionals
5942         * gst/elements/Makefile.am:
5943         * gst/elements/gstelements.c:
5944           fix typo causing fdsrc not to build
5945
5946 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5947
5948         * testsuite/Makefile.am:
5949         * testsuite/bytestream/.cvsignore:
5950         * testsuite/bytestream/Makefile.am:
5951         * testsuite/bytestream/filepadsink.c:
5952         * testsuite/bytestream/gstbstest.c:
5953         * testsuite/bytestream/test1.c:
5954         * testsuite/bytestream/testfile1:
5955         * testsuite/caps/normalisation.c:
5956         * testsuite/caps/random.c: (main):
5957         * testsuite/cleanup/.cvsignore:
5958         * testsuite/cleanup/Makefile.am:
5959         * testsuite/cleanup/cleanup1.c:
5960         * testsuite/cleanup/cleanup2.c:
5961         * testsuite/cleanup/cleanup3.c:
5962         * testsuite/cleanup/cleanup4.c:
5963         * testsuite/cleanup/cleanup5.c:
5964         * testsuite/controller/interpolator.c:
5965         * testsuite/debug/printf_extension.c: (main):
5966         * testsuite/elements/tee.c:
5967         * testsuite/negotiation/.cvsignore:
5968         * testsuite/negotiation/Makefile.am:
5969         * testsuite/negotiation/pad_link.c:
5970         * testsuite/pad/Makefile.am:
5971         * testsuite/pad/chainnopull.c:
5972         * testsuite/pad/getnopush.c:
5973         * testsuite/pad/link.c:
5974         * testsuite/refcounting/sched.c: (create_pipeline):
5975         * testsuite/registry/Makefile.am:
5976         * testsuite/registry/gst-print-formats.c:
5977         * testsuite/schedulers/.cvsignore:
5978         * testsuite/schedulers/142183-2.c:
5979         * testsuite/schedulers/142183.c:
5980         * testsuite/schedulers/143777-2.c:
5981         * testsuite/schedulers/143777.c:
5982         * testsuite/schedulers/147713.c:
5983         * testsuite/schedulers/147819.c:
5984         * testsuite/schedulers/147894-2.c:
5985         * testsuite/schedulers/147894.c:
5986         * testsuite/schedulers/Makefile.am:
5987         * testsuite/schedulers/group_link.c:
5988         * testsuite/schedulers/queue_link.c:
5989         * testsuite/schedulers/relink.c:
5990         * testsuite/schedulers/unlink.c:
5991         * testsuite/schedulers/unref.c:
5992         * testsuite/schedulers/useless_iteration.c:
5993         * testsuite/states/bin.c:
5994           clean out/remove some stuff from the testsuite directories
5995
5996 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5997
5998         * configure.ac:
5999           check for some headers
6000         * gst/elements/Makefile.am:
6001         * gst/elements/gstelements.c:
6002           don't compile fdsrc without sys/socket.h
6003         * gst/indexers/Makefile.am:
6004         * gst/indexers/gstindexers.c: (plugin_init):
6005           don't compile fileindex without mmap
6006
6007 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6008
6009         * configure.ac:
6010           reorganize
6011           clean up
6012           document more
6013           remove cruft
6014         * check/Makefile.am:
6015         * docs/gst/Makefile.am:
6016         * examples/helloworld/Makefile.am:
6017         * gst/Makefile.am:
6018         * gst/base/Makefile.am:
6019         * gst/check/Makefile.am:
6020         * gst/elements/Makefile.am:
6021         * gst/indexers/Makefile.am:
6022         * gst/parse/Makefile.am:
6023         * libs/gst/controller/Makefile.am:
6024         * libs/gst/dataprotocol/Makefile.am:
6025         * examples/helloworld/helloworld.c: (event_loop):
6026           compile fixes, though it's not being compiled currently
6027
6028 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6029
6030         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
6031           Add some simple tests for the new taglist date API.
6032
6033 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6034
6035         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
6036         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
6037           Beautify 'last-message' output: print 'none' for buffer timestamps
6038           and durations if none is set; improve alignment with next messages.
6039
6040 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6041
6042         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
6043         * gst/gstpluginfeature.h:
6044         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
6045         * gst/gstregistry.h:
6046         * docs/gst/gstreamer-sections.txt:
6047           Add new API to check plugin feature version requirements.
6048
6049         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
6050           Some basic tests for the above.         
6051
6052 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6053
6054         * gst/gststructure.c: (gst_structure_to_string):
6055           guard against NULL printf - happens when for example
6056           a message structure with GstClock gets serialized
6057
6058 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6059
6060         * gst/base/gstcollectpads.c: (gst_collectpads_event):
6061           Fix presumable copy'n'pasto.
6062
6063 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6064
6065         * gst/elements/gstfakesrc.h:
6066         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
6067         * gst/elements/gsttypefindelement.c:
6068           fix some signedness
6069         * gst/elements/gstfilesink.c: (gst_file_sink_render):
6070           I wonder if this could actually write +2GB files before
6071
6072 2005-10-13  Andy Wingo  <wingo@pobox.com>
6073
6074         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
6075         Fix Timmeke Waymans bug.
6076         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
6077         string of the proper length to gst_caps_from_string. There's a
6078         potential for, before this fix, that this could cause someone
6079         connecting over the network to cause a segfault if the payload is
6080         not NUL-terminated.
6081
6082 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
6083
6084         * docs/design/draft-push-pull.txt:
6085         * docs/design/part-overview.txt:
6086         * docs/random/TODO-pre-0.9:
6087         * docs/random/old/ChangeLog.gstreamer:
6088         * gst/base/gstpushsrc.c:
6089         * gst/gstclock.c:
6090           fixed typos
6091
6092 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6093
6094         * gst/glib-compat.c: (gst_flags_get_first_value):
6095         * gst/glib-compat.h:
6096         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
6097         (gst_value_compare_double), (gst_value_serialize_flags):
6098           GLib 2.6 g_flags_get_first_value has a bug that triggers an
6099           infinite loop
6100
6101 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6102
6103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6104         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6105           fix up debugging
6106         * tools/gst-launch.c: (event_loop):
6107           print out clock nicely
6108
6109 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6110
6111         * docs/gst/gstreamer-sections.txt:
6112         * gst/gsttaglist.h:
6113         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
6114         (gst_tag_list_get_date_index):
6115           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
6116           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
6117
6118 2005-10-13  Julien MOUTTE  <julien@moutte.net>
6119
6120         * gst/base/gstcollectpads.c: (gst_collectpads_event),
6121         (gst_collectpads_chain):
6122         * gst/base/gstcollectpads.h: Handle newsegment and store informations
6123         in CollectData.
6124
6125 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
6126
6127         * docs/gst/gstreamer-sections.txt:
6128         * gst/gst.c:
6129         * gst/gsterror.h:
6130         * tools/gst-inspect.c: (main):
6131         * tools/gst-launch.c: (main):
6132         * tools/gst-run.c: (main):
6133         * tools/gst-xmlinspect.c: (main):
6134           fix GOption context leaks
6135           doc fixes
6136
6137 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6138
6139         * gst/gstbus.c:
6140           use HAVE_UNISTD_H
6141         * win32/common/config.h:
6142           update config
6143         * win32/vs6/grammar.dsp:
6144         * win32/vs6/libgstelements.dsp:
6145         * win32/vs6/libgstreamer.dsp:
6146           update vs6 files
6147
6148 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6149
6150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6151         * gst/base/gstbasesrc.c: (gst_base_src_query):
6152           fix more guint64<->gdouble conversions
6153
6154 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6155
6156         * Makefile.am:
6157           add win32-update target
6158         * win32/common/gstconfig.h:
6159         * win32/common/gstenumtypes.c:
6160         * win32/common/gstenumtypes.h:
6161         * win32/common/gstversion.h:
6162           add files that visual studio can't generate
6163
6164 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6165
6166         * Makefile.am:
6167           add a win32-update target
6168         * configure.ac:
6169
6170 2005-10-12  Wim Taymans  <wim@fluendo.com>
6171
6172         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6173         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
6174         * gst/gstelement.c: (gst_element_commit_state),
6175         (gst_element_set_state):
6176         Protect flags with proper lock.
6177         unref provided cached clock in dispose.
6178
6179 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
6180
6181         * gst/gst.c:
6182         * gst/gstminiobject.h:
6183         * gst/gstpad.h:
6184         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
6185           removed unused flags from miniobject
6186           doc fixes
6187
6188 2005-10-12  Wim Taymans  <wim@fluendo.com>
6189
6190         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6191         (gst_file_sink_event), (gst_file_sink_render):
6192         Flush before seeking.
6193
6194 2005-10-12  Andy Wingo  <wingo@pobox.com>
6195
6196         * gst/gst.c (gst_init_check): Ignore unknown options, as has
6197         always been the case.
6198
6199 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
6200
6201         * check/gst/gstbin.c: (GST_START_TEST):
6202         * docs/gst/gstreamer-sections.txt:
6203         * gst/base/gstbasesink.c: (gst_base_sink_init):
6204         * gst/base/gstbasesrc.c: (gst_base_src_init),
6205         (gst_base_src_get_range), (gst_base_src_check_get_range),
6206         (gst_base_src_start), (gst_base_src_stop):
6207         * gst/base/gstbasesrc.h:
6208         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
6209         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6210         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
6211         (bin_bus_handler):
6212         * gst/gstbin.h:
6213         * gst/gstbuffer.h:
6214         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
6215         * gst/gstbus.h:
6216         * gst/gstelement.c: (gst_element_is_locked_state),
6217         (gst_element_set_locked_state), (gst_element_commit_state),
6218         (gst_element_set_state):
6219         * gst/gstelement.h:
6220         * gst/gstindex.c: (gst_index_init):
6221         * gst/gstindex.h:
6222         * gst/gstminiobject.h:
6223         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
6224         (gst_object_set_parent):
6225         * gst/gstobject.h:
6226         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
6227         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
6228         * gst/gstpad.h:
6229         * gst/gstpadtemplate.h:
6230         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
6231         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
6232         * gst/gstpipeline.h:
6233         * gst/indexers/gstfileindex.c: (gst_file_index_load),
6234         (gst_file_index_commit):
6235         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6236         * testsuite/pad/link.c: (gst_test_src_init),
6237         (gst_test_filter_init), (gst_test_sink_init):
6238         * testsuite/states/locked.c: (main):
6239           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
6240           moved bitshift from macro to enum definition
6241
6242 2005-10-12  Wim Taymans  <wim@fluendo.com>
6243
6244         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
6245         * gst/elements/gstfilesink.c: (gst_file_sink_event),
6246         (gst_file_sink_render):
6247         Some more debugging info.
6248
6249 2005-10-12  Wim Taymans  <wim@fluendo.com>
6250
6251         * docs/design/part-states.txt:
6252         * tools/gst-launch.c: (main):
6253         Some doc updates.
6254         Revert non-intentional change.
6255
6256 2005-10-12  Wim Taymans  <wim@fluendo.com>
6257
6258         * check/gst/gstbin.c: (GST_START_TEST):
6259         * check/gst/gstelement.c: (GST_START_TEST):
6260         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
6261         * check/gst/gstghostpad.c: (GST_START_TEST):
6262         * check/gst/gstpipeline.c: (GST_START_TEST):
6263         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6264         * check/states/sinks.c: (GST_START_TEST):
6265         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6266         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6267         (gst_bin_remove_func), (gst_bin_get_state_func),
6268         (gst_bin_recalc_state), (gst_bin_change_state_func),
6269         (bin_bus_handler):
6270         * gst/gstelement.c: (gst_element_get_state_func),
6271         (gst_element_get_state), (gst_element_abort_state),
6272         (gst_element_commit_state), (gst_element_set_state),
6273         (gst_element_change_state), (gst_element_change_state_func):
6274         * gst/gstelement.h:
6275         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
6276         (gst_pipeline_provide_clock_func):
6277         * gst/gstutils.c: (gst_element_link_pads_filtered):
6278         * tools/gst-launch.c: (main):
6279         * tools/gst-typefind.c: (main):
6280         Use GstClockTime in _get_state() instead of GTimeVal.
6281         Remove old code in gstutils.c
6282
6283 2005-10-12  Andy Wingo  <wingo@pobox.com>
6284
6285         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
6286         removed.
6287
6288         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
6289         there is no task. Shouldn't affect any code, as nothing in our
6290         plugins checks this return value.
6291         (gst_pad_stop_task): Also take the stream lock if the pad has no
6292         task. Docs updated.
6293
6294 2005-10-12  Wim Taymans  <wim@fluendo.com>
6295
6296         * gst/gstpad.c: (pre_activate), (post_activate),
6297         (gst_pad_activate_pull), (gst_pad_activate_push):
6298         Cleanup activation code. Reset old state if
6299         activation failed.
6300
6301 2005-10-12  Wim Taymans  <wim@fluendo.com>
6302
6303         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6304         (gst_base_sink_change_state):
6305         No need to prerol after receiving EOS.
6306
6307         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6308         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
6309         * gst/elements/gstidentity.c: (gst_identity_event):
6310         Print events more verbosely.
6311
6312 2005-10-12  Wim Taymans  <wim@fluendo.com>
6313
6314         * check/Makefile.am:
6315         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6316         * check/states/sinks2.c:
6317         Moved sinks2 testcode in sinks check.
6318
6319         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6320         (gst_bin_remove_func), (gst_bin_recalc_state),
6321         (gst_bin_change_state_func), (bin_bus_handler):
6322         Fix potential race condition when _get_state() iterated over an
6323         ASYNC element right before it posted a state completion.
6324
6325         * gst/gstclock.h:
6326         Do proper cast here.
6327
6328         * gst/gstevent.c: (gst_event_new_newsegment),
6329         (gst_event_parse_newsegment):
6330         A playback rate of 0.0 is not allowed.
6331
6332 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6333
6334         * win32/common/config.h:
6335         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
6336         (_trewinddir), (_ttelldir), (_tseekdir):
6337         * win32/common/dirent.h:
6338         * win32/common/gtchar.h:
6339         * win32/common/libgstbase.def:
6340         * win32/common/libgstreamer.def:
6341         * win32/vs6/grammar.dsp:
6342         * win32/vs6/gst_inspect.dsp:
6343         * win32/vs6/gst_launch.dsp:
6344         * win32/vs6/gstreamer.dsw:
6345         * win32/vs6/libgstbase.dsp:
6346         * win32/vs6/libgstelements.dsp:
6347         * win32/vs6/libgstreamer.dsp:
6348           Visual Studio 6 project files, and a new common directory.
6349           Phear.
6350
6351 2005-10-11  Wim Taymans  <wim@fluendo.com>
6352
6353         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6354         (gst_base_sink_do_sync), (gst_base_sink_query),
6355         (gst_base_sink_change_state):
6356         * gst/base/gstbasesink.h:
6357         Correctly parse newsegment info.
6358
6359 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6360
6361         * gst/gst.c: (init_post):
6362           split plugin paths correctly
6363
6364 2005-10-11  Wim Taymans  <wim@fluendo.com>
6365
6366         * check/gst/gstevent.c: (GST_START_TEST):
6367         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6368         (gst_base_sink_change_state):
6369         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
6370         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6371         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6372         * gst/gstevent.c: (gst_event_new_newsegment),
6373         (gst_event_parse_newsegment):
6374         * gst/gstevent.h:
6375         Added extra flag to newsegment for future API freeze.
6376         Updated check and base elements.
6377
6378 2005-10-11  Julien MOUTTE  <julien@moutte.net>
6379
6380         * gst/base/gstcollectpads.c: (gst_collectpads_init),
6381         (gst_collectpads_add_pad), (gst_collectpads_pop),
6382         (gst_collectpads_event), (gst_collectpads_chain):
6383         * gst/base/gstcollectpads.h: Handle EOS correctly.
6384
6385 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6386
6387         * tools/gst-launch.c: (main):
6388           more null protecting
6389
6390 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6391
6392         * gst/gst-i18n-lib.h:
6393           check for ENABLE_NLS, not GETTEXT_PACKAGE
6394         * gst/gstregistry.c: (gst_registry_add_plugin),
6395         (gst_registry_scan_path_level),
6396         (_gst_registry_remove_cache_plugins):
6397           protect possibly NULL strings
6398         * gst/parse/types.h:
6399           config.h already included before
6400         * tools/gst-inspect.c: (main):
6401           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
6402           check for ENABLE_NLS, not GETTEXT_PACKAGE
6403         * tools/gst-launch.c: (main):
6404           check for ENABLE_NLS, not GETTEXT_PACKAGE
6405
6406 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6407
6408         * configure.ac:
6409           if we don't have glib, fail before testing 2.8
6410         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
6411           fix a leak, should fix plugins-base testsuite
6412
6413 2005-10-11  Andy Wingo  <wingo@pobox.com>
6414
6415         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
6416         take the mode we're going to as an arg. Go head and set the mode
6417         and flushing flags now, so that if the activate function starts a
6418         thread all the flags will be in the right state.
6419         (post_activate): Renamed also. Just handle making sure streaming
6420         finishes for the deactivation case, and setting the deactivated
6421         mode.
6422         (gst_pad_set_active): Complain loudly if deactivation fails.
6423         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
6424         (gst_pad_activate_push): Adapt to pre/post_activate changes,
6425         remove the terrible hack.
6426
6427 2005-10-11  Wim Taymans  <wim@fluendo.com>
6428
6429         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6430         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
6431         (gst_bin_recalc_state), (gst_bin_change_state_func),
6432         (gst_bin_dispose), (bin_bus_handler):
6433         * gst/gstbin.h:
6434         Prepare to make current EOS message queue more generic.
6435         Fix some typos.
6436
6437         * gst/gstevent.c: (gst_event_new_newsegment),
6438         (gst_event_parse_newsegment):
6439         * gst/gstevent.h:
6440         Rename base to stream_time.
6441
6442         * gst/gstmessage.h:
6443         Fix typo in docs.
6444
6445 2005-10-11  Wim Taymans  <wim@fluendo.com>
6446
6447         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6448         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
6449         (gst_bin_change_state_func), (bin_bus_handler):
6450         * gst/gstbin.h:
6451         Work on proper clock selection.
6452
6453 2005-10-11  Edward Hervey  <edward@fluendo.com>
6454
6455         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
6456         * libs/gst/controller/gstcontroller.h:
6457         Added GList* version of _remove_properties() in order to be able to wrap
6458         it in bindings.
6459
6460 2005-10-11  Wim Taymans  <wim@fluendo.com>
6461
6462         * docs/design/part-states.txt:
6463         Some more docs.
6464
6465         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
6466         (gst_bin_change_state_func), (bin_bus_handler):
6467         Doc updates. Don't distribute the same clock over and over again.
6468
6469         * gst/gstclock.c:
6470         * gst/gstclock.h:
6471         Doc updates.
6472
6473         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
6474         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
6475         (gst_pad_send_event):
6476         * gst/gstpad.h:
6477         Make probe emission threadsafe again.
6478         Register quarks and move _get_name() from utils.
6479         Doc updates.
6480
6481         * gst/gstpipeline.c: (gst_pipeline_class_init),
6482         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6483         Only redistribute the clock of it changed.
6484
6485         * gst/gstsystemclock.h:
6486         Doc updates. 
6487
6488         * gst/gstutils.c:
6489         * gst/gstutils.h:
6490         Moved the _flow_get_name() to GstPad.
6491
6492 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6493
6494         * check/gst-libs/gdp.c: (GST_START_TEST):
6495         * check/gst/gstcaps.c: (GST_START_TEST):
6496         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6497         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
6498         (gst_dp_packet_from_caps):
6499           fix more valgrind warnings before turning up the heat
6500
6501 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6502
6503         * gst/parse/grammar.y:
6504           some cleanup before the hacking
6505
6506 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6507
6508         * gst/base/gstbasesrc.c: (gst_base_src_query):
6509           use conversions
6510         * gst/gstutils.c: (gst_guint64_to_gdouble),
6511         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
6512         * gst/gstutils.h:
6513           externalize, basesrc uses it
6514           obviously the implementation needs testing
6515
6516 2005-10-10  Wim Taymans  <wim@fluendo.com>
6517
6518         * tests/sched/Makefile.am:
6519         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
6520         (make_pipeline3), (make_pipeline4), (print_elem), (main):
6521
6522 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6523
6524         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
6525           apparently converting from guint64 to double is not implemented
6526           on MSVC
6527
6528 2005-10-10  Wim Taymans  <wim@fluendo.com>
6529
6530         * check/Makefile.am:
6531         * check/generic/states.c: (GST_START_TEST):
6532         * check/gst/gstbin.c: (GST_START_TEST):
6533         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6534         * check/states/sinks.c: (GST_START_TEST):
6535         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
6536         (main):
6537         Check fixes, use API as stated in design docs, remove hacks.
6538
6539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6540         (gst_base_sink_change_state):
6541         Catch stopping our task while we're shutting down.
6542
6543         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6544         (gst_bin_remove_func), (gst_bin_get_state_func),
6545         (gst_bin_recalc_state), (gst_bin_change_state_func),
6546         (bin_bus_handler):
6547         * gst/gstbin.h:
6548         * gst/gstelement.c: (gst_element_init),
6549         (gst_element_get_state_func), (gst_element_abort_state),
6550         (gst_element_commit_state), (gst_element_lost_state),
6551         (gst_element_set_state), (gst_element_change_state),
6552         (gst_element_change_state_func):
6553         * gst/gstelement.h:
6554         New state change algorithm (see #318116)
6555
6556         * gst/gstpipeline.c: (gst_pipeline_class_init),
6557         (gst_pipeline_init), (gst_pipeline_set_property),
6558         (gst_pipeline_get_property), (do_pipeline_seek),
6559         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6560         * gst/gstpipeline.h:
6561         Remove crude state change hacks.
6562
6563         * gst/gstutils.h:
6564         Remove crude hacks.
6565
6566         * tools/gst-launch.c: (main):
6567         Fixes for state change. Needs some more work to fully use the
6568         new stuff.
6569
6570 2005-10-10  Andy Wingo  <wingo@pobox.com>
6571
6572         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
6573
6574         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
6575         this flag, but it's not even in GLib 2.6. Odd. Hack around the
6576         issue.
6577
6578 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6579
6580         * gst/gstiterator.c: (gst_iterator_new):
6581           Fix my previous commit: GTypes passed to gst_iterator_new()
6582           can be fundamental types.
6583
6584 2005-10-10  Wim Taymans  <wim@fluendo.com>
6585
6586         * gst/gstelement.c: (gst_element_iterate_pad_list),
6587         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
6588         (gst_element_iterate_sink_pads):
6589         Use src/sink pads lists for the respective iterators instead
6590         of filtering.
6591
6592 2005-10-10  Andy Wingo  <wingo@pobox.com>
6593
6594         Merged in popt removal + GOption addition patch from Ronald, bug
6595         #169772.
6596
6597         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
6598         GstElement macros around, remove popt-related symbols, add goption
6599         stuff.
6600
6601         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
6602         
6603         * docs/gst/Makefile.am:
6604         * docs/libs/Makefile.am: No POPT_CFLAGS.
6605         
6606         * examples/manual/Makefile.am:
6607         * docs/manual/basics-init.xml: Doc updates with an example.
6608         
6609         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6610         (gst_init), (parse_one_option), (parse_goption_arg):
6611         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
6612         bit of hand merging and debugging to get the GOption stuff working
6613         tho.
6614         
6615         * tests/Makefile.am:
6616         * tools/Makefile.am:
6617         * tools/gst-inspect.c: (main):
6618         * tools/gst-launch.c: (main):
6619         * tools/gst-run.c: (main):
6620         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
6621
6622 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6623
6624         * gst/gstiterator.c: (gst_iterator_new):
6625           Add assertions to make sure passed GType is likely to really
6626           be a GType (as the compiler won't catch it if the size and
6627           GType arguments get mixed up, see #318447).
6628
6629 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
6630
6631         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6632
6633         * gst/gstbin.c: (gst_bin_iterate_sorted):
6634           Pass GType and size arguments to gst_iterator_new() in the right
6635           order (maybe we should make _new() take the GType as first argument
6636           just like _new_list()?) (#318447).
6637           
6638
6639 2005-10-10  Wim Taymans  <wim@fluendo.com>
6640
6641         * gst/gstelement.c: (gst_element_finalize):
6642         And free the GStaticRecMutex too
6643
6644 2005-10-10  Andy Wingo  <wingo@pobox.com>
6645
6646         * gst/gstelement.c (gst_element_init, gst_element_finalize):
6647         Allocate and free the mutex properly.
6648
6649         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
6650         New macros.
6651         (GstElement): The state_lock is now recursive. Rebuild your
6652         plugins, suckers. Old macros adapted.
6653
6654         * docs/gst/gstreamer-sections.txt: Doc updates.
6655
6656         * gst/gstutils.h:
6657         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
6658         (g_static_rec_cond_wait): Ported from state changes patch, while
6659         we wait on bug #317802 to be solved in a well-distributed GLib.
6660
6661         * gst/gstelement.c (gst_element_change_state_func): Renamed from
6662         gst_element_change_state, variable name changes.
6663         (gst_element_change_state): Split out of gst_element_set_state in
6664         preparation for the state change merge. Doesn't pay attention to
6665         the 'transition' argument.
6666         (gst_element_set_state): Updates, hopefully purely cosmetic.
6667         (gst_element_sync_state_with_parent): MT-safety. Ported from the
6668         state change patch.
6669         (gst_element_get_state_func): Renamed from get_state, cosmetic
6670         changes.
6671
6672 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6673
6674         * gst/elements/gstelements.c:
6675         * win32/GStreamer.vcproj:
6676         * win32/config.h:
6677         * win32/dirent.c: (_tseekdir):
6678         * win32/gst-inspect.vcproj:
6679         * win32/gst-launch.vcproj:
6680         * win32/gstconfig.h:
6681         * win32/gstelements.vcproj:
6682         * win32/gstenumtypes.c: (gst_object_flags_get_type):
6683         * win32/gstreamer.def:
6684         * win32/msvc71.sln:
6685           updates for the win32 build (patch from Sebastien Moutte)
6686
6687 2005-10-10  Andy Wingo  <wingo@pobox.com>
6688
6689         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
6690         gst_bin_get_state, cleaned up (but no logic changes).
6691         (bin_element_is_sink): Comment updates.
6692         (sink_iterator_filter): Remove needless cast.
6693         (gst_bin_iterate_sinks): Doc update.
6694         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
6695         cleaned up (but no logic changes).
6696
6697         * check/states/sinks.c (test_src_sink): Cleanups from the state
6698         change patch.
6699         (test_livesrc_sink): Sync on the state.
6700
6701         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
6702         the state change patch.
6703
6704         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
6705         change patch.
6706
6707         * check/gst/gstbin.c: Merge in some style fixes and additional
6708         checks from Wim's state change patch.
6709
6710 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6711
6712         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6713         (gst_type_find_helper):
6714           Check whether we have the requested data already in our list of
6715           cached buffers before pulling a new buffer; also make the buffer
6716           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
6717
6718 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6719
6720         * gst/gstcaps.c:
6721         * gst/gstevent.c:
6722           doc updates
6723         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6724           don't use long long, it's not portable.  Replacing with
6725           gint64 seems to work; let's hope no skeletons fall out of the closet.
6726
6727 2005-10-10  Andy Wingo  <wingo@pobox.com>
6728
6729         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
6730
6731 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
6732
6733         * docs/gst/gstreamer-sections.txt:
6734         * gst/gstevent.c:
6735         * gst/gstevent.h:
6736         * gst/gstinfo.c:
6737         * gst/gstinfo.h:
6738         * gst/gstmessage.c: (gst_message_parse_state_changed):
6739         * gst/gstpad.c:
6740         * gst/gstpad.h:
6741           more docs, fix compilation
6742
6743 2005-10-09  Philippe Khalaf <burger@speedy.org>
6744         * gst/gstmessage.c:
6745           Fixed a few forgotten variables on previous commit
6746
6747 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6748
6749         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6750           Fix evil typefind crasher: getrange() might return a short
6751           buffer at the end of a file, but gst_type_find_peek() must
6752           either return the full data as requested or NULL, but
6753           never a short buffer.
6754
6755 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6756
6757         * gst/gstmessage.c: (gst_message_new_state_changed),
6758         (gst_message_parse_state_changed):
6759         * gst/gstmessage.h:
6760           don't use "new", it's a C++ keyword
6761
6762 2005-10-08  Wim Taymans  <wim@fluendo.com>
6763
6764         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
6765         * gst/gstelement.c: (gst_element_post_message):
6766         * gst/gstpipeline.c: (gst_pipeline_change_state):
6767         Small docs and debug updates.
6768
6769 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6770
6771         * docs/gst/gstreamer-sections.txt:
6772         * gst/gstelementfactory.c:
6773         * gst/gstevent.c:
6774         * gst/gsttaglist.c:
6775           more docs
6776
6777 2005-10-08  Wim Taymans  <wim@fluendo.com>
6778
6779         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
6780         (gst_bin_dispose), (bin_bus_handler):
6781         Fix typos, add comments.
6782         Clear EOS list when going to PAUSED from any direction and do it
6783         in a threadsafe way.
6784         Get base time in a threadsafe way too.
6785         Fix confusing debug in the change_state function.
6786         Various other small cleanups.
6787         
6788         * gst/gstelement.c: (gst_element_post_message):
6789         Fix very verbose bus posting code.
6790
6791         * gst/gstpipeline.c: (gst_pipeline_class_init),
6792         (gst_pipeline_set_property), (gst_pipeline_get_property),
6793         (gst_pipeline_change_state):
6794         Small ARG_ -> PROP_ cleanup
6795
6796 2005-10-08  Wim Taymans  <wim@fluendo.com>
6797
6798         * gst/gstbin.c: (is_eos), (bin_bus_handler):
6799         Do a less CPU demanding EOS check because we can.
6800
6801 2005-10-08  Wim Taymans  <wim@fluendo.com>
6802
6803         * libs/gst/dataprotocol/dataprotocol.c:
6804         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6805         (gst_dp_packet_from_event):
6806         * libs/gst/dataprotocol/dataprotocol.h:
6807         * libs/gst/dataprotocol/dp-private.h:
6808         It's about time we bump the version number.
6809         Since event types don't fit in the guint8 anymore describing
6810         the payload type, make payload type 16 bits wide.
6811
6812 2005-10-08  Wim Taymans  <wim@fluendo.com>
6813
6814         * docs/design/part-TODO.txt:
6815         * docs/design/part-clocks.txt:
6816         * docs/design/part-events.txt:
6817         * docs/design/part-gstbin.txt:
6818         * docs/design/part-gstelement.txt:
6819         * docs/design/part-gstpipeline.txt:
6820         * docs/design/part-live-source.txt:
6821         * docs/design/part-messages.txt:
6822         * docs/design/part-overview.txt:
6823         * docs/design/part-states.txt:
6824         Many doc updates.
6825
6826 2005-10-08  Wim Taymans  <wim@fluendo.com>
6827
6828         * gst/gstevent.c:
6829         * gst/gstevent.h:
6830         Fix event quark registration.
6831         Add some space between events so we can insert them in the
6832         right groups.
6833
6834 2005-10-08  Wim Taymans  <wim@fluendo.com>
6835
6836         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6837         (gst_base_sink_handle_buffer):
6838         Better log message.
6839
6840         * gst/gstbus.h:
6841         * gst/gstelement.h:
6842         More docs.
6843
6844         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6845         (gst_queue_set_property), (gst_queue_get_property):
6846         * gst/gstqueue.h:
6847         Remove old unused properties.
6848
6849 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6850         * docs/gst/gstreamer-sections.txt:
6851         * gst/gstmessage.c:
6852         * gst/gstmessage.h:
6853         * gst/gstminiobject.c:
6854         * gst/gstminiobject.h:
6855         * gst/gstobject.h:
6856         * gst/gstpad.h:
6857         * gst/gstutils.h:
6858           lots of new docs and doc fixes
6859
6860 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6861
6862         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6863         * gst/gstplugin.h:
6864         * gst/gstregistry.c: (gst_registry_lookup_locked),
6865         (gst_registry_scan_path_level):
6866         * gst/gstregistryxml.c: (load_plugin):
6867           Only ever load one plugin for a given plugin basename.
6868           This ensures correct overriding of GST_PLUGIN_PATH over
6869           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6870           system installed plugins.
6871
6872 2005-10-08  Wim Taymans  <wim@fluendo.com>
6873
6874         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6875         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6876         Prepare for doing QOS.
6877
6878 2005-10-08  Wim Taymans  <wim@fluendo.com>
6879
6880         * check/gst/gstbin.c: (GST_START_TEST):
6881         * check/pipelines/cleanup.c: (GST_START_TEST):
6882         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6883         Allow new clock message too.
6884
6885 2005-10-08  Wim Taymans  <wim@fluendo.com>
6886
6887         * gst/gstmessage.c: (gst_message_new_error),
6888         (gst_message_new_warning), (gst_message_new_tag),
6889         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6890         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6891         (gst_message_new_segment_start), (gst_message_new_segment_done),
6892         (gst_message_parse_state_changed),
6893         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6894         (gst_message_parse_new_clock):
6895         * gst/gstmessage.h:
6896         Also carry the clock in question.
6897
6898 2005-10-08  Wim Taymans  <wim@fluendo.com>
6899
6900         * gst/gstmessage.c: (gst_message_new_custom),
6901         (gst_message_new_eos), (gst_message_new_error),
6902         (gst_message_new_warning), (gst_message_new_tag),
6903         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6904         (gst_message_new_new_clock), (gst_message_new_segment_start),
6905         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6906         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6907         * gst/gstmessage.h:
6908         Clean up.
6909         Added clock related messages.
6910
6911         * gst/gstpipeline.c: (gst_pipeline_change_state):
6912         Post message when the clock changed.
6913
6914         * tools/gst-launch.c: (event_loop):
6915         Print new clock.
6916
6917 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6918
6919         * tools/gst-inspect.c: (print_element_properties_info):
6920           Can't pass NULL strings to g_print() on windows.
6921
6922 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6923
6924         * docs/Makefile.am:
6925         * docs/gst/Makefile.am:
6926         * docs/gst/gstreamer-docs.sgml:
6927         * docs/gst/running.xml:
6928         * docs/version.entities.in:
6929           add a chapter on running GStreamer.
6930           document GST_DEBUG and GST_PLUGIN* env vars
6931
6932 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6933
6934         * Makefile.am:
6935           remove include dir
6936         * configure.ac:
6937           remove PLUGINS_BUILDDIR stuff
6938         * gst/gst.c: (init_post):
6939           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6940         * idiottest.mak:
6941           remove, it was condescending and not needed
6942
6943 2005-10-08  Wim Taymans  <wim@fluendo.com>
6944
6945         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6946         (gst_base_sink_handle_object), (gst_base_sink_event),
6947         (gst_base_sink_wait), (gst_base_sink_handle_event),
6948         (gst_base_sink_change_state):
6949         * gst/base/gstbasesink.h:
6950         Repost EOS message while going to PLAYING if still EOS.
6951         Make sure that when receiving a FLUSH_START we don't attempt
6952         to sync on the clock anymore.
6953
6954 2005-10-08  Wim Taymans  <wim@fluendo.com>
6955
6956         * tools/gst-launch.c: (event_loop):
6957         Better message printout.
6958
6959 2005-10-08  Wim Taymans  <wim@fluendo.com>
6960
6961         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6962         (gst_bin_child_proxy_get_children_count):
6963         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6964         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6965         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6966         (gst_child_proxy_set_valist):
6967         * gst/parse/grammar.y:
6968         Make ChildProxy threadsafe and fix mem leaks.
6969
6970 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6971
6972         * gst/gst.c: (init_post):
6973           debug the GST_PLUGIN_ env vars
6974
6975 2005-10-08  Wim Taymans  <wim@fluendo.com>
6976
6977         * check/gst/gstbin.c: (GST_START_TEST):
6978         * check/gst/gstmessage.c: (GST_START_TEST):
6979         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6980         * gst/gstelement.c: (gst_element_commit_state),
6981         (gst_element_lost_state):
6982         * gst/gstmessage.c: (gst_message_new_state_changed),
6983         (gst_message_parse_state_changed):
6984         * gst/gstmessage.h:
6985         * tools/gst-launch.c: (event_loop):
6986         Added extra field to STATE_CHANGE message with the pending
6987         state, which will be different from the new state soon.
6988
6989 2005-10-08  Wim Taymans  <wim@fluendo.com>
6990
6991         * gst/gstbus.c: (gst_bus_pop):
6992         * gst/gstclock.c:
6993         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6994         Small cleanups and doc updates.
6995
6996 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6997
6998         * gst/gst.c: (init_pre):
6999         * gst/gstbin.c: (gst_bin_add_func):
7000           log distributing clocks and base time
7001         * gst/gstregistry.c: (gst_registry_add_plugin),
7002         (gst_registry_scan_path_level), (gst_registry_scan_path):
7003           clean up the debugging output a little
7004         * gst/gstutils.c: (gst_element_state_get_name):
7005           warn about a memleak (I've actually seen this be used, though
7006           it was probably a bug)
7007
7008 2005-10-07  Wim Taymans  <wim@fluendo.com>
7009
7010         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7011         (gst_base_src_init), (gst_base_src_default_newsegment),
7012         (gst_base_src_newsegment), (gst_base_src_do_seek),
7013         (gst_base_src_loop), (gst_base_src_start):
7014         * gst/base/gstbasesrc.h:
7015         Make the newsegment event customizable by subclasses.
7016
7017 2005-10-07  Wim Taymans  <wim@fluendo.com>
7018
7019         * gst/gstevent.c: (gst_event_new_buffersize),
7020         (gst_event_parse_buffersize):
7021         * gst/gstevent.h:
7022         New event for future idea.
7023
7024 2005-10-07  Andy Wingo  <wingo@pobox.com>
7025
7026         * gst/gstelement.c (gst_element_post_message): Doc update.
7027
7028         * docs/gst/gstreamer-sections.txt: Update.
7029
7030         * gst/gstmessage.c (gst_message_new_application): Made into a
7031         function like honest API calls.
7032         (gst_message_new_element): New message type.
7033
7034         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
7035
7036         * check/elements/fakesrc.c (test_no_preroll): New check, checks
7037         that setting a live fakesrc to PAUSED returns NO_PREROLL both
7038         times.
7039
7040         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
7041         NO_PREROLL from gst_element_change_state to fall through.
7042
7043 2005-10-07  Wim Taymans  <wim@fluendo.com>
7044
7045         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
7046         (gst_ghost_pad_do_activate_push):
7047         Activating a ghostpad with no internal pad in push mode
7048         is ok.
7049
7050 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7051
7052         * gst/gstobject.h:
7053           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
7054           Fixes compilation on Windows.
7055
7056 2005-10-07  Michael Smith <msmith@fluendo.com>
7057
7058         * tools/gst-inspect.c:
7059           Print out feature and plugin count at the end when printing out
7060           all features.
7061
7062 2005-10-04  Michael Smith <msmith@fluendo.com>
7063
7064         * gst/gsterror.c: (_gst_stream_errors_init):
7065           Add another error string used in a few existing plugins.
7066
7067         * gst/gstplugin.c:
7068         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7069         * tools/gst-inspect.c: (print_element_info):
7070           When a feature disappears from a plugin (and the feature exists in
7071           the cached registry file), things went horribly wrong. This isn't a
7072           complete fix, we should actually be removing the 'missing' features
7073           from the features list when we load the actual plugin. That's not
7074           yet implemented. 
7075
7076 2005-10-04  Johan Dahlin  <johan@gnome.org>
7077
7078         * check/gst/gstiterator.c: (GST_START_TEST):
7079         * gst/gstbin.c: (gst_bin_iterate_elements),
7080         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
7081         * gst/gstelement.c: (gst_element_iterate_pads):
7082         * gst/gstformat.c: (gst_format_iterate_definitions):
7083         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
7084         (gst_iterator_new_list), (gst_iterator_filter):
7085         * gst/gstiterator.h:
7086         * gst/gstquery.c: (gst_query_type_iterate_definitions):
7087         Add a GType to GstIterator, update callsites and tests.
7088
7089 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7090
7091         * gst/gstpad.c: (gst_pad_event_default_dispatch):
7092           give events a chance to be handled by event probes when the pad
7093           is not linked
7094
7095 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7096
7097         * gst/gstevent.c: (gst_event_type_get_name),
7098         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
7099         * gst/gstevent.h:
7100           add string representations for event types
7101
7102 2005-10-06  Wim Taymans  <wim@fluendo.com>
7103
7104         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
7105         Don't use NULL pointers.
7106
7107 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7108
7109         * gst/gst_private.h:
7110         * gst/gstbus.c:
7111         * gst/gstelement.c:
7112         * gst/gstinfo.c:
7113         * gst/gstpluginfeature.c:
7114           widen the debug category in output to fit the biggest one we have
7115           add a bus category and use it
7116           play with the colors
7117           fix up some categories
7118
7119 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7120
7121         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
7122           add push activation of sink ghost pads.
7123           Andye, please verify
7124
7125 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7126
7127         * gst/gstutils.c: (gst_element_link_pads):
7128           fix a bug in the case where neither element has a pad
7129         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7130           add a test for that case
7131
7132 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7133
7134         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
7135           emit have-data before checking for peers.  This allows
7136           for probe handlers to connect elements.  This helps autopluggers.
7137         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
7138         (gst_pad_suite):
7139           add six checks, linked/unlinked with no/true/false probe
7140
7141 2005-10-04  Wim Taymans  <wim@fluendo.com>
7142
7143         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
7144         (gst_fake_sink_event), (gst_fake_sink_preroll),
7145         (gst_fake_sink_render), (gst_fake_sink_change_state):
7146         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
7147         (gst_fake_src_get_property), (gst_fake_src_create),
7148         (gst_fake_src_stop):
7149         * gst/elements/gstidentity.c: (gst_identity_stop):
7150         Protect last_message with lock.
7151
7152 2005-10-04  Edward Hervey  <edward@fluendo.com>
7153
7154         * gst/gstformat.h: 
7155         Added precision in the comments for GST_FORMAT_DEFAULT
7156
7157 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
7158
7159         * tools/gst-launch.c: (main):
7160           Don't try to run erroneous pipelines.
7161
7162 2005-10-04  Julien MOUTTE  <julien@moutte.net>
7163
7164         * gst/gstbus.c: We don't need this header.
7165
7166 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7167
7168         * configure.ac:
7169           back to development
7170
7171 === release 0.9.3 ===
7172
7173 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7174
7175         * README:
7176         * configure.ac:
7177           Releasing 0.9.3, "Unregistered"
7178
7179 2005-10-03  Andy Wingo  <wingo@pobox.com>
7180
7181         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
7182         whereby calling a pad's activatepush() function can start a thread
7183         that starts to push or pull before the pad gets the FLUSHING flag
7184         unset. Hack around it by holding the stream lock until the flag is
7185         set. Need to replace this with a proper solution. Together with
7186         the ghost pad fixes, this fixes mp3 playing/tagreading.
7187
7188         * docs/design/part-gstghostpad.txt: Add a note about activation of
7189         proxy pads outside of ghost pads.
7190
7191         * gst/gstghostpad.c: Implement the ghost pad activation design.
7192
7193 2005-10-02  Andy Wingo  <wingo@pobox.com>
7194
7195         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
7196         It is volatile, after all.
7197
7198         * docs/design/part-gstghostpad.txt: Flesh out activation with
7199         ghost pads.
7200
7201         * gst/base/gstbasesrc.c (gst_base_src_init): Use
7202         GST_DEBUG_FUNCPTR.
7203
7204 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7205
7206         * configure.ac:
7207           Fix (unused) AM_CONDITIONAL tests.
7208
7209 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
7210
7211         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7212
7213         * gst/gstutils.c: (gst_pad_query_convert):
7214           Add assertion that makes sure src_val is >=0, just like
7215           gst_query_new_convert() has. (#315895)
7216
7217 2005-09-30  Edward Hervey  <edward@fluendo.com>
7218
7219         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
7220         Let's not iterate pads we're not interested in, it avoids getting 
7221         sky-high refcounts on sinkpad.
7222
7223 2005-09-30  Wim Taymans  <wim@fluendo.com>
7224
7225         * gst/gstelement.c: (gst_element_set_state),
7226         (gst_element_change_state):
7227         Small tweak, element in ASYNC remains ASYNC.
7228
7229 2005-09-30  Wim Taymans  <wim@fluendo.com>
7230
7231         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7232         Only error is an error.
7233
7234         * gst/gstbin.c: (gst_bin_change_state):
7235         Better debugging.
7236
7237         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
7238         Also call pad_block in pad alloc.
7239
7240         * gst/gstutils.c: (gst_flow_get_name):
7241         Better debugging.
7242
7243 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7244
7245         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7246         (gst_base_src_get_range):
7247           Fix documentation typos. Add some more debug info.
7248
7249 2005-09-29  David Schleef  <ds@schleef.org>
7250
7251         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
7252           more end-user friendly.
7253         * tools/gst-inspect.c: (main): Check if command-line argument is
7254           a file and attempt to load that file as a plugin.
7255
7256 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7257
7258         * check/gst/gstbin.c:
7259         * check/states/sinks.c:
7260           fix tests for the new warning
7261         * check/gst/gstpipeline.c:
7262           add a test for pipeline and bus interaction
7263         * gst/gstelement.c:
7264           elements should be NULL if they get disposed; add a warning if not
7265
7266 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7267
7268         * gst/gstobject.c:
7269           for 2.6 refcounting, make debug log more correct by printing
7270           the actual refcounts at the time of swap (Wim)
7271
7272 2005-09-29  Andy Wingo  <wingo@pobox.com>
7273
7274         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
7275         removes signal watches previously added via
7276         gst_bus_add_signal_watch.
7277         (gst_bus_add_signal_watch): Don't return the source id, just store
7278         it on the bus if there wasn't an id already.
7279
7280         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
7281         add_signal_watch and remove_signal_watch.
7282
7283 2005-09-29  Edward Hervey  <edward@fluendo.com>
7284
7285         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
7286         Better if we actually iterate the list :)
7287
7288 2005-09-29  Wim Taymans  <wim@fluendo.com>
7289
7290         * check/gst/gstbin.c: (GST_START_TEST):
7291         Change for new bus API.
7292
7293         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7294         (send_messages), (GST_START_TEST), (gstbus_suite):
7295         Change for new bus signal API.
7296
7297         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
7298         (gst_bus_source_prepare), (gst_bus_source_check),
7299         (gst_bus_create_watch), (gst_bus_add_watch_full),
7300         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
7301         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
7302         * gst/gstbus.h:
7303         Remove support for multiple GSources operating on different
7304         message types as it is too complex and unneeded when using
7305         signals.
7306         Added support for receiving signals from the bus.
7307
7308 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7309
7310         * docs/libs/tmpl/gstdataprotocol.sgml:
7311         * docs/manual/advanced-dataaccess.xml:
7312         * gst/elements/gstcapsfilter.c:
7313         * gst/gstutils.c:
7314           rename filter-caps to caps property
7315
7316 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7317
7318         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7319           More robust fraction string parsing.
7320
7321         * docs/pwg/appendix-porting.xml:
7322           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
7323
7324 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7325
7326         * gst/gstcaps.c: (gst_caps_do_simplify):
7327           Thou shalt not free a structure and then continue using it
7328           in the next loop iteration.
7329
7330         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
7331         (gst_caps_suite):
7332           Add test case for caps simplification.
7333
7334 2005-09-29  Wim Taymans  <wim@fluendo.com>
7335
7336         * check/gst/gstbin.c: (GST_START_TEST):
7337         Oops.
7338
7339 2005-09-29  Wim Taymans  <wim@fluendo.com>
7340
7341         * check/gst/gstbin.c: (GST_START_TEST):
7342         Add bus to bin.
7343
7344         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7345         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7346         (find_element), (gst_bin_sort_iterator_next),
7347         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7348         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7349         (gst_bin_change_state), (gst_bin_dispose):
7350         A bin does not have a bus, it gets the bus from the parent.
7351
7352         * gst/gstelement.c: (gst_element_requires_clock),
7353         (gst_element_provides_clock), (gst_element_is_indexable),
7354         (gst_element_is_locked_state), (gst_element_change_state),
7355         (gst_element_set_bus_func):
7356         Small cleanups.
7357
7358         * gst/gstpipeline.c: (gst_pipeline_class_init),
7359         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
7360         The pipeline provides a bus.
7361
7362 2005-09-28  Johan Dahlin  <johan@gnome.org>
7363
7364         * gst/gstmessage.c (gst_message_parse_state_changed): Use
7365         gst_structure_get_enum instead of gst_structure_get_int
7366
7367         * gst/gststructure.c (gst_structure_get_enum): Impl.
7368
7369         * gst/gststructure.h (gst_structure_get_enum): Add
7370
7371         * docs/gst/gstreamer-sections.txt: Ditto
7372
7373         * gst/gstmessage.c (gst_message_new_state_changed): Use
7374         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
7375         which does introspection.
7376         Reviewed by Christian Schaller
7377
7378 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7379
7380         * gst/gstinfo.c: (gst_debug_log_default):
7381           don't do dummy g_strdup()s
7382         * libs/gst/controller/gstcontroller.c:
7383         (on_object_controlled_property_changed),
7384         (gst_controlled_property_new), (gst_controller_new_valist),
7385         (gst_controller_new_list),
7386         (gst_controller_remove_properties_valist), (gst_controller_set),
7387         (gst_controller_get), (gst_controller_sync_values),
7388         (gst_controller_get_value_array), (_gst_controller_class_init),
7389         (gst_controller_get_type):
7390         * libs/gst/controller/gstcontroller.h:
7391         * libs/gst/controller/gstinterpolation.c:
7392         (gst_controlled_property_find_timed_value_node):
7393           convert // to /**/ comments
7394
7395 2005-09-28  Wim Taymans  <wim@fluendo.com>
7396
7397         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
7398         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
7399         (gst_bus_sync_signal_handler):
7400         * gst/gstbus.h:
7401         Added async-message and sync-message signals to the bus.
7402         Added helper BusFunc to emit signals for all posted messages.
7403
7404         * gst/gstmessage.c: (gst_message_type_get_name),
7405         (gst_message_type_to_quark), (gst_message_get_type):
7406         * gst/gstmessage.h:
7407         Register quarks for message names.
7408
7409 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7410
7411         * docs/libs/gstreamer-libs-sections.txt:
7412         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7413         (gst_controller_new_list):
7414         * libs/gst/controller/gstcontroller.h:
7415           added another constructor for language bindings
7416
7417 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7418
7419         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7420           add another check
7421         * gst/gstbus.c:
7422           add some doc
7423         * gst/gstinfo.c: (_gst_debug_init):
7424           slightly more readable color for refcount debugging
7425
7426 2005-09-28  Wim Taymans  <wim@fluendo.com>
7427
7428         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7429         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7430         (find_element), (gst_bin_sort_iterator_next),
7431         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7432         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7433         (gst_bin_change_state), (gst_bin_dispose):
7434         Small doc fixes. get_clock -> provide_clock.
7435
7436         * gst/gstelement.c: (gst_element_class_init),
7437         (gst_element_provides_clock), (gst_element_provide_clock),
7438         (gst_element_get_clock), (gst_element_commit_state),
7439         (gst_element_lost_state):
7440         * gst/gstelement.h:
7441         Make get/set_clock() symetric. Add provide_clock vmethod since
7442         that is actually what this function does.
7443
7444         * gst/gstpipeline.c: (gst_pipeline_class_init),
7445         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
7446         (gst_pipeline_get_clock):
7447         get_clock -> provide_clock.
7448
7449 2005-09-28  Andy Wingo  <wingo@pobox.com>
7450
7451         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
7452         lieu of real docs...
7453
7454         * gst/elements/gstfdsrc.c: Cleaned up a bit.
7455
7456 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
7457
7458         * gst/elements/gstcapsfilter.c:
7459         * gst/elements/gstfakesink.c:
7460         * gst/elements/gstfakesrc.c:
7461         * gst/elements/gstfdsink.c:
7462         * gst/elements/gstfdsrc.c:
7463         * gst/elements/gstfilesink.c:
7464         * gst/elements/gstfilesrc.c:
7465         * gst/elements/gstidentity.c:
7466         * gst/elements/gsttee.c:
7467         * gst/elements/gsttypefindelement.c:
7468           Make element details static.
7469
7470 2005-09-28  Wim Taymans  <wim@fluendo.com>
7471
7472         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7473         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7474         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7475         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7476         (gst_bin_change_state), (gst_bin_dispose):
7477         Some documentation updates.
7478         Clean up dispose handlers.
7479
7480         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
7481         * gst/gstpad.c: (gst_pad_dispose):
7482         Clean up dispose handler.
7483
7484         * gst/gstpipeline.c: (gst_pipeline_change_state):
7485         Removed spurious UNLOCK.
7486
7487 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
7488
7489         * docs/gst/gstreamer-sections.txt:
7490         * gst/base/gstbasesrc.h:
7491         * gst/gstelement.h:
7492         * gst/gstevent.h:
7493         * gst/gstobject.h:
7494         * gst/gstpad.h:
7495         * gst/gstpipeline.c:
7496         * gst/gstpipeline.h:
7497         * gst/gstutils.h:
7498         * gst/gstxml.h:
7499           added two new functions to the docs
7500                 documents all undocumented GstXXXFlags
7501                 completed some incomplete docs 
7502
7503 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7504
7505         * gst/gstbin.c: (gst_bin_dispose):
7506         * gst/gstelement.c: (gst_element_dispose):
7507           remove now useless and leaky resurrection code in dispose
7508         * gst/base/gstbasesrc.c: (gst_base_src_init):
7509         * gst/gstelementfactory.c: (gst_element_factory_create):
7510         * gst/gstobject.c: (gst_object_set_parent):
7511           add some debugging
7512
7513 2005-09-27  Wim Taymans  <wim@fluendo.com>
7514
7515         * docs/design/part-TODO.txt:
7516         Update TODO.
7517
7518         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7519         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7520         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7521         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7522         (gst_bin_change_state):
7523         * gst/gstelement.h:
7524         Remove element variable, we keep element info in the iterator now.
7525
7526 2005-09-27  Andy Wingo  <wingo@pobox.com>
7527
7528         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
7529         values.
7530
7531 2005-09-27  Wim Taymans  <wim@fluendo.com>
7532
7533         * check/gst/gstbin.c: (GST_START_TEST):
7534         Enable check that works now.
7535
7536         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7537         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7538         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7539         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7540         (gst_bin_change_state):
7541         * gst/gstbin.h:
7542         Redid the state change algorithm using a topological sort algo.
7543         Handles all cases correctly.
7544         Exposed iterator for state change order.
7545
7546         * gst/gstelement.h:
7547         Temp storage for state changes. Need to get rid of this soon.
7548
7549 2005-09-27  Wim Taymans  <wim@fluendo.com>
7550
7551         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
7552         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
7553         (link_fold_func), (gst_pad_proxy_setcaps):
7554         Leak fixes, the fold functions need to unref the passed object and
7555         _get_parent_*() returns ref to parent.
7556
7557 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7558
7559         * check/gst/gstbuffer.c: (test_make_writable):
7560           Plug leak in test case and fix 'make check-valgrind'
7561
7562 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7563
7564         * gst/gstbuffer.c: (gst_subbuffer_init):
7565           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
7566           works correctly in all circumstances (we could have just copied
7567           the parent buffer's readonly flag, but conceptually it seems
7568           cleaner to mark all subbuffers as read-only). (based on patch
7569           by Alessandro Decina, #314710).
7570         
7571         * check/gst/gstbuffer.c: (create_read_only_buffer),
7572         (test_make_writable), (test_subbuffer_make_writable),
7573         (gst_test_suite):
7574           Add some tests for gst_buffer_make_writable().
7575
7576 2005-09-27  Wim Taymans  <wim@fluendo.com>
7577
7578         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
7579         use gst_object_has_ancestor().
7580
7581         * gst/gstobject.c: (gst_object_has_ancestor):
7582         * gst/gstobject.h:
7583         gst_object_has_ancestor() copied from gstbin.c as it is a
7584         usefull function.
7585
7586         * tests/instantiate/create.c: (create_all_elements):
7587         * tests/lat.c: (handoff_src), (handoff_sink):
7588         * tests/sched/runxml.c: (main):
7589         * tests/seeking/seeking1.c: (main):
7590         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7591         (main):
7592         Fix compilation of some tests.
7593
7594 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7595
7596         * gst/gsterror.h:
7597           Remove comment. GST_TYPE_G_ERROR is here to stay,
7598           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
7599           (#316961, #300610).
7600
7601 2005-09-26  Wim Taymans  <wim@fluendo.com>
7602
7603         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7604         Added check that shows error in state change order.
7605
7606 2005-09-26  Wim Taymans  <wim@fluendo.com>
7607
7608         * gst/gstbin.c: (gst_bin_change_state):
7609         Make state change function use 3 queues again, we were
7610         adding elements in the wrong order.
7611
7612         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7613         Some debug info,
7614
7615         * gst/gstpad.c: (gst_pad_dispose):
7616         Added some debug info first.
7617
7618 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
7619
7620         * docs/design/draft-push-pull.txt:
7621         * docs/design/part-events.txt:
7622         * docs/design/part-overview.txt:
7623         * docs/design/part-scheduling.txt:
7624           Replace all _pull_region() with _pull_range()
7625           
7626 2005-09-26  Andy Wingo  <wingo@pobox.com>
7627
7628         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
7629
7630         * check/gst-libs/controller.c: Update for controller api change.
7631
7632         * configure.ac: 
7633         * tests/Makefile.am:
7634         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
7635         over by GLib bug 118439.
7636         
7637         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
7638         routines to a function.
7639
7640         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
7641
7642         * libs/gst/controller/gsthelper.c:
7643         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
7644         (gst_object_sync_values): Renamed from sink_values. Ugh.
7645
7646         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
7647
7648         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
7649         Renamed from controller_key, as it is exported.
7650
7651         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
7652
7653 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7654
7655         * gst/Makefile.am:
7656         * gst/gst.h:
7657         * gst/gstpad.h:
7658         * gst/gstpadtemplate.h:
7659         * gst/gstquery.c:
7660         * gst/gstquery.h:
7661         * gst/gstqueryutils.c:
7662         * gst/gstqueryutils.h:
7663           remove queryutils headers after moving the two used functions
7664           to gstquery.  also fixes build problem for gstsiddec
7665
7666 2005-09-26  Michael Smith <msmith@fluendo.com>
7667
7668         * tools/gst-launch.1.in:
7669         Correct documentation in manpage of debug syntax
7670
7671 2005-09-26  Wim Taymans  <wim@fluendo.com>
7672
7673         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7674         (gst_base_src_is_seekable), (gst_base_src_change_state):
7675         Some more debugging info.
7676
7677 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7678
7679         * docs/gst/gstreamer-sections.txt:
7680         * gst/base/gstbasetransform.h:
7681         * gst/gstindex.h:
7682           added more docs
7683
7684 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7685
7686         * docs/gst/.cvsignore:
7687         * docs/gst/tmpl/.cvsignore:
7688         * docs/gst/tmpl/gstpipeline.sgml:
7689         * docs/gst/tmpl/gstplugin.sgml:
7690         * gst/gstpipeline.c:
7691         * gst/gstplugin.c:
7692         * gst/gstplugin.h:
7693           inlined the last two docs files
7694           removed the tmpl directory from cvs (no more conflicts here!)
7695
7696 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7697
7698         * docs/gst/gstreamer-sections.txt:
7699         * docs/gst/tmpl/.cvsignore:
7700         * docs/gst/tmpl/gstpad.sgml:
7701         * docs/gst/tmpl/gstpadtemplate.sgml:
7702         * gst/Makefile.am:
7703         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7704         (gst_pad_finalize), (gst_pad_set_pad_template):
7705         * gst/gstpad.h:
7706         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
7707         (gst_pad_template_class_init), (gst_pad_template_init),
7708         (gst_pad_template_dispose), (name_is_valid),
7709         (gst_static_pad_template_get), (gst_pad_template_new),
7710         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
7711         (gst_pad_template_pad_created):
7712         * gst/gstpadtemplate.h:
7713           inlined two more docs
7714           factored gstpadtemplate out of gstpad
7715
7716 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
7717
7718         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7719         (test_children_state_change_order_semi_sink):
7720           Fix test case: we can't rely on a fixed state change order when
7721           going from READY => PAUSED because the sink might commit its 
7722           new state first when the first buffer created by the source 
7723           reaches the sink before the source has finished its change state.
7724           (Test case still fails at times, see #316856, comment 5 onwards)
7725
7726 2005-09-24  Wim Taymans  <wim@fluendo.com>
7727
7728         * docs/design/part-events.txt:
7729         * docs/design/part-gstbus.txt:
7730         * docs/design/part-gstpipeline.txt:
7731         * docs/design/part-messages.txt:
7732         * docs/design/part-overview.txt:
7733         * docs/design/part-segments.txt:
7734         * gst/gstbin.c:
7735         * gst/gstbuffer.c:
7736         * gst/gstclock.c:
7737         * gst/gstelement.c:
7738         * gst/gstevent.c:
7739         * gst/gstfilter.c:
7740         * gst/gstiterator.c:
7741         Various documentation updates.
7742
7743 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7744
7745         * gst/gstclock.h:
7746           Well, that's embarassing.  Luckily we weren't using
7747           GST_CLOCK_DIFF anywhere.
7748
7749 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7750
7751         * common/gtk-doc.mak:
7752           don't fail on building XML, FC4 slave shows a bunch of doc
7753           missing bits that I don't get
7754         * gst/gstpad.c:
7755         * gst/gstpipeline.c:
7756         * gst/gststructure.c:
7757           some doc updates
7758
7759 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7760
7761         * docs/design/part-gstbin.txt:
7762         * docs/design/part-gstbus.txt:
7763         * gst/gstbus.c:
7764           Add blurb about how the bus goes into flushing mode and
7765           drops all messages when its bin goes from READY into NULL 
7766           state.
7767
7768 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7769
7770         * docs/gst/gstreamer-sections.txt:
7771         * gst/gststructure.c: (gst_structure_get_clock_time):
7772         * gst/gststructure.h:
7773           add a method to get a GstClockTime out of a structure
7774
7775 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7776
7777         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7778         (test_children_state_change_order_semi_sink), (gst_bin_suite):
7779           Added test to check state change order in bins (can still be made
7780           to fail here under heavy disk load; bails out with 'Push on pad
7781           fakesink:sink0, but it was not activated in push mode').
7782
7783         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
7784           Fix state change order when there is only a semi sink (#316856)
7785
7786         * gst/gstbus.c: (gst_bus_class_init):
7787           Use _class_peek_parent(), not _class_ref(); fix docs to say
7788           'default main context' instead of 'mainloop' where that is
7789           what's meant.
7790
7791         * gst/gstelement.c: (gst_element_commit_state),
7792         (gst_element_set_state):
7793           Fix typos in debug messages
7794
7795 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7796
7797         * docs/README:
7798         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
7799         * gst/gstpluginfeature.c:
7800         * gst/gstutils.c:
7801           various doc updates
7802         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7803           change an assert into an error until it gets fixed properly
7804
7805 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
7806
7807         * docs/gst/gstreamer-sections.txt:
7808         * docs/gst/tmpl/.cvsignore:
7809         * docs/gst/tmpl/gstelement.sgml:
7810         * docs/gst/tmpl/gstinfo.sgml:
7811         * docs/gst/tmpl/gstobject.sgml:
7812         * gst/gstelement.c:
7813         * gst/gstelement.h:
7814         * gst/gstinfo.c:
7815         * gst/gstinfo.h:
7816         * gst/gstobject.c: (gst_object_class_init):
7817         * gst/gstobject.h:
7818           inlined 3 more biiiig doc files and added some missing docs on the fly
7819
7820 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7821
7822         * check/gst/.cvsignore:
7823         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
7824         * gst/gstregistryxml.c: (load_plugin),
7825         (gst_registry_xml_save_plugin):
7826           put back source in registry.  add checks for find_plugin.
7827         * testsuite/states/bin.c: (assert_state), (empty_bin),
7828         (test_adding_one_element), (main):
7829         * testsuite/states/locked.c: (main):
7830           some compile/run fixes
7831
7832 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7833
7834         * check/gst/gstvalue.c: (GST_START_TEST):
7835           fix leaks in the test itself
7836
7837 2005-09-22  Wim Taymans  <wim@fluendo.com>
7838
7839         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7840         (gst_base_sink_send_event), (gst_base_sink_peer_query),
7841         (gst_base_sink_query):
7842         Prepare for more accurate position reporting and query
7843         handling.
7844
7845         * gst/gstelement.c: (gst_element_send_event),
7846         (gst_element_set_state):
7847         Add some comment.
7848
7849 2005-09-22  Wim Taymans  <wim@fluendo.com>
7850
7851         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7852         (gst_query_parse_segment):
7853         * gst/gstquery.h:
7854         More documentation.
7855         Add segment query for future use.
7856
7857 2005-09-22  Wim Taymans  <wim@fluendo.com>
7858
7859         * gst/gstbin.c: (gst_bin_add_func):
7860         Some more debug info.
7861
7862         * gst/gstelement.c: (gst_element_send_event):
7863         Simplify send_event
7864
7865         * gst/gstelement.h:
7866         Don't know how flags got broken.
7867
7868         * gst/gstquery.h:
7869         Added new query.
7870
7871 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7872
7873         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7874           Add simplistic test suite for GST_TYPE_DATE serialisation and
7875           deserialisation.
7876
7877 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7878
7879         * docs/gst/gstreamer-sections.txt:
7880         * gst/gststructure.c: (gst_structure_set_valist),
7881         (gst_structure_get_date):
7882         * gst/gststructure.h:
7883         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7884         (gst_date_copy), (gst_value_compare_date),
7885         (gst_value_serialize_date), (gst_value_deserialize_date),
7886         (gst_value_transform_date_string),
7887         (gst_value_transform_string_date), (_gst_value_initialize):
7888         * gst/gstvalue.h:
7889           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7890           bunch of utility functions along with a hack that checks that
7891           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7892           is required. Part of the grand scheme in #170777.
7893
7894 2005-09-22  Andy Wingo  <wingo@pobox.com>
7895
7896         * gst/gstconfig.h.in: Psych out gtk-doc.
7897
7898         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7899
7900         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7901
7902         * tools/gst-inspect.c (print_element_list): Plug some
7903         inconsequential leaks.
7904
7905         * gst/gstregistry.c (gst_registry_get_default): Doc.
7906
7907         * check/gst/gstplugin.c: 
7908         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7909         * gst/gstelementfactory.c (gst_element_factory_create): 
7910         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7911         refcount changes.
7912
7913         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7914         (gst_plugin_feature_load): Doc, don't eat refs.
7915
7916         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7917         (gst_plugin_list_free): Doc.
7918         (gst_plugin_load_file): Doc updates.
7919
7920         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7921         accessors returning refcounted objects, return a ref.
7922
7923         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7924         accessor for caps. IDEMPOTENCE. Oh yes.
7925
7926 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7927
7928         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7929
7930         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7931         (_gst_debug_register_funcptr):
7932           Add mutex to serialise access to the hash table with
7933           the function pointer => function name string mapping;
7934           make that hash table static scope (#316809).
7935
7936         * gst/registries/.cvsignore:
7937           Remove left-over file.
7938
7939 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7940
7941         * docs/pwg/appendix-porting.xml:
7942           And something about newsegment events and caps-on-buffers to
7943           the porting guide (feel free to improve).
7944
7945 2005-09-21  Andy Wingo  <wingo@pobox.com>
7946
7947         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7948         data and event probes on the same pad.
7949         (test_buffer_probe_once): Test that removing probes from within
7950         the probe functions works.
7951
7952 2005-09-21  Andy Wingo  <wingo@pobox.com>
7953
7954         * check/gst/gstutils.c: New file.
7955         (test_buffer_probe_n_times): A simple buffer probe test. More to
7956         come, foolios.
7957
7958         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7959         have-data::buffer, not have-data.
7960         (gst_pad_add_event_probe): Likewise for have-data::event.
7961         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7962         peer' isn't quite right yet though.
7963         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7964         (gst_pad_remove_data_probe): Change to take the guint handler_id
7965         as their arg, not the function+data, which is more glib-like.
7966
7967         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7968         the signal emission to indicate if the data is a buffer or an
7969         event.
7970         (gst_pad_get_type): Initialize buffer and event quarks.
7971         (gst_pad_class_init): have-data is now a detailed signal, yes it
7972         is.
7973
7974 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7975
7976         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7977         * gst/gstutils.c: (gst_util_set_value_from_string),
7978         (gst_util_set_object_arg):
7979           Don't put functional code in g_return_if_fail() or
7980           g_return_val_if_fail() statements, otherwise things will 
7981           break when G_DISABLE_CHECKS is defined during compilation.
7982
7983 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7984
7985         * docs/gst/tmpl/.cvsignore:
7986         * docs/gst/tmpl/gstvalue.sgml:
7987         * gst/gstvalue.c:
7988         * gst/gstvalue.h:
7989           inlied another one and added  some obvious docs
7990
7991 2005-09-21  Wim Taymans  <wim@fluendo.com>
7992
7993         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7994         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7995         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7996         (gst_fdsrc_get_property), (gst_fdsrc_create):
7997         * gst/elements/gstfdsrc.h:
7998         Properly implement fdsrc. Removed signal and timeout,
7999         better implemented somewhere else.
8000
8001 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8002
8003         * docs/gst/tmpl/.cvsignore:
8004         * docs/gst/tmpl/gstimplementsinterface.sgml:
8005         * gst/gstinterface.c:
8006           inlined more docs
8007
8008 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8009
8010         * docs/gst/gstreamer-sections.txt:
8011         * docs/gst/tmpl/.cvsignore:
8012         * docs/gst/tmpl/gstenumtypes.sgml:
8013           remove obsolete doc file
8014
8015 2005-09-21  David Schleef  <ds@schleef.org>
8016
8017         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
8018         little beer, fix a little leak.
8019
8020 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8021
8022         * docs/gst/gstreamer-docs.sgml:
8023         * docs/gst/gstreamer-sections.txt:
8024         * docs/gst/tmpl/.cvsignore:
8025         * gst/Makefile.am:
8026         * gst/gst.h:
8027         * gst/gstbin.c:
8028         * gst/gstelement.h:
8029         * gst/gstindex.c: (gst_index_class_init):
8030         * gst/gstindex.h:
8031         * gst/gstindexfactory.c: (gst_index_factory_get_type),
8032         (gst_index_factory_class_init), (gst_index_factory_init),
8033         (gst_index_factory_finalize), (gst_index_factory_new),
8034         (gst_index_factory_destroy), (gst_index_factory_find),
8035         (gst_index_factory_create), (gst_index_factory_make):
8036         * gst/gstindexfactory.h:
8037         * gst/gstpluginfeature.c:
8038         * gst/gstpluginfeature.h:
8039         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8040           more docs inlined, splitted gstindex.{c,h}
8041
8042 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8043
8044         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8045           fix a leak
8046
8047 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
8048
8049         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8050           Set sync to FALSE by default.
8051
8052 2005-09-20  Wim Taymans  <wim@fluendo.com>
8053
8054         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8055         (gst_base_sink_init):
8056         Make sync property settable from subclass.
8057
8058         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8059         (gst_fake_sink_change_state):
8060         Set sync to FALSE by default.
8061
8062 2005-09-20  Wim Taymans  <wim@fluendo.com>
8063
8064         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
8065         * tools/gst-launch.c: (main):
8066         The timeout handler should have lower priority than the source
8067         so we don't timeout before popping a message with 0 timeout.
8068         Dump error messages after failed state change.
8069
8070 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
8071
8072         * tools/gst-inspect.c: (print_element_properties_info):
8073           Fix two typos.
8074
8075 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8076
8077         * check/gst/gstevent.c:
8078         * gst/elements/gstfakesink.c:
8079         * gst/elements/gstfakesink.h:
8080           remove the sync property from fakesink.
8081           has the side effect of setting sync TRUE
8082           for fakesink, which is a change.  Anyone who knows how
8083           to fix this nicely in a GObject-y way, feel free.
8084
8085 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8086
8087         * docs/gst/gstreamer-docs.sgml:
8088           remove probe refsection
8089
8090 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8091
8092         * check/Makefile.am:
8093           disable valgrinding the controller test again
8094         * docs/gst/gstreamer-sections.txt:
8095           update for api-changes
8096
8097 2005-09-20  Wim Taymans  <wim@fluendo.com>
8098
8099         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8100         (gst_base_sink_set_property), (gst_base_sink_get_property),
8101         (gst_base_sink_do_sync):
8102         * gst/base/gstbasesink.h:
8103         Added sync property to basesink to disable clock sync.
8104
8105 2005-09-20  Andy Wingo  <wingo@pobox.com>
8106
8107         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
8108         eating the caller's refcount.
8109
8110         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
8111         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
8112         refcount.
8113
8114         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
8115         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
8116         of GLib 2.8 public, so we can know which refcount to check in
8117         tests.
8118
8119         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
8120         (gst_object_init): Only set the gst refcount if we're going ahead
8121         with the refcount hack.
8122
8123 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8124
8125         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8126         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8127           more leaks plumbed, added more debug-logging
8128         * gst/gstmacros.h:
8129           whitespace fix
8130
8131 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8132
8133         * gst/gstmessage.c:
8134           remove include of gstmemchunk.h
8135
8136 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8137
8138         * gst/gstclock.c: (_gst_clock_id_free):
8139           Commit from the Political Party For More Atomic CVS Commits,
8140           so that people don't waste too much of their day fishing
8141           out obvious leaks out of massive commits.
8142           Oh, and fix a pretty damn obvious leak in the memchunk
8143           removal code.
8144
8145 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8146
8147         * check/Makefile.am:
8148         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8149           plug mem-leak, re-add to valgrindable tests
8150
8151 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8152
8153         * gst/gstplugin.h:
8154           unbreak the build for those who have chronic arthritis
8155           and typing "make check" is just too taxing on the hands
8156
8157 2005-09-20  Andy Wingo  <wingo@pobox.com>
8158
8159         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
8160         really want it out, you should fix plugins at the same time.
8161
8162 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
8163
8164         * configure.ac:
8165         * docs/gst/gstreamer-sections.txt:
8166         * gst/gstobject.c:
8167           added missing symbols to api docs
8168           disable ref-count hack if we have glib >= 2.8
8169
8170 2005-09-19  David Schleef  <ds@schleef.org>
8171
8172         * docs/gst/Makefile.am: Ignore a few more internal headers
8173         * docs/gst/gstreamer-docs.sgml: Remove old sections
8174         * docs/gst/gstreamer-sections.txt: Remove old sections
8175         * docs/gst/tmpl/gstobject.sgml: update
8176         * docs/gst/tmpl/gstplugin.sgml: update
8177         * docs/gst/tmpl/gstpluginfeature.sgml: update
8178         * docs/random/ds/0.9-suggested-changes: update.
8179         * gst/Makefile.am: remove memchunk and trashstack, since they're
8180           not used.
8181         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
8182         * gst/gst.h: don't include some headers
8183         * gst/gstchildproxy.c: add gstmarshal.h
8184         * gst/gstclock.c: Don't use memchunks
8185         * gst/gstminiobject.c: Add some docs
8186         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
8187         * gst/gstobject.h: same
8188         * gst/gstplugin.c: include gstmacros.h
8189         * gst/gstplugin.h: don't include gstmacros.h, since it's private
8190         * gst/gstquery.c: don't use memchunks
8191         * gst/gstregistry.c: rename gst_registry_deinit()
8192         * gst/gstregistry.h: same
8193
8194 2005-09-19  David Schleef  <ds@schleef.org>
8195
8196         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
8197         * docs/libs/gstreamer-libs-sections.txt:
8198         * docs/libs/tmpl/gstgetbits.sgml:
8199         * docs/libs/tmpl/gstputbits.sgml:
8200
8201 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
8202
8203         * win32/gstenumtypes.c:
8204         * win32/gstenumtypes.h:
8205           Update.
8206
8207 2005-09-19  Wim Taymans  <wim@fluendo.com>
8208
8209         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
8210         Automatically PAUSE and RESUME a pipeline when a flushing seek
8211         is performed.
8212
8213 2005-09-19  Andy Wingo  <wingo@pobox.com>
8214
8215         * gst/gstregistry.h: Spacing fixen.
8216
8217 2005-09-19  Wim Taymans  <wim@fluendo.com>
8218
8219         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
8220         Handle state change failure more correctly.
8221
8222 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8223
8224         * check/Makefile.am:
8225         * check/pipelines/cleanup.c: (run_pipeline):
8226         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8227         (GST_START_TEST):
8228           enable cleanup again after fixing the leak
8229         * docs/README:
8230           some more info on docs
8231
8232 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8233
8234         * check/Makefile.am:
8235           re-enable tests now that leaks are plugged
8236         * check/gst/gst.c:
8237         * check/gst/gstbin.c:
8238         * check/gst/gstpipeline.c:
8239           add some more tests while fixing leaks
8240         * common/check.mak:
8241           make sure binaries are uptodate when valgrinding/gdbing
8242         * gst/gst.c:
8243         * gst/gstelementfactory.c:
8244           remove a ref too many, and add a FIXME for when we get
8245           round to disposing of classes
8246         * gst/gstplugin.c:
8247           fix the refcounting when loading a plugin from a file and
8248           the code pretends that the pointer is the same even though
8249           of course it can change
8250         * gst/gstpluginfeature.c:
8251           unref plugins marked cached (a bit confusing as a name)
8252           as the docs state should be done
8253           various doc additions to explain refcounting
8254         * gst/gstregistry.c:
8255         * gst/gstregistryxml.c:
8256           debugging
8257
8258 2005-09-19  Wim Taymans  <wim@fluendo.com>
8259
8260         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8261         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8262         (send_messages), (GST_START_TEST), (gstbus_suite):
8263         * check/gst/gstpipeline.c: (GST_START_TEST):
8264         * check/pipelines/cleanup.c: (run_pipeline):
8265         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8266         (GST_START_TEST):
8267         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
8268         (gst_bus_source_check), (gst_bus_source_dispatch),
8269         (gst_bus_create_watch), (gst_bus_add_watch_full),
8270         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
8271         * gst/gstbus.h:
8272         * tools/gst-launch.c: (event_loop):
8273         * tools/gst-md5sum.c: (event_loop):
8274         GstBusHandler -> GstBusFunc, return value has the same meaning as
8275         any other GSource (FALSE == remove source).
8276         _add_watch() and _add_watch_full() now take a MessageType mask to
8277         only handle specific types of messages.
8278         _poll() returns the GstMessage instead of the message type to avoid
8279         race conditions.
8280         _have_pending() takes a MessageType mask now too.
8281         Added testsuite for multiple bus watches.
8282         Fix testsuites and applications for new bus API.
8283
8284 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8285
8286         * check/Makefile.am:
8287           mark a bunch of the tests as to fix until we fix them
8288
8289 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8290
8291         * common/check.mak:
8292           use GST_PLUGIN settings for valgrind tests as well, so we're
8293           valgrinding the correct thing
8294         * gst/gst.c: (init_post):
8295           plug another leak
8296
8297 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8298
8299         * gst/gst.c: (init_post), (gst_deinit):
8300         * gst/gstelementfactory.c: (gst_element_factory_class_init),
8301         (gst_element_factory_finalize), (gst_element_factory_cleanup):
8302         * gst/gstindex.c: (gst_index_factory_class_init),
8303         (gst_index_factory_finalize):
8304         * gst/gstobject.c: (gst_object_dispose):
8305         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
8306         (gst_plugin_load_file), (gst_plugin_desc_free):
8307         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
8308         (gst_plugin_feature_finalize):
8309         * gst/gstregistry.c: (gst_registry_class_init),
8310         (gst_registry_init), (gst_registry_finalize),
8311         (gst_registry_get_default), (gst_registry_deinit):
8312         * gst/gstregistry.h:
8313         * gst/gstregistryxml.c: (load_feature), (load_plugin):
8314           various cleanups and memleak plugging.  make valgrind is happy now.
8315
8316 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8317
8318         * common/check.mak:
8319           add a check-valgrind target
8320
8321 2005-09-18  David Schleef  <ds@schleef.org>
8322
8323         * tools/gst-inspect.c: Revert the GOption code.
8324
8325 2005-09-17  David Schleef  <ds@schleef.org>
8326
8327         * check/Makefile.am: Fix environment variables.
8328         * check/gst/gstplugin.c: Fix for API changes.
8329         * tools/gst-inspect.c: Fix for API changes.
8330         * tools/gst-xmlinspect.c: Fix for API changes.
8331         * gst/gstelementfactory.c:
8332         * gst/gstplugin.c:
8333         * gst/gstplugin.h:
8334         * gst/gstpluginfeature.c:
8335         * gst/gstpluginfeature.h:
8336         * gst/gstregistry.c:
8337         * gst/gstregistry.h:
8338         * gst/gstregistryxml.c:
8339         * gst/gsttypefind.c:
8340         * gst/gsttypefindfactory.c:
8341         * gst/indexers/gstfileindex.c:
8342         * gst/indexers/gstmemindex.c:
8343         * gst/schedulers/Makefile.am:
8344           Change registry to keep track of both plugins and features,
8345           removing the feature tracking from plugins themselves.
8346
8347 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8348
8349         * check/Makefile.am:
8350         * tools/gst-register.1.in:
8351           remove gst-register
8352
8353 2005-09-15  David Schleef  <ds@schleef.org>
8354
8355         * check/gst/gstplugin.c:
8356         * gst/gstelementfactory.c:
8357         * gst/gstplugin.c:
8358         * gst/gstpluginfeature.c:
8359         * gst/gstregistry.c:
8360           Getting tired of debugging.  Disabled all the unreffing of
8361           plugins and features, which fixes the segfaults, but of
8362           course leaks like crazy.  At least playbin works.
8363
8364 2005-09-15  David Schleef  <ds@schleef.org>
8365
8366         * check/gst/gstplugin.c: (register_check_elements),
8367         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
8368         More testing
8369         * gst/elements/gsttypefindelement.c: Fix refcounting.
8370         * gst/gsttypefind.c:
8371         * gst/gsttypefindfactory.c:
8372         * gst/gsttypefindfactory.h:
8373
8374 2005-09-15  David Schleef  <ds@schleef.org>
8375
8376         * gst/gstindex.c: get refcounting correct.
8377         * gst/gstregistry.c: Handle the case where a feature/plugin is
8378           not found.
8379
8380 2005-09-15  David Schleef  <ds@schleef.org>
8381
8382         * check/Makefile.am:
8383         * check/gst/gstplugin.c: Add test
8384         * gst/gstplugin.c: Fix problems noticed by testsuite
8385         * gst/gstplugin.h:
8386         * gst/gstregistry.c: 
8387         * gst/gstregistry.h:
8388
8389 2005-09-15  David Schleef  <ds@schleef.org>
8390
8391         * gst/gstplugin.c: Implement semi-decent recounting and locking
8392           in plugins and plugin features.
8393         * gst/gstplugin.h:
8394         * gst/gstpluginfeature.c:
8395         * gst/gstpluginfeature.h:
8396         * gst/gstregistry.c:
8397
8398 2005-09-15  Michael Smith <msmith@fluendo.com>
8399
8400         * gst/gstregistry.c: (gst_registry_get_feature_list):
8401           Implement this. Makes oggdemux work; decodebin still broken.
8402
8403 2005-09-14  David Schleef  <ds@schleef.org>
8404
8405         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
8406           #316076)
8407         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
8408         * gst/check/Makefile.am:
8409         * libs/gst/controller/Makefile.am:
8410         * libs/gst/dataprotocol/Makefile.am:
8411
8412 2005-09-14  David Schleef  <ds@schleef.org>
8413
8414         * configure.ac: Remove getbits library.  Nothing uses it, and
8415           it should be in something like liboil if someone did want
8416           to use it.
8417         * libs/gst/Makefile.am:
8418         * libs/gst/getbits/Makefile.am:
8419         * libs/gst/getbits/gbtest.c:
8420         * libs/gst/getbits/getbits.c:
8421         * libs/gst/getbits/getbits.h:
8422         * libs/gst/getbits/gstgetbits_generic.c:
8423         * libs/gst/getbits/gstgetbits_i386.s:
8424         * libs/gst/getbits/gstgetbits_inl.h:
8425
8426 2005-09-14  David Schleef  <ds@schleef.org>
8427
8428         * gst/Makefile.am: Dist glib-compat.h
8429
8430 2005-09-14  David Schleef  <ds@schleef.org>
8431
8432         * configure.ac: Remove gst/registries, since it's no longer used.
8433         * gst/registries/Makefile.am:
8434         * gst/registries/gstlibxmlregistry.c:
8435         * gst/registries/gstlibxmlregistry.h:
8436         * gst/registries/gstxmlregistry.c:
8437         * gst/registries/gstxmlregistry.h:
8438         * gst/registries/registrytest.c:
8439
8440 2005-09-14  David Schleef  <ds@schleef.org>
8441
8442         * gst/glib-compat.h:
8443         * gst/gstregistryxml.c:
8444           Convergence is near.  Seriously.
8445
8446 2005-09-14  David Schleef  <ds@schleef.org>
8447
8448         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8449         * gst/glib-compat.h:
8450           Attempt #4 to appease the buildbots.
8451
8452 2005-09-14  David Schleef  <ds@schleef.org>
8453
8454         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8455           Attempt #3.
8456
8457 2005-09-14  David Schleef  <ds@schleef.org>
8458
8459         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8460         Attempt #2.
8461
8462 2005-09-14  David Schleef  <ds@schleef.org>
8463
8464         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
8465           the new functions.
8466
8467 2005-09-14  David Schleef  <ds@schleef.org>
8468
8469         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8470         * gst/glib-compat.h: Add some functions that are in newer versions
8471           of glib than we care to require.
8472         * gst/gstregistryxml.c: Use them.
8473
8474 2005-09-14  David Schleef  <ds@schleef.org>
8475
8476         * po/POTFILES.in: remove gst-register.c
8477
8478 2005-09-14  David Schleef  <ds@schleef.org>
8479
8480         * docs/gst/gstreamer-docs.sgml:
8481         * docs/gst/gstreamer-sections.txt:
8482         * docs/gst/gstreamer.types:
8483         * docs/gst/tmpl/gstelement.sgml:
8484         * docs/gst/tmpl/gstplugin.sgml:
8485         * docs/gst/tmpl/gstpluginfeature.sgml:
8486           Documentation updates for registry changes.
8487
8488 2005-09-14  David Schleef  <ds@schleef.org>
8489
8490         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
8491           because we don't require glib-2.8.
8492
8493 2005-09-14  David Schleef  <ds@schleef.org>
8494
8495         * gst/gstregistryxml.c: Added.  Essentially moved out of the
8496           registries directory.
8497
8498 2005-09-14  David Schleef  <ds@schleef.org>
8499
8500         * check/Makefile.am:
8501         * check/generic/states.c:
8502         * gst/Makefile.am:
8503         * gst/gst.c:
8504         * gst/gst.h:
8505         * gst/gst_private.h:
8506         * gst/gstelementfactory.c:
8507         * gst/gstindex.c:
8508         * gst/gstinfo.c:
8509         * gst/gstplugin.c:
8510         * gst/gstplugin.h:
8511         * gst/gstpluginfeature.c:
8512         * gst/gstpluginfeature.h:
8513         * gst/gstregistry.c:
8514         * gst/gstregistry.h:
8515         * gst/gstregistrypool.c: remove
8516         * gst/gstregistrypool.h: remove
8517         * gst/gsttypefind.c:
8518         * gst/gsttypefindfactory.c:
8519         * gst/gsturi.c:
8520         * tools/Makefile.am:
8521         * tools/gst-compprep.c:
8522         * tools/gst-inspect.c:
8523         * tools/gst-register.c: remove
8524         * tools/gst-xmlinspect.c:
8525           Registry rewrite.  Changes registry from being a file created
8526           by a tool into a simple cache file created automatically by 
8527           libgstreamer.  Removed gst-register (because it's no longer
8528           needed).  Remove registry pools, because we only have one
8529           registry implementation (XML).  Fix up other subsystems as
8530           necessary.
8531
8532 2005-09-13  Michael Smith <msmith@fluendo.com>
8533
8534         * gst/gstconfig.h.in:
8535           Don't Use windows linking attributes for MinGW. Fixes #316157
8536
8537 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8538
8539         * gst/gstutils.c: (set_state_async_thread_func),
8540         (gst_element_set_state_async):
8541           Apparently people think it's better if this function doesn't
8542           try to set the state to whatever state was asked for on the first
8543           call to this function for any object.  Seriously.
8544
8545 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8546
8547         * check/gst/gstpipeline.c: (GST_START_TEST):
8548         * docs/gst/gstreamer-sections.txt:
8549         * gst/gstutils.c: (set_state_async_thread_func),
8550         (gst_element_set_state_async):
8551         * gst/gstutils.h:
8552           add a "gst_element_set_state_async" method that
8553           sets the state and starts a thread to make sure the state
8554           change completes as best as it can
8555
8556 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8557
8558         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8559           codify design+behaviour in testsuite after discussion
8560
8561 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8562
8563         * docs/gst/tmpl/gstelement.sgml:
8564         * docs/manual/appendix-quotes.xml:
8565           add a quote
8566         * gst/gstelement.c: (gst_element_set_state):
8567           add some debug
8568
8569 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
8570
8571         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8572         (gst_base_transform_prepare_output_buf),
8573         (gst_base_transform_handle_buffer):
8574         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
8575         (gst_capsfilter_prepare_buf):
8576           Remove the requirement for sub-classes to call the parent
8577           implementation of prepare_output_buffer with a wrapper function.
8578           
8579         * gst/gsttaglist.h:
8580         * gst/gsttagsetter.h:
8581           Fix #define wrapper
8582
8583 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
8584
8585         * docs/gst/gstreamer-sections.txt:
8586           more doc cleanups
8587
8588 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8589
8590         * docs/gst/gstreamer-sections.txt:
8591         * docs/gst/tmpl/gstelement.sgml:
8592         * docs/gst/tmpl/gstplugin.sgml:
8593         * gst/gstminiobject.c:
8594         * gst/gstvalue.h:
8595           docs now stop throwing warnings
8596
8597 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8598
8599         * docs/gst/gstreamer-sections.txt:
8600         * docs/gst/gstreamer.types:
8601         * docs/gst/tmpl/gstpad.sgml:
8602         * docs/gst/tmpl/gsttypes.sgml:
8603         * gst/base/gstadapter.h:
8604         * gst/base/gstbasesink.h:
8605         * gst/base/gstbasesrc.h:
8606         * gst/gstbin.h:
8607         * gst/gstbuffer.h:
8608         * gst/gstbus.h:
8609         * gst/gstcaps.h:
8610         * gst/gstclock.h:
8611         * gst/gstelement.h:
8612         * gst/gstevent.h:
8613         * gst/gstmessage.h:
8614         * gst/gstpad.h:
8615         * gst/gststructure.c:
8616         * gst/registries/gstlibxmlregistry.h:
8617           various documentation fixes
8618
8619 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8620
8621         * docs/gst/gstreamer-sections.txt:
8622         * docs/gst/tmpl/gstvalue.sgml:
8623           rearrange gstvalue section
8624         * gst/gstutils.c: (gst_element_state_get_name):
8625           NONE -> VOID
8626         * gst/gstvalue.c: (_gst_value_initialize):
8627         * gst/gstvalue.h:
8628           doc updates
8629
8630 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
8631
8632         * check/gst-libs/controller.c:
8633           Header include fix.
8634         * gst/base/gstbasetransform.c:
8635         (gst_base_transform_default_prepare_buf),
8636         (gst_base_transform_handle_buffer):
8637         * gst/base/gstbasetransform.h:
8638           Some more basetransform changes and fixes to enable sub-classes
8639           that modify buffer metadata only.
8640         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8641         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
8642         (gst_capsfilter_prepare_buf):
8643           If the output pad has fixed allowed caps and input buffers 
8644           don't have any, set the fixed caps on outgoing buffers.
8645
8646 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
8647         * check/elements/identity.c: (GST_START_TEST):
8648           Make the error a little clearer when the test fails because
8649           identity made a copy of the buffer.
8650         * docs/gst/gstreamer-sections.txt:
8651           New symbols in gstbasetransform.h
8652         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8653         (gst_base_transform_init), (gst_base_transform_transform_size),
8654         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8655         (gst_base_transform_default_prepare_buf),
8656         (gst_base_transform_get_unit_size),
8657         (gst_base_transform_buffer_alloc),
8658         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8659         (gst_base_transform_change_state),
8660         (gst_base_transform_set_passthrough),
8661         (gst_base_transform_set_in_place),
8662         (gst_base_transform_is_in_place):
8663         * gst/base/gstbasetransform.h:
8664           Change BaseTransform to separate in_place operate from same_caps
8665           output. in_place implies that the element can perform the transform
8666           on incoming buffers in-place, even if the caps on the output are
8667           different.
8668           Sub-class elements can now implement special buffer allocation
8669           methods for outgoing buffers if they wish to.
8670           Big documentation addition.
8671         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
8672         * gst/elements/gstelements.c:
8673           Changes for basetransform modifications.
8674         * gst/elements/Makefile.am:
8675         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
8676           Compile fix. Extra debug output.
8677
8678 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8679
8680         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
8681         (gst_pad_suite):
8682           add tests for valid pad naming
8683         * gst/check/gstcheck.c: (gst_check_log_message_func),
8684         (gst_check_log_critical_func):
8685           add ASSERT_WARNING
8686           remove printing of code, it is fragile when the code contains
8687           % and the line number is enough info
8688         * gst/check/gstcheck.h:
8689         * gst/gstpad.c: (gst_pad_template_new):
8690           fix memleaks
8691
8692 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8693
8694         * configure.ac:
8695           say what CHECK flags we use
8696         * docs/libs/gstreamer-libs.types:
8697         * libs/gst/controller/Makefile.am:
8698         * libs/gst/controller/gst-controller.c:
8699         * libs/gst/controller/gst-controller.h:
8700         * libs/gst/controller/gst-helper.c:
8701         * libs/gst/controller/gst-interpolation.c:
8702         * libs/gst/controller/gstcontroller.c:
8703         * libs/gst/controller/gsthelper.c:
8704         * libs/gst/controller/gstinterpolation.c:
8705         * tools/gst-inspect.c: (print_plugin_info):
8706           we don't use dashes in header names
8707
8708 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8709
8710         * check/Makefile.am:
8711         * check/gst/.cvsignore:
8712         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
8713         (gst_pipeline_suite), (main):
8714           adding a test for pipelines and state changes
8715         * gst/gstutils.c: (get_state_func):
8716           add some debugging
8717         * gstreamer.spec.in:
8718           fix up spec file
8719
8720 2005-09-08  Michael Smith <msmith@fluendo.com>
8721
8722         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
8723         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
8724         (gst_file_src_is_seekable), (gst_file_src_get_size),
8725         (gst_file_src_start):
8726         * gst/elements/gstfilesrc.h:
8727           Various fixes for unseekable, unmmapable, and non-normal files, so
8728           that fallback to read() rather than mmap() works.
8729         * gst/gstevent.c: (gst_event_new_newsegment):
8730           Allow newsegment events with segment_start == segment_end, as will
8731           correctly happen if you use filesrc on a zero-size file, for
8732           example.
8733
8734 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8735
8736         * gst/gstplugin.c: (gst_plugin_load_file):
8737           Call g_module_close when we don't load the module
8738
8739         * gst/registries/gstlibxmlregistry.c:
8740         (gst_xml_registry_get_property):
8741           Port leak fix from 0.8
8742
8743 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8744
8745         * docs/gst/gstreamer-docs.sgml:
8746         * docs/gst/tmpl/.cvsignore:
8747         * docs/gst/tmpl/gsttrace.sgml:
8748         * docs/gst/tmpl/gsttrashstack.sgml:
8749         * gst/Makefile.am:
8750         * gst/gst.h:
8751         * gst/gstelement.h:
8752         * gst/gstevent.h:
8753         * gst/gstmessage.c:
8754         * gst/gstmessage.h:
8755         * gst/gsttag.c:
8756         * gst/gsttag.h:
8757         * gst/gsttaginterface.c:
8758         * gst/gsttaginterface.h:
8759         * gst/gsttaglist.c:
8760         * gst/gsttaglist.h:
8761         * gst/gsttagsetter.c:
8762         * gst/gsttagsetter.h:
8763         * gst/gsttrace.c:
8764         * gst/gsttrace.h:
8765         * gst/gsttrashstack.c:
8766           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
8767           inlined docs for gsttrace, gsttrashstack
8768
8769 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8770
8771         * gst/Makefile.am:
8772         * gst/elements/gstbufferstore.h:
8773         * gst/elements/gsttypefindelement.c:
8774         * gst/elements/gsttypefindelement.h:
8775         * gst/gst.h:
8776         * gst/gsttypefind.c:
8777         * gst/gsttypefind.h:
8778         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
8779         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
8780         (gst_type_find_factory_dispose),
8781         (gst_type_find_factory_unload_thyself),
8782         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
8783         (gst_type_find_factory_get_caps),
8784         (gst_type_find_factory_get_extensions),
8785         (gst_type_find_factory_call_function):
8786         * gst/gsttypefindfactory.h:
8787         * gst/registries/gstlibxmlregistry.c:
8788         * gst/registries/gstxmlregistry.c:
8789           splitted gsttypefind into gsttypefind, gsttypefindfactory
8790
8791 2005-09-07  Andy Wingo  <wingo@pobox.com>
8792
8793         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
8794         condition whereby the pad's task function is entered before the
8795         pad_mode variable was set.
8796
8797 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8798
8799         * gst/gstpad.c: (gst_pad_alloc_buffer):
8800           Catch misbehaving pad_alloc functions that don't
8801           set up caps and do it for them.
8802
8803 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8804
8805         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8806           test for pipe!=NULL
8807         * docs/gst/tmpl/.cvsignore:
8808         * docs/gst/tmpl/gstmemchunk.sgml:
8809         * docs/gst/tmpl/gstparse.sgml:
8810         * docs/gst/tmpl/gsttaglist.sgml:
8811         * docs/gst/tmpl/gsttagsetter.sgml:
8812         * docs/gst/tmpl/gsttypefind.sgml:
8813         * docs/gst/tmpl/gsttypefindfactory.sgml:
8814         * gst/gstmemchunk.c:
8815         * gst/gstparse.c:
8816         * gst/gsttag.c:
8817         * gst/gsttaginterface.c:
8818         * gst/gsttypefind.c:
8819         * gst/gsttypefind.h:
8820           inlined more docs
8821
8822 === release 0.9.2 ===
8823
8824 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8825
8826         * NEWS:
8827         * RELEASE:
8828         * configure.ac:
8829           releasing 0.9.2, "South"
8830
8831 2005-09-05  Andy Wingo  <wingo@pobox.com>
8832
8833         * gst/registries/gstxmlregistry.h:
8834         * gst/registries/gstxmlregistry.c: Um... resurrect...
8835         
8836         * gst/registries/gstxmlregistry.h:
8837         * gst/registries/gstxmlregistry.c: and update to newer API.
8838         Incidentally they should be a bit faster now that they don't have
8839         to parse the caps.
8840         
8841 2005-09-05  Andy Wingo  <wingo@pobox.com>
8842
8843         * gst/registries/gstxmlregistry.h:
8844         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
8845         replaced by the libxml registry a while back
8846
8847 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8848
8849         * docs/gst/tmpl/gstplugin.sgml:
8850         * gst/elements/gstelements.c:
8851         * gst/gst.c:
8852         * gst/gstplugin.c: (gst_plugin_register_func),
8853         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8854         (gst_plugin_get_source):
8855         * gst/gstplugin.h:
8856         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8857         (gst_xml_registry_save_plugin):
8858         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8859         (gst_xml_registry_save_plugin):
8860         * tools/gst-inspect.c: (print_plugin_info):
8861           add a "source" plugin description field, to represent the source
8862           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8863           will set it to PACKAGE, which is automake's idea of the name of
8864           the source project.
8865
8866 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8867
8868         * Makefile.am:
8869         * autogen.sh:
8870         * configure.ac:
8871         * docs/Makefile.am:
8872         * docs/faq/Makefile.am:
8873         * docs/gst/tmpl/gstelement.sgml:
8874         * docs/gst/tmpl/gsttypes.sgml:
8875         * docs/htmlinstall.mak:
8876         * docs/manual/Makefile.am:
8877         * docs/pwg/Makefile.am:
8878           reorganize doc build a little
8879           split out docbook and gtk-doc stuff
8880           have two separate --enable's and enable them through autogen
8881           but disable by default in configure (to be similar to other
8882           projects)
8883         * gstreamer.spec.in:
8884           clean up docs install
8885         * po/af.po:
8886         * po/az.po:
8887         * po/ca.po:
8888         * po/cs.po:
8889         * po/de.po:
8890         * po/en_GB.po:
8891         * po/fr.po:
8892         * po/it.po:
8893         * po/nb.po:
8894         * po/nl.po:
8895         * po/ru.po:
8896         * po/sq.po:
8897         * po/sr.po:
8898         * po/sv.po:
8899         * po/tr.po:
8900         * po/uk.po:
8901         * po/vi.po:
8902           translation updates
8903
8904 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8905
8906         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8907           Add comment.
8908           
8909         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8910         (gst_fake_sink_change_state):
8911           Make state change function thread-safe.
8912           
8913         * gst/gstpad.c: (gst_pad_alloc_buffer):
8914           Set offset on generic buffer allocated by fallback.
8915
8916 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8917
8918         * docs/gst/gstreamer-sections.txt:
8919         * docs/gst/tmpl/gstelement.sgml:
8920         * gst/gstpad.c:
8921         * libs/gst/controller/gst-controller.c:
8922         (gst_controlled_property_set_interpolation_mode),
8923         (gst_controlled_property_new),
8924         (gst_controller_find_controlled_property):
8925          run the wingo-magic script against the docs
8926
8927 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8928
8929         * docs/gst/gstreamer-docs.sgml:
8930         * docs/gst/gstreamer-sections.txt:
8931         * docs/gst/tmpl/.cvsignore:
8932         * docs/gst/tmpl/gstelementdetails.sgml:
8933         * docs/gst/tmpl/gstelementfactory.sgml:
8934         * gst/gst.c:
8935         * gst/gstbus.c:
8936         * gst/gstelementfactory.c:
8937         * gst/gstelementfactory.h:
8938           merged elementdetails docs into elementfactory docs
8939           inlined both
8940
8941 2005-09-02  Andy Wingo  <wingo@pobox.com>
8942
8943         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8944         consider this enum an enum and not a flags.
8945
8946 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8947
8948         * docs/gst/gstreamer-docs.sgml:
8949         * docs/gst/tmpl/.cvsignore:
8950         * docs/gst/tmpl/gstghostpad.sgml:
8951         * docs/gst/tmpl/gstiterator.sgml:
8952         * docs/gst/tmpl/gstmacros.sgml:
8953         * docs/gst/tmpl/gstrealpad.sgml:
8954         * docs/gst/tmpl/gstregistry.sgml:
8955         * docs/gst/tmpl/gstregistrypool.sgml:
8956         * docs/gst/tmpl/gststructure.sgml:
8957         * docs/gst/tmpl/gstsystemclock.sgml:
8958         * docs/gst/tmpl/gsttrace.sgml:
8959         * gst/gstghostpad.c:
8960         * gst/gstmacros.h:
8961         * gst/gstmemchunk.c:
8962         * gst/gstmemchunk.h:
8963         * gst/gstqueue.c:
8964         * gst/gstregistry.c:
8965         * gst/gstregistrypool.c:
8966         * gst/gststructure.c:
8967         * gst/gstsystemclock.c:
8968           more docs inlined
8969
8970 2005-09-02  Andy Wingo  <wingo@pobox.com>
8971
8972         * gst/gstelement.h (GstState): Renamed from GstElementState,
8973         changed to be a normal enum instead of flags.
8974         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8975         munged to be GST_STATE_CHANGE_*.
8976         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8977         work with the new state representation.
8978         (GstStateChange): New enumeration of possible state transitions.
8979         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8980         (GstElementClass::change_state): Pass the GstStateChange along as
8981         an argument. Helps language bindings, so they don't have to use
8982         tricky lock-needing macros like GST_STATE_CHANGE ().
8983
8984         * scripts/update-states (file): New script. Run it on a file to
8985         update it for state naming and API changes. Updates files in
8986         place.
8987
8988         * All files updated for the new API.
8989
8990 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8991
8992         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8993         * gst/gstutils.c: (gst_util_set_value_from_string),
8994         (gst_util_set_object_arg):
8995           fix a bunch of unchecked return values
8996         * tools/gst-complete.c: (main):
8997         * gstreamer.spec.in:
8998           clean up a little
8999
9000 2005-09-01  Wim Taymans  <wim@fluendo.com>
9001
9002         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9003         (gst_base_sink_event), (gst_base_sink_do_sync),
9004         (gst_base_sink_handle_event):
9005         * gst/base/gstbasesink.h:
9006         Handle newsegments more correctly.
9007
9008         * gst/gstbus.c:
9009         Fix docs.
9010
9011         * gst/gstevent.c: (gst_event_new_newsegment):
9012         A newsegment cannot have a start_time of -1
9013
9014 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
9015
9016         * win32/gstenumtypes.c:
9017         * win32/gstenumtypes.h:
9018           Update
9019
9020 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9021
9022         * libs/gst/controller/gst-controller.c:
9023         (gst_controlled_property_set_interpolation_mode),
9024         (gst_controlled_property_new):
9025          fixed boolean again
9026
9027 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
9028
9029         * docs/faq/gst-uninstalled:
9030           add -good
9031         * gst/gstevent.c:
9032         * gst/gstevent.h:
9033           remove wrong docs
9034         * gst/gstutils.c: (gst_element_link_filtered):
9035         * gst/gstutils.h:
9036           add gst_element_link_filtered
9037
9038 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9039
9040         * docs/gst/gstreamer-docs.sgml:
9041         * docs/gst/gstreamer-sections.txt:
9042         * docs/gst/tmpl/.cvsignore:
9043         * docs/gst/tmpl/gsterror.sgml:
9044         * docs/gst/tmpl/gstfilter.sgml:
9045         * docs/gst/tmpl/gsturihandler.sgml:
9046         * docs/gst/tmpl/gsturitype.sgml:
9047         * docs/gst/tmpl/gstutils.sgml:
9048         * docs/gst/tmpl/gstxml.sgml:
9049         * gst/gsterror.c:
9050         * gst/gsterror.h:
9051         * gst/gstfilter.c:
9052         * gst/gsturi.c:
9053         * gst/gsturitype.c:
9054         * gst/gstutils.c:
9055         * gst/gstxml.c:
9056           inlined more docs, fixed double id-ref
9057
9058 2005-08-31  Wim Taymans  <wim@fluendo.com>
9059
9060         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9061         (gst_base_transform_handle_buffer):
9062         Passthrough elements don't need the caps as they don't care.
9063
9064 2005-08-31  Wim Taymans  <wim@fluendo.com>
9065
9066         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9067         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
9068         Don't leak refcounts on buffers.
9069
9070 2005-08-31  Wim Taymans  <wim@fluendo.com>
9071
9072         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
9073         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
9074         (gst_base_transform_chain), (gst_base_transform_change_state):
9075         * gst/base/gstbasetransform.h:
9076         Handle the case where we are not negotiated more gracefully.
9077
9078 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
9079
9080         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
9081         (gst_file_src_map_region):
9082           Set READONLY flag on mmap'ed buffers, otherwise
9083           gst_buffer_make_writable() won't work properly (#314708).
9084
9085 2005-08-31  Wim Taymans  <wim@fluendo.com>
9086
9087         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
9088         passthrough elements can even do inplace on non writable
9089         buffers (as they don't touch them).
9090
9091 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9092
9093         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9094         (gst_test_mono_source_set_property),
9095         (gst_test_mono_source_class_init), (GST_START_TEST),
9096         (gst_controller_suite):
9097           more tests (hehe I have the most)
9098         * gst/gstbus.c:
9099           describe popping messages whenusing mulltiple sources
9100         * libs/gst/controller/gst-controller.c:
9101         (gst_controlled_property_set_interpolation_mode),
9102         (gst_controlled_property_new):
9103         * libs/gst/controller/gst-controller.h:
9104         * libs/gst/controller/gst-interpolation.c:
9105           implement boolean properties
9106
9107 2005-08-31  Wim Taymans  <wim@fluendo.com>
9108
9109         * gst/gstminiobject.c: (gst_mini_object_ref):
9110         Cannot assert that the refcount has to be positive
9111         since a disposed object can be resurrected.
9112
9113 2005-08-31  Wim Taymans  <wim@fluendo.com>
9114
9115         * gst/gstpad.c: (gst_pad_init):
9116         Revert change, need to first fix badly behaving 
9117         apps.
9118
9119 2005-08-30  Wim Taymans  <wim@fluendo.com>
9120
9121         * check/elements/fakesrc.c: (setup_fakesrc):
9122         * check/elements/identity.c: (setup_identity):
9123         Activate pads before using them.
9124
9125 2005-08-30  Wim Taymans  <wim@fluendo.com>
9126
9127         * gst/base/gstadapter.c: (gst_adapter_flush):
9128         Flushing out 0 bytes is ok for this function.
9129
9130         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9131         no newsegment gives a warning and sets the start/stop to 
9132         invalid.
9133
9134         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
9135         (gst_base_transform_set_passthrough):
9136         Some debug info.
9137
9138         * gst/gstminiobject.c: (gst_mini_object_ref):
9139         Check refcount here too.
9140
9141         * gst/gstpad.c: (gst_pad_init):
9142         Pads are initially flushing and refusing data.
9143
9144         * gst/gstutils.c: (gst_element_link_pads_filtered):
9145         When adding a capsfilter element make sure it has the
9146         same state as the parent bin.
9147
9148 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9149
9150         * docs/gst/tmpl/.cvsignore:
9151         * docs/gst/tmpl/gstformat.sgml:
9152         * docs/gst/tmpl/gstversion.sgml:
9153         * gst/gstbus.h:
9154         * gst/gstformat.c:
9155         * gst/gstformat.h:
9156         * gst/gstversion.h.in:
9157           more docs and two more inlined
9158
9159 2005-08-30  Wim Taymans  <wim@fluendo.com>
9160
9161         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
9162         Don't sync to clock.
9163
9164 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9165
9166         * docs/gst/gstreamer-sections.txt:
9167           ultral33t func10ns deserve to appear in the docs actually
9168         * docs/gst/tmpl/.cvsignore:
9169         * docs/gst/tmpl/gstcompat.sgml:
9170         * docs/gst/tmpl/gstconfig.sgml:
9171         * gst/check/gstcheck.c:
9172         * gst/gstcompat.h:
9173         * gst/gstconfig.h.in:
9174           inlined more docs
9175
9176 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9177
9178         * docs/gst/tmpl/.cvsignore:
9179         * docs/gst/tmpl/gstquery.sgml:
9180         * docs/gst/tmpl/gstutils.sgml:
9181         * gst/gstquery.c:
9182         * gst/gstquery.h:
9183           inlined and extended docs
9184
9185 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9186
9187         * check/gst-libs/controller.c: (GST_START_TEST),
9188         (gst_controller_suite):
9189           more tests
9190         * docs/gst/tmpl/gstutils.sgml:
9191         * docs/libs/gstreamer-libs-sections.txt:
9192         * docs/libs/tmpl/gstdataprotocol.sgml:
9193           include path fixes
9194         * examples/controller/audio-example.c: (main):
9195           controller example works now
9196         * gst/gstclock.h:
9197           doc fixes
9198         * tools/gst-inspect.c: (print_element_properties_info):
9199           show param spec flags
9200
9201 2005-08-29  Andy Wingo  <wingo@pobox.com>
9202
9203         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
9204
9205 2005-08-28  Andy Wingo  <wingo@pobox.com>
9206
9207         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
9208         as having two arguments instead of just one. Allows superclasses
9209         to access information on subclasses -- see the terrible for() loop
9210         in gtype.c:g_type_create_instance for the reason why. All callers
9211         changed.
9212
9213 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9214
9215         * docs/design/part-messages.txt:
9216           update info
9217         * docs/gst/tmpl/.cvsignore:
9218         * docs/gst/tmpl/gstcaps.sgml:
9219         * docs/gst/tmpl/gstclock.sgml:
9220         * gst/gstbus.c:
9221         * gst/gstcaps.c:
9222         * gst/gstcaps.h:
9223         * gst/gstclock.c:
9224         * gst/gstclock.h:
9225         * gst/gstmessage.c:
9226           added descriptions for bus and message
9227           inline caps and clock docs
9228
9229 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9230
9231         * gst/gstmessage.c:
9232         * gst/gstmessage.h:
9233           doc fixes
9234
9235 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9236
9237         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9238           fix div-by-zero
9239
9240 2005-08-26  Andy Wingo  <wingo@pobox.com>
9241
9242         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
9243         element_set_state's return val.
9244         (test_2_elements): Add test that's been disabled for months.
9245
9246         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
9247         can-activate-pull properties.
9248
9249         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
9250         can-activate-pull properties. Implement is_seekable so fakesrc can
9251         operate in pull mode.
9252
9253         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
9254         properties.
9255         (gst_base_sink_activate, gst_base_sink_activate_pull)
9256         (gst_base_sink_activate_push): Make activation mode choosing work.
9257         Cleanups.
9258         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
9259         is right. Make pull mode work. Post an eos before pausing in pull
9260         mode.
9261         (gst_base_sink_change_state): Pay attention to the core's
9262         change_state() return val.
9263         
9264         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
9265         has-getrange properties. Cleanups.
9266         
9267         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
9268         has_getrange and replace with can_activate_pull and
9269         can_activate_push.
9270
9271         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
9272         locking comments. Remove has_loop, has_chain and replace with
9273         can_activate_pull and can_activate_push.
9274
9275 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
9276
9277         * configure.ac:
9278         * examples/Makefile.am:
9279         * examples/metadata/Makefile.am:
9280         * examples/metadata/read-metadata.c: (message_loop),
9281         (have_pad_handler), (make_pipeline), (print_tag), (main):
9282           Add metadata reading example that loops over a list of filenames,
9283           dumping any tags found.
9284
9285         * gst/gstbus.c: (gst_bus_dispose):
9286         * gst/gstelement.c: (gst_element_dispose):
9287           Release a few potentially-held references in dispose.
9288
9289 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9290
9291         * docs/gst/tmpl/gstminiobject.sgml:
9292           do *not* add tmpl/*.sgml files to CVS!
9293
9294 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9295
9296         * libs/gst/bytestream/.cvsignore:
9297         * libs/gst/bytestream/Makefile.am:
9298         * libs/gst/bytestream/adapter.c:
9299         * libs/gst/bytestream/adapter.h:
9300         * libs/gst/bytestream/bytestream.c:
9301         * libs/gst/bytestream/bytestream.h:
9302         * libs/gst/bytestream/filepad.c:
9303         * libs/gst/bytestream/filepad.h:
9304           removing obsolete files
9305
9306 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9307
9308         * docs/gst/gstreamer-docs.sgml:
9309         * docs/libs/gstreamer-libs-docs.sgml:
9310           disabed additional index entries again, as this makes docs-gen just
9311           slow and they aren't useful yet
9312         * docs/libs/gstreamer-libs-sections.txt:
9313           little -section.txt cleanup for libs
9314
9315 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9316
9317         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9318         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
9319           fix up some debugging
9320         (gst_base_transform_get_unit_size),
9321         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9322         (gst_base_transform_handle_buffer):
9323         * gst/base/gstbasetransform.h:
9324           handle and store timed NEWSEGMENT events so that subclasses that
9325           calculate time by counting samples have a segment_start time they
9326           need to add to their timestamps - see audioresample
9327
9328 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9329
9330         * gst/gstbin.h:
9331           removed ';' from the end of macro defs
9332         * docs/gst/gstreamer-docs.sgml:
9333         * docs/gst/gstreamer-sections.txt:
9334         * docs/gst/tmpl/.cvsignore:
9335         * gst/gstbus.h:
9336         * gst/gstelement.c: (gst_element_class_init),
9337         (gst_element_set_state), (activate_pads),
9338         (gst_element_save_thyself):
9339         * gst/gstevent.c: (gst_event_new_newsegment):
9340         * gst/gstevent.h:
9341         * gst/gstiterator.c:
9342         * gst/gstiterator.h:
9343         * gst/gstpad.c:
9344         * gst/gstprobe.h:
9345         * gst/gstutils.c: (gst_pad_query_convert):
9346         * gst/gstutils.h:
9347           fixed parameter name mismatches between source, header and docs
9348           added some more docs, resolved the last batch of unused elements in
9349           docs (now someone needs to doc them)
9350
9351 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9352
9353         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
9354         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
9355           don't walk through the plugins backwards.  Where is all this
9356           reversed logic coming from ?
9357
9358 2005-08-25  Wim Taymans  <wim@fluendo.com>
9359
9360         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9361         (gst_base_transform_transform_size),
9362         (gst_base_transform_configure_caps),
9363         (gst_base_transform_get_unit_size),
9364         (gst_base_transform_buffer_alloc),
9365         (gst_base_transform_change_state):
9366         * gst/base/gstbasetransform.h:
9367         Cache caps unit_size.
9368         Make sure we cannot negotiate up and downstream at the
9369         same time.
9370
9371 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9372
9373         * gst/gst.c: (init_pre), (init_post):
9374           register the installed plugin path after the env var
9375         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
9376         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
9377           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
9378           directories, so the tests can prefer uninstalled over installed
9379
9380 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9381
9382         * gst/base/gstbasetransform.h:
9383           comment
9384         * gst/gstpad.c:
9385           add to docs
9386
9387 2005-08-25  Wim Taymans  <wim@fluendo.com>
9388
9389         * gst/gstbin.c: (bin_bus_handler):
9390         Be a bit more conservative about the posted message.
9391         
9392         * gst/gstbus.c: (gst_bus_post):
9393         Some cleanups, warn wrong return values.
9394
9395 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
9396
9397         * check/gst/gstbin.c: (GST_START_TEST):
9398         * gst/gstbin.c: (bin_bus_handler):
9399         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9400         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9401         (gst_message_new_warning), (gst_message_new_tag),
9402         (gst_message_new_state_changed), (gst_message_new_segment_start),
9403         (gst_message_new_segment_done), (gst_message_new_custom):
9404         * gst/gstmessage.h:
9405         * tools/gst-launch.c: (event_loop):
9406         * tools/gst-md5sum.c: (event_loop):
9407           Revert unpopular change for GST_MESSAGE_SRC to GObject.
9408
9409 2005-08-25  Wim Taymans  <wim@fluendo.com>
9410
9411         * check/generic/states.c: (GST_START_TEST):
9412         Cleanup can be done at the end.
9413
9414         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
9415         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9416         (gst_task_get_state), (gst_task_start), (gst_task_pause):
9417         Oh boy.. Thanks for finding this, Thomas. 
9418
9419 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9420
9421         * docs/gst/gstreamer.types:
9422           added missing types
9423
9424 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9425
9426         * docs/gst/gstreamer-docs.sgml:
9427         * docs/gst/gstreamer-sections.txt:
9428         * docs/gst/tmpl/.cvsignore:
9429         * gst/gstbin.c:
9430         * gst/gstiterator.c:
9431         * gst/gstutils.c:
9432         * gst/registries/gstxmlregistry.h:
9433           added missing classes and symbols (123 more to go)
9434           removed removed symbols from section file
9435           fixed many doc-comments
9436
9437 2005-08-24  Wim Taymans  <wim@fluendo.com>
9438
9439         * check/generic/states.c: (GST_START_TEST):
9440         Make sure all tasks are stopped.
9441
9442         * check/gst/gstbin.c: (GST_START_TEST):
9443         Unref after usage for proper valgrinding.
9444
9445         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
9446         Really wait for the task to stop before destroying the
9447         mutex.
9448
9449         * gst/gstqueue.c: (gst_queue_sink_activate_push),
9450         (gst_queue_src_activate_push):
9451         Small cleanups. Don't stop the task when we did not start
9452         it.
9453
9454         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
9455         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9456         (gst_task_get_state), (gst_task_start), (gst_task_pause),
9457         (gst_task_join):
9458         * gst/gsttask.h:
9459         Protect the stream lock with the object lock.
9460         Disallow setting the stream lock when running.
9461         Add cleanup_all to wait for the threadpool to finish.
9462         Remove code to autoallocate a mutex if none was provided.
9463         Add _join() to wait for a task to stop.
9464         Protect the thread pool with a global lock.
9465
9466 2005-08-24  Wim Taymans  <wim@fluendo.com>
9467
9468         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9469         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9470         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
9471         * gst/base/gstbasesink.h:
9472         Handle newsegment events correctly.
9473         Drop buffers out of the segment range.
9474
9475 2005-08-22  Andy Wingo  <wingo@pobox.com>
9476
9477         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
9478         macro, implements an interface and gstimplementsinterface for a
9479         new type.
9480
9481 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9482
9483         * check/Makefile.am:
9484         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
9485           add a test that does a bunch of state changes on elements
9486           needs some fixing for valgrind
9487         * check/states/sinks.c: (gst_object_suite):
9488           whitespace
9489         * gst/gstcaps.h:
9490           add prototype for gst_caps_is_equal_fixed
9491         * gst/gstplugin.c:
9492         * gst/gstregistrypool.c:
9493           doc fixes
9494
9495 2005-08-24  Andy Wingo  <wingo@pobox.com>
9496
9497         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
9498         convert a negative value. Doesn't make much sense. Mostly this is
9499         here to force callers to ensure -1 maps to -1.
9500
9501 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9502
9503         * docs/pwg/advanced-types.xml:
9504           Well done to Michael for catching my deliberate introduction
9505           of this spelling mistake. 
9506         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
9507         * gst/gstelement.h:
9508           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
9509           unlink pads before removing the element from the bin.
9510
9511 2005-08-24  Andy Wingo  <wingo@pobox.com>
9512
9513         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
9514         the same thing as GST_DEBUG=*:4.
9515         (parse_debug_level, parse_debug_category): New helper parsers.
9516
9517 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9518
9519         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9520         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
9521         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
9522         (gst_base_transform_buffer_alloc),
9523         (gst_base_transform_handle_buffer):
9524           use gboolean return values and pointers to size so we can use the
9525           full GST_BUFFER_SIZE range (guint) for buffer sizes
9526           use GstPadDirection for transform_caps
9527         * gst/base/gstbasetransform.h:
9528           rename get_size to get_unit_size since that's what it is
9529         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
9530           use GstPadDirection for transform_caps
9531         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9532         * gst/gstutils.h:
9533           cleanup and debugging
9534
9535 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9536
9537         * gst/gstelement.c: (gst_element_class_init),
9538         (gst_element_set_state), (activate_pads),
9539         (gst_element_save_thyself):
9540         * tools/gst-compprep.c: (main):
9541         * tools/gst-inspect.c: (print_element_properties_info):
9542         * tools/gst-xmlinspect.c: (print_element_properties):
9543           Fixed long standing mem-leak
9544
9545 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9546
9547         * check/gst/gstbin.c: (GST_START_TEST):
9548         * gst/gstbin.c: (bin_bus_handler):
9549         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9550         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9551         (gst_message_new_warning), (gst_message_new_tag),
9552         (gst_message_new_state_changed), (gst_message_new_segment_start),
9553         (gst_message_new_segment_done), (gst_message_new_custom):
9554         * gst/gstmessage.h:
9555         * tools/gst-launch.c: (event_loop):
9556         * tools/gst-md5sum.c: (event_loop):
9557           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
9558           that applications can sensibly post custom messages with references
9559           to their own objects.
9560
9561 2005-08-24  Andy Wingo  <wingo@pobox.com>
9562
9563         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
9564         already.
9565
9566 2005-08-24  Wim Taymans  <wim@fluendo.com>
9567
9568         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9569         (gst_base_transform_transform_caps),
9570         (gst_base_transform_transform_size),
9571         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9572         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9573         (gst_base_transform_handle_buffer):
9574         * gst/base/gstbasetransform.h:
9575         Many fixes and new features added by Thomas. Can now also do
9576         transforms with variable sizes and a custom fixate_caps function.
9577
9578 2005-08-24  Wim Taymans  <wim@fluendo.com>
9579
9580         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9581         Some debugging.
9582
9583         * gst/gstclock.h:
9584         Cast to ClockTime before formatting to time.
9585
9586         * gst/gstutils.h:
9587         Cleanups.
9588
9589 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9590
9591         * check/gst-libs/controller.c: (GST_START_TEST),
9592         (gst_controller_suite):
9593         * docs/gst/tmpl/gstcaps.sgml:
9594         * docs/gst/tmpl/gstghostpad.sgml:
9595         * docs/gst/tmpl/gstquery.sgml:
9596         * docs/gst/tmpl/gstutils.sgml:
9597         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
9598         (gst_object_sink_values), (gst_object_get_value_arrays),
9599         (gst_object_get_value_array):
9600           gracefully handle helper method calls to objects that are not beeing
9601           controlled, added test case for that          
9602
9603 2005-08-23  Wim Taymans  <wim@fluendo.com>
9604
9605         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
9606         (gst_event_new_newsegment), (gst_event_parse_newsegment),
9607         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
9608         (gst_event_parse_qos), (gst_event_new_seek),
9609         (gst_event_parse_seek):
9610         * gst/gstevent.h:
9611         Some more debugging output and doc cleanups.
9612
9613         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9614         Fix possible deadlock.
9615
9616 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9617
9618         * docs/gst/gstreamer-docs.sgml:
9619         * docs/gst/gstreamer-sections.txt:
9620         * docs/gst/gstreamer.types:
9621         * docs/gst/tmpl/.cvsignore:
9622         * gst/gstbin.h:
9623         * gst/gstbus.c:
9624         * gst/gstelement.c:
9625         * gst/gstevent.h:
9626           added 100 symbols from gstreamer-unused.txt to the right sections
9627           fixed more broken comments
9628           added GstBus to docs
9629
9630 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9631
9632         * docs/gst/gstreamer-sections.txt:
9633         * docs/gst/tmpl/.cvsignore:
9634         * docs/gst/tmpl/gstbin.sgml:
9635         * docs/gst/tmpl/gstbuffer.sgml:
9636         * gst/base/gstbasesrc.c:
9637         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
9638         * gst/gstbuffer.c:
9639         * gst/gstbuffer.h:
9640         * tools/gst-launch.1.in:
9641           inlined more doc comments, added missing comments and fixed comments
9642           fixed typos
9643
9644 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9645
9646         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9647           some debugging
9648         * gst/gstcaps.h:
9649           whitespace fixes
9650         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
9651           more debugging
9652         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
9653         * gst/gststructure.h:
9654           add a fixate function for booleans; add a FIXME that these func
9655           names should probably be gst_structure_fixate_*
9656
9657 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9658
9659         * docs/gst/gstreamer-docs.sgml:
9660         * docs/gst/gstreamer-sections.txt:
9661         * gst/Makefile.am:
9662         * gst/gstbin.c: (gst_bin_get_type),
9663         (gst_bin_child_proxy_get_child_by_index),
9664         (gst_bin_child_proxy_get_children_count),
9665         (gst_bin_child_proxy_init):
9666         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9667         (gst_child_proxy_get_child_by_index),
9668         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
9669         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
9670         (gst_child_proxy_get), (gst_child_proxy_set_property),
9671         (gst_child_proxy_set_valist), (gst_child_proxy_set),
9672         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
9673         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
9674         * gst/gstchildproxy.h:
9675         * gst/parse/grammar.y:
9676         * tools/gst-inspect.c: (print_interfaces),
9677         (print_element_properties_info), (print_element_info):
9678           ported gstchildproxy over from 0.8
9679           ported gst-inspect fixes and enhancements over from 0.8
9680
9681 2005-08-22  Wim Taymans  <wim@fluendo.com>
9682
9683         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9684         (gst_base_transform_handle_buffer):
9685         Also call the transform function if we have ANY caps.
9686
9687         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
9688         Fix debug info.
9689
9690 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9691
9692         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
9693           Don't pretend to handle seek events if the source is not seekable
9694
9695 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9696
9697         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9698           Remove extra parameter to debug output
9699
9700         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9701         (gst_base_src_do_seek), (gst_base_src_activate_push):
9702           Fix seek event handling.
9703
9704         * gst/gstpipeline.c: (gst_pipeline_change_state):
9705         * gst/gstqueue.c: (gst_queue_handle_sink_event),
9706         (gst_queue_src_activate_push):
9707           Don't start the src pad task on FLUSH_STOP if the pad
9708           isn't linked.
9709           Debug changes.
9710
9711 2005-08-22  Wim Taymans  <wim@fluendo.com>
9712
9713         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9714         Added check for gst_static_caps_get() refcounting.
9715
9716 2005-08-22  Wim Taymans  <wim@fluendo.com>
9717
9718         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
9719         Make _static_caps_get() refcounting sane.
9720         
9721         * gst/gstelement.c: (gst_element_set_state):
9722         Add g_return_val_if_fail() to protect against segfaults.
9723
9724 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
9725
9726         * docs/gst/tmpl/gstevent.sgml:
9727         * gst/gstevent.c:
9728         * gst/gstevent.h:
9729           inlined remaining docs, added missing doc comments
9730
9731 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9732
9733         * check/gst/gstbin.c: (GST_START_TEST):
9734           since we don't know when preroll is done, use refcount range
9735           check for the sink
9736         * gst/check/gstcheck.h:
9737           add macro for checking refcount range
9738
9739 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9740
9741         * check/Makefile.am:
9742           clean up environment for when registry gets built versus
9743           when actual tests are run; valgrind seems to not report
9744           leaks if GST_PLUGIN_PATH is set to some specific values
9745         * check/gst/gstbin.c: (GST_START_TEST):
9746           add more refcounting checks; maybe this exposes a
9747           preroll lock bug ?
9748         * common/check.mak:
9749         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9750         * gst/check/gstcheck.h:
9751         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
9752         (gst_bin_change_state):
9753         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
9754           add/fix debugging/whitespace
9755
9756 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9757
9758         * check/gst/gstevent.c: (event_probe), (test_event),
9759         (GST_START_TEST):
9760          Er, don't call gst_bin_watch_for_state_change you idiot.
9761
9762 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9763
9764         * check/Makefile.am:
9765           Use CHECK_CFLAGS and CHECK_LIBS
9766         * check/gst/gstevent.c: (event_probe), (test_event),
9767         (GST_START_TEST):
9768           Don't leak events.
9769         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9770         (gst_base_src_start), (gst_base_src_stop),
9771         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9772         (gst_base_src_change_state):
9773           Sprinkle gst_base_src_stop liberally around error paths to fix
9774           problems reusing a source after failed state changes.
9775         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9776         (helper_find_suggest), (gst_type_find_helper):
9777           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
9778         * gst/gstevent.h:
9779         * docs/gst/tmpl/gstevent.sgml:
9780           Migrate part of the docs from the SGML file. Wait for ensonic to
9781           tell me how I did it wrong ;)
9782         * tools/gst-typefind.c: (main):
9783           Extra robustness to state changes between files.
9784
9785 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9786
9787         * check/Makefile.am:
9788           don't valgrind the controller test - it's leaking - Stefan, HELP
9789         * gst/check/gstcheck.c: (gst_check_message_error),
9790         (gst_check_chain_func), (gst_check_setup_element),
9791         (gst_check_teardown_element), (gst_check_setup_src_pad),
9792         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9793         (gst_check_teardown_sink_pad):
9794         * gst/check/gstcheck.h:
9795           add a bunch of methods to set up elements, and src and sink pads
9796         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
9797         * check/elements/identity.c: (setup_identity), (cleanup_identity),
9798         (GST_START_TEST):
9799           use them
9800         * gst/gstmessage.c:
9801         * gst/gsttag.h:
9802           whitespace/doc fixes
9803
9804 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9805
9806         * gst/gstelement.h:
9807           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
9808           be handled by the application and not always printed as well
9809
9810 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * check/Makefile.am:
9813           set GST_TOOLS_DIR
9814         * gst/check/gstcheck.c: (gst_check_message_error):
9815         * gst/check/gstcheck.h:
9816           add a fail_unless_equals_int
9817           add fail_unless for error messages
9818
9819 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9820
9821         * check/Makefile.am:
9822         * check/gst.supp:
9823         * common/Makefile.am:
9824         * common/check.mak:
9825         * common/gst.supp:
9826           factor out some of the common stuff so we can use it
9827
9828 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9829
9830         * check/Makefile.am:
9831         * check/gst/gstiterator.c: (GST_START_TEST):
9832         * check/gst/gstsystemclock.c: (GST_START_TEST),
9833         (gst_systemclock_suite):
9834         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9835         * gst/gstclock.c:
9836           valgrind more tests
9837
9838 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9839
9840         * check/elements/.cvsignore:
9841         * check/elements/gstfakesrc.c:
9842           rename to name of element
9843         * check/elements/identity.c: (chain_func), (event_func),
9844         (setup_identity), (cleanup_identity), (GST_START_TEST),
9845         (identity_suite), (main):
9846           add a test for identity
9847         * check/Makefile.am:
9848         * pkgconfig/Makefile.am:
9849         * pkgconfig/gstreamer-check.pc.in:
9850         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9851         * gst/check:
9852         * gst/Makefile.am:
9853         * configure.ac:
9854           move the check stuff to a library that gets installed
9855         * check/gst-libs/controller.c: (GST_START_TEST):
9856         * check/gst-libs/gdp.c:
9857         * check/gst/gst.c: (GST_START_TEST):
9858         * check/gst/gstbin.c:
9859         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9860         * check/gst/gstbus.c:
9861         * check/gst/gstcaps.c: (GST_START_TEST):
9862         * check/gst/gstelement.c:
9863         * check/gst/gstghostpad.c:
9864         * check/gst/gstiterator.c:
9865         * check/gst/gstmessage.c:
9866         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9867         * check/gst/gstobject.c:
9868         * check/gst/gstpad.c: (GST_START_TEST):
9869         * check/gst/gststructure.c: (GST_START_TEST):
9870         * check/gst/gstsystemclock.c: (GST_START_TEST),
9871         (gst_systemclock_suite):
9872         * check/gst/gsttag.c: (gst_tag_suite):
9873         * check/gst/gstvalue.c:
9874         * check/pipelines/cleanup.c:
9875         * check/pipelines/simple_launch_lines.c:
9876         * check/states/sinks.c:
9877           change include statement
9878
9879         * docs/gst/gstreamer-sections.txt:
9880         * docs/gst/tmpl/gstpad.sgml:
9881           document more pad stuff
9882         * gst/gstminiobject.c: (gst_mini_object_ref),
9883         (gst_mini_object_unref):
9884           debug refcounting
9885
9886 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9887
9888         * docs/gst/tmpl/gst.sgml:
9889         * gst/gst.c:
9890           eliminate another tmpl file, fix spelling in the long-description
9891
9892 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9893
9894         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9895         (test_event), (timediff), (gstevents_suite):
9896           Should fix build on 64-bit arch's
9897
9898 2005-08-18  Andy Wingo  <wingo@pobox.com>
9899
9900         Make sure that when a pipeline goes to PLAYING, that data has
9901         actually hit the sink.
9902
9903         * check/states/sinks.c (test_sink): A sink that doesn't get any
9904         data shouldn't return SUCCESS for going to either PLAYING or
9905         PAUSED. Test also the return values on the way back down.
9906
9907         * gst/gstelement.c (gst_element_set_state): When changing the
9908         state of an element currently changing state asynchronously, go to
9909         lost-state after commiting the pending state. Makes future calls
9910         to get_state continue to return ASYNC.
9911
9912         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9913         ASYNC when going to PLAYING if we still don't have preroll, as can
9914         happen with live sources.
9915
9916 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9917
9918         * docs/pwg/advanced-types.xml:
9919           Hack long paragraph into 2 chunks as a workaround for buggy
9920           jadetex version in sid and breezy that loops infinitely and
9921           eats all RAM.
9922
9923 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9924
9925         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9926         (test_event), (timediff), (gstevents_suite):
9927           Provide more error margin in clock measurements to allow for 
9928           g_get_current_time inaccuracies.
9929
9930 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9931
9932         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9933         (test_event), (timediff), (gstevents_suite):
9934            Fix error message output so I might be able to tell why the
9935            test works here but fails on the build farm.
9936
9937 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9938
9939         * check/Makefile.am:
9940         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9941         (test_event), (timediff), (gstevents_suite), (main):
9942           I wrote a test!
9943
9944         * docs/design/part-seeking.txt:
9945           Spelling correction
9946
9947         * docs/gst/tmpl/gstevent.sgml:
9948         * docs/gst/tmpl/gstfakesrc.sgml:
9949           Docs updates.
9950
9951         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9952           Treat a buffer-without-newsegment the same as a receiving 
9953           a newsegment not in time format, and disable syncing to the clock
9954           with a warning.
9955
9956         * gst/gstbus.c: (gst_bus_set_sync_handler):
9957           Assert if anyone tries to replace the existing sync_handler for bus, 
9958           as only the owner should be setting it.
9959
9960         * gst/gstevent.h:
9961           Have a fixed set of custom event enums with events identified by
9962           their structure name (as in 0.8), rather than a free-for-all
9963           allowing collisions between enum values from different plugins.
9964
9965         * gst/gstpad.c: (gst_pad_class_init):
9966           Docs change.
9967           
9968         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9969           Handle out-of-band downstream events from the sending thread.
9970
9971 2005-08-17  Andy Wingo  <wingo@pobox.com>
9972
9973         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9974         play-timeout==0 to mean no timeout at all. In that case, don't
9975         bother with a get_state or a warning, just return directly, even
9976         if it's ASYNC.
9977
9978         * gst/base/gstbasetransform.c: Debug changes.
9979
9980         * gst/gstutils.h:
9981         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9982         ensure bins post state change messages. A bit of a hack but I can't
9983         think of a way to avoid it.
9984
9985         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9986
9987 2005-08-16  Andy Wingo  <wingo@pobox.com>
9988
9989         * gst/base/gstadapter.h:
9990         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9991         peek() but you own the data. Not terribly efficient atm.
9992
9993 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9994
9995         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9996         (gst_element_found_tags):
9997         * gst/gstutils.h:
9998           Add two utility functions for tag handling.
9999
10000 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10001
10002         * docs/manual/advanced-dataaccess.xml:
10003         * docs/manual/basics-helloworld.xml:
10004           Fix docs to use _bin_add() before _link(), which fixes the examples
10005           with recent core versions (reported by Madhan Raj M
10006           <raj_madan@rediffmail.com>, #313199).
10007
10008 2005-08-16  Wim Taymans  <wim@fluendo.com>
10009
10010         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10011         Added subtract checks.
10012
10013         * docs/design/part-events.txt:
10014         Some more docs about newsegment
10015
10016         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10017         Fix FIXME
10018
10019         * gst/gstcaps.c: (gst_caps_to_string):
10020         Add comments, cleanups.
10021         
10022         * gst/gstelement.c: (gst_element_save_thyself):
10023         cleanups
10024         
10025         * gst/gstvalue.c: (gst_value_collect_int_range),
10026         (gst_string_unwrap), (gst_value_union_int_int_range),
10027         (gst_value_union_int_range_int_range),
10028         (gst_value_intersect_int_int_range),
10029         (gst_value_intersect_int_range_int_range),
10030         (gst_value_intersect_double_double_range),
10031         (gst_value_intersect_double_range_double_range),
10032         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
10033         (gst_value_subtract_int_range_int),
10034         (gst_value_subtract_double_range_double),
10035         (gst_value_subtract_double_range_double_range),
10036         (gst_value_subtract_from_list), (gst_value_subtract_list),
10037         (gst_value_can_compare), (gst_value_compare_fraction):
10038         Cleanups, add comments, remove unneeded asserts.
10039
10040 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10041
10042         * tools/gst-launch.c: (event_loop):
10043           don't convert NULL structures to strings
10044
10045 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
10046
10047         * docs/gst/gstreamer-sections.txt:
10048           made some defines private
10049         * docs/gst/tmpl/gstconfig.sgml:
10050         * docs/gst/tmpl/gstqueue.sgml:
10051         * docs/gst/tmpl/gsttaglist.sgml:
10052         * docs/gst/tmpl/gsttypes.sgml:
10053         * docs/gst/tmpl/gstutils.sgml:
10054         * docs/pwg/appendix-porting.xml:
10055         * gst/base/gstbasesink.h:
10056         * gst/base/gstbasesrc.c:
10057         * gst/base/gstbasesrc.h:
10058         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
10059         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
10060         * gst/gstelement.c: (gst_element_class_init):
10061         * gst/gstpad.c: (gst_pad_class_init):
10062         * gst/gstqueue.c: (gst_queue_class_init):
10063         * gst/gstxml.c: (gst_xml_class_init):
10064           documented all undocumented signal inline
10065         * libs/gst/controller/gst-controller.h:
10066           added padding
10067
10068 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10069
10070         * docs/pwg/appendix-porting.xml:
10071           Document _set_link_function -> _set_setcaps_function.
10072
10073 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10074
10075         * check/Makefile.am:
10076           add a .check target for running the check
10077         * check/gst-libs/controller.c: (GST_START_TEST):
10078           cosmetic fixups
10079         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10080           complete checks for gstbuffer; would be nice if I could get the
10081           gcov stuff to work so I can see if I actually completed gstbuffer.c
10082         * check/gstcheck.h:
10083           add ASSERT_BUFFER_REFCOUNT
10084
10085 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
10086
10087         * docs/gst/gstreamer-sections.txt:
10088         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10089         * gst/gsttag.h:
10090           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
10091           spew out a warning if a tag that is already registered
10092           is re-registered, unless it is re-registered with a 
10093           different type (#308438).
10094
10095 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
10096
10097         * docs/pwg/appendix-porting.xml:
10098         * docs/pwg/building-state.xml:
10099           Add some paragraphs about state changes in 0.9 to the PWG
10100           and the porting guide, in particular about the new meaning
10101           of GST_STATE_PAUSED and how to write state change functions
10102           with concurrent access by multiple threads in mind.
10103
10104 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
10105
10106         * docs/gst/gstreamer-docs.sgml:
10107         * docs/libs/gstreamer-libs-docs.sgml:
10108           added deprecation and since indexes
10109         * libs/gst/controller/gst-controller.c:
10110         * libs/gst/controller/gst-helper.c:
10111           added since tags
10112
10113
10114 2005-08-11  Wim Taymans  <wim@fluendo.com>
10115
10116         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
10117         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
10118         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
10119         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
10120         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
10121         (gst_ghost_pad_set_target):
10122         Actually implement (re)setting the target on a ghostpad
10123         as described in the docs.
10124
10125 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
10126
10127         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
10128           Check whether GST_DEBUG_NO_COLOR environment variable is
10129           set and disable coloured debug output if that is the case.
10130
10131 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
10132
10133         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10134         (gst_type_find_helper):
10135           The memory returned by gst_type_find_peek() needs to
10136           stay valid until the end of a typefind function, and
10137           typefind functions may keep results from different 
10138           offsets around, so we can't just unref the buffer from
10139           the previous _peek(), but have to save all buffers 
10140           returned by _peek() until typefinding is done and only
10141           free them then.
10142
10143 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
10144
10145         * docs/gst/gstreamer-sections.txt:
10146         * gst/gstutils.h:
10147           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
10148
10149 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10150
10151         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10152           Fix a pretty good memleak.
10153
10154 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10155
10156         * gst/gstiterator.h:
10157           Fix wrong include and 'make distcheck'.
10158
10159 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10160
10161         * gst/gstbin.c: (bin_bus_handler):
10162           Use gst_element_post_message() instead.
10163
10164 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10165
10166         * gst/base/gstadapter.h:
10167         * gst/base/gstbasesink.h:
10168         * gst/base/gstbasesrc.h:
10169         * gst/base/gstbasetransform.h:
10170         * gst/base/gstcollectpads.h:
10171         * gst/base/gstpushsrc.h:
10172         * gst/gstiterator.h:
10173           Add padding to our base elements' class and instance structs and
10174           to GstIterator (you will need to rebuild all plugins and apps!)
10175
10176 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10177
10178         * gst/gstbin.c: (bin_bus_handler):
10179           Make default message forwarding from child->bus to bin->bus
10180           threadsafe and make it not emit warnings if the parent has no bus.
10181
10182 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10183
10184         * gst/gstelement.c: (activate_pads):
10185           On paused->ready, set pad->caps to NULL, as is the documented
10186           behaviour in this state change. Fixes playback of series of
10187           media files when visualization is enabled in Totem.
10188
10189 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10190
10191         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10192           Allow NULL as filter-caps (which means "any").
10193
10194 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10195
10196         * docs/libs/gstreamer-libs-sections.txt:
10197         * libs/gst/controller/gst-controller.c:
10198         * libs/gst/controller/gst-controller.h:
10199         * libs/gst/controller/gst-helper.c:
10200           adding more entries to the docs and fix small doc-bugs
10201
10202 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10203
10204         * docs/gst/gstreamer-docs.sgml:
10205         * docs/gst/gstreamer-sections.txt:
10206         * docs/gst/gstreamer.types:
10207         * docs/gst/tmpl/gstbasesink.sgml:
10208         * docs/gst/tmpl/gstbasesrc.sgml:
10209         * docs/gst/tmpl/gstbasetransform.sgml:
10210         * docs/gst/tmpl/gstfakesrc.sgml:
10211         * gst/base/gstcollectpads.c:
10212         * gst/base/gstcollectpads.h:
10213         * libs/gst/controller/gst-controller.c:
10214         * libs/gst/controller/gst-controller.h:
10215         * libs/gst/controller/gst-helper.c:
10216         * libs/gst/controller/gst-interpolation.c:
10217         * libs/gst/controller/lib.c:
10218           added long/short desc for controller docs
10219           added collectpads base class docs
10220           added correct includes to base-class docs
10221
10222 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10223
10224         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10225         (gst_test_mono_source_set_property),
10226         (gst_test_mono_source_class_init), (GST_START_TEST),
10227         (gst_controller_suite):
10228         * docs/gst/gstreamer-docs.sgml:
10229         * docs/gst/gstreamer-sections.txt:
10230         * docs/gst/gstreamer.types:
10231         * docs/libs/gstreamer-libs-docs.sgml:
10232         * docs/libs/gstreamer-libs-sections.txt:
10233         * gst/base/gstadapter.c:
10234         * libs/gst/controller/gst-controller.c:
10235         (gst_controlled_property_new), (gst_controlled_property_free),
10236         (gst_controller_new_valist),
10237         (gst_controller_remove_properties_valist),
10238         (gst_controller_sink_values), (_gst_controller_finalize):
10239         * libs/gst/controller/gst-controller.h:
10240         * libs/gst/controller/gst-helper.c:
10241         (gst_object_control_properties), (gst_object_uncontrol_properties),
10242         (gst_object_get_controller), (gst_object_set_controller),
10243         (gst_object_sink_values), (gst_object_get_value_arrays),
10244         (gst_object_get_value_array):
10245           more tests (and fixes) for the controller
10246           more docs for the controller
10247           integrated companies docs for the adapter 
10248
10249 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10250
10251         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
10252         (GST_START_TEST), (fakesrc_suite):
10253           add tests for sizetype
10254
10255 2005-08-04  Andy Wingo  <wingo@pobox.com>
10256
10257         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
10258         fixes buffer_alloc proxying among other things.
10259
10260         * gst/base/gstbasetransform.c:
10261         * gst/base/gstbasetransform.h:
10262         Revert patch to gstbasetransform from 7-28 removing
10263         delay_configure.
10264
10265         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
10266         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
10267         Semantics changed, should return not the size of the output buffer
10268         but the byte size of a buffer with a given caps.
10269
10270         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
10271         debug object.
10272         (gst_base_transform_configure_caps): Don't set out_size here: (in,
10273         out) are not the pad caps until setcaps finishes.
10274         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
10275         not-in-place case as well. Deal with changing from in-place to
10276         not-in-place within calling pad_alloc_buffer. Still a bit
10277         concerned about the overhead here...
10278
10279 2005-08-03  Andy Wingo  <wingo@pobox.com>
10280
10281         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
10282         fixating is an error.
10283
10284 2005-08-04  Edward Hervey  <edward@fluendo.com>
10285
10286         * gst/base/gstadapter.h: 
10287         Added gst_adapter_get_type() to the header
10288
10289 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10290
10291         * check/Makefile.am:
10292         * check/gst-libs/controller.c:
10293         * libs/gst/controller/gst-controller.c:
10294         (gst_controller_new_valist):
10295           added check test suite for the controller
10296         * gst/base/gstpushsrc.c:
10297           fixed a doc typo
10298
10299 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10300
10301         * docs/gst/Makefile.am:
10302         * docs/gst/gstreamer-docs.sgml:
10303         * docs/gst/gstreamer-sections.txt:
10304         * docs/gst/gstreamer.types:
10305         * docs/gst/tmpl/gstfakesrc.sgml:
10306         * gst/base/README:
10307         * gst/base/gstbasesink.c:
10308         * gst/base/gstbasesink.h:
10309         * gst/base/gstbasesrc.c:
10310         * gst/base/gstbasesrc.h:
10311         * gst/base/gstbasetransform.c:
10312         * gst/base/gstpushsrc.c:
10313         * gst/base/gstpushsrc.h:
10314           add short/long description docs to base classes
10315           add pushsrc to the docs
10316           remove consolidated doc fragments
10317
10318 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10319
10320         * configure.ac:
10321         * docs/libs/Makefile.am:
10322         * docs/libs/gstreamer-libs-docs.sgml:
10323         * docs/libs/gstreamer-libs-sections.txt:
10324         * docs/libs/gstreamer-libs.types:
10325         * examples/Makefile.am:
10326         * examples/controller/.cvsignore:
10327         * examples/controller/Makefile.am:
10328         * examples/controller/audio-example.c: (main):
10329         * libs/gst/Makefile.am:
10330         * libs/gst/controller/.cvsignore:
10331         * libs/gst/controller/Makefile.am:
10332         * libs/gst/controller/gst-controller.c:
10333         (on_object_controlled_property_changed), (gst_timed_value_compare),
10334         (gst_timed_value_find),
10335         (gst_controlled_property_set_interpolation_mode),
10336         (gst_controlled_property_new), (gst_controlled_property_free),
10337         (gst_controller_find_controlled_property),
10338         (gst_controller_new_valist), (gst_controller_new),
10339         (gst_controller_remove_properties_valist),
10340         (gst_controller_remove_properties), (gst_controller_set),
10341         (gst_controller_set_from_list), (gst_controller_unset),
10342         (gst_controller_get), (gst_controller_get_all),
10343         (gst_controller_sink_values), (gst_controller_get_value_arrays),
10344         (gst_controller_get_value_array),
10345         (gst_controller_set_interpolation_mode),
10346         (_gst_controller_finalize), (_gst_controller_init),
10347         (_gst_controller_class_init), (gst_controller_get_type):
10348         * libs/gst/controller/gst-controller.h:
10349         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
10350         (g_object_uncontrol_properties), (g_object_get_controller),
10351         (g_object_set_controller), (g_object_sink_values),
10352         (g_object_get_value_arrays), (g_object_get_value_array):
10353         * libs/gst/controller/gst-interpolation.c:
10354         (gst_controlled_property_find_timed_value_node),
10355         (interpolate_none_get), (interpolate_trigger_get),
10356         (interpolate_trigger_get_value_array):
10357         * libs/gst/controller/lib.c: (gst_controller_init):
10358         * pkgconfig/Makefile.am:
10359         * pkgconfig/gstreamer-control-uninstalled.pc.in:
10360         * pkgconfig/gstreamer-control.pc.in:
10361         * testsuite/Makefile.am:
10362         * testsuite/controller/.cvsignore:
10363         * testsuite/controller/Makefile.am:
10364         * testsuite/controller/interpolator.c: (main):
10365           added controller code
10366           removed dparam pc files
10367
10368 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10369         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
10370         (gst_collectpads_stop):
10371           Broadcast the condition when shutting down, to make sure we wake all
10372           threads up. Shut down pads on finalize, for safety.
10373
10374 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10375         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10376         (gst_base_transform_handle_buffer),
10377         (gst_base_transform_change_state):
10378           Handle PAUSED->READY->PAUSED transition after negotiation
10379           occurred already.
10380         * gst/gstmessage.c: (gst_message_init):
10381           Extra piece of debug for new messages.
10382
10383 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
10384
10385         * configure.ac:
10386         * docs/gst/tmpl/gstbasesrc.sgml:
10387         * docs/gst/tmpl/gstelement.sgml:
10388         * docs/gst/tmpl/gstevent.sgml:
10389         * docs/gst/tmpl/gstfakesrc.sgml:
10390         * docs/gst/tmpl/gstformat.sgml:
10391         * docs/gst/tmpl/gstghostpad.sgml:
10392         * docs/gst/tmpl/gstpad.sgml:
10393         * docs/gst/tmpl/gstquery.sgml:
10394         * docs/gst/tmpl/gststructure.sgml:
10395         * docs/gst/tmpl/gsttaglist.sgml:
10396         * docs/gst/tmpl/gstvalue.sgml:
10397         * docs/libs/gstreamer-libs-docs.sgml:
10398         * docs/libs/gstreamer-libs-sections.txt:
10399         * docs/libs/gstreamer-libs.types:
10400         * libs/gst/Makefile.am:
10401         * libs/gst/control/.cvsignore:
10402         * libs/gst/control/Makefile.am:
10403         * libs/gst/control/control.c:
10404         * libs/gst/control/control.h:
10405         * libs/gst/control/dparam.c:
10406         * libs/gst/control/dparam.h:
10407         * libs/gst/control/dparam_smooth.c:
10408         * libs/gst/control/dparam_smooth.h:
10409         * libs/gst/control/dparamcommon.h:
10410         * libs/gst/control/dparammanager.c:
10411         * libs/gst/control/dparammanager.h:
10412         * libs/gst/control/dplinearinterp.c:
10413         * libs/gst/control/dplinearinterp.h:
10414         * libs/gst/control/unitconvert.c:
10415         * libs/gst/control/unitconvert.h:
10416         * testsuite/Makefile.am:
10417         * testsuite/dynparams/.cvsignore:
10418         * testsuite/dynparams/Makefile.am:
10419         * testsuite/dynparams/dparamstest.c:
10420         * tools/Makefile.am:
10421         * tools/gst-inspect.c: (print_element_info), (main):
10422         * tools/gst-xmlinspect.c: (print_element_info), (main):
10423           deactivate and remove dparams (libgstcontrol)
10424
10425 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10426
10427         * gst/elements/gsttypefindelement.c:
10428         (gst_type_find_element_have_type), (gst_type_find_element_init),
10429         (stop_typefinding), (gst_type_find_element_handle_event),
10430         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10431         * gst/elements/gsttypefindelement.h:
10432           Set caps on all outgoing buffers, not just the first one.
10433
10434 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10435
10436         * gst/elements/gsttypefindelement.c:
10437         (gst_type_find_element_have_type),
10438         (gst_type_find_element_check_set_buffer_caps),
10439         (gst_type_find_element_init), (stop_typefinding),
10440         (gst_type_find_element_handle_event),
10441         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10442         * gst/elements/gsttypefindelement.h:
10443           Set caps on first outgoing buffer when we've found the type.
10444
10445 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10446
10447         * docs/gst/gstreamer-docs.sgml:
10448         * docs/gst/gstreamer-sections.txt:
10449         * docs/gst/tmpl/gstscheduler.sgml:
10450         * docs/gst/tmpl/gstschedulerfactory.sgml:
10451           Remove some old cruft from docs.
10452
10453 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
10454
10455         * gst/gstpad.h:
10456           Fix inline docs for GstPadLinkReturn.
10457           
10458         * gst/gststructure.c: (gst_structure_has_name):
10459         * gst/gststructure.h:
10460         * docs/gst/gstreamer-sections.txt:
10461           New API: gst_structure_has_name().
10462
10463 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
10464
10465         * configure.ac:
10466           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
10467           and _LARGEFILE_SOURCE in config.h as required. Do not 
10468           export those flags in our .pc files any longer (#142209).
10469
10470           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
10471
10472         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
10473         (gst_file_sink_do_seek), (gst_file_sink_event),
10474         (gst_file_sink_get_current_offset), (gst_file_sink_render):
10475           Redo seek/tell calls with large file support in mind; add some
10476           debugging messages; add log message that tells us when large
10477           file support is unavailable or not enabled for some reason.
10478
10479         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
10480           Add log message that tells us when large file support 
10481           is unavailable or not enabled for some reason.
10482
10483 2005-07-29  Wim Taymans  <wim@fluendo.com>
10484
10485         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10486         Added test for removing an element with ghostpad from a bin.
10487         Fixed test as current implementation does the right thing.
10488
10489         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
10490         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
10491         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
10492         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
10493         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
10494         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10495         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10496         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10497         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
10498         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
10499         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
10500         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
10501         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10502         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
10503         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
10504         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10505         * gst/gstghostpad.h:
10506         Clean up ghostpads, remove properties for internal stuff.
10507         Make threadsafe.
10508         Fix refcounting.
10509         Prepare for switching targets, not all use cases work yet.
10510
10511 2005-07-29  Wim Taymans  <wim@fluendo.com>
10512
10513         * docs/design/part-gstghostpad.txt:
10514         Small update.
10515
10516         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10517         (gst_bin_remove_func):
10518         Unlinking pads while holding the bin LOCK is not a good
10519         idea.
10520
10521         * gst/gstpad.c: (gst_pad_class_init),
10522         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
10523         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
10524         No prob setting template after creating the pad.
10525
10526 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
10527
10528         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
10529         (gst_bus_peek), (gst_bus_source_dispatch),
10530         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
10531         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
10532           gst_bus_poll may be called from other threads. Handle
10533           this nicely by not making poll_data disappear off the
10534           stack once gst_bus_poll returns.
10535           gst_bus_peek now increments the refcount on the returned
10536           message.
10537
10538 2005-07-29  Wim Taymans  <wim@fluendo.com>
10539
10540         * docs/design/part-gstghostpad.txt:
10541         Overview of current GhostPad datastructures and use
10542         cases for changing the target.
10543
10544 2005-07-28  Wim Taymans  <wim@fluendo.com>
10545
10546         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10547         Added checks for hierarchy consistency whan adding linked
10548         elements to bins.
10549
10550         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10551         Added check to test element scheduling without bin/pipeline.
10552
10553         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10554         First add elements to bin, then link.
10555         
10556         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10557         (gst_bin_remove_func):
10558         Unlink pads from elements added/removed from bin to maintain
10559         hierarchy consistency.
10560
10561 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10562
10563         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10564         (gst_base_transform_handle_buffer):
10565         * gst/base/gstbasetransform.h:
10566           Remove broken delay_configure (fixes renegotiation of software
10567           scaling pipelines); remove some leftover printf()s.
10568
10569 2005-07-28  Wim Taymans  <wim@fluendo.com>
10570
10571         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10572         Added some more tests for wrong hierarchy
10573
10574         * docs/design/part-overview.txt:
10575         Some updates.
10576
10577         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
10578         Cleanups.
10579
10580         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
10581         (gst_element_dispose):
10582         Some more cleanups.
10583
10584         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10585         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
10586         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10587         (gst_pad_set_caps), (gst_pad_send_event):
10588         Check for correct hierarchy when linking pads. Moving to
10589         strict requirement for ghostpads when linking elements in
10590         different bins.
10591
10592         * gst/gstpad.h:
10593         Clean ups. Added WRONG_HIERARCHY return value.
10594
10595 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10596
10597         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10598           Better debug if no transform is possible.
10599
10600 2005-07-27  Wim Taymans  <wim@fluendo.com>
10601
10602         * docs/random/wtay/network-transp:
10603         Some old doc I had.
10604
10605 2005-07-27  Wim Taymans  <wim@fluendo.com>
10606
10607         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10608         (gst_dp_event_from_packet):
10609         Fix serialization of seek events.
10610
10611 2005-07-27  Wim Taymans  <wim@fluendo.com>
10612
10613         * check/gst-libs/gdp.c: (GST_START_TEST):
10614         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10615         Fix compilation and fix event serialization.
10616
10617 2005-07-27  Wim Taymans  <wim@fluendo.com>
10618
10619         * CHANGES-0.9:
10620         * docs/design/part-TODO.txt:
10621         * docs/design/part-events.txt:
10622         Some docs updates
10623
10624         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10625         (gst_base_sink_event), (gst_base_sink_do_sync),
10626         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10627         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10628         (gst_base_src_do_seek), (gst_base_src_event_handler),
10629         (gst_base_src_loop):
10630         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10631         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10632         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10633         (gst_base_transform_event), (gst_base_transform_handle_buffer),
10634         (gst_base_transform_set_passthrough),
10635         (gst_base_transform_is_passthrough):
10636         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10637         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10638         Event updates.
10639
10640         * gst/gstbuffer.h:
10641         Use faster casts.
10642
10643         * gst/gstelement.c: (gst_element_seek):
10644         * gst/gstelement.h:
10645         Update gst_element_seek.
10646
10647         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
10648         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
10649         (gst_event_new_flush_start), (gst_event_new_flush_stop),
10650         (gst_event_new_eos), (gst_event_new_newsegment),
10651         (gst_event_parse_newsegment), (gst_event_new_tag),
10652         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
10653         (gst_event_parse_qos), (gst_event_new_seek),
10654         (gst_event_parse_seek), (gst_event_new_navigation):
10655         * gst/gstevent.h:
10656         Make GstEvent use GstStructure. Add parsing code, make sure the
10657         API is sufficiently generic.
10658         Mark possible directions of events and serialization.
10659
10660         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
10661         (_gst_message_copy), (gst_message_new_segment_start),
10662         (gst_message_new_segment_done), (gst_message_new_custom),
10663         (gst_message_parse_segment_start),
10664         (gst_message_parse_segment_done):
10665         Small cleanups.
10666
10667         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10668         (gst_pad_set_caps), (gst_pad_send_event):
10669         Update for new events. 
10670         Catch events sent in wrong directions.
10671
10672         * gst/gstqueue.c: (gst_queue_link_src),
10673         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10674         (gst_queue_handle_src_query):
10675         Event updates.
10676
10677         * gst/gsttag.c:
10678         * gst/gsttag.h:
10679         Remove event code from this file.
10680
10681         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10682         (gst_dp_event_from_packet):
10683         Event updates.
10684
10685 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10686
10687         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
10688         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10689         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
10690           Make debugging actually useful.
10691
10692 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10693
10694         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
10695         (gst_pad_fixate_caps):
10696           Implement default fixation once again, so that gst_pad_fixate()
10697           actually does anything at all. This probably needs to be some
10698           sort of a last resort, and use profile-based fixation first, but
10699           since that doesn't exist yet, this is the best we have. Fixes
10700           visualization in Totem.
10701
10702 2005-07-22  Wim Taymans  <wim@fluendo.com>
10703
10704         * docs/design/part-events.txt:
10705         Small update.
10706
10707         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10708         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
10709         (gst_base_sink_activate_pull):
10710         Some more comments.
10711
10712         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
10713         (gst_fake_src_create):
10714         Fix handoff marshall.
10715
10716         * gst/elements/gstidentity.c: (gst_identity_class_init),
10717         (gst_identity_transform_ip):
10718         We're a real inplace element.
10719
10720         * gst/gstbus.c: (gst_bus_post):
10721         Added some comments.
10722
10723         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
10724         * tests/muxing/case1.c: (main):
10725         * tests/sched/dynamic-pipeline.c: (main):
10726         * tests/sched/interrupt1.c: (main):
10727         * tests/sched/interrupt2.c: (main):
10728         * tests/sched/interrupt3.c: (main):
10729         * tests/sched/runxml.c: (main):
10730         * tests/sched/sched-stress.c: (main):
10731         * tests/seeking/seeking1.c: (event_received), (main):
10732         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10733         (main):
10734         * tests/threadstate/threadstate3.c: (main):
10735         * tests/threadstate/threadstate4.c: (main):
10736         * tests/threadstate/threadstate5.c: (main):
10737         Fix the tests.
10738
10739 2005-07-21  Wim Taymans  <wim@fluendo.com>
10740
10741         * docs/design/part-seeking.txt:
10742         Some small additions.
10743
10744         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10745         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10746         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10747         * gst/base/gstbasesink.h:
10748         discont values are gint64, handle the math correctly.
10749
10750         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10751         Make the basesrc report error if the source pad is not linked.
10752
10753         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10754         (gst_queue_loop), (gst_queue_handle_src_query),
10755         (gst_queue_src_activate_push):
10756         Make queue collect data even if the srcpad is not linked.
10757         Start pushing out data as soon as it is linked.
10758
10759         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
10760         * gst/gstutils.h:
10761         Added gst_flow_get_name() to ease error reporting.
10762
10763 2005-07-20  Wim Taymans  <wim@fluendo.com>
10764
10765         * gst/gstmessage.c: (gst_message_new_segment_start),
10766         (gst_message_new_segment_done), (gst_message_parse_segment_start),
10767         (gst_message_parse_segment_done):
10768         * gst/gstmessage.h:
10769         Added a bunch of messages for advanced seeking.
10770
10771         * gst/parse/grammar.y:
10772         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
10773         (gst_dpman_state_changed):
10774         Fix some new-pad -> pad-added signals
10775
10776 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10777
10778         * docs/manual/appendix-porting.xml:
10779         * docs/pwg/appendix-porting.xml:
10780           Document new-pad/state-change signal renames and the FixedList
10781           type rename.
10782
10783 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10784
10785         * docs/manual/advanced-autoplugging.xml:
10786         * docs/manual/basics-helloworld.xml:
10787         * docs/manual/basics-pads.xml:
10788         * docs/random/ds/0.9-suggested-changes:
10789         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
10790         * gst/gstelement.h:
10791         * gst/gstevent.h:
10792         * gst/gstformat.h:
10793         * gst/gstquery.h:
10794         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10795         (gst_structure_parse_array), (gst_structure_parse_value):
10796         * gst/gstvalue.c: (gst_type_is_fixed),
10797         (gst_value_list_prepend_value), (gst_value_list_append_value),
10798         (gst_value_list_get_size), (gst_value_list_get_value),
10799         (gst_value_transform_array_string), (gst_value_serialize_array),
10800         (gst_value_deserialize_array), (gst_value_intersect_array),
10801         (gst_value_is_fixed), (_gst_value_initialize):
10802         * gst/gstvalue.h:
10803           GstElement::new-pad -> pad-added, GstElement::state-change ->
10804           state-changed, GstValueFixedList -> GstValueArray, add format and
10805           flags as their own arguments in gst_element_seek() (should improve
10806           "bindeability"), remove function generators since they don't work
10807           under a whole bunch of compilers (they were deprecated already
10808           anyway).
10809
10810 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10811
10812         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10813         (_gst_debug_register_funcptr):
10814         * gst/gstinfo.h:
10815           Fix illegal cast on some platforms (#309253).
10816
10817 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10818
10819         * gst/gstmessage.c: (gst_message_new_custom):
10820         * gst/gstmessage.h:
10821           Add _new_custom, make _new_application a macro to _new_custom.
10822
10823 2005-07-20  Wim Taymans  <wim@fluendo.com>
10824
10825         * gst/base/gstbasesrc.c: (gst_base_src_init),
10826         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10827         * gst/base/gstbasesrc.h:
10828         Add a gboolean to decide when to push out a discont.
10829
10830         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10831         (gst_queue_loop), (gst_queue_handle_src_query),
10832         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
10833         (gst_queue_set_property), (gst_queue_get_property):
10834         Some cleanups.
10835
10836         * tests/threadstate/threadstate1.c: (main):
10837         Make a thread test compile and run... very silly..
10838
10839
10840 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10841
10842         * docs/manual/appendix-porting.xml:
10843           Mention removal of libgstgconf-0.9.la and existence of gconf
10844           elements.
10845
10846 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10847
10848         * docs/pwg/advanced-clock.xml:
10849         * docs/pwg/appendix-porting.xml:
10850         * docs/pwg/intro-preface.xml:
10851         * docs/pwg/other-base.xml:
10852         * docs/pwg/other-manager.xml:
10853         * docs/pwg/other-nton.xml:
10854         * docs/pwg/other-ntoone.xml:
10855         * docs/pwg/other-oneton.xml:
10856         * docs/pwg/pwg.xml:
10857           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10858           demuxer), remove n-to-n (was never written), fix some code examples
10859           and links and update the porting section to include all this.
10860
10861 2005-07-19  Wim Taymans  <wim@fluendo.com>
10862
10863         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10864         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10865         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10866         (gst_queue_src_activate_push), (gst_queue_change_state),
10867         (gst_queue_get_property):
10868         * gst/gstqueue.h:
10869         Propagate GstFlowReturn more intelligently upstream and output
10870         an ERROR/EOS when streaming stopped due to fatal error.
10871
10872 2005-07-19  Wim Taymans  <wim@fluendo.com>
10873
10874         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10875         Don't block forever for the state change to complete, the
10876         pipeline already did with a sensible timeout.
10877
10878 2005-07-19  Wim Taymans  <wim@fluendo.com>
10879
10880         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10881         Make sure we never call the create function is we
10882         got deactivated.
10883
10884 2005-07-19  Andy Wingo  <wingo@pobox.com>
10885
10886         * gst/parse/parse.l: Attempt to solve bug #172815.
10887
10888 2005-07-19  Wim Taymans  <wim@fluendo.com>
10889
10890         * docs/design/part-clocks.txt:
10891         * docs/design/part-events.txt:
10892         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10893         Small docs updates.
10894         Only update the seeking values when we are not
10895         busy streaming.
10896
10897 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10898
10899         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10900           Oops, ignore the result of gst_pad_push_event here.
10901
10902 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10903
10904         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10905         (gst_base_src_activate_push):
10906           Send discont event from the loop function, as pads
10907           aren't activated yet in the activate_push handler.
10908
10909         * gst/gstbin.c: (bin_bus_handler):
10910           Don't leak element name.
10911
10912 2005-07-18  Andy Wingo  <wingo@pobox.com>
10913
10914         * configure.ac: Use AS_LIBTOOL_TAGS.
10915
10916 2005-07-18  Wim Taymans  <wim@fluendo.com>
10917
10918         * docs/gst/gstreamer.types:
10919         Remove deleted types.
10920
10921 2005-07-18  Wim Taymans  <wim@fluendo.com>
10922
10923         * check/elements/gstfakesrc.c: (GST_START_TEST):
10924         * configure.ac:
10925         * gst/Makefile.am:
10926         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10927         (init_popt_callback):
10928         * gst/gst.h:
10929         * gst/gst_private.h:
10930         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10931         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10932         * gst/gstbin.h:
10933         * gst/gstbus.h:
10934         * gst/gstconfig.h.in:
10935         * gst/gstelement.c: (gst_element_class_init),
10936         (gst_element_set_base_time), (gst_element_get_base_time),
10937         (iterator_fold_with_resync), (gst_element_change_state),
10938         (gst_element_dispose), (gst_element_get_bus):
10939         * gst/gstelement.h:
10940         * gst/gstelementfactory.h:
10941         * gst/gsterror.c: (_gst_core_errors_init):
10942         * gst/gsterror.h:
10943         * gst/gstevent.h:
10944         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10945         * gst/gstindex.c:
10946         * gst/gstinfo.c: (_gst_debug_init):
10947         * gst/gstmessage.c: (_gst_message_copy):
10948         * gst/gstmessage.h:
10949         * gst/gstminiobject.h:
10950         * gst/gstobject.c:
10951         * gst/gstobject.h:
10952         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10953         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10954         * gst/gstpad.h:
10955         * gst/gstparse.h:
10956         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10957         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10958         (gst_pipeline_get_last_stream_time):
10959         * gst/gstpipeline.h:
10960         * gst/gstpluginfeature.h:
10961         * gst/gstquery.h:
10962         * gst/gstscheduler.c:
10963         * gst/gstscheduler.h:
10964         * gst/gststructure.h:
10965         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10966         (gst_task_finalize), (gst_task_func), (gst_task_create),
10967         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10968         (gst_task_stop), (gst_task_pause):
10969         * gst/gsttask.h:
10970         * gst/gsttypefind.h:
10971         * gst/gsttypes.h:
10972         * gst/registries/gstlibxmlregistry.c: (load_feature),
10973         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10974         * gst/registries/gstxmlregistry.c:
10975         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10976         * gst/schedulers/threadscheduler.c:
10977         * libs/gst/control/dparammanager.h:
10978         * tools/gst-inspect.c: (print_element_list),
10979         (print_plugin_features), (print_element_features):
10980         * tools/gst-xmlinspect.c: (print_element_list),
10981         (print_plugin_info), (main):
10982         Removed plugable schedulers.
10983         Removed Scheduler/Manager from elements.
10984         Removed gsttypes.h, rearranged includes.
10985         Removed dependency pad<->element, element<>pipeline, and
10986         various others,  fix includes.
10987         implement gst_pad_get_parent() with gst_object_get_parent()
10988         Make GstTask sefcontained.
10989         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10990         timeout.
10991         Fix endless loop in iterator_fold_with_resync.
10992
10993
10994 2005-07-18  Wim Taymans  <wim@fluendo.com>
10995
10996         * gst/Makefile.am:
10997         * gst/gstarch.h:
10998         Remove old file.
10999
11000 2005-07-18  Wim Taymans  <wim@fluendo.com>
11001
11002         * gst/Makefile.am:
11003         No more cothreads.h
11004
11005 2005-07-18  Wim Taymans  <wim@fluendo.com>
11006
11007         * gst/cothreads.c:
11008         * gst/cothreads.h:
11009         Let's remove these.
11010
11011 2005-07-18  Wim Taymans  <wim@fluendo.com>
11012
11013         * docs/design/part-dynamic.txt:
11014         * docs/design/part-events.txt:
11015         * docs/design/part-seeking.txt:
11016         Some more docs in the works.
11017
11018         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11019         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
11020         (gst_base_transform_setcaps), (gst_base_transform_get_size),
11021         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11022         (gst_base_transform_handle_buffer),
11023         (gst_base_transform_sink_activate_push),
11024         (gst_base_transform_src_activate_pull),
11025         (gst_base_transform_set_passthrough),
11026         (gst_base_transform_is_passthrough):
11027         Refcounting fixes.
11028
11029         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
11030         Cleanups.
11031
11032         * gst/gstevent.c: (gst_event_finalize):
11033         Set SRC to NULL.
11034
11035         * gst/gstutils.c: (gst_element_unlink),
11036         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
11037         (gst_pad_proxy_setcaps):
11038         * gst/gstutils.h:
11039         Add _get_parent_element() to get a pads parent as an element.
11040
11041 2005-07-18  Wim Taymans  <wim@fluendo.com>
11042
11043         * check/gst/gstbin.c: (GST_START_TEST):
11044         Remove bogus test.
11045
11046 2005-07-18  Wim Taymans  <wim@fluendo.com>
11047
11048         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11049         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11050         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11051         (gst_base_sink_event), (gst_base_sink_do_sync),
11052         (gst_base_sink_chain), (gst_base_sink_loop),
11053         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
11054         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
11055         Refcounting fixes.
11056         Fix logic for returning ASYNC when not prerolled.
11057
11058 2005-07-18  Wim Taymans  <wim@fluendo.com>
11059
11060         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11061         Fix nasty refcount bug.
11062
11063 2005-07-16 Philippe Khalaf <burger@speedy.org>
11064
11065         * gst/elements/gstfdsrc.c:
11066         * gst/elements/gstfdsrc.h:
11067         * gst/elements/gstelements.c:
11068         * gst/elements/Makefile.am:
11069         Ported fdsrc to 0.9.
11070
11071 2005-07-16  Wim Taymans  <wim@fluendo.com>
11072
11073         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11074         (gst_base_sink_do_sync):
11075         Fix compile error.
11076
11077 2005-07-16  Wim Taymans  <wim@fluendo.com>
11078
11079         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11080         (gst_base_sink_event), (gst_base_sink_get_times),
11081         (gst_base_sink_do_sync), (gst_base_sink_change_state):
11082         * gst/base/gstbasesink.h:
11083         Store and use discont values when syncing buffers as described
11084         in design docs.
11085         
11086         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11087         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
11088         (gst_base_src_activate_push):
11089         Push discont event when starting.
11090
11091         * gst/elements/gstidentity.c: (gst_identity_transform):
11092         Small cleanups.
11093
11094         * gst/gstbin.c: (gst_bin_change_state):
11095         Small cleanups in base_time  distribution.
11096
11097         * gst/gstelement.c: (gst_element_set_base_time),
11098         (gst_element_get_base_time), (gst_element_change_state):
11099         * gst/gstelement.h:
11100         Added methods for the base_time of the element.
11101         Some MT fixes.
11102
11103         * gst/gstpipeline.c: (gst_pipeline_send_event),
11104         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11105         (gst_pipeline_get_last_stream_time):
11106         * gst/gstpipeline.h:
11107         MT fixes.
11108         Handle seeking as described in design doc, remove stream_time
11109         hack.
11110         Cleanups clock and stream_time selection code. Added accessors
11111         for the stream_time.
11112         
11113
11114 2005-07-16  Andy Wingo  <wingo@pobox.com>
11115
11116         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
11117         (#305291).
11118
11119 2005-07-16  Wim Taymans  <wim@fluendo.com>
11120
11121         * check/gst/gstbin.c: (GST_START_TEST):
11122         Make elements silent as the deep_notify refs the
11123         parent, which might make the test fail.
11124
11125         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11126         Don't hold the lock for too long.
11127
11128 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
11129
11130         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11131           Don't unref the caps we passed to gst_caps_make_writable() after
11132           passing them. gst_caps_make_writable() will do that for us.
11133
11134 2005-07-15  Andy Wingo  <wingo@pobox.com>
11135
11136         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
11137         (#157311).
11138
11139         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
11140         own marshalling function for the handoff signal. Properly type the
11141         buffer as a buffer. Fixes some warnings. Should do a more general
11142         solution.
11143         (gst_identity_class_init): Plug into the right marshaller.
11144
11145 2005-07-15  Wim Taymans  <wim@fluendo.com>
11146
11147         * docs/design/part-TODO.txt:
11148         * docs/design/part-clocks.txt:
11149         * docs/design/part-element-sink.txt:
11150         * docs/design/part-events.txt:
11151         * docs/design/part-gstpipeline.txt:
11152         Updated docs, mostly DISCONT related.
11153
11154 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
11155
11156         * docs/pwg/building-pads.xml:
11157           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
11158
11159 2005-07-15  Andy Wingo  <wingo@pobox.com>
11160
11161         * tools/gst-typefind.c: Update, add copyright block.
11162
11163         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
11164         Normalize and truncate caps before fixation.
11165
11166         * gst/gstcaps.h:
11167         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
11168         discards all but the first structure from its argument.
11169
11170 2005-07-15  Wim Taymans  <wim@fluendo.com>
11171
11172         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11173         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
11174         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11175         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11176         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
11177         (gst_base_transform_chain), (gst_base_transform_change_state),
11178         (gst_base_transform_set_passthrough),
11179         (gst_base_transform_is_passthrough):
11180         * gst/base/gstbasetransform.h:
11181         Make passthrough work using the bufferpools.
11182         Changed API a bit, subclasses have to write into a buffer
11183         provided by the base class.
11184         More debug info in nego functions.
11185         
11186         * gst/elements/gstidentity.c: (gst_identity_init),
11187         (gst_identity_transform):
11188         Port to new base class.
11189
11190 2005-07-15  Wim Taymans  <wim@fluendo.com>
11191
11192         * gst/gstmessage.c: (gst_message_new_state_changed):
11193         * tools/gst-launch.c: (event_loop), (main):
11194         Totally dump messages in -launch with the -m option.
11195         Fix message name for State messages,
11196
11197 2005-07-14  Wim Taymans  <wim@fluendo.com>
11198
11199         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11200         Post error messages on errors.
11201
11202 2005-07-14  Wim Taymans  <wim@fluendo.com>
11203
11204         * gst/gstcaps.c: (gst_caps_do_simplify):
11205         Remove debug info.
11206
11207         * gst/gsterror.h:
11208         Define error for stream stopped.
11209
11210         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11211         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
11212         Do proper return values.
11213
11214         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11215         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
11216         (gst_pad_get_range):
11217         Better return values.
11218
11219         * gst/gstpad.h:
11220         Reorganise return values, add macro to check for fatal errors.
11221
11222         * gst/gstqueue.c: (gst_queue_chain):
11223         Return proper GstFlowReturn values,
11224
11225 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11226
11227         * docs/gst/gstreamer-sections.txt:
11228         * docs/gst/gstreamer.types:
11229         * docs/gst/tmpl/gst.sgml:
11230         * docs/gst/tmpl/gstbasesink.sgml:
11231         * docs/gst/tmpl/gstbasesrc.sgml:
11232         * docs/gst/tmpl/gstbasetransform.sgml:
11233         * docs/gst/tmpl/gstbin.sgml:
11234         * docs/gst/tmpl/gstbuffer.sgml:
11235         * docs/gst/tmpl/gstcaps.sgml:
11236         * docs/gst/tmpl/gstclock.sgml:
11237         * docs/gst/tmpl/gstcompat.sgml:
11238         * docs/gst/tmpl/gstconfig.sgml:
11239         * docs/gst/tmpl/gstelement.sgml:
11240         * docs/gst/tmpl/gstelementdetails.sgml:
11241         * docs/gst/tmpl/gstelementfactory.sgml:
11242         * docs/gst/tmpl/gstenumtypes.sgml:
11243         * docs/gst/tmpl/gsterror.sgml:
11244         * docs/gst/tmpl/gstevent.sgml:
11245         * docs/gst/tmpl/gstfakesink.sgml:
11246         * docs/gst/tmpl/gstfakesrc.sgml:
11247         * docs/gst/tmpl/gstfilesink.sgml:
11248         * docs/gst/tmpl/gstfilesrc.sgml:
11249         * docs/gst/tmpl/gstfilter.sgml:
11250         * docs/gst/tmpl/gstformat.sgml:
11251         * docs/gst/tmpl/gstghostpad.sgml:
11252         * docs/gst/tmpl/gstimplementsinterface.sgml:
11253         * docs/gst/tmpl/gstindex.sgml:
11254         * docs/gst/tmpl/gstindexfactory.sgml:
11255         * docs/gst/tmpl/gstinfo.sgml:
11256         * docs/gst/tmpl/gstiterator.sgml:
11257         * docs/gst/tmpl/gstmacros.sgml:
11258         * docs/gst/tmpl/gstmemchunk.sgml:
11259         * docs/gst/tmpl/gstminiobject.sgml:
11260         * docs/gst/tmpl/gstobject.sgml:
11261         * docs/gst/tmpl/gstpad.sgml:
11262         * docs/gst/tmpl/gstpadtemplate.sgml:
11263         * docs/gst/tmpl/gstparse.sgml:
11264         * docs/gst/tmpl/gstpipeline.sgml:
11265         * docs/gst/tmpl/gstplugin.sgml:
11266         * docs/gst/tmpl/gstpluginfeature.sgml:
11267         * docs/gst/tmpl/gstquery.sgml:
11268         * docs/gst/tmpl/gstqueue.sgml:
11269         * docs/gst/tmpl/gstregistry.sgml:
11270         * docs/gst/tmpl/gstregistrypool.sgml:
11271         * docs/gst/tmpl/gstscheduler.sgml:
11272         * docs/gst/tmpl/gstschedulerfactory.sgml:
11273         * docs/gst/tmpl/gststructure.sgml:
11274         * docs/gst/tmpl/gstsystemclock.sgml:
11275         * docs/gst/tmpl/gsttaglist.sgml:
11276         * docs/gst/tmpl/gsttagsetter.sgml:
11277         * docs/gst/tmpl/gsttrace.sgml:
11278         * docs/gst/tmpl/gsttrashstack.sgml:
11279         * docs/gst/tmpl/gsttypefind.sgml:
11280         * docs/gst/tmpl/gsttypefindfactory.sgml:
11281         * docs/gst/tmpl/gsttypes.sgml:
11282         * docs/gst/tmpl/gsturihandler.sgml:
11283         * docs/gst/tmpl/gsturitype.sgml:
11284         * docs/gst/tmpl/gstutils.sgml:
11285         * docs/gst/tmpl/gstvalue.sgml:
11286         * docs/gst/tmpl/gstversion.sgml:
11287         * docs/gst/tmpl/gstxml.sgml:
11288         * docs/libs/tmpl/gstcontrol.sgml:
11289         * docs/libs/tmpl/gstdataprotocol.sgml:
11290         * docs/libs/tmpl/gstdparam.sgml:
11291         * docs/libs/tmpl/gstdplinint.sgml:
11292         * docs/libs/tmpl/gstdpman.sgml:
11293         * docs/libs/tmpl/gstdpsmooth.sgml:
11294         * docs/libs/tmpl/gstgetbits.sgml:
11295         * docs/libs/tmpl/gstunitconvert.sgml:
11296         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
11297         (gst_push_src_base_init), (gst_push_src_class_init),
11298         (gst_push_src_init), (gst_push_src_create):
11299         * gst/base/gstpushsrc.h:
11300         * gst/elements/gstelements.c:
11301         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
11302         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
11303         (gst_fake_sink_init), (gst_fake_sink_set_property),
11304         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
11305         (gst_fake_sink_event), (gst_fake_sink_preroll),
11306         (gst_fake_sink_render), (gst_fake_sink_change_state):
11307         * gst/elements/gstfakesink.h:
11308         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11309         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11310         (gst_fake_src_base_init), (gst_fake_src_class_init),
11311         (gst_fake_src_init), (gst_fake_src_event_handler),
11312         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
11313         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
11314         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
11315         (gst_fake_src_create_buffer), (gst_fake_src_create),
11316         (gst_fake_src_start), (gst_fake_src_stop):
11317         * gst/elements/gstfakesrc.h:
11318         * gst/elements/gstfilesink.c: (_do_init),
11319         (gst_file_sink_base_init), (gst_file_sink_class_init),
11320         (gst_file_sink_init), (gst_file_sink_dispose),
11321         (gst_file_sink_set_location), (gst_file_sink_set_property),
11322         (gst_file_sink_get_property), (gst_file_sink_open_file),
11323         (gst_file_sink_close_file), (gst_file_sink_query),
11324         (gst_file_sink_event), (gst_file_sink_render),
11325         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
11326         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
11327         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
11328         * gst/elements/gstfilesink.h:
11329         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
11330         (gst_file_src_class_init), (gst_file_src_init),
11331         (gst_file_src_finalize), (gst_file_src_set_location),
11332         (gst_file_src_set_property), (gst_file_src_get_property),
11333         (gst_file_src_map_region), (gst_file_src_map_small_region),
11334         (gst_file_src_create_mmap), (gst_file_src_create_read),
11335         (gst_file_src_create), (gst_file_src_is_seekable),
11336         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
11337         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
11338         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
11339         (gst_file_src_uri_handler_init):
11340         * gst/elements/gstfilesrc.h:
11341           more autistic cleanliness in functions/names/defines
11342
11343 2005-07-13  Andy Wingo  <wingo@pobox.com>
11344
11345         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
11346         source couldn't negotiate.
11347
11348         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
11349         connections again.
11350
11351         * gst/gstutils.h:
11352         * gst/gstutils.c (gst_element_link_pads_filtered): New old
11353         function. I am channeling Hades. Put your boots on suckers!!!
11354
11355 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11356
11357         * testsuite/caps/Makefile.am:
11358         * testsuite/caps/value_compare.c:
11359         * testsuite/caps/value_intersect.c:
11360         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11361           move two testsuite apps over to the check dir
11362
11363 2005-07-12  Wim Taymans  <wim@fluendo.com>
11364
11365         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11366         Added more debug info in the negotiate process.
11367
11368         * gst/gstmessage.h:
11369         Prepare for segment playback.
11370
11371         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
11372         Better debugging.
11373
11374         * gst/gstutils.c:
11375         Some more docs.
11376
11377         * tools/gst-launch.c: (main):
11378         NULL pipeline on errors.
11379
11380 2005-07-12  Andy Wingo  <wingo@pobox.com>
11381
11382         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
11383         not it comes from a malloc region. Make sure our copy gets freed.
11384
11385 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11386
11387         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11388         * check/gst/gstmessage.c: (GST_START_TEST):
11389         * check/gst/gststructure.c: (GST_START_TEST),
11390         (gst_structure_suite), (main):
11391           more testing
11392         * gst/gstelement.c: (gst_element_message_full):
11393           clean up GError and debug string now that they get copied
11394         * gst/gstmessage.c: (gst_message_new_error),
11395         (gst_message_new_warning), (gst_message_parse_error),
11396         (gst_message_parse_warning):
11397           use GST_TYPE_G_ERROR for structure_new, and take copies of
11398           arguments, so that we don't mess up refcounting
11399
11400 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11401
11402         * check/Makefile.am:
11403           add per-test valgrind targets
11404         * check/gst-libs/gdp.c: (GST_START_TEST),
11405         (gst_data_protocol_suite), (main):
11406           clean up
11407
11408 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11409
11410         * check/Makefile.am:
11411           instate more valgrindable tests
11412         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11413         (GST_START_TEST), (fakesrc_suite):
11414         * check/gst/gstpad.c: (GST_START_TEST):
11415         * check/gst/gststructure.c: (GST_START_TEST):
11416           fix test leaks
11417         * docs/gst/tmpl/gstminiobject.sgml:
11418         * gst/gstpad.c: (gst_pad_finalize):
11419           fix the static mutex leak
11420
11421 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11422
11423         * check/Makefile.am:
11424           add two more tests for valgrinding
11425         * check/gst/gstvalue.c: (GST_START_TEST):
11426           test refcount of deserialized buffer, found a leak
11427         * docs/gst/gstreamer-docs.sgml:
11428         * docs/gst/gstreamer-sections.txt:
11429         * docs/gst/gstreamer.types:
11430         * docs/gst/tmpl/gstminiobject.sgml:
11431           add miniobject to docs
11432         * gst/gstminiobject.c:
11433           add some docs
11434         * gst/gstvalue.c: (gst_value_deserialize_buffer),
11435         (gst_string_unwrap):
11436           fix a hard-to-find invalid write for one of the tests
11437           fix a leak for deserialized buffers
11438
11439 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11440
11441         * docs/pwg/advanced-events.xml:
11442         * docs/pwg/advanced-request.xml:
11443         * docs/pwg/advanced-scheduling.xml:
11444         * docs/pwg/appendix-porting.xml:
11445         * docs/pwg/building-boiler.xml:
11446         * docs/pwg/intro-preface.xml:
11447         * docs/pwg/other-ntoone.xml:
11448           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
11449           of example code and explanation for pad activation, loop() and
11450           getrange() functions and a bit more. Remove old comments pointing
11451           to loop-functions.
11452         * examples/pwg/Makefile.am:
11453           Add loop/getrange examples.
11454
11455 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11456
11457         * configure.ac:
11458           check for valgrind binary + some fixes
11459         * check/gst.supp:
11460           valgrind suppressions for the tests
11461         * check/Makefile.am:
11462           add a valgrind: target that valgrinds the unit tests
11463         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
11464         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11465         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11466         * check/gst/gstghostpad.c:
11467           added some cleanup
11468         * check/gst/gstdata.c:
11469           removed
11470         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
11471         (thread_unref), (gst_mini_object_suite), (main):
11472           added
11473         * gst/gst.c: (gst_deinit):
11474         * gst/gst.h:
11475           add a method to clean up.
11476         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11477         (gst_system_clock_obtain):
11478           allow for disposing the system clock.
11479         * tools/gst-launch.c: (main):
11480           deinit
11481
11482 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11483
11484         * docs/gst/tmpl/gstbasesrc.sgml:
11485         * docs/gst/tmpl/gstfakesrc.sgml:
11486         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11487         (gst_base_src_init), (gst_base_src_set_property),
11488         (gst_base_src_get_property), (gst_base_src_get_range),
11489         (gst_base_src_start):
11490         * gst/base/gstbasesrc.h:
11491           add num-buffers property
11492         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11493         (gst_fakesrc_init), (gst_fakesrc_set_property),
11494         (gst_fakesrc_get_property), (gst_fakesrc_create),
11495         (gst_fakesrc_start):
11496           remove num-buffers property
11497
11498 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11499
11500         * docs/gst/gstreamer-sections.txt:
11501         * docs/gst/tmpl/gstbasesink.sgml:
11502         * docs/gst/tmpl/gstbasesrc.sgml:
11503         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11504         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11505         (gst_base_sink_finalize), (gst_base_sink_set_clock),
11506         (gst_base_sink_set_property), (gst_base_sink_get_property),
11507         (gst_base_sink_handle_object), (gst_base_sink_event),
11508         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11509         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
11510         (gst_base_sink_loop), (gst_base_sink_deactivate),
11511         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
11512         (gst_base_sink_change_state):
11513         * gst/base/gstbasesink.h:
11514         * gst/base/gstbasesrc.h:
11515         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
11516         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11517         (gst_filesink_init):
11518           more macro splitting
11519
11520 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11521
11522         * gst/gstelement.c: (gst_element_get_bus):
11523           add debug
11524         * tools/gst-launch.c: (check_intr), (event_loop):
11525           fix bus leaks
11526
11527 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11528
11529         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11530           fix a caps leak
11531
11532 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11533
11534         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11535         (gst_base_src_finalize):
11536           add finalize method and clean up properly
11537         * gst/gstpipeline.c: (gst_pipeline_dispose):
11538           add debug
11539
11540 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11541
11542         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
11543         (gst_bin_suite):
11544           add more things to check
11545         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11546         * gst/gstelement.c:
11547           more debug
11548
11549 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11550
11551         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11552         (GST_START_TEST), (fakesrc_suite):
11553         * check/gst-libs/gdp.c: (GST_START_TEST):
11554         * check/gst/gst.c: (GST_START_TEST):
11555         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11556         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11557         * check/gst/gstbus.c: (GST_START_TEST):
11558         * check/gst/gstcaps.c: (GST_START_TEST):
11559         * check/gst/gstdata.c: (GST_START_TEST):
11560         * check/gst/gstelement.c: (GST_START_TEST):
11561         * check/gst/gstghostpad.c: (GST_START_TEST):
11562         * check/gst/gstiterator.c: (GST_START_TEST):
11563         * check/gst/gstmessage.c: (GST_START_TEST):
11564         * check/gst/gstobject.c: (GST_START_TEST):
11565         * check/gst/gstpad.c: (GST_START_TEST):
11566         * check/gst/gststructure.c: (GST_START_TEST):
11567         * check/gst/gstsystemclock.c: (GST_START_TEST),
11568         (gst_systemclock_suite):
11569         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11570         * check/gst/gstvalue.c: (GST_START_TEST):
11571         * check/pipelines/cleanup.c: (GST_START_TEST):
11572         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11573         * check/states/sinks.c: (GST_START_TEST):
11574         * check/gstcheck.c: (gst_check_init):
11575         * check/gstcheck.h:
11576           add debugging category
11577           use GST_START_TEST now, so we add a debug line
11578
11579 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11580
11581         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
11582           add test for state change message on a bin
11583         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
11584           add another test
11585         * gst/gstbin.c: (gst_bin_init):
11586         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
11587         * gst/gstelement.c: (gst_element_post_message),
11588         (gst_element_set_state):
11589         * gst/gstelementfactory.c: (gst_element_factory_create):
11590         * gst/gstmessage.c: (gst_message_new):
11591         * gst/gstscheduler.c:
11592           various debugging additions and cleanups
11593
11594 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11595
11596         * check/Makefile.am:
11597         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
11598         (main):
11599           adding tests for elements
11600         * gst/gstelement.c: (gst_element_dispose):
11601
11602 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11603
11604         * gst/registries/gstlibxmlregistry.c: (load_feature):
11605           plug more leaks.  A simple gst_init() now is leakfree, yay.
11606
11607 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11608
11609         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
11610         (gst_xml_registry_load):
11611           plug another memleak
11612
11613 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11614
11615         * configure.ac:
11616           use GST_SET_ERROR_CFLAGS
11617         * docs/faq/cvs.xml:
11618           change to ERROR_CFLAGS
11619
11620 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11621
11622         * configure.ac:
11623           make GST_ERROR_CFLAGS overridable and re-enable Werror
11624         * docs/faq/cvs.xml:
11625           add a note about error CFLAGS
11626         * docs/gst/tmpl/gstfakesrc.sgml:
11627         * gst/elements/gstfakesrc.c:
11628           comment out some unused code
11629         * gst/gst.c: (split_and_iterate):
11630         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
11631         (load_feature):
11632           plug some memleaks
11633
11634 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11635
11636         * common/Makefile.am:
11637         * common/gtk-doc.mak:
11638         * docs/gst/Makefile.am:
11639           factor out gtk-doc.mak
11640
11641 2005-07-07  Wim Taymans  <wim@fluendo.com>
11642
11643         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
11644         (gst_thread_scheduler_dispose):
11645         Unlock the STREAM_LOCK completely.
11646
11647 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11648
11649         * check/Makefile.am:
11650         * check/elements/.cvsignore:
11651         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11652         (START_TEST), (fakesrc_suite), (main):
11653         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11654         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11655         (gst_fakesrc_create), (gst_fakesrc_start):
11656         * gst/elements/gstfakesrc.h:
11657           adding a first element test
11658
11659 2005-07-07  Andy Wingo  <wingo@pobox.com>
11660
11661         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
11662         debug message.
11663
11664 2005-07-07  Wim Taymans  <wim@fluendo.com>
11665
11666         * gst/gstquery.c:
11667         * gst/gstquery.h:
11668         Remove old types
11669
11670 2005-07-07  Wim Taymans  <wim@fluendo.com>
11671
11672         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11673         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
11674         Allow subclasses to implement their own negotiation.
11675
11676 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11677
11678         * docs/design/part-gstbin.txt:
11679         * docs/design/part-gstpipeline.txt:
11680           Update design notes to reflect the movement of
11681           responsibility for bus handling from GstPipeline to
11682           GstBin
11683
11684 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11685
11686         * configure.ac:
11687           Remove unnecessary queue2/3/4 examples.
11688
11689 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11690
11691         * examples/Makefile.am:
11692         * examples/helloworld/helloworld.c: (event_loop), (main):
11693         * examples/queue/queue.c: (event_loop), (main):
11694         * examples/queue2/queue2.c: (main):
11695           Update a couple of the examples to work again.
11696
11697         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11698         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
11699          Spelling corrections and extra debug.
11700         
11701         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
11702         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
11703         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
11704         * gst/gstbin.h:
11705         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11706         (gst_pipeline_change_state):
11707         * gst/gstpipeline.h:
11708           Move the bus handler for children to the GstBin, and create a
11709           separate bus for receiving messages from children to the one the
11710           bus sends 'upwards' on.
11711
11712 2005-07-06  Wim Taymans  <wim@fluendo.com>
11713
11714         * gst/base/README:
11715         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11716         (gst_base_sink_handle_object), (gst_base_sink_loop),
11717         (gst_base_sink_change_state):
11718         * gst/base/gstbasesink.h:
11719         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11720         (gst_base_src_init), (gst_base_src_setcaps),
11721         (gst_base_src_getcaps), (gst_base_src_loop),
11722         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
11723         (gst_base_src_start), (gst_base_src_change_state):
11724         * gst/base/gstbasesrc.h:
11725         Make basesrc negotiate.
11726         Handle the case where preroll fails in basesink.
11727         Update README.
11728
11729 2005-07-06  Wim Taymans  <wim@fluendo.com>
11730
11731         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
11732         Implement the fixate function.
11733         Clean up acceptcaps.
11734
11735 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11736
11737         * docs/pwg/building-filterfactory.xml:
11738         * docs/pwg/pwg.xml:
11739           Remove never-written filter-factory chapter; I'll add the various
11740           base classes to part 4 ("other element types") later on.
11741
11742 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11743
11744         * docs/pwg/advanced-negotiation.xml:
11745         * docs/pwg/building-boiler.xml:
11746         * docs/pwg/building-pads.xml:
11747         * docs/pwg/pwg.xml:
11748         * examples/pwg/Makefile.am:
11749           Add a chapter on caps negotiation, simplify the original code
11750           samples a bit w.r.t. caps negotiation, add link to the advanced
11751           section. Add a bunch of examples showing different use cases of
11752           different types of caps negotiation. Upstream renegotiation isn't
11753           fully documented yet since nobody knows how that works.
11754
11755 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11756
11757         * check/gst/gstpad.c:
11758         * check/gstcheck.c:
11759         * gst/gstpad.c: (gst_pad_get_internal_links_default):
11760           if pad has no parent, return NULL as list of internal links
11761
11762 2005-07-05  Andy Wingo  <wingo@pobox.com>
11763
11764         * gst/elements/gstfilesrc.c:
11765         * gst/elements/gstfakesrc.c: 
11766         * gst/base/gstpushsrc.c:
11767         * gst/base/gstbasesrc.h: 
11768         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
11769         
11770 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
11771
11772         * Makefile.am:
11773           better report generation target (lcov needs a patch)
11774
11775 2005-07-05  Andy Wingo  <wingo@pobox.com>
11776
11777         * gst/elements, testsuite: Null if we got it...
11778
11779 2005-07-05  Wim Taymans  <wim@fluendo.com>
11780
11781         * configure.ac:
11782         * libs/gst/dataprotocol/Makefile.am:
11783         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
11784         * libs/gst/dataprotocol/dataprotocol.h:
11785         * pkgconfig/Makefile.am:
11786         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
11787         * pkgconfig/gstreamer-dataprotocol.pc.in:
11788         Ported dataprotol to 0.9. 
11789         Added pkgconfig files.
11790
11791 2005-07-05  Andy Wingo  <wingo@pobox.com>
11792
11793         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
11794         Default to returning TRUE for the case when tranform_caps returns
11795         a fixed caps, like for identity or volume.
11796
11797         * check/gst/gstbus.c (pound_bus_with_messages): 
11798         * check/gst/gstmessage.c (START_TEST): 
11799         * check/pipelines/simple_launch_lines.c (got_handoff): Application
11800         message API change.
11801
11802         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
11803         logic weaks here: always run transform_caps, trying passthrough
11804         operation only if the original caps intersects with the transform.
11805
11806         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
11807         source and sink caps.
11808
11809         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
11810         Intersect the peer caps with the pad template before going into
11811         transform_caps.
11812         (gst_base_transform_transform_caps): More debugging.
11813
11814         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
11815         src argument.
11816
11817 2005-07-04  Edward Hervey  <edward@fluendo.com>
11818
11819         * gst/gstutils.c:
11820         * gst/gstutils.h:
11821         (gst_pad_add_*_probe): now returns the signal id for better wrapping
11822         in bindings.
11823
11824 2005-07-04  Andy Wingo  <wingo@pobox.com>
11825
11826         * check/gst/gstpad.c: Only set explicit caps on pads.
11827
11828 2005-07-01  Andy Wingo  <wingo@pobox.com>
11829
11830         * tests/network-clock.scm: Commentary update.
11831
11832         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
11833         Didn't really make sense, not implementable with basetransform,
11834         etc.
11835         (gst_identity_transform): Unref inbuf via make_writable. Feeble
11836         attempt at implementing the sync property, needs an unlock method.
11837
11838         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
11839         New func, by default returns the same caps (the identity
11840         transformation).
11841         (gst_base_transform_getcaps): Uses transform_caps to return
11842         something sensible.
11843         (gst_base_transform_setcaps): Complicated logic to get caps on
11844         both pads, even if they are different, and to call set_caps once
11845         for every time both pads get their caps set.
11846         (gst_base_transform_handle_buffer): Give the ref to the transform
11847         function. Allows in-place modification of the buffer.
11848
11849         * gst/base/gstbasetransform.h (transform_caps): New class method.
11850         Given caps on one side, what can I do on the other.
11851         (set_caps): Take two caps, one for each side of the element.
11852
11853         * gst/gstpad.h:
11854         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11855         caps in place. This is safe because we can check the mutability of
11856         the caps, and a good idea because fixate functions are just called
11857         as a matter of last resort. (Not actually implemented.)
11858         (gst_pad_set_caps): If the caps we're setting is actually the same
11859         as the existing pad caps, just update the pointer without calling
11860         setcaps. Assert that caps is either NULL or fixed, as per the
11861         docs.
11862
11863         * gst/gstghostpad.c: Update for fixate changes.
11864
11865 2005-07-02  Andy Wingo  <wingo@pobox.com>
11866
11867         * gst/gstcaps.c:
11868         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11869         two refcounts makes it immutable, which is enough. Doc more.
11870
11871 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11872
11873         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11874           Put the mini_object into GValue as a mini_object,
11875           not a gpointer, since that's how we declared
11876           the signal.
11877
11878 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11879
11880         * examples/pwg/Makefile.am:
11881           Fix buildbot again.
11882
11883 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11884
11885         * docs/pwg/building-testapp.xml:
11886           Add extra check.
11887         * examples/pwg/Makefile.am:
11888           Fix buildbot.
11889
11890 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11891
11892         * configure.ac:
11893         * examples/Makefile.am:
11894         * examples/pwg/Makefile.am:
11895         * examples/pwg/extract.pl:
11896           Enable building the PWG examples.
11897         * docs/pwg/advanced-interfaces.xml:
11898           Add URI interface stub.
11899         * docs/pwg/advanced-types.xml:
11900         * docs/pwg/other-autoplugger.xml:
11901         * docs/pwg/appendix-porting.xml:
11902         * docs/pwg/pwg.xml:
11903           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11904         * docs/pwg/building-boiler.xml:
11905         * docs/pwg/building-chainfn.xml:
11906         * docs/pwg/building-pads.xml:
11907         * docs/pwg/building-props.xml:
11908         * docs/pwg/building-state.xml:
11909         * docs/pwg/building-testapp.xml:
11910           Update the building-*.xml parts for 0.9 changes. All examples
11911           code blocks compile in examples/pwg/*.
11912
11913 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11914
11915         * docs/manual/advanced-autoplugging.xml:
11916         * docs/manual/appendix-checklist.xml:
11917         * docs/manual/appendix-integration.xml:
11918         * docs/manual/highlevel-components.xml:
11919           Fix playbin/decodebin examples, update docs a bit, mention bus
11920           instead of signals in various places, mention kmplayer and
11921           kaffeine since they have a working GStreamer backend in the KDE
11922           section.
11923
11924 2005-06-30  Wim Taymans  <wim@fluendo.com>
11925
11926         * CHANGES-0.9:
11927         * docs/design/draft-ghostpads.txt:
11928         * docs/design/draft-push-pull.txt:
11929         * docs/design/draft-query.txt:
11930         * docs/design/part-TODO.txt:
11931         * docs/design/part-query.txt:
11932         Added CHANGES-0.9 doc, updated status of other docs.
11933         
11934         * gst/gstquery.h:
11935         Remove "hmm" macro
11936
11937 2005-06-30  Wim Taymans  <wim@fluendo.com>
11938
11939         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11940         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11941         (gst_base_sink_change_state):
11942         * gst/base/gstbasesink.h:
11943         Some tweaks, only EOS and a buffer complete a preroll.
11944
11945 2005-06-30  Andy Wingo  <wingo@pobox.com>
11946
11947         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11948         activate_push down to the internal pad as well.
11949
11950 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11951
11952         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11953
11954         * gst/gsttaginterface.c:
11955           Some documentation fixes (#307394 and #307397).
11956
11957 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11958
11959         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11960
11961         * gst/gstvalue.c: (gst_value_intersect_list):
11962           Fix memleak (#309125).
11963
11964 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11965
11966         * docs/manual/advanced-dataaccess.xml:
11967           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11968         * docs/manual/basics-pads.xml:
11969           Add reference for filtered caps to above chapter.
11970
11971 2005-06-30  Wim Taymans  <wim@fluendo.com>
11972
11973         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11974         (gst_bin_change_state):
11975         Probes are gone.
11976         Lame attempt at making the state change function a bit
11977         more readable.
11978
11979 2005-06-30  Wim Taymans  <wim@fluendo.com>
11980
11981         * docs/design/part-clocks.txt:
11982         * docs/design/part-element-sink.txt:
11983         * docs/design/part-events.txt:
11984         * docs/design/part-preroll.txt:
11985         * docs/design/part-states.txt:
11986         Some more tweeks and additions to the docs.
11987
11988 2005-06-30  Wim Taymans  <wim@fluendo.com>
11989
11990         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11991         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11992         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11993         (gst_pad_check_pull_range), (gst_pad_get_range),
11994         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11995         * gst/gstpad.h:
11996         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11997         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11998         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11999         (gst_pad_remove_buffer_probe):
12000         Removed atomic operations, use existing LOCK.
12001         Move exception handling out of main code path.
12002
12003 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12004
12005         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12006         (silly_return_true_function), (gst_pad_class_init),
12007         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
12008         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
12009         (gst_pad_send_event):
12010           Fix accumulator, add default value by using _emitv() instead
12011           of _emit() for signal emission.
12012
12013 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12014
12015         * docs/manual/advanced-dataaccess.xml:
12016         * examples/manual/Makefile.am:
12017           Add probe example.
12018         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
12019           Make work (??).
12020
12021 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
12022
12023         * gst/elements/gstfilesink.c: (gst_filesink_render):
12024           Simplify code so that we don't have to handle short
12025           writes and return GST_FLOW_ERROR if an error occured.
12026
12027 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12028
12029         * docs/gst/gstreamer-docs.sgml:
12030           Remove probes more.
12031
12032 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12033
12034         * docs/gst/gstreamer-sections.txt:
12035         * docs/gst/tmpl/gstpad.sgml:
12036         * docs/gst/tmpl/gstprobe.sgml:
12037         * gst/Makefile.am:
12038         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12039         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
12040         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12041         (gst_pad_push_event), (gst_pad_send_event):
12042         * gst/gstpad.h:
12043         * gst/gstutils.c: (gst_pad_add_data_probe),
12044         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12045         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12046         (gst_pad_remove_buffer_probe):
12047         * gst/gstutils.h:
12048           Remove old probes, add new g-signal-based probes and some utility
12049           functions.
12050
12051 2005-06-29  Edward Hervey  <edward@fluendo.com>
12052
12053         * gst/gstelementfactory.c:
12054         * gst/gstutils.h:
12055         * gst/gstutils.c:
12056         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
12057         the definition to the header file.
12058
12059 2005-06-29  Andy Wingo  <wingo@pobox.com>
12060
12061         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
12062         plugins from the source directory.
12063
12064 2005-06-29  Wim Taymans  <wim@fluendo.com>
12065
12066         * docs/gst/tmpl/gstbuffer.sgml:
12067         * docs/gst/tmpl/gstclock.sgml:
12068         Some fixings for blantently wrong text.
12069
12070 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12071
12072         * check/Makefile.am:
12073         * gst/gst.c: (add_path_func), (init_pre):
12074         * gst/gstregistry.c: (gst_registry_add_path):
12075           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
12076           only scan the GST_PLUGIN_PATH locations, and not add
12077           system locations
12078
12079 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12080
12081         * docs/gst/gstreamer-sections.txt:
12082         * docs/gst/tmpl/gstbasesrc.sgml:
12083         * gst/gstelement.c:
12084         * gst/gstelement.h:
12085         * gst/gstevent.c:
12086         * gst/gstutils.c:
12087           doc fixes
12088
12089 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12090
12091         * docs/manual/advanced-autoplugging.xml:
12092           Fix autoplugging example.
12093
12094 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12095
12096         * docs/manual/advanced-autoplugging.xml:
12097         * docs/manual/mime-world.fig:
12098           Try to get autoplugging working, fix type detection. Fix text
12099           in hello-world image.
12100
12101 2005-06-29  Wim Taymans  <wim@fluendo.com>
12102
12103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12104         (gst_base_sink_change_state):
12105         Small debug line.
12106
12107         * gst/gstclock.h:
12108         map SIGNAL and BROADCAST to the right function.
12109
12110         * gst/gstobject.h:
12111         Remove redundant braces.
12112
12113         * gst/gstpad.c: (gst_pad_set_caps):
12114         Don't call setcaps function when reseting caps to NULL.
12115
12116         * gst/gstsystemclock.c: (gst_system_clock_dispose),
12117         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
12118         (gst_system_clock_id_unschedule):
12119         Use BROADCAST as this is what we do.
12120
12121 2005-06-29  Wim Taymans  <wim@fluendo.com>
12122
12123         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12124         We are actually prerolling before commiting the state
12125         change. 
12126
12127 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12128
12129         * docs/manual/advanced-clocks.xml:
12130         * docs/manual/advanced-interfaces.xml:
12131         * docs/manual/advanced-metadata.xml:
12132         * docs/manual/advanced-position.xml:
12133         * docs/manual/advanced-schedulers.xml:
12134         * docs/manual/advanced-threads.xml:
12135         * docs/manual/appendix-porting.xml:
12136         * docs/manual/basics-bins.xml:
12137         * docs/manual/basics-bus.xml:
12138         * docs/manual/basics-elements.xml:
12139         * docs/manual/basics-helloworld.xml:
12140         * docs/manual/basics-pads.xml:
12141         * docs/manual/highlevel-components.xml:
12142         * docs/manual/manual.xml:
12143         * docs/manual/thread.fig:
12144           Update (until threads/scheduling) Application Development Manual;
12145           remove GstThread, add GstBus, add simple porting checklist, add
12146           documentation for tag writing, clocks, make all examples until this
12147           part compile and run.
12148         * examples/manual/Makefile.am:
12149           Update from changes to Application Development Manual; add bus
12150           example, remove thread example.
12151
12152 2005-06-28  Wim Taymans  <wim@fluendo.com>
12153
12154         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
12155         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
12156         (gst_bus_source_dispatch):
12157         Add debugging messages.
12158         Make internal methods static.
12159         Handle the case where the bus is flushed in the handler.
12160         
12161         * gst/gstelement.c: (gst_element_get_bus):
12162         Fix refcount in _get_bus();
12163
12164         * gst/gstpipeline.c: (gst_pipeline_change_state),
12165         (gst_pipeline_get_clock_func):
12166         Clock refcounting fixes.
12167         Handle the case where preroll timed out more gracefully.
12168         
12169         * gst/gstsystemclock.c: (gst_system_clock_dispose):
12170         Clean up the internal thread in dispose. This is needed
12171         for subclasses that actually get disposed.
12172         
12173         * gst/schedulers/threadscheduler.c:
12174         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12175         (gst_thread_scheduler_dispose):
12176         Free thread pool in dispose.
12177
12178 2005-06-28  Andy Wingo  <wingo@pobox.com>
12179
12180         * tests/network-clock-utils.scm (debug, print-event): New utils.
12181
12182         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
12183         (*packet-loss*): Unified loss probability.
12184         (network-time): Report out-of-band events.
12185
12186         * tests/plot-data: Add support for out-of-band events. Hack it
12187         into this script instead of passing it down the pipe; should fix
12188         this later.
12189
12190 2005-06-28  Wim Taymans  <wim@fluendo.com>
12191
12192         * docs/gst/gstreamer.types:
12193         * docs/gst/tmpl/gstbasesrc.sgml:
12194         * docs/gst/tmpl/gstpad.sgml:
12195         Docs fixes.
12196
12197 2005-06-28  Wim Taymans  <wim@fluendo.com>
12198
12199         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12200         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
12201         (gst_proxy_pad_do_fixatecaps):
12202         Correctly proxy the check_pull_range function.
12203
12204 2005-06-28  Andy Wingo  <wingo@pobox.com>
12205
12206         * tests/network-clock.scm: Removed need for slib.
12207         
12208 2005-06-28  Wim Taymans  <wim@fluendo.com>
12209
12210         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
12211         (gst_basesink_preroll_queue_flush):
12212         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
12213         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
12214         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12215         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12216         (gst_proxy_pad_set_property):
12217         * gst/gstpad.c:
12218         * gst/gstpad.h:
12219         * gst/gstqueue.c: (gst_queue_init):
12220         The deprecated pad loop function is removed now.
12221
12222 2005-06-28  Andy Wingo  <wingo@pobox.com>
12223
12224         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
12225         New parameters, simulate network packet loss.
12226
12227         * tests/network-clock-utils.scm: Initialize the RNG.
12228
12229 2005-06-28  Wim Taymans  <wim@fluendo.com>
12230
12231         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
12232         (gst_basesink_event), (gst_basesink_deactivate):
12233         Flushing the preroll queue always needs to unlock the waiters.
12234
12235 2005-06-28  Edward Hervey  <edward@fluendo.com>
12236
12237         * gst/gstpipeline.c: (gst_pipeline_send_event): 
12238         Wheen a seek was successful on a pipeline, set the stream_time to the
12239         seek offset in order to have a synchronized stream_time.
12240
12241 2005-06-28  Wim Taymans  <wim@fluendo.com>
12242
12243         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12244         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12245         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
12246         (gst_proxy_pad_do_fixatecaps):
12247         Call wrapper function instead of just calling the function
12248         pointers. This takes care of any locking and whatmore.
12249
12250 2005-06-28  Wim Taymans  <wim@fluendo.com>
12251
12252         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
12253         (gst_pad_pull_range):
12254         * gst/gstpad.h:
12255         CONNECTED -> LINKED.
12256
12257 2005-06-28  Andy Wingo  <wingo@pobox.com>
12258
12259         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
12260         source-munging commit!!!
12261
12262         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
12263         (gst_object_sink): Take gpointer arguments, not GstObject --
12264         avoids casts. Like GLib.
12265
12266         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
12267         activate.
12268
12269 2005-06-27  Andy Wingo  <wingo@pobox.com>
12270
12271         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
12272         remaining buffer.
12273
12274         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
12275         returns a sorted copy of the trace list.
12276         (gst_alloc_trace_print_live): New API, only prints traces with
12277         live objects. Sort the list.
12278         (gst_alloc_trace_print_all): Sort the list.
12279         (gst_alloc_trace_print): Align columns.
12280
12281         * gst/elements/gstttypefindelement.c:
12282         * gst/elements/gsttee.c:
12283         * gst/base/gstbasesrc.c:
12284         * gst/base/gstbasesink.c:
12285         * gst/base/gstbasetransform.c:
12286         * gst/gstqueue.c: Adapt for pad activation changes.
12287
12288         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
12289         sched.
12290         (gst_pipeline_dispose): Drop ref on sched.
12291
12292         * gst/gstpad.c (gst_pad_init): Set the default activate func.
12293         (gst_pad_activate_default): Push mode by default.
12294         (pre_activate_switch, post_activate_switch): New stubs, things to
12295         do before and after switching activation modes on pads.
12296         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
12297         the pad's activate function to choose which mode to activate.
12298         Shortcut on deactivation and call the right function directly.
12299         (gst_pad_activate_pull): New API, (de)activates a pad in pull
12300         mode.
12301         (gst_pad_activate_push): New API, same for push mode.
12302         (gst_pad_set_activate_function) 
12303         (gst_pad_set_activatepull_function) 
12304         (gst_pad_set_activatepush_function): Setters for new API.
12305
12306         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
12307         Trace all miniobjects.
12308         (gst_mini_object_make_writable): Unref the arg if we copy, like
12309         gst_caps_make_writable.
12310
12311         * gst/gstmessage.c (_gst_message_initialize): No trace init.
12312
12313         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
12314         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
12315         Adapt for new pad API.
12316
12317         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
12318
12319         * gst/gstelement.h:
12320         * gst/gstelement.c (gst_element_iterate_src_pads) 
12321         (gst_element_iterate_sink_pads): New API functions.
12322         
12323         * gst/gstelement.c (iterator_fold_with_resync): New utility,
12324         should fold into gstiterator.c in some form.
12325         (gst_element_pads_activate): Simplified via use of fold and
12326         delegation of decisions to gstpad->activate.
12327
12328         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
12329         help in debugging.
12330
12331         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
12332         class once in init, like gstmessage. Didn't run into this issue
12333         but it seems correct. Don't initialize a trace, gstminiobject does
12334         that.
12335
12336         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
12337         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
12338         to the bus.
12339         (assert_live_count): New util function, uses alloc traces to check
12340         cleanup.
12341
12342         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
12343         To be modified when unlink drops the internal pad.
12344
12345 2005-06-27  Wim Taymans  <wim@fluendo.com>
12346
12347         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
12348         (gst_bin_change_state):
12349         Cleanup the get_state() function a little, make sure it
12350         iterates the same set of elements.
12351         Added stub iterate_state_order().
12352
12353 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12354
12355         * docs/gst/gstreamer-docs.sgml:
12356         * docs/gst/gstreamer-sections.txt:
12357         * docs/gst/gstreamer.types:
12358         * docs/gst/tmpl/gstbasesink.sgml:
12359         * docs/gst/tmpl/gstbasesrc.sgml:
12360         * docs/gst/tmpl/gstbasetransform.sgml:
12361         * docs/gst/tmpl/gstelement.sgml:
12362         * docs/gst/tmpl/gstiterator.sgml:
12363         * gst/base/gstbasesrc.c:
12364         * gst/base/gstbasesrc.h:
12365         * gst/base/gstbasetransform.h:
12366         * gst/gstelement.c:
12367         * gst/gstiterator.h:
12368           adding basetransform and iterator docs
12369
12370 2005-06-27  Andy Wingo  <wingo@pobox.com>
12371
12372         * docs/design/part-activation.txt: Notes on how activation should
12373         work -- not quite implemented yet.
12374
12375 2005-06-25  Wim Taymans  <wim@fluendo.com>
12376
12377         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
12378         At least get the chain function correct, needs more
12379         fixing.
12380
12381 2005-06-25  Wim Taymans  <wim@fluendo.com>
12382
12383         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12384         (gst_basesink_handle_object), (gst_basesink_event),
12385         (gst_basesink_do_sync), (gst_basesink_handle_event),
12386         (gst_basesink_change_state):
12387         * gst/gsttask.h:
12388         Right, two problems here: ghostpads don't take locks and
12389         glib _rec_mutex_lock_full() with depth==0 still locks.
12390         Catch illegal locking and g_warn them.
12391
12392 2005-06-25  Wim Taymans  <wim@fluendo.com>
12393
12394         * check/states/sinks.c: (START_TEST), (gst_object_suite):
12395         Have to check for completion now...
12396
12397 2005-06-25  Wim Taymans  <wim@fluendo.com>
12398
12399         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12400         (gst_basesink_handle_object), (gst_basesink_event),
12401         (gst_basesink_do_sync), (gst_basesink_handle_event),
12402         (gst_basesink_change_state):
12403         * gst/gstpad.h:
12404         Unlock STREAM_LOCK whatever the recursion was.
12405
12406 2005-06-25  Wim Taymans  <wim@fluendo.com>
12407
12408         * gst/base/gstbasesink.c: (gst_basesink_set_property),
12409         (gst_basesink_preroll_queue_empty),
12410         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
12411         (gst_basesink_event), (gst_basesink_do_sync),
12412         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
12413         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
12414         (gst_basesink_change_state):
12415         Reworked the base sink, handle event and buffer serialisation
12416         correctly and removed possible deadlock.
12417         Handle EOS correctly.
12418
12419 2005-06-25  Wim Taymans  <wim@fluendo.com>
12420
12421         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
12422         (gst_pipeline_change_state):
12423         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12424         Allow elements to post EOS in the state change function.
12425         Fix up -launch, make it exit the poll loop when the
12426         pipeline actually changed state.
12427         Fix up warning parsing in -launch.
12428
12429 2005-06-25  Wim Taymans  <wim@fluendo.com>
12430
12431         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
12432         (gst_tee_sink_activate):
12433         Core takes STREAM_LOCK for us now.
12434
12435 2005-06-25  Wim Taymans  <wim@fluendo.com>
12436
12437         * gst/gstelement.c: (gst_element_get_state_func),
12438         (gst_element_set_state):
12439         * gst/gstelement.h:
12440         * gst/gstmessage.c: (gst_message_parse_error),
12441         (gst_message_parse_warning):
12442         Keep track of current target state while performing a state
12443         change so that subclasses can do something interesting.
12444         Fix parsing of warning/error messages when GError is NULL.
12445
12446 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12447
12448         * docs/gst/Makefile.am:
12449         * docs/gst/gstreamer-docs.sgml:
12450         * docs/gst/gstreamer-sections.txt:
12451         * docs/gst/gstreamer.types:
12452         * docs/gst/tmpl/gstbasesink.sgml:
12453         * docs/gst/tmpl/gstbasesrc.sgml:
12454         * docs/gst/tmpl/gstbin.sgml:
12455         * docs/gst/tmpl/gstcompat.sgml:
12456         * docs/gst/tmpl/gstfakesink.sgml:
12457         * docs/gst/tmpl/gstfakesrc.sgml:
12458         * docs/gst/tmpl/gstfilesink.sgml:
12459         * docs/gst/tmpl/gstfilesrc.sgml:
12460         * docs/gst/tmpl/gstindex.sgml:
12461         * docs/manual/appendix-quotes.xml:
12462         * gst/base/gstbasesrc.h:
12463         * gst/elements/gstfakesrc.h:
12464         * gst/gstmessage.h:
12465           start pulling in base classes and elements in our docs
12466
12467 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
12468
12469         * docs/gst/Makefile.am:
12470         * docs/libs/Makefile.am:
12471           fixed make distcheck with gtk-doc 1.3
12472
12473 2005-06-23  Wim Taymans  <wim@fluendo.com>
12474
12475         * gst/gstelement.c: (gst_element_get_state_func),
12476         (gst_element_set_state), (gst_element_change_state):
12477         When the state did not change, also report NO_PREROLL
12478         when it matters.
12479
12480 2005-06-23  Wim Taymans  <wim@fluendo.com>
12481
12482         * gst/gstpad.c: (gst_pad_event_default):
12483         * gst/gstqueue.c: (gst_queue_loop):
12484         No unsafe task pausing please.
12485
12486 2005-06-23  Wim Taymans  <wim@fluendo.com>
12487
12488         * gst/schedulers/threadscheduler.c:
12489         (gst_thread_scheduler_task_start),
12490         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
12491         Ref the task before pushing it on the threadpool. This
12492         makes sure that we have a ref when the threadfunction is
12493         actually called.
12494
12495 2005-06-23  Andy Wingo  <wingo@pobox.com>
12496
12497         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
12498         offset is greater than the file's size.
12499
12500         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
12501         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
12502         * gst/gstobject.c (gst_object_class_init): Make the class lock
12503         recursive. Wim won't let me drop deep_notify. Decodebin works
12504         again, whoopdy doo.
12505
12506         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
12507         internal pad, and hacks accordingly. Doesn't do it on the target
12508         pad because we change its caps. Probably catches all cases of
12509         interest tho.
12510         (gst_ghost_pad_set_property): Connect to notify::caps as
12511         appropritate.
12512
12513         * tests/network-clock.scm (plot-simulation): Pipe data to the
12514         elite python skript.
12515
12516         * tests/network-clock-utils.scm (define-parameter): New macro,
12517         defines a parameter that can be set via the command line.
12518         (set-parameter!, parse-parameter-arguments): Command line args
12519         parser.
12520
12521         * tests/plot-data: Simple matplotlib-based plotter, takes input on
12522         stdin.
12523
12524 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
12525
12526         * gst/elements/gsttypefindelement.c:
12527         (gst_type_find_element_handle_event):
12528           Don't restart typefinding on a discont.
12529         * gst/gstelement.c: (gst_element_set_state):
12530           Debug spelling fix.
12531         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
12532           Allow changing mode of an active pad.
12533           Debug output fixes.
12534         * gst/registries/gstlibxmlregistry.c: (load_feature):
12535           Don't cast a static pad template to a normal pad template.
12536
12537 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12538
12539         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12540         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12541           remove gst_strtoll completely, since it didn't actually do
12542           anything more than what g_ascii_strtoull already does.
12543           check for range errors when deserializing
12544           do a cast for the unsigned cases; but further fixing needs
12545           a decision on what the interpretation of "(int)" and
12546           deserialization should be for values that fall outside the
12547           type's boundaries (ie, refuse, or interpret as casting)
12548
12549 2005-06-23  Wim Taymans  <wim@fluendo.com>
12550
12551         * check/Makefile.am:
12552         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
12553         * docs/design/part-live-source.txt:
12554         * docs/design/part-states.txt:
12555         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12556         (gst_basesrc_set_live), (gst_basesrc_is_live),
12557         (gst_basesrc_get_range), (gst_basesrc_activate),
12558         (gst_basesrc_change_state):
12559         * gst/base/gstbasesrc.h:
12560         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12561         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12562         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
12563         * gst/gstelement.c: (gst_element_get_state_func),
12564         (gst_element_set_state):
12565         * gst/gstelement.h:
12566         * gst/gsttypes.h:
12567         * tools/gst-launch.c: (event_loop), (main):
12568         Added support for live sources and other elements that
12569         cannot do preroll.
12570         Updated design docs, added live-source design doc.
12571         Implemented live source functionality in basesrc
12572         Fix error condition in _bin_get_state()
12573         Implement live source handling in -launch.
12574         Added check for live sources.
12575         Fixed case in GstBin where elements were changed state
12576         multiple times.
12577
12578
12579 2005-06-23  Andy Wingo  <wingo@pobox.com>
12580
12581         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
12582         borken refcounting.
12583
12584         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
12585         gst_caps_replace takes care of this for us.
12586
12587         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
12588         gst_pad_set_caps on the target, not just its setcaps() function.
12589
12590         * tests/network-clock.scm: 
12591         * tests/network-clock-utils.scm: A network clock simulator.
12592         Something of an algorithmic testbed before doing something in C.
12593
12594 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12595
12596         * check/Makefile.am:
12597         * check/gst/capslist.h:
12598           copy over from 0.8, and add two with bitmasks specified with
12599           (int) 0xFF...
12600         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12601           add test to parse everything from capslist.h
12602         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
12603         (main):
12604           add test for structure deserialization
12605         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12606           add tests for deserialization of strings to int types
12607         * gst/gststructure.c: (gst_structure_nth_field_name):
12608         * gst/gststructure.h:
12609           add a way to get the name of a field referenced by index
12610         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12611           instead of checking if the resulting long long lies between
12612           min and max, we check if the long long would fit into
12613           a number of bytes for the final type.
12614           This fixes cases where a string represents 2^32 - 1, which
12615           when cast to int would be the (valid) -1, but is bigger than
12616           G_MAXINT
12617
12618 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12619
12620         * gst/parse/grammar.y:
12621           add a log line for type deserialization
12622
12623 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12624
12625         * check/gst/gstvalue.c: (START_TEST):
12626         * gst/gstvalue.c: (gst_value_deserialize):
12627           return long long, not int, so gint64 deserialization actually
12628           works.  Is there any flag that makes the compiler check this ?
12629           Fixes #308559
12630
12631 2005-06-22  Wim Taymans  <wim@fluendo.com>
12632
12633         * gst/gstbuffer.h:
12634         Added convenience macros for setting buffers in GValue.
12635
12636 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12637
12638         * check/gst/.cvsignore:
12639         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12640           add a test deserializing int64, and comment part out because
12641           it fails, yay !
12642
12643 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12644
12645         * check/Makefile.am:
12646         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
12647         * testsuite/Makefile.am:
12648         * testsuite/caps/Makefile.am:
12649         * testsuite/caps/value_serialize.c:
12650         * testsuite/test_gst_init.c:
12651           move a value_serialize test over
12652
12653 2005-06-20  Wim Taymans  <wim@fluendo.com>
12654
12655         * gst/gstpad.c:
12656         Small doc updates.
12657         
12658         * gst/gstvalue.c: (gst_value_compare_buffer),
12659         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
12660         (gst_value_compare_flags), (gst_value_serialize_flags),
12661         (gst_value_deserialize_flags), (_gst_value_initialize):
12662         Fix serialisation of buffers, they are not boxed types anymore
12663
12664 2005-06-20  Wim Taymans  <wim@fluendo.com>
12665
12666         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12667         Testcase to show error in buffer-on-caps serialisation.
12668
12669 2005-06-20  Andy Wingo  <wingo@pobox.com>
12670
12671         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
12672         will be adding to later.
12673
12674         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
12675         if its socks fill with rocks.
12676         (gst_system_clock_obtain): Set the name on object construction.
12677         Avoid double-checked locking.
12678
12679 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
12680
12681         * gst/gsturi.c: (gst_element_make_from_uri):
12682           Fix potential endless loop.
12683
12684 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12685
12686         * check/Makefile.am:
12687           add gsttag
12688         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
12689         (main):
12690           move over from testsuite dir and clean up
12691         * configure.ac:
12692         * gst/gsttag.c:
12693         * testsuite/Makefile.am:
12694         * testsuite/tags/.cvsignore:
12695         * testsuite/tags/Makefile.am:
12696         * testsuite/tags/merge.c:
12697           remove testsuite/tags
12698
12699 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12700
12701         * docs/gst/gstreamer-sections.txt:
12702         * docs/gst/tmpl/gstenumtypes.sgml:
12703         * win32/gstenumtypes.c:
12704           clean up documentation build a little
12705
12706 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12707
12708         * check/gstcheck.h:
12709           add macros for checking refcounts on objects and caps
12710         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
12711           add some more unit tests
12712         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12713         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
12714           fix leaked refcounts (I hope :)) so unittest works
12715         * gst/gstpad.h:
12716           whitespace removal
12717
12718 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12719
12720         * configure.ac: back to HEAD
12721
12722 === release 0.9.1 ===
12723
12724 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12725
12726         * NEWS:
12727         * RELEASE:
12728           updated
12729
12730 2005-06-17  Andy Wingo  <wingo@pobox.com>
12731
12732         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
12733         assert; it's always possible that the pad gets deactivated in
12734         between the checks in gstpad.c and the implementation. Rely on
12735         finish_preroll() to return a FLUSHING or similar instead of on the
12736         assert.
12737         
12738         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
12739         clock and post an EOS message if we come out of finish_preroll in
12740         the playing state.
12741
12742 2005-06-16  David Schleef  <ds@schleef.org>
12743
12744         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12745         (gst_capsfilter_set_property): Allow NULL as possible value
12746         for filter_caps property, indicating GST_CAPS_ANY.
12747
12748 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12749
12750         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
12751           fix debug output
12752         * gst/schedulers/Makefile.am:
12753           use libgst prefix
12754         * gstreamer.spec.in:
12755           fix spec for it
12756
12757 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12758
12759         * gstreamer.spec.in:
12760           clean up
12761
12762 2005-06-08  Andy Wingo  <wingo@pobox.com>
12763
12764         * gst/gstutils.c: RPAD fixes all around.
12765         (gst_element_link_pads): Refcounting fixes.
12766
12767         * tools/gst-inspect.c:
12768         * tools/gst-xmlinspect.c:
12769         * parse/grammar.y:
12770         * gst/base/gsttypefindhelper.c:
12771         * gst/base/gstbasesink.c:
12772         * gst/gstqueue.c: RPAD fixes.
12773
12774         * gst/gstghostpad.h:
12775         * gst/gstghostpad.c: New ghost pad implementation as full proxy
12776         pads. The tricky thing is they provide both source and sink
12777         interfaces, since they proxy the internal pad for the external
12778         pad, and vice versa. Implement with lower-level ProxyPad objects,
12779         with the interior proxy pad as a child of the exterior ghost pad.
12780         Should write a doc on this.
12781         
12782         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
12783         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
12784         gst_object API.
12785         
12786         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
12787         pads are real pads. No ghost pads in this file. Not documenting
12788         the myriad s/RPAD/PAD/ and REALIZE fixes.
12789         (gst_pad_class_init): Add properties for "direction" and
12790         "template". Both are construct-only, so they can't change during
12791         the life of the pad. Fixes properly deriving from GstPad.
12792         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
12793         derived objects, just set properties when creating the objects via
12794         g_object_new.
12795         (gst_pad_get_parent): Implement as a function, return NULL if the
12796         parent is not an element.
12797         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
12798         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
12799         
12800         * gst/gstobject.c (gst_object_class_init): Make name a construct
12801         property. Don't set it in the object init.
12802
12803         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
12804         with UNKNOWN direction.
12805         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
12806         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
12807         (gst_element_remove_pad): Remove ghost-pad special cases.
12808         (gst_element_pads_activate): Remove rpad cruft.
12809
12810         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
12811         catch the pad's-parent-not-an-element case.
12812
12813         * gst/gst.h: Include gstghostpad.h.
12814
12815         * gst/gst.c (init_post): No more real, ghost pads.
12816
12817         * gst/Makefile.am: Add gstghostpad.[ch].
12818
12819         * check/Makefile.am:
12820         * check/gst/gstbin.c:
12821         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
12822         into a bin creates ghost pads, and that the refcounts are right.
12823         Partly moved from gstbin.c.
12824
12825 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12826
12827         * check/gst-libs/.cvsignore:
12828         * check/gst/.cvsignore:
12829         * check/pipelines/.cvsignore:
12830           ignore more
12831         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
12832         (START_TEST), (cleanup_suite), (main):
12833           add some tests related to cleanup after running pipelines
12834
12835 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12836
12837         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
12838           add a testsuite for GstBuffer
12839
12840 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12841
12842         * gst/gstminiobject.h:
12843           add defines for accessing the refcount
12844
12845 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
12846
12847         * Makefile.am: added support for html unit test coverage reports
12848
12849 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12850
12851         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12852           Free existing caps if the capsfilter changes. Add a FIXME about
12853           setting those caps on the pads.
12854
12855         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12856           Before adding a ghost pad to a parent bin, check that there isn't
12857           already one for the element on the bin. Prevents infinite recursion
12858           when using decodebin in parse pipelines. Andy says he'll rewrite the
12859           way this works anyway, so ignore the hack.
12860
12861 2005-06-02  Andy Wingo  <wingo@pobox.com>
12862
12863         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12864         file size, pass it on to the type find helper.
12865
12866         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12867         segment_start and segment_end properly according to the seek
12868         method. Segment_end is still a bit flaky because offset can be
12869         negative for CUR and END cases, but it takes -1 as an "unset"
12870         value.
12871
12872 2005-06-02  Wim Taymans  <wim@fluendo.com>
12873
12874         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12875         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12876         (gst_basesink_activate):
12877         * gst/base/gstbasesink.h:
12878         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12879         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12880         (gst_pad_query), (gst_pad_start_task):
12881         * gst/gstpad.h:
12882         * gst/gstqueue.c: (gst_queue_bufferalloc),
12883         (gst_queue_handle_sink_event), (gst_queue_chain):
12884         Bufferalloc: return GstFlowReturn to more accuratly report
12885         why allocation failed.
12886
12887 2005-06-02  Wim Taymans  <wim@fluendo.com>
12888
12889         * gst/gstpipeline.c: (gst_pipeline_send_event):
12890         Take snapshot of state without blocking.
12891
12892 2005-06-02  Wim Taymans  <wim@fluendo.com>
12893
12894         * docs/design/part-TODO.txt:
12895         * docs/design/part-caps.txt:
12896         * docs/design/part-clocks.txt:
12897         * docs/design/part-negotiation.txt:
12898         * docs/design/part-preroll.txt:
12899         Small doc updates 
12900
12901 2005-05-30  Wim Taymans  <wim@fluendo.com>
12902
12903         * gst/elements/gstidentity.c: (gst_identity_event),
12904         (gst_identity_transform), (gst_identity_get_property):
12905         Protect last_message property as it is accessed from
12906         multiple threads.
12907
12908 2005-05-30  Wim Taymans  <wim@fluendo.com>
12909
12910         * gst/gstelement.c: (gst_element_init),
12911         (gst_element_pads_activate), (gst_element_change_state):
12912         Slicker pad activation code.
12913
12914 2005-05-30  Wim Taymans  <wim@fluendo.com>
12915
12916         * gst/Makefile.am:
12917         * gst/gstelement.h:
12918         * gst/gstelementfactory.h:
12919         * gst/gsttypes.h:
12920         Move elementfactory methods to separate .h file.
12921
12922 2005-05-30  Wim Taymans  <wim@fluendo.com>
12923
12924         * docs/design/part-overview.txt:
12925         * gst/gstsystemclock.h:
12926         Small typo fixes, doc updates.
12927
12928 2005-05-30  Wim Taymans  <wim@fluendo.com>
12929
12930         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12931         (init_popt_callback):
12932         Remove cpu-opt flag.
12933
12934 2005-05-30  Wim Taymans  <wim@fluendo.com>
12935
12936         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12937         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12938         * gst/gstbuffer.h:
12939         Avoid typechecking in places where not needed.
12940         Added accessor for malloc_data.
12941
12942 2005-05-30  Wim Taymans  <wim@fluendo.com>
12943
12944         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12945         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12946         (gst_pad_configure_sink), (gst_pad_configure_src),
12947         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12948         (gst_pad_start_task):
12949         Propagate errors from _set_caps() in configure_src/sink
12950         functions instead of returning TRUE.
12951         FLUSH events can travel up and downstream
12952
12953
12954 2005-05-30  Wim Taymans  <wim@fluendo.com>
12955
12956         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12957         (gst_basesink_activate):
12958         Handle EOS in preroll.
12959
12960 2005-05-30  Wim Taymans  <wim@fluendo.com>
12961
12962         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12963         (gst_queue_loop), (gst_queue_handle_src_event):
12964         Remove old pieces of code
12965         Flushing the queue in an upstream event is a very bad idea.
12966
12967 2005-05-26  Andy Wingo  <wingo@pobox.com>
12968
12969         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12970         gst_value_set_mini_object so as to add a ref on the object (which
12971         will be removed when the value is unset).
12972
12973         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12974         arg type in ::handoff.
12975
12976         * gst/gstelement.c (gst_element_change_state): Also deactivate
12977         pads in READY->NULL, just in case the element didn't make it to
12978         PAUSED. Wingo tested, Wim approved.
12979
12980 2005-05-26  Wim Taymans  <wim@fluendo.com>
12981
12982         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12983         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12984         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12985         A flushing pad cannot be used to alloc_buffer from.
12986
12987 2005-05-26  Wim Taymans  <wim@fluendo.com>
12988
12989         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12990         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12991         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12992         (gst_bus_create_watch), (gst_bus_add_watch_full):
12993         * gst/gstbus.h:
12994         Implement a real GSource and use g_main_context_wakeup() to
12995         signal new messages instead of the socketpair.
12996
12997 2005-05-25  Wim Taymans  <wim@fluendo.com>
12998
12999         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
13000         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
13001         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13002         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13003         (gst_pad_send_event), (gst_pad_start_task):
13004         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
13005         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13006         (gst_queue_sink_activate), (gst_queue_src_activate),
13007         (gst_queue_change_state):
13008         * gst/gstqueue.h:
13009         Fix state changes for non sinks. We now change sinks, then elements
13010         with unconnected srcpads, then the rest.
13011         More efficient queue unlocking in flush and state changes.
13012         Set the pad activate mode even if it does not have an activate
13013         function.
13014
13015 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13016
13017         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
13018           Don't go in pull mode for non-seekable sources.
13019         * gst/elements/gsttypefindelement.h:
13020         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13021         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
13022         (free_entry), (stop_typefinding),
13023         (gst_type_find_element_handle_event), (find_peek),
13024         (gst_type_find_element_chain), (do_pull_typefind),
13025         (gst_type_find_element_change_state):
13026           Allow typefinding (w/o seeking) in push-mode, simplified version
13027           of what was in 0.8.
13028         * gst/gstutils.c: (gst_buffer_join):
13029         * gst/gstutils.h:
13030           gst_buffer_join() from 0.8.
13031
13032 2005-05-25  Wim Taymans  <wim@fluendo.com>
13033
13034         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13035         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13036         (gst_pad_send_event), (gst_pad_start_task):
13037         Disable attempt at mode switching until it is figured out.
13038
13039 2005-05-25  Wim Taymans  <wim@fluendo.com>
13040
13041         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
13042         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13043         (gst_basesink_finish_preroll), (gst_basesink_chain),
13044         (gst_basesink_loop), (gst_basesink_activate),
13045         (gst_basesink_change_state):
13046         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
13047         (gst_basesrc_get_range), (gst_basesrc_loop),
13048         (gst_basesrc_activate):
13049         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13050         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13051         (gst_real_pad_init), (gst_real_pad_set_property),
13052         (gst_real_pad_get_property), (gst_pad_set_active),
13053         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
13054         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
13055         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
13056         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
13057         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13058         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
13059         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
13060         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13061         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
13062         (gst_pad_stop_task):
13063         * gst/gstpad.h:
13064         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13065         (gst_queue_loop), (gst_queue_src_activate):
13066         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
13067         (gst_task_get_state):
13068         * gst/gsttask.h:
13069         * gst/schedulers/threadscheduler.c:
13070         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
13071         Implement gst_pad_pause/start/stop_task(), take STREAM lock
13072         in task function.
13073         Remove ACTIVE pad flag, use FLUSHING everywhere
13074         Added _pad_chain(), _pad_get_range() to call chain/getrange 
13075         functions.
13076         Add locks around IS_FLUSHING when reading.
13077         Take STREAM lock in chain(), get_range() functions so plugins
13078         don't need to take it anymore.
13079         
13080
13081
13082 2005-05-25  Wim Taymans  <wim@fluendo.com>
13083
13084         * tools/gst-launch.c: (event_loop):
13085         Unref message after using its contents instead of
13086         before.
13087
13088 2005-05-24  Wim Taymans  <wim@fluendo.com>
13089
13090         * docs/design/draft-ghostpads.txt:
13091         * docs/design/draft-push-pull.txt:
13092         * docs/design/draft-query.txt:
13093         * docs/design/part-overview.txt:
13094         Docs updates, added general overview doc.
13095
13096 2005-05-21  David Schleef  <ds@schleef.org>
13097
13098         * docs/gst/tmpl/old/GstBin.sgml:
13099         * docs/gst/tmpl/old/GstBuffer.sgml:
13100         * docs/gst/tmpl/old/GstCaps.sgml:
13101         * docs/gst/tmpl/old/GstClock.sgml:
13102         * docs/gst/tmpl/old/GstCompat.sgml:
13103         * docs/gst/tmpl/old/GstData.sgml:
13104         * docs/gst/tmpl/old/GstElement.sgml:
13105         * docs/gst/tmpl/old/GstEvent.sgml:
13106         * docs/gst/tmpl/old/GstIndex.sgml:
13107         * docs/gst/tmpl/old/GstStructure.sgml:
13108         * docs/gst/tmpl/old/GstTag.sgml:
13109         * docs/gst/tmpl/old/cothreads.sgml:
13110         * docs/gst/tmpl/old/cothreads_compat.sgml:
13111         * docs/gst/tmpl/old/gettext.sgml:
13112         * docs/gst/tmpl/old/gobject2gtk.sgml:
13113         * docs/gst/tmpl/old/grammar.tab.sgml:
13114         * docs/gst/tmpl/old/gst-i18n-app.sgml:
13115         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
13116         * docs/gst/tmpl/old/gst_private.sgml:
13117         * docs/gst/tmpl/old/gstaggregator.sgml:
13118         * docs/gst/tmpl/old/gstarch.sgml:
13119         * docs/gst/tmpl/old/gstatomic_impl.sgml:
13120         * docs/gst/tmpl/old/gstbufferstore.sgml:
13121         * docs/gst/tmpl/old/gstdata_private.sgml:
13122         * docs/gst/tmpl/old/gstdisksink.sgml:
13123         * docs/gst/tmpl/old/gstdisksrc.sgml:
13124         * docs/gst/tmpl/old/gstelementfactory.sgml:
13125         * docs/gst/tmpl/old/gstextratypes.sgml:
13126         * docs/gst/tmpl/old/gstfakesink.sgml:
13127         * docs/gst/tmpl/old/gstfakesrc.sgml:
13128         * docs/gst/tmpl/old/gstfdsink.sgml:
13129         * docs/gst/tmpl/old/gstfdsrc.sgml:
13130         * docs/gst/tmpl/old/gstfilesink.sgml:
13131         * docs/gst/tmpl/old/gstfilesrc.sgml:
13132         * docs/gst/tmpl/old/gsthttpsrc.sgml:
13133         * docs/gst/tmpl/old/gstidentity.sgml:
13134         * docs/gst/tmpl/old/gstindexfactory.sgml:
13135         * docs/gst/tmpl/old/gstmarshal.sgml:
13136         * docs/gst/tmpl/old/gstmd5sink.sgml:
13137         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
13138         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
13139         * docs/gst/tmpl/old/gstpadtemplate.sgml:
13140         * docs/gst/tmpl/old/gstpipefilter.sgml:
13141         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
13142         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
13143         * docs/gst/tmpl/old/gstshaper.sgml:
13144         * docs/gst/tmpl/old/gstspider.sgml:
13145         * docs/gst/tmpl/old/gstspideridentity.sgml:
13146         * docs/gst/tmpl/old/gststatistics.sgml:
13147         * docs/gst/tmpl/old/gsttee.sgml:
13148         * docs/gst/tmpl/old/gsttimecache.sgml:
13149         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
13150         * docs/gst/tmpl/old/gstxmlregistry.sgml:
13151         * docs/gst/tmpl/old/gthread-cothreads.sgml:
13152         * docs/gst/tmpl/old/types.sgml:
13153           I didn't intend to add these or check them in.
13154
13155 2005-05-19  David Schleef  <ds@schleef.org>
13156
13157         * configure.ac: Use -no-common everywhere.  In a sane world, it
13158           would be the default in libtool, because without it, you can't
13159           build DLLs on Windows.
13160         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
13161         * docs/gst/gstreamer-sections.txt:
13162         * docs/gst/tmpl/gstcpu.sgml:
13163         * docs/gst/tmpl/gstdata.sgml:
13164         * docs/gst/tmpl/gstthread.sgml:
13165
13166 2005-05-19  David Schleef  <ds@schleef.org>
13167
13168         * gst/gstminiobject.c: (gst_value_set_mini_object),
13169         (gst_value_take_mini_object), (gst_value_get_mini_object):
13170         * gst/gstminiobject.h: Add GValue set/get functions.
13171
13172 2005-05-19  Wim Taymans  <wim@fluendo.com>
13173
13174         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
13175         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
13176         (gst_subbuffer_init), (gst_buffer_is_span_fast):
13177         * gst/gstbuffer.h:
13178         * gst/gstbus.c: (gst_bus_post):
13179         * gst/gstelement.c: (gst_element_get_random_pad):
13180         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
13181         Make subbufer unref the parent in finalize.
13182         some more debugging info.
13183
13184
13185 2005-05-19  Wim Taymans  <wim@fluendo.com>
13186
13187         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13188         (gst_basesink_init), (gst_basesink_finalize),
13189         (gst_basesink_activate), (gst_basesink_change_state):
13190         Don't free preroll queue too early.
13191
13192 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13193
13194         * gst/Makefile.am:
13195         * gst/ROADMAP:
13196           Hi, I'm outdated. Please shoot me.
13197
13198 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13199
13200         * gst/gstpipeline.c: (gst_pipeline_send_event):
13201           Do not access variables after they have been deleted.
13202
13203 2005-05-19  Wim Taymans  <wim@fluendo.com>
13204
13205         * tools/gst-inspect.c: (print_plugin_features):
13206         A plugin feature does unfortunatly not use the
13207         object name yet...
13208
13209 2005-05-18  Wim Taymans  <wim@fluendo.com>
13210
13211         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
13212         Port _span() functions to new subbuffers.
13213
13214 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13215
13216         * gst/gstbin.c: (gst_bin_add_func):
13217           Fix clock settery in bins when adding kids after the clock has
13218           been selected.
13219
13220 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13221
13222         * gst/elements/gstidentity.c: (gst_identity_class_init):
13223           Workaround until signals support GstMiniObject.
13224
13225 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13226
13227         * gst/gstbuffer.c:
13228         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
13229
13230 2005-05-18  Wim Taymans  <wim@fluendo.com>
13231
13232         * gst/base/Makefile.am:
13233         * gst/base/gstadapter.c: (gst_adapter_base_init),
13234         (gst_adapter_class_init), (gst_adapter_init),
13235         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
13236         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
13237         (gst_adapter_flush), (gst_adapter_available),
13238         (gst_adapter_available_fast):
13239         * gst/base/gstadapter.h:
13240         Ported and added adapter to the base classes.
13241
13242 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13243
13244         * gst/gst.c:
13245         * gst/gstmessage.c:
13246           Make sure the class is reffed/unreffed once before threads can be
13247           used.  Fixes #304551.
13248
13249 2005-05-17  Wim Taymans  <wim@fluendo.com>
13250
13251         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
13252         (gst_basesink_chain_unlocked), (gst_basesink_activate):
13253         * gst/gstminiobject.c: (gst_mini_object_get_type),
13254         (gst_mini_object_free):
13255         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
13256         (gst_pad_push), (gst_pad_push_event):
13257         * gst/gstqueue.c: (gst_queue_change_state):
13258         Don't queue buffers in basesink when we are flushing.
13259         Unref buffer when flushing in basesink.
13260         Flush queue when going to READY
13261         Unref buffer when _push() returns an error.
13262         Don't free MiniObject instance when refcount is incremented
13263         in _finalize() so that we can recover objects.
13264
13265 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13266
13267         * docs/manual/advanced-schedulers.xml:
13268         * docs/manual/appendix-checklist.xml:
13269         * docs/pwg/advanced-clock.xml:
13270         * docs/pwg/advanced-interfaces.xml:
13271         * docs/pwg/advanced-request.xml:
13272         * docs/pwg/advanced-types.xml:
13273         * docs/pwg/intro-preface.xml:
13274         * examples/plugins/example.c: (gst_example_get_type),
13275         (gst_example_class_init), (gst_example_chain),
13276         (gst_example_set_property), (gst_example_get_property),
13277         (gst_example_change_state), (plugin_init):
13278         * examples/plugins/example.h:
13279           small doc fixes
13280
13281 2005-05-17  Wim Taymans  <wim@fluendo.com>
13282
13283         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
13284         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
13285         * gst/gstqueue.c: (gst_queue_change_state):
13286         Clear queue when going to READY.
13287         Remove IN_SETCAPS flag too.
13288
13289 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
13290
13291         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
13292           Remove implicit cast from gboolean to GstElementStateReturn;
13293           make sure we still return failure in paused => ready case if
13294           the parent class fails to change state and our own stop 
13295           vfunc succeeds.
13296
13297 2005-05-17  Wim Taymans  <wim@fluendo.com>
13298
13299         * tools/gst-launch.c: (event_loop):
13300         Message was unreffed too soon.
13301
13302 2005-05-16  Andy Wingo  <wingo@pobox.com>
13303
13304         * gst/gstbin.c (sink_iterator_filter): Err... um...
13305
13306         * check/gst/gstbin.c (test_ghost_pads): New test for the
13307         ghosting-if-elements-not-in-same-bin behavior.
13308
13309 2005-05-16  David Schleef  <ds@schleef.org>
13310
13311         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
13312         accessing refcount directly.
13313
13314 2005-05-15  David Schleef  <ds@schleef.org>
13315
13316         * check/Makefile.am: remove GstData checks
13317         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
13318         * gst/Makefile.am: add miniobject, remove data
13319         * gst/gst.h: add miniobject, remove data
13320         * gst/gstdata.c: remove
13321         * gst/gstdata.h: remove
13322         * gst/gstdata_private.h: remove
13323         * gst/gsttypes.h: remove GstEvent and GstMessage
13324         * gst/gstelement.c: (gst_element_post_message): fix for API changes
13325         * gst/gstmarshal.list: change BOXED -> OBJECT
13326
13327         Implement GstMiniObject.
13328         * gst/gstminiobject.c:
13329         * gst/gstminiobject.h:
13330
13331         Modify to be subclasses of GstMiniObject.
13332         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
13333         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
13334         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
13335         (gst_subbuffer_get_type), (gst_subbuffer_init),
13336         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
13337         (gst_buffer_span):
13338         * gst/gstbuffer.h:
13339         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
13340         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
13341         (_gst_event_copy), (gst_event_new):
13342         * gst/gstevent.h:
13343         * gst/gstmessage.c: (_gst_message_initialize),
13344         (gst_message_get_type), (gst_message_class_init),
13345         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
13346         (gst_message_new), (gst_message_new_error),
13347         (gst_message_new_warning), (gst_message_new_tag),
13348         (gst_message_new_state_changed), (gst_message_new_application):
13349         * gst/gstmessage.h:
13350         * gst/gstprobe.c: (gst_probe_perform),
13351         (gst_probe_dispatcher_dispatch):
13352         * gst/gstprobe.h:
13353         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
13354         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
13355         (_gst_query_copy), (gst_query_new):
13356
13357         Update elements for GstData -> GstMiniObject changes
13358         * gst/gstquery.h:
13359         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
13360         (gst_queue_chain), (gst_queue_loop):
13361         * gst/elements/gstbufferstore.c:
13362         (gst_buffer_store_add_buffer_func),
13363         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
13364         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13365         (gst_fakesink_render):
13366         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13367         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
13368         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
13369         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
13370         (gst_filesrc_create_read):
13371         * gst/elements/gstidentity.c: (gst_identity_class_init):
13372         * gst/elements/gsttypefindelement.c:
13373         (gst_type_find_element_src_event), (free_entry_buffers),
13374         (gst_type_find_element_handle_event):
13375         * libs/gst/dataprotocol/dataprotocol.c:
13376         (gst_dp_header_from_buffer):
13377         * libs/gst/dataprotocol/dataprotocol.h:
13378         * libs/gst/dataprotocol/dp-private.h:
13379
13380 2005-05-15  David Schleef  <ds@schleef.org>
13381
13382         * gst/elements/gstelements.c: Don't include headers that were
13383         just removed.
13384
13385 2005-05-15  David Schleef  <ds@schleef.org>
13386
13387         * gst/elements/Makefile.am: Remove some elements that don't
13388         need to be in the core (or even exist at all).
13389         * gst/elements/gstaggregator.c:
13390         * gst/elements/gstaggregator.h:
13391         * gst/elements/gstmd5sink.c:
13392         * gst/elements/gstmd5sink.h:
13393         * gst/elements/gstmultifilesrc.c:
13394         * gst/elements/gstmultifilesrc.h:
13395         * gst/elements/gstpipefilter.c:
13396         * gst/elements/gstpipefilter.h:
13397         * gst/elements/gstshaper.c:
13398         * gst/elements/gstshaper.h:
13399         * gst/elements/gststatistics.c:
13400         * gst/elements/gststatistics.h:
13401         * po/POTFILES.in: Remove above files.
13402
13403 2005-05-14  Andy Wingo  <wingo@pobox.com>
13404
13405         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
13406         so as to get the refs right.
13407         (sink_iterator_filter): New function, wraps bin_element_is_sink,
13408         unreffing objects that don't pass the filter.
13409
13410         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
13411         gst_element_set_bus.
13412         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
13413         normal cases, this will destroy the bus.
13414
13415         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
13416         object.
13417
13418         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
13419         has no sinks.
13420
13421 2005-05-13  Andy Wingo  <wingo@pobox.com>
13422
13423         * gst/gstutils.c (gst_element_link_pads): Instead of calling
13424         gst_pad_link, call pad_link_maybe_ghosting,
13425         (pad_link_maybe_ghosting): Links pads, making sure that the
13426         elements being linked are in the same bin.
13427         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
13428         Helpers for pad_link_maybe_ghosting.
13429
13430 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13431
13432         * configure.ac:
13433           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
13434
13435 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13436
13437         * docs/design/part-element-source.txt:
13438           Mention GstPushSrc
13439
13440 2005-05-12  Wim Taymans  <wim@fluendo.com>
13441
13442         * gst/base/gstbasesink.c: (gst_basesink_init),
13443         (gst_basesink_activate):
13444         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
13445         (gst_basesrc_is_seekable):
13446         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13447         (bin_element_is_sink), (gst_bin_change_state):
13448         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13449         * gst/gstelement.h:
13450         Identify sinks by their flag to avoid overly complicated
13451         checks (fow now).
13452         Do state changes even for elements not reachable from the
13453         sinks.
13454         BaseSink is a sink now :)
13455         Some more debugging info in the basesrc.
13456
13457
13458 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13459
13460         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
13461           Implement _query on a bin, similar to _send_event.
13462
13463 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13464
13465         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
13466           Discont event offset format should be GST_FORMAT_BYTES,
13467           not GST_FORMAT_TIME.
13468
13469 2005-05-12  Wim Taymans  <wim@fluendo.com>
13470
13471         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
13472         Same fix as Ronald's but without the signal. 
13473
13474 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13475
13476         * gst/gstutils.c: (gst_element_query_position):
13477           No, an element is not a pad.
13478
13479 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13480
13481         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
13482         (gst_bin_get_state):
13483           If a child is removed from a bin while we remove the child from
13484           the bin and while we're retrieving its state, signal this to the
13485           get_state function so we abort the wait (instead of waiting for
13486           a timeout) and can immediately re-iterate over all other elements.
13487
13488 2005-05-12  Wim Taymans  <wim@fluendo.com>
13489
13490         * gst/base/Makefile.am:
13491         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
13492         (gst_basesrc_start):
13493         * gst/base/gstbasesrc.h:
13494         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
13495         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
13496         (gst_pushsrc_init), (gst_pushsrc_create):
13497         * gst/base/gstpushsrc.h:
13498         Added is_seekable to BaseSrc
13499         Added simple PushSrc.
13500
13501 2005-05-11  Wim Taymans  <wim@fluendo.com>
13502
13503         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13504         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13505         (gst_element_link_pads), (gst_element_query_position),
13506         (gst_element_query_convert), (intersect_caps_func),
13507         (gst_pad_query_position), (gst_pad_query_convert):
13508         Fix refcounting in utils function.
13509         No point in trying to activate a pad when it's added, it could
13510         be added from the state change function and then we deadlock, the
13511         element has to decide what to do.
13512
13513 2005-05-10  Andy Wingo  <wingo@pobox.com>
13514
13515         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
13516         *all* the arguments.
13517
13518         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
13519         stream lock if it's a FLUSH_DONE; normal flushes don't get the
13520         lock (according to the docs -- if this is wrong change the docs).
13521
13522         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
13523         flush messages in the NULL state.
13524
13525         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
13526         message immediately and return.
13527         (gst_bus_set_flushing): New function. If a bus is flushing, it
13528         flushes out any queued messages and immediately unrefs new
13529         messages. This is so when an element goes to NULL, all of the
13530         unhandled messages coming from it can be freed, and their
13531         references to the element dropped. In other words: message source
13532         ref considered harmful :P
13533
13534         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
13535         we're finished with it.
13536
13537         * gst/gstmessage.c (gst_message_new_state_changed): 
13538
13539 2005-05-10  Wim Taymans  <wim@fluendo.com>
13540
13541         * gst/gstvalue.c: (gst_value_compare_flags),
13542         (gst_value_serialize_flags), (gst_value_deserialize_flags),
13543         (_gst_value_initialize):
13544         Added flags serialize/deserialize/compare code.
13545
13546 2005-05-09  Andy Wingo  <wingo@pobox.com>
13547
13548         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
13549         Intersect the peer's caps with our caps.
13550
13551 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13552
13553         * gst/base/gsttypefindhelper.c: (helper_find_peek):
13554         * gst/elements/gsttypefindelement.c: (find_peek):
13555           Handle negative offsets better. Fixes decodebin.
13556
13557 2005-05-09  Wim Taymans  <wim@fluendo.com>
13558
13559         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
13560         (gst_base_transform_event):
13561         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
13562         Implement accept_caps.
13563         Fix silly lock/unlock mismatch in base class.
13564
13565 2005-05-09  Wim Taymans  <wim@fluendo.com>
13566
13567         * docs/design/draft-push-pull.txt:
13568         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
13569         * gst/elements/gstfilesink.c: (gst_filesink_init),
13570         (gst_filesink_query):
13571         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13572         (gst_type_find_handle_src_query), (find_element_get_length):
13573         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
13574         * gst/gstelement.h:
13575         * gst/gstmessage.c:
13576         * gst/gstmessage.h:
13577         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
13578         (gst_real_pad_get_caps_unlocked),
13579         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
13580         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13581         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
13582         (gst_real_pad_dispose), (gst_real_pad_finalize),
13583         (gst_pad_load_and_link), (gst_pad_save_thyself),
13584         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
13585         (gst_pad_check_pull_range), (gst_pad_pull_range),
13586         (gst_pad_template_get_type), (gst_pad_template_class_init),
13587         (gst_pad_template_init), (gst_pad_template_dispose),
13588         (name_is_valid), (gst_static_pad_template_get),
13589         (gst_pad_template_new), (gst_static_pad_template_get_caps),
13590         (gst_pad_template_get_caps), (gst_pad_set_element_private),
13591         (gst_pad_get_element_private), (gst_pad_start_task),
13592         (gst_pad_pause_task), (gst_pad_stop_task),
13593         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
13594         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
13595         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
13596         (gst_ghost_pad_new):
13597         * gst/gstpad.h:
13598         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
13599         (gst_query_new_position), (gst_query_set_position),
13600         (gst_query_parse_position), (gst_query_new_convert),
13601         (gst_query_set_convert), (gst_query_parse_convert):
13602         * gst/gstquery.h:
13603         * gst/gstqueryutils.c:
13604         * gst/gstqueryutils.h:
13605         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13606         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13607         (gst_queue_handle_src_query):
13608         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13609         (gst_element_query_position), (gst_element_query_convert),
13610         (intersect_caps_func), (gst_pad_query_position),
13611         (gst_pad_query_convert):
13612         * gst/gstutils.h:
13613         * tools/gst-inspect.c: (print_pad_info):
13614         * tools/gst-xmlinspect.c: (print_element_info):
13615         Remove old query functions. Ported old code.
13616         Added position/convert helper functions to gstutils.
13617         Reordered gstpad.c code, grouping relevant things.
13618         Remove gst_message_new(), always need to speficy a specific
13619         message.
13620
13621
13622 2005-05-09  Andy Wingo  <wingo@pobox.com>
13623
13624         * gst/gstiterator.h: Add some includes.
13625
13626         * gst/gstqueryutils.h: Include more headers.
13627
13628         * gst/gstpad.h:
13629         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
13630         some uses of gst_pad_query.
13631
13632         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
13633         NULL out parameters.
13634         (gst_query_new_position): New proc, allocates a new position
13635         query.
13636
13637         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
13638         gstqueryutils.c to the build.
13639
13640         * gst/gststructure.c (gst_structure_set_valist): Implement with
13641         the generic G_VALUE_COLLECT.
13642         
13643 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
13644
13645         * gst/Makefile.am: (gst_headers):
13646         Added gstqueryutils.h to the list of headers to install, that was
13647         a 'nachty' move wingo :)
13648
13649 2005-05-06  Andy Wingo  <wingo@pobox.com>
13650
13651         * gst/gstquery.h
13652         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
13653         GstData, init a memchunk.
13654         (standard_definitions): Add a few query types, deprecate a few.
13655         (gst_query_get_type): New proc.
13656         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
13657         implementation.
13658         (gst_query_new_application, gst_query_get_structure): New public
13659         procs.
13660
13661         * docs/design/draft-query.txt: Removed LINKS from the query types,
13662         because all the rest can be dispatched to other pads -- seemed
13663         ugly to have a query that couldn't be dispatched. internal_links
13664         is fine as a pad method.
13665
13666         * gst/gstpad.h: Add query2 as a pad method, add the new functions
13667         in gstpad.c, but maintain binary compatibility for the moment.
13668         Will fix before 0.9 is out.
13669
13670         * gst/gstqueryutils.c: 
13671         * gst/gstqueryutils.h: New files, implement 3 methods for each
13672         query type: parse_query, parse_response, and set. Probably need an
13673         allocator as well.
13674
13675         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
13676
13677         * gst/elements/gstfilesink.c (gst_filesink_query2):
13678         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
13679         query_types, and formats methods.
13680
13681         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
13682         (gst_pad_set_query2_function): New functions.
13683         (gst_real_pad_init): Set query2_default as the default query2
13684         function. Basically just dispatches to internally linked pads.
13685
13686         Needs review!
13687         
13688         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
13689         without using the atomic operations. Only one thread can possibly
13690         be accessing the data at this point. Changed so as to avoid
13691         gst_atomic operations.
13692
13693 2005-05-06  Wim Taymans  <wim@fluendo.com>
13694
13695         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
13696         Also set caps if we use the fallback buffer alloc.
13697
13698 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
13699
13700         * docs/gst/Makefile.am:
13701         * docs/gst/gstreamer-docs.sgml:
13702         * docs/gst/gstreamer-sections.txt:
13703         * docs/gst/tmpl/gstatomic.sgml:
13704         * docs/gst/tmpl/gstmemchunk.sgml:
13705         * testsuite/elements/struct_i386.h:
13706         * win32/GStreamer.vcproj:
13707         * win32/Makefile:
13708           Purge GstAtomic stuff from docs and win32 makefiles as well
13709
13710 2005-05-06  Wim Taymans  <wim@fluendo.com>
13711
13712         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
13713         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
13714         * gst/gstpad.c: (gst_pad_peer_get_caps):
13715         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13716         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13717         (gst_queue_src_activate), (gst_queue_change_state):
13718         * gst/gstqueue.h:
13719         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13720         (intersect_caps_func):
13721         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
13722         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
13723         Some fixes for the peer_get_caps() change.
13724
13725 2005-05-06  Wim Taymans  <wim@fluendo.com>
13726
13727         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13728         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
13729         (gst_basesink_activate):
13730         Actually do something with error codes returned from the push
13731         functions.
13732
13733 2005-05-06  Wim Taymans  <wim@fluendo.com>
13734
13735         * docs/design/part-element-sink.txt:
13736         * docs/design/part-element-source.txt:
13737         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13738         (gst_basesink_event), (gst_basesink_activate):
13739         * gst/base/gstbasesink.h:
13740         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
13741         (gst_basesrc_activate):
13742         * gst/base/gstbasesrc.h:
13743         * gst/gstelement.c: (gst_element_pads_activate):
13744         Some more documentation.
13745         Fixed scheduling decision in _pads_activate().
13746
13747 2005-05-05  Andy Wingo  <wingo@pobox.com>
13748
13749         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
13750         the test suite.
13751
13752 2005-05-05  Wim Taymans  <wim@fluendo.com>
13753
13754         * gst/base/Makefile.am:
13755         * gst/base/gstbasesink.h:
13756         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13757         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
13758         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
13759         (gst_collectpads_class_init), (gst_collectpads_init),
13760         (gst_collectpads_finalize), (gst_collectpads_new),
13761         (gst_collectpads_set_function), (gst_collectpads_add_pad),
13762         (find_pad), (gst_collectpads_remove_pad),
13763         (gst_collectpads_is_active), (gst_collectpads_collect),
13764         (gst_collectpads_collect_range), (gst_collectpads_start),
13765         (gst_collectpads_stop), (gst_collectpads_peek),
13766         (gst_collectpads_pop), (gst_collectpads_available),
13767         (gst_collectpads_read), (gst_collectpads_flush),
13768         (gst_collectpads_chain):
13769         * gst/base/gstcollectpads.h:
13770         * gst/elements/Makefile.am:
13771         * gst/elements/gstelements.c:
13772         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13773         (gst_fakesink_get_times), (gst_fakesink_event),
13774         (gst_fakesink_preroll), (gst_fakesink_render):
13775         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13776         (gst_filesink_init), (gst_filesink_set_location),
13777         (gst_filesink_open_file), (gst_filesink_close_file),
13778         (gst_filesink_pad_query), (gst_filesink_event),
13779         (gst_filesink_render), (gst_filesink_change_state):
13780         * gst/elements/gstfilesink.h:
13781         Added object to help in making collect pad based elements.
13782         Ported filesink.
13783         Make event function in sink baseclass return gboolean.
13784
13785 2005-05-05  Wim Taymans  <wim@fluendo.com>
13786
13787         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
13788         (gst_bin_get_by_name):
13789         * gst/gstbuffer.h:
13790         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
13791         (gst_clock_finalize):
13792         * gst/gstdata.c: (gst_data_replace):
13793         * gst/gstdata.h:
13794         * gst/gstelement.c: (gst_element_request_pad),
13795         (gst_element_pads_activate):
13796         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13797         (gst_object_unref):
13798         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13799         (gst_pad_set_checkgetrange_function),
13800         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
13801         (gst_pad_check_pull_range), (gst_pad_pull_range),
13802         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13803         (gst_pad_pause_task), (gst_pad_stop_task):
13804         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13805         (gst_element_request_pad), (gst_pad_proxy_getcaps):
13806         Fix name lookup in GstBin.
13807         Added _data_replace() function and _buffer_replace()
13808         Use finalize method to clean up clock.
13809         Fix refcounting on request pads.
13810         Fix pad schedule mode error.
13811         Some more object refcounting debug info,
13812
13813
13814 2005-05-04  Andy Wingo <wingo@pobox.com>
13815
13816         * check/Makefile.am:
13817         * docs/gst/tmpl/gstatomic.sgml:
13818         * docs/gst/tmpl/gstplugin.sgml:
13819         * gst/base/gstbasesink.c: (gst_basesink_activate):
13820         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
13821         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
13822         (gst_basesrc_query), (gst_basesrc_set_property),
13823         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
13824         (gst_basesrc_activate):
13825         * gst/base/gstbasesrc.h:
13826         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
13827         (gst_base_transform_src_activate):
13828         * gst/elements/gstelements.c:
13829         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13830         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13831         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13832         * gst/elements/gsttypefindelement.c: (find_element_get_length),
13833         (gst_type_find_element_checkgetrange),
13834         (gst_type_find_element_activate):
13835         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
13836         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
13837         (gst_caps_load_thyself):
13838         * gst/gstelement.c: (gst_element_pads_activate),
13839         (gst_element_save_thyself), (gst_element_restore_thyself):
13840         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
13841         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
13842         * gst/gstpad.h:
13843         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
13844         (gst_xml_parse_file), (gst_xml_parse_memory),
13845         (gst_xml_get_element), (gst_xml_make_element):
13846         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13847         (_file_index_id_save_xml), (gst_file_index_commit):
13848         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13849         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13850         (load_paths):
13851         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13852         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13853         * tools/gst-complete.c: (main):
13854         * tools/gst-compprep.c: (main):
13855         * tools/gst-inspect.c: (print_element_properties_info):
13856         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13857         * tools/gst-xmlinspect.c: (print_element_properties):
13858         GCC 4 fixen.
13859         
13860 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13861
13862         * gst/gstplugin.c: (gst_plugin_check_module),
13863         (gst_plugin_check_file), (gst_plugin_load_file):
13864             apply patch from #172526 to make register work on MacOSX
13865
13866 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13867
13868         * docs/gst/tmpl/gstconfig.sgml:
13869         * gst/gstconfig.h.in:
13870           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13871         * testsuite/debug/printf_extension.c: (main):
13872           Do not use GST_PTR_FORMAT on pointers to types with
13873           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13874         * testsuite/elements/property.h:
13875           use correct printf format
13876
13877 2005-05-02  Wim Taymans  <wim@fluendo.com>
13878
13879         * docs/design/draft-push-pull.txt:
13880         * docs/design/draft-query.txt:
13881         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13882         (gst_basesrc_start):
13883         Added draft for new query API.
13884         Added draft for better selecting scheduling methods.
13885         Make basesrc ignore length if the subclass does not support
13886         it.
13887
13888 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13889
13890         * gst/Makefile.am:
13891           possible fixes for automake-1.5 - _LIBADD is reserved
13892
13893 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13894
13895         * docs/faq/Makefile.am:
13896         * docs/manual/Makefile.am:
13897         * docs/manuals.mak:
13898         * docs/pwg/Makefile.am:
13899         * gst/Makefile.am:
13900           possible fixes for automake-1.5
13901
13902 2005-04-28  Wim Taymans  <wim@fluendo.com>
13903
13904         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13905         (gst_basesink_pad_getcaps), (gst_basesink_init),
13906         (gst_basesink_do_sync):
13907         * gst/gstclock.c: (gst_clock_entry_new):
13908         * gst/gstevent.c: (gst_event_discont_get_value):
13909         * gst/gstpipeline.c: (pipeline_bus_handler),
13910         (gst_pipeline_change_state):
13911         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13912         Better debugging of clocking info.
13913         Allow NULL values when getting discont values.
13914
13915 2005-04-27  Wim Taymans  <wim@fluendo.com>
13916
13917         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13918         * check/gst/gstpad.c: (gst_pad_suite):
13919         Increase timeout for checks.
13920
13921 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13922
13923         * check/Makefile.am:
13924           fix the broken rule for cleanup.  Apparently this rule is
13925           only needed on FC2, so maybe this warrants further autotool
13926           inspection.
13927
13928 2005-04-26  Wim Taymans  <wim@fluendo.com>
13929
13930         * gst/gsttrashstack.h:
13931         Ooohh. a nasty one! After having a failed pop() from the stack,
13932         it's possible that the stack is empty. In that case, don't
13933         follow the NULL pointer.
13934
13935 2005-04-25  Wim Taymans  <wim@fluendo.com>
13936
13937         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13938         (gst_pad_set_checkgetrange_function),
13939         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13940         (gst_pad_check_pull_range), (gst_pad_pull_range),
13941         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13942         (gst_pad_pause_task), (gst_pad_stop_task):
13943         * gst/gstplugin.c: (gst_plugin_load):
13944         * gst/gstplugin.h:
13945         Remove gst_library_load as it does more harm than good with
13946         the new g_module flags.
13947         Revert bogus caps template check in pad linking, pad caps
13948         are important when linking not the template, which is more
13949         general than the current caps.
13950
13951 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13952
13953         * gst/autoplug/.cvsignore:
13954         * gst/autoplug/Makefile.am:
13955         * gst/autoplug/gstsearchfuncs.c:
13956         * gst/autoplug/gstsearchfuncs.h:
13957         * gst/autoplug/gstspider.c:
13958         * gst/autoplug/gstspider.h:
13959         * gst/autoplug/gstspideridentity.c:
13960         * gst/autoplug/gstspideridentity.h:
13961         * gst/autoplug/spidertest.c:
13962           Die, spider, die.
13963
13964 2005-04-25  Wim Taymans  <wim@fluendo.com>
13965
13966         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13967         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13968         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13969         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13970         * gst/gstpad.h:
13971         Added stubs for unimplemented functions. 
13972
13973 2005-04-24  David Schleef  <ds@schleef.org>
13974
13975         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13976         please fix.
13977
13978 2005-04-24  David Schleef  <ds@schleef.org>
13979
13980         Convert everything from GstAtomicInt to g_atomic_int_*, and
13981         remove gstatomic.
13982         * gst/Makefile.am:
13983         * gst/gstatomic.c:
13984         * gst/gstatomic.h:
13985         * gst/gstatomic_impl.h:
13986         * gst/gstbuffer.c:
13987         * gst/gstcaps.c:
13988         * gst/gstcaps.h:
13989         * gst/gstclock.c:
13990         * gst/gstclock.h:
13991         * gst/gstdata.c:
13992         * gst/gstdata.h:
13993         * gst/gstdata_private.h:
13994         * gst/gstevent.c:
13995         * gst/gstinfo.c:
13996         * gst/gstinfo.h:
13997         * gst/gstmessage.c:
13998         * gst/gstobject.c:
13999         * gst/gstobject.h:
14000         * gst/gststructure.c:
14001         * gst/gststructure.h:
14002         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
14003         * gst/gstutils.h:
14004
14005 2005-04-24  David Schleef  <ds@schleef.org>
14006
14007         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
14008         make the regressions tests work.  Remove some code that is no
14009         longer true.
14010         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
14011         Disable warning for pads without templates.
14012
14013 2005-04-24  David Schleef  <ds@schleef.org>
14014
14015         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
14016         functions that handle filtered links.
14017         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
14018         removed functions.
14019         * gst/gstutils.c: Fix/remove utility functions that handle
14020         filtered caps.
14021         * gst/gstutils.h:
14022         * gst/gstvalue.c: Add serialization/deserialization of caps
14023         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
14024         requires fixing so that the filter caps notation creates
14025         a capsfilter element and sets the filter_caps property.  I
14026         think everyone probably wants to keep the shorthand notation.
14027         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
14028         * docs/gst/tmpl/gstpad.sgml:
14029
14030         * gst/elements/gstelements.c: Register capsfilter element.
14031         * gst/Makefile.am: fix spacing
14032         * docs/random/ds/0.9-suggested-changes: random
14033
14034 2005-04-23  David Schleef  <ds@schleef.org>
14035
14036         * gst/elements/Makefile.am:
14037         * gst/elements/gstcapsfilter.c: New element that acts like an
14038         identity, but filters caps.  Will eventually replace filtered
14039         caps in pad linking.
14040         * gst/gstutils.c: (gst_element_create_all_pads): New function
14041         to create all the ALWAYS pads that are registered with an
14042         element class.  This functionality should eventually be
14043         merged in with GstElement initialization.
14044         * gst/gstutils.h:
14045         * testsuite/trigger/README: part of trigger test code that should
14046         have been checked in a long time ago.
14047
14048 2005-04-23  David Schleef  <ds@schleef.org>
14049
14050         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
14051         needed with new versions of libtool (nobody will confirm this),
14052         and hard to carry around.
14053         * gst/autoplug/Makefile.am:
14054         * gst/base/Makefile.am:
14055         * gst/elements/Makefile.am:
14056         * gst/indexers/Makefile.am:
14057         * gst/schedulers/Makefile.am:
14058         * libs/gst/bytestream/Makefile.am:
14059         * libs/gst/control/Makefile.am:
14060         * libs/gst/dataprotocol/Makefile.am:
14061         * libs/gst/getbits/Makefile.am:
14062
14063 2005-04-21  Wim Taymans  <wim@fluendo.com>
14064
14065         * docs/design/draft-push-pull.txt:
14066         * docs/design/part-MT-refcounting.txt:
14067         * docs/design/part-TODO.txt:
14068         * docs/design/part-caps.txt:
14069         * docs/design/part-events.txt:
14070         * docs/design/part-gstbus.txt:
14071         * docs/design/part-gstpipeline.txt:
14072         * docs/design/part-messages.txt:
14073         * docs/design/part-push-pull.txt:
14074         * docs/design/part-query.txt:
14075         Some more docs.
14076
14077 2005-04-21  Wim Taymans  <wim@fluendo.com>
14078
14079         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
14080         (gst_message_new), (gst_message_new_error),
14081         (gst_message_new_warning), (gst_message_new_tag),
14082         (gst_message_new_state_changed), (gst_message_new_application),
14083         (gst_message_get_structure):
14084         * gst/gstmessage.h:
14085         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14086         (gst_structure_copy_conditional):
14087         Use parent refcount in GstMessage to ensure GstStructure
14088         consistency.
14089         Cleaned up headers a bit.
14090         
14091
14092 2005-04-20  Wim Taymans  <wim@fluendo.com>
14093
14094         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14095         (gst_basesink_pad_getcaps), (gst_basesink_init),
14096         (gst_basesink_chain_unlocked):
14097         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
14098         (gst_type_find_helper):
14099         * gst/elements/gsttypefindelement.c:
14100         (gst_type_find_element_have_type), (gst_type_find_element_init),
14101         (stop_typefinding), (gst_type_find_element_handle_event),
14102         (find_suggest), (gst_type_find_element_chain),
14103         (gst_type_find_element_checkgetrange),
14104         (gst_type_find_element_getrange), (do_typefind),
14105         (gst_type_find_element_activate):
14106         * gst/gstbuffer.c: (_gst_buffer_sub_free),
14107         (gst_buffer_default_free), (gst_buffer_default_copy),
14108         (gst_buffer_set_caps):
14109         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
14110         (gst_caps_replace):
14111         * gst/gstmessage.c: (gst_message_new),
14112         (gst_message_new_state_changed):
14113         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14114         (gst_pad_set_checkgetrange_function),
14115         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
14116         (gst_pad_set_caps), (gst_pad_check_pull_range),
14117         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
14118         * gst/gstpad.h:
14119         * gst/gsttypefind.c: (gst_type_find_register):
14120         Make gst_caps_replace() work like other _replace() functions.
14121         Use _caps_replace() where possible.
14122         Make sure _message_new() initialises its field.
14123         Add gst_static_pad_template_get_caps()
14124
14125
14126 2005-04-18  Andy Wingo  <wingo@pobox.com>
14127
14128         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
14129         on the peer, not the pad. I think that was a typo. Pass an extra
14130         arg to see if random access is possible. Activate the pads as
14131         PULL_RANGE if possible.
14132
14133         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
14134
14135         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
14136         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
14137         to PROP_....
14138
14139 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14140
14141         * docs/faq/using.xml:
14142           Add note on gstreamer-properties (#154996).
14143
14144 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14145
14146         * docs/random/bbb/optional-properties:
14147           Some analysis on optional properties.
14148
14149 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14150
14151         * docs/gst/tmpl/gstelementfactory.sgml:
14152         * gst/gstelement.h:
14153         * gst/gstelementfactory.c: (gst_element_factory_init),
14154         (gst_element_factory_cleanup), (gst_element_register),
14155         (__gst_element_factory_add_static_pad_template),
14156         (gst_element_factory_get_static_pad_templates),
14157         (gst_element_factory_can_src_caps),
14158         (gst_element_factory_can_sink_caps):
14159         * gst/registries/Makefile.am:
14160         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
14161         (gst_xml_registry_class_init), (gst_xml_registry_init),
14162         (gst_xml_registry_new), (gst_xml_registry_set_property),
14163         (gst_xml_registry_get_property), (get_time), (make_dir),
14164         (gst_xml_registry_get_perms_func),
14165         (plugin_times_older_than_recurse), (plugin_times_older_than),
14166         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
14167         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
14168         (add_to_char_array), (read_string), (read_uint), (read_enum),
14169         (load_pad_template), (load_feature), (load_plugin), (load_paths),
14170         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
14171         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
14172         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
14173         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
14174         (gst_xml_registry_rebuild):
14175         * gst/registries/gstlibxmlregistry.h:
14176         * tools/gst-compprep.c: (main):
14177         * tools/gst-inspect.c: (print_pad_templates_info):
14178         * tools/gst-xmlinspect.c: (print_element_info):
14179           Use libxml2 for registry parsing, use staticpadtemplates in
14180           elementfactories. Makes gst_init() +/- 10x faster.
14181
14182 2005-04-12  Wim Taymans  <wim@fluendo.com>
14183
14184         * gst/base/Makefile.am:
14185         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14186         (gst_basesink_pad_getcaps), (gst_basesink_init),
14187         (gst_basesink_event), (gst_basesink_change_state):
14188         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14189         (gst_basesrc_init), (gst_basesrc_query),
14190         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14191         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14192         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14193         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14194         (gst_basesrc_stop), (gst_basesrc_activate),
14195         (gst_basesrc_change_state):
14196         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14197         (helper_find_suggest), (gst_type_find_helper):
14198         * gst/base/gsttypefindhelper.h:
14199         * gst/elements/Makefile.am:
14200         * gst/elements/gstelements.c:
14201         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14202         (gst_fakesink_get_times), (gst_fakesink_event),
14203         (gst_fakesink_preroll), (gst_fakesink_render):
14204         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14205         (gst_fakesrc_init), (gst_fakesrc_event_handler),
14206         (gst_fakesrc_get_property), (gst_fakesrc_create),
14207         (gst_fakesrc_start), (gst_fakesrc_stop):
14208         * gst/elements/gstfakesrc.h:
14209         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
14210         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14211         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14212         (gst_filesrc_create_read), (gst_filesrc_create),
14213         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
14214         (gst_filesrc_start):
14215         * gst/elements/gsttypefindelement.c:
14216         (gst_type_find_element_have_type), (gst_type_find_element_init),
14217         (start_typefinding), (stop_typefinding), (push_buffer_store),
14218         (gst_type_find_element_handle_event),
14219         (gst_type_find_element_chain),
14220         (gst_type_find_element_checkgetrange),
14221         (gst_type_find_element_getrange), (do_typefind),
14222         (gst_type_find_element_activate),
14223         (gst_type_find_element_change_state):
14224         * gst/elements/gsttypefindelement.h:
14225         * gst/gstpipeline.c: (pipeline_bus_handler):
14226         Added typefind helper.
14227         Small preroll fix in the base sink.
14228         Disable typefind code in basesrc.
14229         Crude port of typefindelement.
14230         Fakesrc cleanups.
14231
14232
14233 2005-04-11  Wim Taymans  <wim@fluendo.com>
14234
14235         * check/gst/gstbus.c: (gstbus_suite):
14236         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
14237         * check/gstcheck.h:
14238           Fix up the timeout so that the test does not fail.
14239
14240 2005-04-06  Wim Taymans  <wim@fluendo.com>
14241
14242         * gst/base/README:
14243         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14244         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
14245         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14246         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14247         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14248         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14249         (gst_basesrc_stop), (gst_basesrc_activate),
14250         (gst_basesrc_change_state), (basesrc_find_peek),
14251         (basesrc_find_suggest), (gst_basesrc_type_find):
14252         * gst/base/gstbasesrc.h:
14253         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
14254         (gst_filesrc_class_init), (gst_filesrc_init),
14255         (gst_filesrc_finalize), (gst_filesrc_set_location),
14256         (gst_filesrc_set_property), (gst_filesrc_get_property),
14257         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14258         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14259         (gst_filesrc_create_read), (gst_filesrc_create),
14260         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
14261         * gst/elements/gstfilesrc.h:
14262         * gst/gstelement.c: (gst_element_get_state_func),
14263         (gst_element_lost_state), (gst_element_pads_activate):
14264         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14265         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14266         (gst_pad_pull_range):
14267         * gst/gstpad.h:
14268         More work on the generic source base class, implement seeking,
14269         query.
14270         Make filesrc extend the base source class.
14271         Added gst_pad_set_checkgetrange_function to GstPad.
14272
14273 2005-04-06  Andy Wingo  <wingo@pobox.com>
14274
14275         * pkgconfig/gstreamer-base.pc.in:
14276         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
14277
14278         * pkgconfig/Makefile.am:
14279         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
14280
14281 2005-04-04  Wim Taymans  <wim@fluendo.com>
14282
14283         * gst/base/Makefile.am:
14284         * gst/base/README:
14285         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14286         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14287         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14288         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
14289         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14290         (gst_basesrc_base_init), (gst_basesrc_class_init),
14291         (gst_basesrc_init), (gst_basesrc_get_formats),
14292         (gst_basesrc_get_query_types), (gst_basesrc_query),
14293         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
14294         (gst_basesrc_set_property), (gst_basesrc_get_property),
14295         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
14296         (gst_basesrc_loop), (gst_basesrc_activate),
14297         (gst_basesrc_change_state):
14298         * gst/base/gstbasesrc.h:
14299         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
14300         (gst_fakesrc_class_init), (gst_fakesrc_init),
14301         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
14302         (gst_fakesrc_get_property), (gst_fakesrc_create):
14303         * gst/elements/gstfakesrc.h:
14304         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
14305         (gst_filesrc_open_file), (gst_filesrc_loop),
14306         (gst_filesrc_activate), (filesrc_find_peek),
14307         (gst_filesrc_type_find):
14308         Made base source class, make fakesrc extend it.
14309         Add comments to basesink class.
14310         Some filesrc cleanup.
14311
14312 2005-03-31  David Schleef  <ds@schleef.org>
14313
14314         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
14315         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
14316         expected to link against libgstreamer.
14317         * gst/base/Makefile.am: link against libgstreamer
14318         * gst/elements/Makefile.am: same
14319
14320 2005-03-31  Andy Wingo  <wingo@pobox.com>
14321
14322         * tests/instantiate/Makefile.am:
14323         * tests/instantiate/caps.c: Add test to test speed of caps copy
14324         and free.
14325
14326         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
14327         GMemChunk to be fair.
14328
14329         * gst/gsttrashstack.h: Remove warning about using the fallback
14330         trash stack implementation, it's still faster than malloc.
14331
14332 2005-03-30  Andy Wingo  <wingo@pobox.com>
14333
14334         * tests/complexity.c: Add a copyright.
14335
14336 2005-03-31  Wim Taymans  <wim@fluendo.com>
14337
14338         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
14339         (gst_base_transform_class_init), (gst_base_transform_init),
14340         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14341         (gst_base_transform_get_property),
14342         (gst_base_transform_sink_activate),
14343         (gst_base_transform_src_activate),
14344         (gst_base_transform_change_state):
14345         * gst/base/gstbasetransform.h:
14346         * gst/elements/gstidentity.c: (gst_identity_class_init),
14347         (gst_identity_event), (gst_identity_check_perfect),
14348         (gst_identity_transform), (gst_identity_start),
14349         (gst_identity_stop):
14350         Added start/stop methods to transform base class so subclasses 
14351         don't need to deal with state changes even.
14352
14353 2005-03-31  Wim Taymans  <wim@fluendo.com>
14354
14355         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
14356         (gst_event_new_discontinuous), (gst_event_discont_get_value):
14357         * gst/gstevent.h:
14358         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14359         (gst_pad_pull_range):
14360         Added rate to the discont event to prepare for variable speed
14361         and reverse playback.
14362
14363 2005-03-29  David Schleef  <ds@schleef.org>
14364
14365         * configure.ac:
14366         * testsuite/trigger/Makefile.am:
14367         * testsuite/trigger/trigger.c: A little example program to show
14368         how trigger-based elements can work.
14369
14370 2005-03-29  Wim Taymans  <wim@fluendo.com>
14371
14372         * gst/base/Makefile.am:
14373         * gst/base/README:
14374         * gst/base/gstbasesink.c: (gst_basesink_get_type),
14375         (gst_basesink_base_init), (gst_basesink_class_init),
14376         (gst_basesink_pad_getcaps), (gst_basesink_init),
14377         (gst_basesink_activate), (gst_basesink_change_state):
14378         * gst/base/gstbasesink.h:
14379         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
14380         (gst_base_transform_base_init), (gst_base_transform_finalize),
14381         (gst_base_transform_class_init), (gst_base_transform_init),
14382         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
14383         (gst_base_transform_event), (gst_base_transform_getrange),
14384         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
14385         (gst_base_transform_set_property),
14386         (gst_base_transform_get_property),
14387         (gst_base_transform_sink_activate),
14388         (gst_base_transform_src_activate),
14389         (gst_base_transform_change_state):
14390         * gst/base/gstbasetransform.h:
14391         * gst/elements/gstidentity.c: (gst_identity_finalize),
14392         (gst_identity_class_init), (gst_identity_init),
14393         (gst_identity_event), (gst_identity_check_perfect),
14394         (gst_identity_transform), (gst_identity_set_property),
14395         (gst_identity_get_property), (gst_identity_change_state):
14396         * gst/elements/gstidentity.h:
14397         * gst/gstelement.c: (gst_element_get_state_func),
14398         (gst_element_lost_state), (gst_element_pads_activate):
14399         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14400         (gst_pad_check_pull_range), (gst_pad_pull_range):
14401         * gst/gstpad.h:
14402         Simplify pad activation.
14403         Added function to check if pull_range can be performed.
14404         Error out when pulling inactive or flushing pads.
14405         Removed const from refcounted types as it does not make sense.
14406         Simplify pad templates in basesink
14407         Added base class for simple 1-to-1 transforms.
14408         Make identity subclass the base transform.
14409
14410 2005-03-29  Andy Wingo  <wingo@pobox.com>
14411
14412         * docs/libs/gstreamer-libs-overrides.txt: 
14413         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
14414         really don't understand what's going on, but like whatever. I want
14415         green buildbot!
14416
14417         * docs/gst/Makefile.am:
14418         * docs/libs/Makefile.am: Dist the overrides files.
14419
14420         * check/Makefile.am (clean-local): Remove .libs directories.
14421
14422         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
14423         elements to EXTRA_DIST, so po/ files are happy.
14424
14425         * po/POTFILES.in: Er, remove it here.
14426
14427         * po/POTFILES: Remove gstspider.c.
14428
14429         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
14430
14431         * docs/libs/gstreamer-libs-docs.sgml: 
14432         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
14433         bytestream.
14434
14435         * tests/complexity.c (main): Set the length of the preroll queue
14436         on the sinks to prevent a lockup.
14437
14438         * libs/gst/dataprotocol/Makefile.am: 
14439         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
14440         the same as the one in check/gst-libs/gdp.c.
14441
14442         * po/, docs/gst/: Commit automatic changes to docs and po files.
14443
14444         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
14445         the versioned libgstbase.
14446
14447         * check/Makefile.am: Depend on an unversioned gst-register, seems
14448         to make autoconf happier.
14449
14450         * gst/base/Makefile.am: Make libgstbase a versioned lib.
14451
14452 2005-03-28  Wim Taymans  <wim@fluendo.com>
14453
14454         * configure.ac:
14455         * docs/design/part-gstelement.txt:
14456         * docs/design/part-negotiation.txt:
14457         * docs/design/part-preroll.txt:
14458         * docs/design/part-scheduling.txt:
14459         * docs/design/part-states.txt:
14460         * gst/Makefile.am:
14461         * gst/base/Makefile.am:
14462         * gst/base/README:
14463         * gst/base/gstbasesink.c: (gst_basesink_get_template),
14464         (gst_basesink_base_init), (gst_basesink_class_init),
14465         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14466         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14467         (gst_basesink_set_pad_functions),
14468         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
14469         (gst_basesink_set_property), (gst_basesink_get_property),
14470         (gst_base_sink_get_template), (gst_base_sink_get_caps),
14471         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
14472         (gst_basesink_preroll_queue_push),
14473         (gst_basesink_preroll_queue_empty),
14474         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
14475         (gst_basesink_event), (gst_basesink_get_times),
14476         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
14477         (gst_basesink_chain_unlocked), (gst_basesink_chain),
14478         (gst_basesink_loop), (gst_basesink_activate),
14479         (gst_basesink_change_state):
14480         * gst/base/gstbasesink.h:
14481         * gst/elements/Makefile.am:
14482         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
14483         (gst_fakesink_class_init), (gst_fakesink_init),
14484         (gst_fakesink_set_property), (gst_fakesink_get_property),
14485         (gst_fakesink_get_times), (gst_fakesink_event),
14486         (gst_fakesink_preroll), (gst_fakesink_render),
14487         (gst_fakesink_change_state):
14488         * gst/elements/gstfakesink.h:
14489         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14490         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
14491         * gst/gstelement.c: (gst_element_add_pad),
14492         (gst_element_get_state_func), (gst_element_abort_state),
14493         (gst_element_commit_state), (gst_element_lost_state),
14494         (gst_element_set_state), (gst_element_pads_activate):
14495         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
14496         * gst/gstpipeline.c: (gst_pipeline_send_event),
14497         (gst_pipeline_change_state):
14498         Added state change code.
14499         Added/updated docs.
14500         Added sink base class, make fakesink extend the base class.
14501         Small cleanups in GstPipeline.
14502
14503 2005-03-26  David Schleef  <ds@schleef.org>
14504
14505         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
14506         is broken and should be implemented in a different library.
14507         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
14508         * gst/gst.h: remove gstcpu.h
14509         * gst/gstcpu.c: remove
14510         * gst/gstcpu.h: remove
14511         * gst/Makefile.am.future: Remove this file.  It's ancient.
14512
14513 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14514
14515         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14516         (gst_bin_send_event):
14517           Add default event/set_manager handlers. The set_manager handler
14518           takes care that the manager is distributed over kids that were
14519           already in the bin before the manager was set. The event handler
14520           is a utility virtual function that sends the event over all sinks,
14521           so that gst_element_send_event (bin, event); has the expected
14522           behaviour.
14523         * gst/gstpad.c: (gst_pad_event_default):
14524           Re-install default event handling for discontinuities, so that
14525           seeking works without requiring hacks in applications or extra
14526           code in sinks.
14527         * gst/gstpipeline.c: (gst_pipeline_class_init),
14528         (gst_pipeline_send_event):
14529           Half hack, half utility: set a pipeline to PAUSED for seek events,
14530           since that is the only way we can guarantee a/v sync. Means that
14531           you can do gst_element_seek (pipeline, method, pos); on a pipeline
14532           and it "just works".
14533
14534 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14535
14536         * gst/gstpipeline.c: (gst_pipeline_use_clock):
14537           Lock/unlock mismatch.
14538
14539 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14540
14541         * docs/faq/gst-uninstalled:
14542           add gst-plugins-base
14543         * docs/gst/Makefile.am:
14544           don't error out until docs are fixed
14545         * docs/gst/gstreamer.types:
14546           remove thread
14547
14548 2005-03-22  Wim Taymans  <wim@fluendo.com>
14549
14550         * check/Makefile.am:
14551         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
14552         * gst/gststructure.c: (gst_structure_set_valist),
14553         (gst_structure_copy_conditional):
14554         Activated more tests.
14555         Added message test.
14556         Added G_TYPE_POINTER to GstStructure.
14557         
14558
14559 2005-03-22  Wim Taymans  <wim@fluendo.com>
14560
14561         * docs/design/part-TODO.txt:
14562         * docs/design/part-events.txt:
14563         * docs/design/part-gstbin.txt:
14564         * docs/design/part-gstbus.txt:
14565         * docs/design/part-gstpipeline.txt:
14566         * docs/design/part-messages.txt:
14567         * gst/gstbus.c:
14568         * gst/gstmessage.c:
14569         Docs updates
14570
14571 2005-03-21  Wim Taymans  <wim@fluendo.com>
14572
14573         * gst/gstbus.c: (gst_bus_post):
14574         Fix copy-and-paste error.
14575
14576 2005-03-21  Wim Taymans  <wim@fluendo.com>
14577
14578         * check/Makefile.am:
14579         * gst/Makefile.am:
14580         * gst/elements/Makefile.am:
14581         * gst/elements/gstelements.c:
14582         * gst/elements/gstfakesink.c: (gst_fakesink_init),
14583         (gst_fakesink_event), (gst_fakesink_chain):
14584         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14585         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
14586         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
14587         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
14588         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14589         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
14590         (gst_fakesrc_loop), (gst_fakesrc_activate),
14591         (gst_fakesrc_change_state):
14592         * gst/elements/gstfakesrc.h:
14593         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
14594         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
14595         (gst_filesrc_open_file), (gst_filesrc_loop),
14596         (gst_filesrc_activate), (gst_filesrc_change_state),
14597         (filesrc_find_peek), (filesrc_find_suggest),
14598         (gst_filesrc_type_find):
14599         * gst/elements/gstidentity.c: (gst_identity_finalize),
14600         (gst_identity_class_init), (gst_identity_init),
14601         (gst_identity_proxy_getcaps), (identity_queue_push),
14602         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
14603         (gst_identity_getrange), (gst_identity_chain),
14604         (gst_identity_sink_loop), (gst_identity_src_loop),
14605         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
14606         (gst_identity_set_property), (gst_identity_get_property),
14607         (gst_identity_change_state):
14608         * gst/elements/gstidentity.h:
14609         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
14610         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
14611         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
14612         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
14613         (gst_tee_sink_activate):
14614         * gst/elements/gsttee.h:
14615         * gst/gst.c: (gst_register_core_elements), (init_post):
14616         * gst/gst.h:
14617         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
14618         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
14619         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
14620         (gst_bin_change_state):
14621         * gst/gstbin.h:
14622         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
14623         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
14624         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
14625         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
14626         (gst_bus_set_sync_handler), (gst_bus_create_watch),
14627         (bus_watch_callback), (bus_watch_destroy),
14628         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
14629         (poll_timeout), (gst_bus_poll):
14630         * gst/gstbus.h:
14631         * gst/gstcaps.h:
14632         * gst/gstdata.h:
14633         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14634         (gst_element_post_message), (gst_element_message_full),
14635         (gst_element_get_state_func), (gst_element_get_state),
14636         (gst_element_abort_state), (gst_element_commit_state),
14637         (gst_element_lost_state), (gst_element_set_state),
14638         (gst_element_pads_activate), (gst_element_change_state),
14639         (gst_element_dispose), (gst_element_set_manager_func),
14640         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
14641         (gst_element_set_manager), (gst_element_get_manager),
14642         (gst_element_set_bus), (gst_element_get_bus),
14643         (gst_element_set_scheduler), (gst_element_get_scheduler):
14644         * gst/gstelement.h:
14645         * gst/gstevent.c: (gst_event_new_segment_seek),
14646         (gst_event_new_flush):
14647         * gst/gstevent.h:
14648         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
14649         (_gst_message_free), (gst_message_get_type), (gst_message_new),
14650         (gst_message_new_eos), (gst_message_new_error),
14651         (gst_message_new_warning), (gst_message_new_tag),
14652         (gst_message_new_state_changed), (gst_message_new_application),
14653         (gst_message_get_structure), (gst_message_parse_tag),
14654         (gst_message_parse_state_changed), (gst_message_parse_error),
14655         (gst_message_parse_warning):
14656         * gst/gstmessage.h:
14657         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
14658         (gst_real_pad_set_property), (gst_pad_set_active),
14659         (gst_pad_is_active), (gst_pad_set_blocked_async),
14660         (gst_pad_set_blocked), (gst_pad_is_blocked),
14661         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
14662         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
14663         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
14664         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
14665         (gst_pad_link_filtered), (gst_pad_relink_filtered),
14666         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
14667         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
14668         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
14669         (gst_pad_set_caps), (gst_pad_configure_sink),
14670         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
14671         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
14672         (gst_real_pad_dispose), (gst_real_pad_finalize),
14673         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
14674         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14675         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
14676         * gst/gstpad.h:
14677         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
14678         (pipeline_bus_handler), (gst_pipeline_change_state),
14679         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
14680         * gst/gstpipeline.h:
14681         * gst/gstprobe.h:
14682         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14683         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
14684         (gst_queue_link_src), (gst_queue_bufferalloc),
14685         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14686         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
14687         (gst_queue_loop), (gst_queue_handle_src_event),
14688         (gst_queue_handle_src_query), (gst_queue_src_activate),
14689         (gst_queue_change_state):
14690         * gst/gstqueue.h:
14691         * gst/gstscheduler.c: (gst_scheduler_init),
14692         (gst_scheduler_dispose), (gst_scheduler_create_task),
14693         (gst_scheduler_factory_create):
14694         * gst/gstscheduler.h:
14695         * gst/gststructure.c: (gst_structure_get_type),
14696         (gst_structure_copy_conditional):
14697         * gst/gststructure.h:
14698         * gst/gsttaginterface.h:
14699         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14700         (gst_task_init), (gst_task_dispose), (gst_task_create),
14701         (gst_task_get_state), (gst_task_start), (gst_task_stop),
14702         (gst_task_pause):
14703         * gst/gsttask.h:
14704         * gst/gstthread.c:
14705         * gst/gstthread.h:
14706         * gst/gsttypes.h:
14707         * gst/schedulers/Makefile.am:
14708         * gst/schedulers/cothreads_compat.h:
14709         * gst/schedulers/entryscheduler.c:
14710         * gst/schedulers/faircothreads.c:
14711         * gst/schedulers/faircothreads.h:
14712         * gst/schedulers/fairscheduler.c:
14713         * gst/schedulers/gstbasicscheduler.c:
14714         * gst/schedulers/gstoptimalscheduler.c:
14715         * gst/schedulers/gthread-cothreads.h:
14716         * gst/schedulers/threadscheduler.c:
14717         (gst_thread_scheduler_task_get_type),
14718         (gst_thread_scheduler_task_class_init),
14719         (gst_thread_scheduler_task_init),
14720         (gst_thread_scheduler_task_start),
14721         (gst_thread_scheduler_task_stop),
14722         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
14723         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14724         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
14725         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
14726         (plugin_init):
14727         * libs/gst/Makefile.am:
14728         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
14729         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
14730         (gst_file_pad_parent_set):
14731         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14732         (gst_dp_event_from_packet):
14733         * tests/complexity.c: (main):
14734         * tests/mass_elements.c: (main):
14735         * testsuite/states/locked.c: (message_received), (main):
14736         * testsuite/states/parent.c: (main):
14737         * tools/gst-inspect.c: (print_element_flag_info),
14738         (print_implementation_info), (print_pad_info):
14739         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
14740         (main):
14741         * tools/gst-md5sum.c: (event_loop), (main):
14742         * tools/gst-typefind.c: (main):
14743         * tools/gst-xmlinspect.c: (print_element_info):
14744         Next big merge.
14745         Added GstBus for mainloop integration.
14746         Added GstMessage for sending notifications on the bus.
14747         Added GstTask as an abstraction for pipeline entry points.
14748         Removed GstThread.
14749         Removed Schedulers.
14750         Simplified GstQueue for multithreaded core.
14751         Made _link threadsafe, removed old capsnego.
14752         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
14753         Added pad blocking functions.
14754         Reworked scheduling functions in GstPad to prepare for
14755         scheduling updates soon.
14756         Moved events out of data stream.
14757         Simplified GstEvent types.
14758         Added return values to push/pull.
14759         Removed clocking from GstElement.
14760         Added prototypes for state change function for next merge.
14761         Removed iterate from bins and state change management.
14762         Fixed some elements, disabled others for now.
14763         Fixed -inspect and -launch.
14764         Added check for GstBus.
14765
14766 2005-03-10  Wim Taymans  <wim@fluendo.com>
14767
14768         * docs/design/part-MT-refcounting.txt:
14769         * docs/design/part-clocks.txt:
14770         * docs/design/part-gstelement.txt:
14771         * docs/design/part-gstobject.txt:
14772         * docs/design/part-standards.txt:
14773         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14774         (gst_bin_remove_func), (gst_bin_remove):
14775         * gst/gstbin.h:
14776         * gst/gstbuffer.c:
14777         * gst/gstcaps.h:
14778         * testsuite/clock/clock1.c: (main):
14779         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
14780         (main):
14781         * testsuite/dlopen/loadgst.c: (do_test):
14782         * testsuite/refcounting/bin.c: (add_remove_test1),
14783         (add_remove_test2), (main):
14784         * testsuite/refcounting/element.c: (main):
14785         * testsuite/refcounting/element_pad.c: (main):
14786         * testsuite/refcounting/pad.c: (main):
14787         * tools/gst-launch.c: (sigint_handler_sighandler):
14788         * tools/gst-typefind.c: (main):
14789         Doc updates.
14790         Added doc about clock.
14791         removed gst_bin_iterate_recurse_up(), marked methods
14792         for removal.
14793         Fix more testsuites.
14794
14795 2005-03-09  Wim Taymans  <wim@fluendo.com>
14796
14797         * gst/gstpad.c: (gst_pad_get_direction),
14798         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
14799         (gst_pad_collect_valist):
14800         * testsuite/bins/interface.c: (main):
14801         * testsuite/caps/audioscale.c: (test_caps):
14802         * testsuite/caps/caps.c: (test1), (test2), (test3):
14803         * testsuite/caps/deserialize.c: (main):
14804         * testsuite/caps/enumcaps.c: (main):
14805         * testsuite/caps/filtercaps.c: (main):
14806         * testsuite/caps/intersect2.c: (main):
14807         * testsuite/caps/random.c: (main):
14808         * testsuite/caps/renegotiate.c: (my_fixate), (main):
14809         * testsuite/caps/sets.c: (check_caps):
14810         * testsuite/caps/simplify.c: (check_caps), (main):
14811         * testsuite/caps/subtract.c: (check_caps):
14812         Fix _pad_get_direction wrt ghostpads.
14813         Fix caps testsuite.
14814
14815 2005-03-09  Wim Taymans  <wim@fluendo.com>
14816
14817         * check/Makefile.am:
14818         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
14819         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
14820         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
14821         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
14822         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
14823         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
14824         (gst_bin_remove), (gst_bin_iterate_recurse_up),
14825         (bin_element_is_sink), (gst_bin_iterate_sinks),
14826         (gst_bin_iterate_all_by_interface):
14827         * gst/gstbin.h:
14828         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
14829         (gst_element_change_state), (gst_element_dispose),
14830         (gst_element_finalize), (gst_element_set_loop_function):
14831         * gst/gstelement.h:
14832         * gst/gstiterator.c: (find_custom_fold_func):
14833         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14834         (gst_pad_collectv), (gst_pad_collect_valist),
14835         (gst_pad_template_new):
14836         * gst/gstpipeline.c: (gst_pipeline_class_init),
14837         (gst_pipeline_dispose), (gst_pipeline_set_property),
14838         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
14839         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
14840         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
14841         * gst/gstutils.h:
14842         * gst/schedulers/entryscheduler.c:
14843         * gst/schedulers/gstbasicscheduler.c:
14844         (gst_basic_scheduler_cothreaded_chain),
14845         (gst_basic_scheduler_chain_add_element):
14846         * testsuite/bins/interface.c: (main):
14847         Added GstBin test.
14848         Added GstSystemClock test.
14849         Implemented clock distribution code in GstBin.
14850         Implemented iterate sinks method for future use.
14851         Rearranged gstelement.h
14852         Fix GstIterator comparison bug.
14853         Moved some code to GstPipeline, mostly clocking related.
14854
14855 2005-03-09  Wim Taymans  <wim@fluendo.com>
14856
14857         * configure.ac:
14858         * gst/gst_private.h:
14859         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14860         (gst_bin_remove_func), (gst_bin_remove),
14861         (gst_bin_get_by_name_recurse_up):
14862         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14863         (gst_clock_id_compare_func), (gst_clock_id_wait),
14864         (gst_clock_id_wait_async), (gst_clock_init),
14865         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14866         * gst/gstelement.h:
14867         * gst/gstinfo.c: (_gst_debug_init):
14868         * gst/gstobject.h:
14869         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14870         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14871         * gst/gstpad.h:
14872         Bump version number, we're now 0.9.0
14873         Add future debugging category.
14874         Fix NULL _unref() in _get_by_name_recurse_up
14875         Rearrange gstpad.h.
14876         Update some docs.
14877
14878 2005-03-08  Wim Taymans  <wim@fluendo.com>
14879
14880         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14881         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14882         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14883         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14884         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14885         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14886         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14887         * gst/elements/gstidentity.c: (gst_identity_class_init):
14888         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14889         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14890         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14891         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14892         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14893         (gst_tee_link):
14894         * gst/gstelement.c: (gst_element_class_init),
14895         (gst_element_base_class_init), (gst_element_init),
14896         (gst_element_get_random_pad), (gst_element_wait_state_change),
14897         (gst_element_change_state), (gst_element_dispose),
14898         (gst_element_finalize), (gst_element_set_loop_function):
14899         * gst/gstelement.h:
14900         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14901         * gst/gstthread.c: (gst_thread_class_init),
14902         (gst_thread_release_children_locks), (gst_thread_change_state):
14903         * gst/schedulers/gstbasicscheduler.c:
14904         (gst_basic_scheduler_loopfunc_wrapper),
14905         (gst_basic_scheduler_chain_wrapper),
14906         (gst_basic_scheduler_src_wrapper),
14907         (gst_basic_scheduler_remove_element):
14908         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14909         Remove threadsafe properties. Fix elements because GObject
14910         complains when installing a property before declaring a
14911         set/get_property handler.
14912         Rearrange gstelement.h file, use STATE macros for state locks.
14913         Free mutexes in the finalize method instead of dispose.
14914
14915 2005-03-08  Wim Taymans  <wim@fluendo.com>
14916
14917         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14918         * gst/gstthread.c: (gst_thread_release_children_locks):
14919         Added parentage check.
14920         Fix build og GstThread again.
14921
14922 2005-03-08  Wim Taymans  <wim@fluendo.com>
14923
14924         * docs/design/part-MT-refcounting.txt:
14925         * docs/design/part-conventions.txt:
14926         * docs/design/part-gstobject.txt:
14927         * docs/design/part-relations.txt:
14928         * docs/design/part-standards.txt:
14929         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14930         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14931         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14932         (gst_bin_iterate_all_by_interface):
14933         * gst/gstbuffer.h:
14934         * gst/gstclock.h:
14935         * gst/gstelement.c: (gst_element_class_init),
14936         (gst_element_change_state), (gst_element_set_loop_function):
14937         * gst/gstelement.h:
14938         * gst/gstiterator.c:
14939         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14940         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14941         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14942         (gst_object_set_parent), (gst_object_unparent),
14943         (gst_object_check_uniqueness):
14944         * gst/gstobject.h:
14945         Docs updates, clean up some headers.
14946
14947 2005-03-07  Wim Taymans  <wim@fluendo.com>
14948
14949         * check/.cvsignore:
14950         * check/Makefile.am:
14951         * check/gst-libs/.cvsignore:
14952         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14953         * check/gst/.cvsignore:
14954         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14955         (START_TEST), (gstbus_suite), (main):
14956         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14957         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14958         (gst_data_suite), (main):
14959         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14960         (add_fold_func), (gstiterator_suite), (main):
14961         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14962         (thread_name_object), (thread_name_object_default),
14963         (gst_object_name_compare), (gst_object_suite), (main):
14964         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14965         (gst_pad_suite), (main):
14966         * check/gstcheck.c: (gst_check_log_message_func),
14967         (gst_check_log_critical_func), (gst_check_init):
14968         * check/gstcheck.h:
14969         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14970         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14971         Added checks.
14972
14973 2005-03-07  Wim Taymans  <wim@fluendo.com>
14974
14975         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14976         (gst_list_iterator_next), (gst_list_iterator_resync),
14977         (gst_list_iterator_free), (gst_iterator_new_list),
14978         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14979         (gst_iterator_free), (gst_iterator_push), (filter_next),
14980         (filter_resync), (filter_uninit), (filter_free),
14981         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14982         (gst_iterator_foreach), (find_custom_fold_func),
14983         (gst_iterator_find_custom):
14984         * gst/gstiterator.h:
14985         Added missing files.
14986
14987 2005-03-07  Wim Taymans  <wim@fluendo.com>
14988
14989         * Makefile.am:
14990         * configure.ac:
14991         * docs/design/part-MT-refcounting.txt:
14992         * docs/design/part-conventions.txt:
14993         * docs/design/part-gstobject.txt:
14994         * docs/design/part-relations.txt:
14995         * examples/mixer/mixer.c: (main):
14996         * examples/thread/thread.c: (eos), (main):
14997         * gst/Makefile.am:
14998         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14999         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
15000         (gst_spider_plug_from_srcpad):
15001         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
15002         (gst_spider_identity_change_state),
15003         (gst_spider_identity_sink_loop_type_finding):
15004         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
15005         * gst/elements/gstidentity.c: (gst_identity_init):
15006         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
15007         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
15008         * gst/elements/gsttypefindelement.c: (free_entry):
15009         * gst/gst.c:
15010         * gst/gst.h:
15011         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
15012         (gst_bin_set_clock_func), (gst_bin_auto_clock),
15013         (gst_bin_set_index), (gst_bin_set_element_sched),
15014         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
15015         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
15016         (gst_bin_iterate_elements), (iterate_child_recurse),
15017         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
15018         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
15019         (compare_interface), (gst_bin_get_by_interface),
15020         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
15021         * gst/gstbin.h:
15022         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
15023         (gst_buffer_default_free), (gst_buffer_default_copy),
15024         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
15025         (gst_buffer_create_sub):
15026         * gst/gstbuffer.h:
15027         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
15028         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
15029         (gst_caps_unref), (gst_static_caps_get),
15030         (gst_caps_remove_and_get_structure), (gst_caps_append),
15031         (gst_caps_append_structure), (gst_caps_remove_structure),
15032         (gst_caps_copy_nth), (gst_caps_set_simple),
15033         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
15034         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
15035         (gst_caps_structure_intersect_field), (gst_caps_intersect),
15036         (gst_caps_structure_subtract_field), (gst_caps_subtract),
15037         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
15038         (gst_caps_structure_figure_out_union),
15039         (gst_caps_switch_structures), (gst_caps_do_simplify),
15040         (gst_caps_replace), (gst_caps_from_string),
15041         (gst_caps_copy_conditional):
15042         * gst/gstcaps.h:
15043         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
15044         (_gst_clock_id_free), (gst_clock_id_unref),
15045         (gst_clock_id_compare_func), (gst_clock_id_wait),
15046         (gst_clock_id_wait_async), (gst_clock_class_init),
15047         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
15048         (gst_clock_get_time), (gst_clock_set_time_adjust),
15049         (gst_clock_set_property), (gst_clock_get_property):
15050         * gst/gstclock.h:
15051         * gst/gstcompat.h:
15052         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
15053         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
15054         * gst/gstdata.h:
15055         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15056         (gst_element_requires_clock), (gst_element_provides_clock),
15057         (gst_element_set_clock), (gst_element_clock_wait),
15058         (gst_element_wait), (gst_element_set_time_delay),
15059         (gst_element_is_indexable), (gst_element_add_pad),
15060         (gst_element_add_ghost_pad), (gst_element_remove_pad),
15061         (pad_compare_name), (gst_element_get_static_pad),
15062         (gst_element_request_pad), (gst_element_get_request_pad),
15063         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
15064         (gst_element_class_get_pad_template_list),
15065         (gst_element_class_get_pad_template), (gst_element_error_func),
15066         (gst_element_get_random_pad), (gst_element_get_event_masks),
15067         (gst_element_send_event), (gst_element_seek),
15068         (gst_element_get_query_types), (gst_element_query),
15069         (gst_element_get_formats), (gst_element_convert),
15070         (gst_element_is_locked_state), (gst_element_set_locked_state),
15071         (gst_element_sync_state_with_parent), (gst_element_change_state),
15072         (gst_element_finalize), (gst_element_yield),
15073         (gst_element_interrupt), (gst_element_set_scheduler),
15074         (gst_element_get_scheduler), (gst_element_set_loop_function):
15075         * gst/gstelement.h:
15076         * gst/gstevent.h:
15077         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
15078         (gst_format_get_by_nick), (gst_format_get_details),
15079         (gst_format_iterate_definitions):
15080         * gst/gstformat.h:
15081         * gst/gstindex.c: (gst_index_gtype_resolver):
15082         * gst/gstinfo.c:
15083         * gst/gstinfo.h:
15084         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
15085         (gst_mem_chunk_free):
15086         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15087         (gst_object_ref), (gst_object_unref), (gst_object_sink),
15088         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
15089         (gst_object_dispatch_properties_changed),
15090         (gst_object_set_name_default), (gst_object_set_name),
15091         (gst_object_get_name), (gst_object_set_name_prefix),
15092         (gst_object_get_name_prefix), (gst_object_set_parent),
15093         (gst_object_get_parent), (gst_object_unparent),
15094         (gst_object_check_uniqueness), (gst_object_save_thyself),
15095         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
15096         (gst_object_set_property), (gst_object_get_property),
15097         (gst_object_get_path_string):
15098         * gst/gstobject.h:
15099         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15100         (gst_real_pad_init), (gst_real_pad_get_property),
15101         (gst_pad_custom_new), (gst_pad_get_direction),
15102         (gst_pad_set_active), (gst_pad_is_active),
15103         (gst_pad_set_event_function), (gst_pad_is_linked),
15104         (gst_pad_link_free), (gst_pad_link_intersect),
15105         (gst_pad_link_fixate), (gst_pad_set_caps),
15106         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
15107         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
15108         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
15109         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
15110         (gst_pad_get_caps), (gst_pad_peer_get_caps),
15111         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
15112         (gst_pad_realize), (gst_pad_get_allowed_caps),
15113         (gst_real_pad_dispose), (gst_real_pad_finalize),
15114         (gst_pad_collectv), (gst_pad_collect_valist),
15115         (gst_pad_template_dispose), (gst_pad_template_new),
15116         (gst_pad_get_internal_links):
15117         * gst/gstpad.h:
15118         * gst/gstpipeline.c: (gst_pipeline_dispose),
15119         (gst_pipeline_change_state):
15120         * gst/gstpipeline.h:
15121         * gst/gstplugin.c:
15122         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
15123         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
15124         * gst/gstpluginfeature.h:
15125         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
15126         * gst/gstquery.c: (_gst_query_type_initialize),
15127         (gst_query_type_register), (gst_query_type_get_by_nick),
15128         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
15129         * gst/gstquery.h:
15130         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
15131         * gst/gstscheduler.c: (gst_scheduler_add_element),
15132         (gst_scheduler_factory_create):
15133         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15134         (gst_structure_free), (gst_structure_set_name),
15135         (gst_structure_id_set_value), (gst_structure_set_value),
15136         (gst_structure_set_valist), (gst_structure_remove_field),
15137         (gst_structure_remove_fields),
15138         (gst_structure_remove_fields_valist),
15139         (gst_structure_remove_all_fields), (gst_structure_foreach),
15140         (gst_structure_map_in_place),
15141         (gst_caps_structure_fixate_field_nearest_int),
15142         (gst_caps_structure_fixate_field_nearest_double):
15143         * gst/gststructure.h:
15144         * gst/gstsystemclock.c: (gst_system_clock_class_init),
15145         (gst_system_clock_init), (gst_system_clock_dispose),
15146         (gst_system_clock_async_thread),
15147         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
15148         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
15149         * gst/gstsystemclock.h:
15150         * gst/gsttag.c: (gst_tag_list_add_value_internal),
15151         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
15152         * gst/gsttaginterface.c:
15153         * gst/gstthread.c: (gst_thread_dispose),
15154         (gst_thread_release_children_locks), (gst_thread_change_state),
15155         (gst_thread_main_loop):
15156         * gst/gsttrashstack.h:
15157         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
15158         * gst/gsttypes.h:
15159         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15160         (gst_element_request_pad), (gst_element_get_pad_from_template),
15161         (gst_element_request_compatible_pad),
15162         (gst_element_get_compatible_pad_filtered),
15163         (gst_element_get_compatible_pad), (gst_element_state_get_name),
15164         (gst_element_link_pads_filtered), (gst_element_link_filtered),
15165         (gst_element_link_many), (gst_element_link),
15166         (gst_element_link_pads), (gst_element_unlink_pads),
15167         (gst_element_unlink_many), (gst_element_unlink),
15168         (gst_pad_can_link_filtered), (gst_pad_can_link),
15169         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
15170         (gst_object_default_error), (gst_bin_add_many),
15171         (gst_bin_remove_many), (gst_element_populate_std_props),
15172         (gst_element_class_install_std_props), (gst_buffer_merge),
15173         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
15174         (link_fold_func), (gst_pad_proxy_setcaps):
15175         * gst/gstutils.h:
15176         * gst/gstvalue.c: (gst_value_deserialize_string):
15177         * gst/parse/grammar.y:
15178         * gst/schedulers/gstbasicscheduler.c:
15179         (gst_basic_scheduler_cothreaded_chain),
15180         (gst_basic_scheduler_chain_recursive_add),
15181         (gst_basic_scheduler_pad_link):
15182         * gst/schedulers/gstoptimalscheduler.c:
15183         (get_group_schedule_function),
15184         (gst_opt_scheduler_state_transition),
15185         (gst_opt_scheduler_add_element), (element_get_reachables_func):
15186         * libs/gst/bytestream/bytestream.c:
15187         * libs/gst/dataprotocol/dataprotocol.c:
15188         (gst_dp_header_from_buffer):
15189         * po/nb.po:
15190         * po/ru.po:
15191         * tests/threadstate/threadstate2.c: (eos):
15192         * tools/gst-compprep.c: (main):
15193         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
15194         (print_pad_info), (print_children_info):
15195         * tools/gst-launch.c: (idle_func), (main):
15196         * tools/gst-md5sum.c: (idle_func), (main):
15197         * tools/gst-xmlinspect.c: (print_element_info):
15198         First THREADED backport attempt, focusing on adding locks and
15199         making sure the API is threadsafe. Needs more work. More docs
15200         follow this week.
15201
15202 2005-02-24  Andy Wingo  <wingo@pobox.com>
15203
15204         * tests/bench-complexity.scm:
15205         * tests/complexity.gnuplot: New files, good for running complexity
15206         benchmarks.
15207
15208         * tests/Makefile.am:
15209         * tests/complexity.c: New test, sets up N elements, at each level
15210         teeing into M streams per element. Eeeenteresting.
15211
15212         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
15213         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
15214         running bench-mass_elements.scm.
15215
15216         * tests/bench-mass_elements.scm: New script, runs mass_elements
15217         for various numbers of identities, outputting the results to a
15218         file. Requires guile 1.6. Just for testing.
15219
15220 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15221
15222         * gst/schedulers/fairscheduler.c:
15223           compile with debug disabled
15224
15225 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15226
15227         * configure.ac:
15228           hunting season on 0.9 is now OPEN