win32/common/libgstbase.def: added export of gst_type_find_helper_for_buffer
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2
3         * win32/common/libgstbase.def:
4           added export of gst_type_find_helper_for_buffer
5         * win32/common/libgstbase.def:
6           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7           gst_ghost_pad_get_target
8
9 2006-02-28  Wim Taymans  <wim@fluendo.com>
10
11         * docs/design/draft-klass.txt:
12         We use Filter now.
13         Added Connector to mark elements that are only used to
14         allow pipeline connections.
15         Moved Debug to extra feature since most of them are 
16         functionally something else.
17
18 2006-02-28  Wim Taymans  <wim@fluendo.com>
19
20         * docs/design/draft-klass.txt:
21         Some updates and clarifications.
22
23 2006-02-28  Wim Taymans  <wim@fluendo.com>
24
25         * docs/design/draft-klass.txt:
26         Proposal for klass field values.
27
28         * docs/design/part-streams.txt:
29         Start of a doc describing stream anatomy.
30
31 2006-02-28  Wim Taymans  <wim@fluendo.com>
32
33         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
34         Help the compiler a bit with type registration.
35         Use existing forward cod path instead of duplicating it when 
36         handling a message.
37         
38         * gst/gstbus.c: (gst_bus_get_type):
39         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
40         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
41         * gst/gstclock.c: (gst_clock_get_type):
42         * gst/gstelement.c: (gst_element_get_type),
43         * gst/gstelementfactory.c: (gst_element_factory_get_type):
44         * gst/gstindexfactory.c: (gst_index_factory_get_type):
45         * gst/gstminiobject.c: (gst_mini_object_get_type):
46         * gst/gstpad.c: (gst_pad_get_type):
47         * gst/gstsegment.c: (gst_segment_get_type):
48         * gst/gststructure.c: (gst_structure_get_type):
49         * gst/gstsystemclock.c: (gst_system_clock_get_type):
50         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
51         * gst/gstvalue.c:
52         Help compiler with type registration.
53
54         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
55         Small doc update.
56
57
58 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
59
60         * plugins/elements/gsttypefindelement.c:
61         (gst_type_find_element_handle_event):
62           When we get an EOS event and have not found a type yet
63           (most likely because we had not yet accumulated
64           TYPE_FIND_MIN_SIZE of data yet), try to determine the
65           type given the data we have so far. Fixes typefinding
66           for very short streams again, most notably quicktime
67           redirections as used on Apple's trailer site (#331701).
68
69 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
70
71         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
72         (gst_type_find_helper):
73           Try typefinding factories with the highest rank first.
74
75 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
76
77         * docs/libs/gstreamer-libs-docs.sgml:
78         * docs/libs/gstreamer-libs-sections.txt:
79         * libs/gst/base/gsttypefindhelper.c:
80           Add section for typefind helper and add documentation
81           for the old and the new function.
82
83 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
84
85         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
86         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
87         (gst_type_find_helper_for_buffer):
88         * libs/gst/base/gsttypefindhelper.h:
89           New API: gst_type_find_helper_for_buffer() (#332723).
90           
91 2006-02-27  Michael Smith  <msmith@fluendo.com>
92
93         * configure.ac:
94         * docs/Makefile.am:
95         * docs/slides/Makefile.am:
96           Patch from Loïc Minier to prevent CVS directories getting disted.
97
98 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
99
100         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
101           Use the REFCOUNTING category for caps refcounting.
102           
103 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
104
105         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
106           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
107
108 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
109
110         * plugins/elements/gsttypefindelement.c:
111         (gst_type_find_element_activate):
112           Use gst_pad_check_pull_range() before _activate_pull()
113           to avoid unnecessary open/close (see #331690).
114
115 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
116
117         * gst/gstutils.c:
118           Docs enhancement: make it crystal clear what the
119           gst_pad_add_*_probe() callbacks should look like.
120
121 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
122
123         * libs/gst/base/gstbasesrc.c:
124           Document how applications can stop recording from
125           live sources (see #330996).
126
127 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
128
129         * docs/gst/tmpl/.cvsignore:
130         * docs/plugins/tmpl/.cvsignore:
131         * tests/check/gst/.cvsignore:
132         * tests/check/libs/.cvsignore:
133         * tests/check/pipelines/.cvsignore:
134           Ignore more stuff.
135
136 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
137
138         * tests/check/Makefile.am:
139         * tests/check/libs/basesrc.c: (eos_event_counter),
140         (basesrc_eos_events_pull), (basesrc_eos_events_push),
141         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
142         (gst_basesrc_suite), (main):
143           ... and add some tests for the base source EOS stuff.
144
145 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
146
147         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
148           Test case originally showed the problem fixed below,
149           but was then amended. Add checks back at the place
150           where they used to be.
151
152 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
153
154         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
155         (gst_base_src_init), (gst_base_src_loop),
156         (gst_base_src_activate_push), (gst_base_src_activate_pull),
157         (gst_base_src_change_state):
158         * libs/gst/base/gstbasesrc.h:
159           Don't unconditionally send EOS when going from PAUSED to
160           READY state, esp. make sure we don't send two EOS events
161           in some cases (e.g. one when reaching EOS and one when
162           going from PAUSED to READY). Also, we don't want to send
163           EOS events when operating in pull mode. However, we do
164           want to send an EOS event when shutting down a live
165           source explicitly, for example (fixes #330996).
166           
167 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
168
169         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
170           Update src->read_position after a seek when not using mmap.
171           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
172
173 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
174
175         * gst/Makefile.am:
176         * gst/gstparse.h:
177         * gst/gstutils.c:
178         * gst/gstutils.h:
179         Make things work with --disable-parse as they do with 
180         --disable-load-save - the symbols involved disappear, but the
181         header is still installed and GST_DISABLE_PARSE is included via
182         gstconfig.h
183
184 2006-02-20  Julien MOUTTE  <julien@moutte.net>
185
186         * libs/gst/base/gstbasetransform.c:
187         (gst_base_transform_change_state): Fix a stupid bug. I was 
188         sure i compiled that.
189
190 2006-02-20  Julien MOUTTE  <julien@moutte.net>
191
192         * gst/gstpad.c: (gst_pad_set_blocked_async):
193         * gst/gstutils.c: (gst_pad_add_data_probe),
194         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
195         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
196         (gst_pad_remove_buffer_probe): Make those function act on the
197         ghostpad target when it's a ghostpad. (Closes #331727)
198
199 2006-02-20  Julien MOUTTE  <julien@moutte.net>
200
201         * libs/gst/base/gstbasetransform.c:
202         (gst_base_transform_change_state): Make basetransform reusable.
203         (Closes #331898)
204
205 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
206
207         * docs/random/release:
208         Move the current documentation of how to do a release to the top
209         of the file.
210
211         * gst/gstbin.c: (gst_bin_class_init),
212         (gst_bin_handle_message_func):
213         Allow multiple state-recalculation threads. (Closes #328873)
214
215 2006-02-19  Julien MOUTTE  <julien@moutte.net>
216
217         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
218         * gst/gstpad.c: (gst_pad_set_event_function),
219         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
220         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
221         2 strings. You can't use the STR_NULL macro on that.
222
223 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
224
225         * gst/gstpad.c: (gst_pad_set_event_function),
226         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
227         (gst_pad_set_getcaps_function)
228         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
229                 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
230                 So now, we can use --gst-debug-level=5 on Windows
231         * win32/common/libgstcontroller.def:
232           Added export of gst_controller_init
233         * win32/vs6/libgstcontroller.dsp:
234           Fixed Release post build configuration
235
236 2006-02-17  Wim Taymans  <wim@fluendo.com>
237
238         * tests/check/gst/gstquery.c: (GST_START_TEST):
239         Added another check.
240
241 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
242
243         * plugins/elements/gsttypefindelement.c: (find_peek):
244           We can do peeks at non-zero offsets, as long as they
245           fall within the buffer we have.
246
247 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
248
249         * tests/check/Makefile.am:
250         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
251         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
252         (parse_suite), (main):
253           Add testsuite for parse launch syntax
254
255 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
256
257         * plugins/elements/gsttypefindelement.c:
258         (gst_type_find_element_chain):
259           When typefinding is unsuccessful in the chain function, don't
260           error out immediately. Only error out with NO_CAPS_FOUND if
261           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
262           otherwise simply wait for more data so we can try typefinding
263           again with more data later. Also, don't attempt to typefind
264           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
265           this should improve typefinding from network sources where the
266           size of the first buffer can be somewhat random.
267
268 2006-02-14  Wim Taymans  <wim@fluendo.com>
269
270         * docs/gst/gstreamer-sections.txt:
271         * gst/gstpadtemplate.c:
272         * gst/gstpadtemplate.h:
273         Fix padtemplate docs, fixes #328805.
274
275 2006-02-14  Wim Taymans  <wim@fluendo.com>
276
277         * tools/gst-launch.c: (main):
278         NO_PREROLL is not an ERROR so don't send confusing messages
279         to the user.
280
281 2006-02-14  Wim Taymans  <wim@fluendo.com>
282
283         * gst/gstregistry.c: (gst_registry_get_default),
284         (_gst_registry_cleanup):
285         Protect default registry with lock and ref/sink it.
286         Fixes #324818, patch by Torsten Schoenfeld.
287
288 2006-02-14  Wim Taymans  <wim@fluendo.com>
289
290         * gst/gstbuffer.c:
291         * gst/gstquery.c: (gst_query_list_add_format),
292         (gst_query_set_formatsv), (gst_query_parse_formats_length),
293         (gst_query_parse_formats_nth):
294         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
295         Docs fixes.
296
297 2006-02-14  Wim Taymans  <wim@fluendo.com>
298
299         * docs/gst/gstreamer-sections.txt:
300         Reworked query docs.
301
302         * gst/gstquery.c: (gst_query_new_formats),
303         (gst_query_list_add_format), (gst_query_set_formats),
304         (gst_query_set_formatsv), (gst_query_parse_formats_length),
305         (gst_query_parse_formats_nth):
306         * gst/gstquery.h:
307         Flesh out formats query, added some new methods.
308         Fix part of #324398.
309
310         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
311         Added query creation tests.
312
313 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
314
315         * gst/gstpad.c: (fixate_value):
316         Add a default fixation for fraction lists.
317
318 2006-02-13  Wim Taymans  <wim@fluendo.com>
319
320         * gst/gsttask.c: (gst_task_init), (gst_task_func),
321         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
322         (gst_task_join):
323         * gst/gsttask.h:
324         Detect and warn for obvious deadlocks. fixes #320340
325         Fix error case where lock was not released.
326
327         * tests/check/Makefile.am:
328         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
329         (task_func), (gst_element_suite), (main):
330         Add task check.
331
332 2006-02-13  Wim Taymans  <wim@fluendo.com>
333
334         * docs/gst/gstreamer-sections.txt:
335         * gst/gstbus.c:
336         Add new functions to docs.
337
338 2006-02-13  Wim Taymans  <wim@fluendo.com>
339
340         * docs/design/part-TODO.txt:
341         Updated TODO list, basesrc supports seeking to non-bytes
342         formats.
343
344         * docs/design/part-element-sink.txt:
345         Update docs.
346
347         * gst/gstbin.c: (bin_replace_message),
348         (gst_bin_handle_message_func):
349         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
350         * gst/gstevent.c: (gst_event_finalize):
351         * gst/gstpad.c: (gst_pad_event_default_dispatch),
352         (gst_pad_send_event):
353         Use shiny new _TYPE_NAME macros.
354
355         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
356         Move debug statement up.
357
358         * gst/gstelement.c: (gst_element_set_locked_state):
359         Add some debugging.
360
361 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
362
363         * docs/gst/gstreamer-sections.txt:
364         * gst/gstmessage.h:
365         * gst/gstquery.h:
366           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
367           macros (#330906). Also, document the already existing
368           GST_QUERY_TYPE macro.
369
370 2006-02-13  Wim Taymans  <wim@fluendo.com>
371
372         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
373         (event_probe), (GST_START_TEST):
374         Only events up to the pipeline EOS are counted, there are
375         some more when going to NULL currently which we don't care
376         about for now.
377
378 2006-02-13  Wim Taymans  <wim@fluendo.com>
379
380         * gst/gstpad.c: (gst_pad_send_event):
381         Correctly check flushing and emit probes. fixes #330125
382
383 2006-02-10  Andy Wingo  <wingo@pobox.com>
384
385         * gst/gstbus.c (gst_bus_class_init): Declare our private data
386         structure.
387         (gst_bus_init): Cache the location of the private data in the
388         instance structure.
389         (gst_bus_enable_sync_message_emission) 
390         (gst_bus_disable_sync_message_emission): Implement new public
391         functions.
392         (gst_bus_post): Emit the sync-message signal if the user asked for
393         it. Fixes #330684.
394
395         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
396         location of the bus-private structuure.
397         (gst_bus_enable_sync_message_emission)
398         (gst_bus_disable_sync_message_emission): New public functions.
399
400 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
401
402         * docs/pwg/building-boiler.xml:
403         PWG patch from #326800 (Patch by Vincent Torri)
404
405 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
406
407         * configure.ac:
408         * docs/Makefile.am:
409         * docs/design/Makefile.am:
410           Dist design docs.
411
412 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
413
414         * configure.ac:
415           back to CVS
416
417 === release 0.10.3 ===
418
419 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
420
421         * configure.ac:
422           releasing 0.10.3, "Like a virgin"
423
424 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
425
426         * configure.ac:
427           2nd prerelease of 0.10.3
428           Bump libtool versioning.
429
430 2006-02-07  Andy Wingo  <wingo@pobox.com>
431
432         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
433         update last_stop if we're in TIME format and the timestamp is
434         valid.
435
436         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
437         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
438         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
439         If we get a new newsegment with a different format, adapt
440         accordingly.
441
442         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
443         of 0. Not a problem, really.
444
445         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
446         warn if sync=true.
447
448 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
449
450         * configure.ac:
451           Prelease of 0.10.3
452
453 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
454
455         * win32/vs7:
456           project files updated to the default vs7 configuration
457         * win32/common/libgstbase.def:
458         * win32/common/libgstreamer.def:
459           added new symbols,
460           removed empty lines,
461           sorted all exported symbols alphabetically
462         * win32/common/dirent.c:
463         * win32/common/dirent.h:
464         * win32/common/gchar.h:
465           use windows line end.
466           
467 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
468
469         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
470           Send EOS event when stopping.
471
472 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
473
474         * docs/README:
475           Tell folks what to do if the plugin-foobar.xml file
476           hasn't been generated for a newly-added plugin.
477
478 2006-02-05  Julien MOUTTE  <julien@moutte.net>
479
480         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
481         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
482         (gst_collect_pads_start), (gst_collect_pads_stop),
483         (gst_collect_pads_event): Collectpads now holds a reference
484         to the GstPad that was added. Indeed we don't want to look
485         at pads that might just go away with no warning...
486
487 2006-02-05  Julien MOUTTE  <julien@moutte.net>
488
489         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
490         (gst_collect_pads_start), (gst_collect_pads_stop),
491         (gst_collect_pads_event), (gst_collect_pads_chain):
492         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
493         Mark Nauwelaerts's patch on bug #328491.
494
495 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
496
497         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
498         (gst_utils_suite):
499           Add some simple tests for gst_parse_bin_from_description() and
500           gst_bin_find_unconnected_pad() (#329069).
501
502 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
503
504         * tools/gst-launch.c: (event_loop), (main):
505           Catch errors during preroll (#320084).
506
507 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
508
509         * plugins/elements/gsttypefindelement.c:
510         (gst_type_find_element_activate):
511           Post TYPE_NOT_FOUND error message when typefinding
512           is unsuccessful in the activate function as well.
513
514 2006-02-02  Wim Taymans  <wim@fluendo.com>
515
516         * docs/design/part-element-sink.txt:
517         Updated doc.
518
519 2006-02-02  Wim Taymans  <wim@fluendo.com>
520
521         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
522         (gst_base_sink_render_object),
523         (gst_base_sink_queue_object_unlocked):
524         Only keep track of prerollable items when we are 
525         prerolling.
526         Before rendering after preroll, always check if we
527         have queued items.
528         Added some more debugging.
529
530 2006-02-02  Wim Taymans  <wim@fluendo.com>
531
532         * gst/gstelement.c: (gst_element_continue_state),
533         (gst_element_set_state_func), (gst_element_change_state):
534         Fixed #326576, been running this for quite some time with
535         no regressions at all.
536
537 2006-02-02  Wim Taymans  <wim@fluendo.com>
538
539         * common/gst.supp:
540         Added more suppressions
541
542 2006-02-02  Wim Taymans  <wim@fluendo.com>
543
544         * docs/design/part-element-sink.txt:
545         Updated document.
546
547         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
548         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
549         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
550         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
551         (gst_base_sink_do_sync), (gst_base_sink_render_object),
552         (gst_base_sink_preroll_object),
553         (gst_base_sink_queue_object_unlocked),
554         (gst_base_sink_queue_object), (gst_base_sink_event),
555         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
556         (gst_base_sink_loop), (gst_base_sink_activate_pull),
557         (gst_base_sink_get_position), (gst_base_sink_change_state):
558         * libs/gst/base/gstbasesink.h:
559         Totally refactored matching the design doc.
560         Use two segments, one to clip incomming buffers and another to
561         perform sync.
562         Handle queueing correctly, bypass the queue when playing.
563         Make EOS cancelable.
564         Handle errors correctly when operating in pull based mode.
565
566         * tests/check/elements/fakesink.c: (GST_START_TEST),
567         (fakesink_suite):
568         Added new check for sinks.
569
570 2006-02-02  Wim Taymans  <wim@fluendo.com>
571
572         * gst/gstsegment.c: (gst_segment_clip):
573         No reason to refuse to clip when start == -1
574
575 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
576
577         * docs/README:
578         * docs/manual/intro-basics.xml:
579         * docs/manual/intro-preface.xml:
580         * docs/manual/manual.xml:
581         * docs/pwg/advanced-dparams.xml:
582         * docs/pwg/intro-basics.xml:
583         * docs/pwg/intro-preface.xml:
584         * docs/pwg/pwg.xml:
585           describe dparams (controller) for plugins
586           unify docs a little more
587
588 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
589
590         * docs/gst/gstreamer-sections.txt:
591         * gst/gstutils.c: (element_find_unconnected_pad),
592         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
593         * gst/gstutils.h:
594           Add new API: gst_parse_bin_from_description() and
595           gst_bin_find_unconnected_pad() (#329069).
596
597 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
598
599         * docs/manual/README:
600           uncover a nasty detail of the docs build
601
602 2006-01-31  Wim Taymans  <wim@fluendo.com>
603
604         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
605         Don't cache duration messages if we're not going to use or
606         free them.
607
608 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
609
610         * docs/manual/advanced-dparams.xml:
611         * docs/pwg/advanced-dparams.xml:
612           more dparam docs
613         * gst/gstindex.c:
614           fix docs
615         * libs/gst/controller/lib.c: (gst_controller_init):
616           init just once
617
618 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
619
620         * gst/gstelement.c: (gst_element_message_full):
621           also show file/line/func if no additional debug was given
622
623 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
624         
625         * win32/vs7/grammar.vcproj:
626                 activate copy of autogenerated files for Release mode
627
628 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
629         
630         * win32/common/libgstreamer.def:
631                 export gst_value_compare
632
633 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
634
635         * plugins/elements/Makefile.am:
636         * plugins/elements/gstelements.c:
637         * plugins/elements/gstfdsink.c: (_do_init),
638         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
639         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
640         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
641         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
642         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
643         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
644         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
645         * plugins/elements/gstfdsink.h:
646         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
647
648 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
649
650         * docs/manual/advanced-dparams.xml:
651           describe controller
652         * docs/manual/advanced-position.xml:
653         * docs/manual/basics-init.xml:
654         * docs/manual/manual.xml:
655         * docs/manual/titlepage.xml:
656         * docs/pwg/pwg.xml:
657         * docs/pwg/titlepage.xml:
658           cleanup xml (more to come)
659         * libs/gst/controller/gstcontroller.c:
660           fix typo
661
662 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
663         
664         * win32/vs6/grammar.dsp:
665                 add autogen of gstmarshal.c,h for Release mode
666                 
667 2006-01-30  Wim Taymans  <wim@fluendo.com>
668
669         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
670         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
671         (gst_base_sink_handle_object), (gst_base_sink_event),
672         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
673         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
674         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
675         (gst_base_sink_deactivate), (gst_base_sink_activate),
676         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
677         (gst_base_sink_query), (gst_base_sink_change_state):
678         Basesink cleanups, remove some old code.
679         Handle the case where a subclass can preroll in the render
680         method (mostly audiosinks).
681         Handle more events.
682         Remove some locks around variables that are now protected
683         with the PREROLL_LOCK (clock_id, flushing, ..).
684         Optimize position query some more, do correct locking.
685         Remove old code to push queue in state change, this is not
686         needed anymore since preroll blocks on all prerollable items 
687         now.
688         Almost implemented as described in design doc.
689
690 2006-01-30  Wim Taymans  <wim@fluendo.com>
691
692         * tests/check/gst/gstbin.c: (GST_START_TEST):
693         Wait for refcount to settle down before checking.
694
695 2006-01-30  Wim Taymans  <wim@fluendo.com>
696
697         * docs/design/part-element-sink.txt:
698         Pseudo code overview of desired sink behaviour regarding
699         preroll.
700
701 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
702         * win32/vs6/grammar.dsp:
703                 fix some bugs in Release mode for autogenerated files
704                 
705 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
706         * win32/common/libgstbase.def:
707         * win32/common/libgstreamer.def:
708                 export some new symbols: gst_base_src_set_format,
709                 gst_iterator_next, gst_structure_set_valist
710
711 2006-01-29  Julien MOUTTE  <julien@moutte.net>
712
713         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
714         Set pad functions unconditionally. Fixes #329105.
715
716 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
717         * win32/vs8:
718                 add vs8 project files created by Sergey Scobich
719
720 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
721
722         * gst/gstutils.c: (gst_element_unlink_pads):
723         Don't leak pad references.
724
725         * tests/check/elements/fakesink.c: (GST_START_TEST):
726         * tests/check/generic/sinks.c: (GST_START_TEST):
727         * tests/check/generic/states.c: (GST_START_TEST):
728         * tests/check/gst/gstbin.c: (GST_START_TEST):
729         * tests/check/gst/gstcaps.c: (GST_START_TEST):
730         * tests/check/gst/gstelement.c: (GST_START_TEST):
731         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
732         * tests/check/gst/gstiterator.c: (GST_START_TEST):
733         * tests/check/gst/gstvalue.c: (GST_START_TEST):
734         Fix a bunch of leaks. Make generic/sinks.c
735         use a bit less cpu by slowing the buffer rate
736         between fakesrc and fakesink.
737         
738 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
739         * gst/gstcaps.c:
740         * gst/gstelement.c: (gst_element_send_event):
741         * gst/gstevent.c:
742         * gst/gstinfo.c:
743         * gst/gstiterator.c:
744         * gst/gstiterator.h:
745         * gst/gstpad.c: (gst_pad_send_event):
746         * gst/gststructure.c:
747         * gst/gsturi.c:
748         * gst/gstutils.c:
749         * gst/gstvalue.c:
750         * libs/gst/base/gstadapter.c:
751           doc fixes, to link to function, just write gst_cool_function(), don't
752           prefix with '#'
753
754 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
755
756         * plugins/elements/gsttee.c: (gst_tee_do_push),
757         (gst_tee_handle_buffer):
758         Always prefer an actual return value from a src
759         pad in place of NOT_LINKED. This means we return
760         WRONG_STATE when all src pads are WRONG_STATE
761         instead of NOT_LINKED.
762
763         Lock when replacing the last message to prevent
764         racing with the get_property method.
765
766         Add debug output
767
768 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
769
770         * tests/check/Makefile.am:
771         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
772         (main):
773         Add a very simple check that should have caught the memleak I fixed
774         last night (if not for the slice allocator hiding it)
775
776 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
777
778         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
779         (gst_bin_remove_func), (gst_bin_handle_message_func),
780         (bin_query_duration_fold), (bin_query_generic_fold):
781         Clean up references to the clock provider when disposed or when
782         handling a clock-lost message from it.
783
784         Unref sinks when performing a query via gst_iterator_fold, as the
785         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
786
787         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
788         (gst_clock_set_master):
789         Drop our reference to the master clock, if any, when we are disposed.
790
791         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
792         Chain up in dispose. 
793
794 2006-01-26  Wim Taymans  <wim@fluendo.com>
795
796         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
797         Add some debugging.
798
799 2006-01-26  Julien MOUTTE  <julien@moutte.net>
800
801         * plugins/elements/gsttee.c: (gst_tee_do_push),
802         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
803         handles pad being NOT_LINKED or in WRONG_STATE.
804
805 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
806
807         * win32/MANIFEST:
808           more updating
809
810 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
811
812         * win32/MANIFEST:
813           remove obsolete entry
814
815 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
816
817         * docs/gst/gstreamer-sections.txt:
818         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
819         (gst_bin_iterate_sources), (gst_bin_send_event):
820         * gst/gstbin.h:
821         * gst/gstelement.c: (gst_element_send_event):
822         * gst/gstevent.c:
823         * gst/gstpad.c: (gst_pad_send_event):
824           added code for downstream events, reviewed docs in gstevent.c
825
826 2006-01-25  Julien MOUTTE  <julien@moutte.net>
827
828         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
829         We only query position using the clock in the playing state.
830         Query peer in the other cases.
831         * win32/common/config.h: Updates.
832
833 2006-01-24  Wim Taymans  <wim@fluendo.com>
834
835         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
836         A clock entry that is scheduled for the exact time of the
837         clock is still in time.
838
839         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
840         (gst_base_sink_do_sync):
841         Add some more debug info.
842
843 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
844
845         * win32/vs7:
846           Add new vs7 project files and solution.
847
848 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
849
850         * win32/vs7:
851           all files removed as they were out-dated.
852
853 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
854
855         * docs/random/release:
856           update notes
857         * gst/gstbin.c: (gst_bin_init):
858         * gst/gstbus.c: (gst_bus_new):
859         * gst/gstbus.h:
860         * gst/gstpipeline.c: (gst_pipeline_init):
861           use gst_bus_new(), improve logging, fix docs
862         * win32/common/config.h:
863           update for cvs build
864
865 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
866
867         * autogen.sh:
868           up required version of automake to 1.7
869
870 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
871
872         * win32/common/libgstreamer.def:
873           export gst_buffer_is_metadata_writable
874
875 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
876
877         * docs/gst/gstreamer-sections.txt:
878         * gst/gstevent.h:
879           Add gst_event_replace() (#327001)
880
881 2006-01-20  Wim Taymans  <wim@fluendo.com>
882
883         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
884         Make it actually compile too..
885
886 2006-01-20  Wim Taymans  <wim@fluendo.com>
887
888         * gst/gstcaps.c:
889         Clarify behaviour of _is_equal() when passing NULL parameters.
890
891         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
892         (gst_pad_set_caps):
893         Cleanups. Don't unref NULL caps.
894         When setting the same caps, protect caps of the pad with
895         proper lock.
896         Use full functionality of _is_equal() when comparing caps.
897
898 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
899
900         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
901         Don't loop infinitely if there are no buffers to present. Partially
902         fixes #327197, but collectpads is just broken for reusing elements
903         to do multiple encodes atm.
904
905 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
906
907         * tools/gst-inspect.c: (print_element_features):
908         * tools/gst-xmlinspect.c: (main):
909         URL_HANDLER is not a plugin feature we can search for in
910         the registry.
911
912 2006-01-19  Edward Hervey  <edward@fluendo.com>
913
914         * gst/gstelement.c: (gst_element_pads_activate): 
915         When activating, do src pads first, then sink pads.
916         When de-activating, do sink pads first, then src pads.
917
918 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
919
920         * docs/gst/gstreamer-sections.txt:
921         Add gst_index_add_associationv to the docs
922
923 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
924
925         * gst/gstevent.c:
926           Fix docs typo
927
928         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
929         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
930           Do some refactoring. Doesn't actually change functionality,
931           but makes landing the DRAIN event easier later.
932
933 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
934
935         * docs/pwg/advanced-scheduling.xml:
936           Update from 0.9.x to 0.10 API and make example a bit
937           clearer.
938
939 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
940
941         * docs/gst/gstreamer-sections.txt:
942         Add gst_buffer_(is|make)_metadata_writable methods.
943
944 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
945
946         * docs/design/part-sparsestreams.txt:
947         Update sparse streams doc, hopefully for greater clarity
948
949 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
950
951         * docs/design/part-events.txt:
952         Remove mention of FILLER events.
953         Add DRAIN event.
954
955         * docs/design/part-sparsestreams.txt:
956         Write some things about using NEWSEGMENT to keep sparse streams
957         flowing.
958
959 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
960
961         * gst/gstbin.c: (gst_bin_dispose):
962           Guard gst_object_unref call against a NULL object (dispose
963           can theoretically be called multiple times).
964           
965 2006-01-18  Wim Taymans  <wim@fluendo.com>
966
967         * gst/gstbin.c: (gst_bin_element_set_state):
968         * gst/gstclock.c: (gst_clock_id_wait):
969         Added some more debug info.
970
971         * libs/gst/base/gstadapter.c:
972         Added more docs.
973
974         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
975         (gst_base_sink_do_sync), (gst_base_sink_chain):
976         Added some comments.
977
978 2006-01-18  Wim Taymans  <wim@fluendo.com>
979
980         * tests/check/Makefile.am:
981         * tests/check/elements/fakesink.c: (chain_async_buffer),
982         (chain_async), (chain_async_return), (GST_START_TEST),
983         (fakesink_suite), (main):
984         Added fakesink test that checks prerolling and clipping
985         behaviour.
986
987         * tests/check/gst/gstutils.c: (GST_START_TEST):
988         Make check run faster so that buildbots don't timeout.
989
990 2006-01-18  Wim Taymans  <wim@fluendo.com>
991
992         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
993         (gst_base_sink_do_sync):
994         Some cleanups.
995         When the sink finishes blocking on the preroll buffer, it can
996         immediatly render it instead of rendering when the next buffer
997         arrives.
998
999 2006-01-18  Wim Taymans  <wim@fluendo.com>
1000
1001         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
1002         (gst_base_sink_get_property), (gst_base_sink_do_sync),
1003         (gst_base_sink_chain):
1004         Small cleanups.
1005         GST_ELEMENT_CLOCK and sync are protected with LOCK.
1006         Don't store _last_stop if the buffer is dropped.
1007
1008 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
1009
1010         * plugins/elements/gsttypefindelement.c:
1011         (gst_type_find_element_class_init):
1012           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
1013           object method handler that sets the caps on the pad and we want
1014           that to happen before we emit the signal (fixes e.g. feeding a
1015           plain text file to decodebin).
1016
1017 2006-01-18  Christian Schaller  <Christian@fluendo.com>
1018
1019         * gst/gstplugin.c: Add MPL and Proprietary as license options
1020
1021 2006-01-18  Andy Wingo  <wingo@pobox.com>
1022
1023         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
1024         symbol was exported before, it appears this was just an oversight.
1025         Fixes #168703.
1026         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
1027
1028         * gst/gstindex.c (gst_index_add_associationv): Changed int in
1029         prototype to gint. OK since this prototype was not in the header.
1030
1031 2006-01-17  Andy Wingo  <wingo@pobox.com>
1032
1033         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
1034         registry while we remove plugins.
1035
1036         * tools/gst-inspect.c (print_element_info): Don't unref the
1037         factory arg, that should be the responsibility of whatever code
1038         received the ref. Fixes a double-free when called from
1039         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
1040         (main): Unref the factory if we have one.
1041         (print_element_list): No change -- relies on the
1042         plugin_feature_list_free to free the list of features.
1043
1044 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
1045
1046         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1047         (gst_buffer_make_metadata_writable):
1048         * gst/gstbuffer.h:
1049         * libs/gst/base/gstbasetransform.c:
1050         (gst_base_transform_prepare_output_buf):
1051         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1052         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1053           Replace gst_buffer_(make|is)_metadata_writable patch now
1054           that the release is out.
1055
1056 2006-01-17  Andy Wingo  <wingo@pobox.com>
1057
1058         * gst/gstregistry.c: Reflow design comment. Update so as to speak
1059         in the present tense without reference to versions.
1060
1061         * gst/gstregistry.c (gst_registry_add_plugin)
1062         (gst_registry_remove_plugin, gst_registry_remove_feature)
1063         (gst_registry_find_feature, gst_registry_get_feature_list)
1064         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
1065         (gst_registry_lookup, gst_registry_scan_path)
1066         (_gst_registry_remove_cache_plugins)
1067         (gst_registry_get_feature_list_by_plugin): Add argument
1068         validation.
1069
1070 === release 0.10.2 ===
1071
1072 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
1073
1074         * configure.ac:
1075           releasing 0.10.2, "If man is five"
1076
1077 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1078
1079         * gst/gstbuffer.c:
1080         * gst/gstbuffer.h:
1081         * libs/gst/base/gstbasetransform.c:
1082         (gst_base_transform_prepare_output_buf):
1083         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1084         * tests/check/gst/gstbuffer.c: (gst_test_suite):
1085           Back out patch until after the release.
1086
1087 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1088
1089         * gst/gstminiobject.c:
1090           Spelling fix in docs.
1091         * ChangeLog - remove conflict indicator
1092
1093 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
1094
1095         Reviewed By: Andy Wingo
1096
1097         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1098         (gst_buffer_make_metadata_writable):
1099         * gst/gstbuffer.h:
1100           Add gst_buffer_(is|make)_metadata_writable as analogues of
1101           gst_buffer_(is|make)_writable.
1102
1103         * libs/gst/base/gstbasetransform.c:
1104         (gst_base_transform_prepare_output_buf):
1105         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1106           Use name gst_buffer_(is|make)_metadata_writable functions.
1107
1108         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1109           Test gst_buffer_(is|make)_metadata_writable
1110         
1111           (Closes: #324162)
1112
1113 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1114
1115         * docs/manual/Makefile.am:
1116           don't do parallel make
1117         * configure.ac:
1118           AC_SUBST HOST_CPU
1119         * win32/common/config.h.in:
1120           add generations for HOST_CPU and GST_MAJORMINOR
1121         * win32/common/config.h:
1122           commit generated result
1123
1124 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
1125
1126         * docs/manual/appendix-integration.xml:
1127           Update GNOME integration section to use gst_init_get_option_group()
1128           instead of the old popt stuff (#322911). Also, GNOME applications
1129           should  now use gconf*sink and gconf*src instead of the old gconf
1130           helper lib we had.
1131
1132 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
1133
1134
1135         * docs/gst/gstreamer-docs.sgml:
1136         * docs/gst/gstreamer-sections.txt:
1137         * docs/libs/gstreamer-libs-sections.txt:
1138           add new API entries to the docs
1139         * libs/gst/controller/Makefile.am:
1140         * libs/gst/controller/gstcontroller.c:
1141         * libs/gst/controller/gstcontroller.h:
1142         * libs/gst/controller/gstcontrollerprivate.h:
1143         * libs/gst/controller/gsthelper.c:
1144         * libs/gst/controller/gstinterpolation.c:
1145           move private structs to private header
1146         * po/README:
1147           gstreamer-0.7 -> gstreamer-0.10
1148         * tests/check/libs/struct_i386.h:
1149           remove private structs
1150
1151 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1152
1153         * plugins/indexers/Makefile.am:
1154           Fixes as part of #317048
1155
1156 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1157
1158         * plugins/indexers/Makefile.am:
1159           fix #316086 - compilation when mmap is missing
1160
1161 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
1162
1163         * libs/gst/base/gstbasesink.c:
1164           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
1165           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
1166         * win32/common/config.h:
1167           added some defines GST_MAJORMINOR and HOST_CPU
1168         * win32/common/libgstbase.def:
1169         * win32/common/libgstreamer.def:
1170           added some exported functions.
1171
1172 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1173
1174         * libs/gst/controller/gstcontroller.c:
1175         (gst_controlled_property_set_interpolation_mode),
1176         (gst_controlled_property_new):
1177         * libs/gst/controller/gstcontroller.h:
1178         * libs/gst/controller/gstinterpolation.c:
1179         (interpolate_none_get_string_value_array):
1180           make G_TYPE_STRING controlable
1181
1182 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1183
1184         * tools/README:
1185         * tools/gst-feedback.1.in:
1186         * tools/gst-inspect.1.in:
1187         * tools/gst-launch.1.in:
1188         * tools/gst-md5sum.1.in:
1189         * tools/gst-typefind.1.in:
1190         * tools/gst-xmlinspect.1.in:
1191         * tools/gst-xmllaunch.1.in:
1192           cleanup man-pages, remove reference to gst-register, document env-vars
1193
1194 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
1195
1196         * gst/gstbuffer.c: (gst_buffer_span):
1197           gst_buffer_span should copy the timestamp of the first buffer
1198           if they were both originally overlapping subbuffers of the 
1199           same parent, using the same logic as the 'slow copy' case.
1200
1201 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
1202
1203         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
1204           Need to awaken ALL the pads when we pop a buffer, otherwise
1205           collectpads only works when there is 2 input streams.
1206
1207 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
1208
1209         * docs/random/ensonic/media-device-daemon.txt:
1210           more ideas (dbus)
1211         * gst/gstbuffer.c:
1212           fix doc example, add clarification
1213         * tools/gst-launch.1.in:
1214           add initial info about GST_PLUGIN_PATH, needs more work
1215
1216 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1217
1218         * docs/manual/basics-bins.xml:
1219         * docs/manual/basics-elements.xml:
1220         * docs/manual/intro-basics.xml:
1221           Some more minor docs additions and updates.
1222
1223 2006-01-11  Wim Taymans  <wim@fluendo.com>
1224
1225         * docs/manual/basics-bins.xml:
1226         * docs/manual/basics-elements.xml:
1227         Some small fixes as pointed out by Ser-ver on IRC.
1228
1229 2006-01-10  Edward Hervey  <edward@fluendo.com>
1230
1231         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1232         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
1233         the single-segment mode.
1234
1235 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
1236
1237         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1238
1239         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
1240         (gst_base_src_perform_seek), (gst_base_src_send_event),
1241         (gst_base_src_set_property), (gst_base_src_get_property),
1242         (gst_base_src_loop), (gst_base_src_start),
1243         (gst_base_src_activate_push):
1244         * libs/gst/base/gstbasesrc.h:
1245           Name (private) union; makes Sun's Forte compiler happy (#324900).
1246
1247 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1248
1249         * README:
1250           gst-register is gone.
1251
1252 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1253
1254         * gst/gstvalue.c: (_gst_value_initialize):
1255           make the G_TYPE_DATE instantiation work if debug is disabled
1256
1257 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
1258
1259         * gst/gstmessage.c: (gst_message_parse_tag),
1260         (gst_message_parse_error), (gst_message_parse_warning):
1261           Don't crash when return location for error/warning debug
1262           string is NULL; add fact that return locations can be
1263           NULL to docs where appropriate.
1264
1265 2006-01-05  Wim Taymans  <wim@fluendo.com>
1266
1267         * gst/gstplugin.c: (gst_plugin_load_file):
1268         Replace strdup by g_strdup.
1269
1270 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1271
1272         * docs/pwg/advanced-types.xml:
1273           fix doc borkage
1274
1275 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1276
1277         submitted by: Abel Cheung
1278
1279         * po/LINGUAS:
1280         * po/zh_TW.po:
1281           Added Chinese (traditional) translation
1282
1283 2006-01-04  Wim Taymans  <wim@fluendo.com>
1284
1285         * docs/manual/basics-pads.xml:
1286         * docs/plugins/Makefile.am:
1287         * docs/plugins/gstreamer-plugins-docs.sgml:
1288         * docs/plugins/gstreamer-plugins-sections.txt:
1289         * docs/pwg/advanced-clock.xml:
1290         * docs/pwg/advanced-scheduling.xml:
1291         * docs/pwg/advanced-types.xml:
1292         * plugins/elements/gstfdsink.c:
1293         * plugins/elements/gstfdsrc.c:
1294         * plugins/elements/gstfdsrc.h:
1295         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1296         * plugins/elements/gstidentity.h:
1297         * plugins/elements/gstqueue.h:
1298         * plugins/elements/gsttee.c:
1299         * plugins/elements/gsttee.h:
1300         * plugins/elements/gsttypefindelement.c:
1301         (gst_type_find_element_class_init):
1302         * plugins/elements/gsttypefindelement.h:
1303         Small updates to various docs.
1304         Added core plugins to docs.
1305
1306 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1307
1308         * common/gst.supp:
1309           add a suppression for liboil's uninitialized variable
1310
1311 2006-01-02  James Livingston  <jrl at ids dot org dot au>
1312
1313         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1314
1315         * gst/gstutils.h:
1316           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
1317           macro, so that gcc doesn't complain if the -Wmissing-prototypes
1318           compiler switch is being used (#325429).
1319
1320 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
1321
1322         * gst/gstbin.c: (gst_bin_query):
1323           Disable duration query caching in bins until it gets
1324           fixed (see #324807).
1325
1326 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1327
1328         * tools/gst-inspect.c: (print_element_properties_info):
1329           Handle properties of POINTER and BOXED type.
1330
1331 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1332
1333         * gst/gst.c: (init_post):
1334           Init tags stuff and some other things before loading
1335           any static plugins (there may be other static plugins
1336           than just the GStreamer ones, and they may want to
1337           register their own tags or formats or whatever, and
1338           preferably without segfaulting).
1339
1340         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1341           Print at least a warning in the debug logs if we drop a
1342           query just because we don't know how to adjust the value
1343           in the particular format.
1344
1345 2005-12-24  David Schleef  <ds@schleef.org>
1346
1347         * tools/gstreamer-completion:
1348           Replacement for gst-complete written in sh and sed.  Only
1349           completes names of features, but that's 90% of what I want
1350           it for.  Properties are not available in registry.xml.  (Maybe
1351           they should be...)
1352
1353 === release 0.10.1 ===
1354
1355 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
1356
1357         * configure.ac:
1358           releasing 0.10.1, "Nollaig chridheil"
1359
1360 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
1361
1362         * docs/faq/cvs.xml:
1363           Add missing quote, should be make ERROR_CFLAGS="".
1364
1365 2005-12-20  Wim Taymans  <wim@fluendo.com>
1366
1367         * docs/design/part-trickmodes.txt:
1368         More documentation on trickmodes.
1369
1370 2005-12-20  Edward Hervey  <edward@fluendo.com>
1371
1372         * gst/gstcaps.c: (gst_static_caps_get_type):
1373         * gst/gstcaps.h:
1374           API addition: GST_TYPE_STATIC_CAPS
1375         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
1376         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
1377         * gst/gstpadtemplate.h:
1378           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
1379         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
1380         bindings.
1381
1382 2005-12-18  Wim Taymans  <wim@fluendo.com>
1383
1384         * libs/gst/base/gstadapter.c:
1385         * libs/gst/base/gstadapter.h:
1386         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1387         (gst_base_sink_get_position):
1388         * libs/gst/base/gstbasesink.h:
1389         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1390         (gst_base_src_default_query), (gst_base_src_default_do_seek),
1391         (gst_base_src_do_seek), (gst_base_src_perform_seek),
1392         (gst_base_src_send_event), (gst_base_src_update_length),
1393         (gst_base_src_get_range), (gst_base_src_loop),
1394         (gst_base_src_start):
1395         * libs/gst/base/gstbasesrc.h:
1396         * libs/gst/base/gstbasetransform.h:
1397         * libs/gst/base/gstcollectpads.h:
1398         * libs/gst/base/gstpushsrc.c:
1399         * libs/gst/base/gstpushsrc.h:
1400         * libs/gst/dataprotocol/dataprotocol.c:
1401         * libs/gst/dataprotocol/dataprotocol.h:
1402         * libs/gst/net/gstnetclientclock.h:
1403         * libs/gst/net/gstnettimeprovider.h:
1404         Documentation updates.
1405
1406 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1407
1408         * docs/manual/basics-helloworld.xml:
1409           Remove superfluous closing bracket in helloworld example.
1410
1411 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1412
1413         * tools/gst-launch.1.in:
1414           Update gst-launch man page; add a section with useful
1415           environment variables. Fixes #323882.
1416
1417 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
1418
1419         * gst/gst.c:
1420         * gst/gst_private.h:
1421           change some char* into char[]
1422
1423 2005-12-16  Wim Taymans  <wim@fluendo.com>
1424
1425         * gst/gstregistryxml.c: (load_feature):
1426         Cleanups.
1427         Don't use g_object_unref on GstObjects so that we avoid
1428         leaks on unsafe glibs.
1429
1430 2005-12-16  Wim Taymans  <wim@fluendo.com>
1431
1432         * gst/gstbin.c: (gst_bin_recalc_state):
1433         Small doc updates.
1434
1435 2005-12-16  Wim Taymans  <wim@fluendo.com>
1436
1437         * common/check.mak:
1438         Added make forever target for check.
1439
1440 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1441
1442         * gst/gst.c: (init_post):
1443           make the registry cache file HOST_CPU-dependent
1444
1445 2005-12-16  Andy Wingo  <wingo@pobox.com>
1446
1447         * plugins/elements/gstbufferstore.c
1448         (gst_buffer_store_cleared_func): Pay attention to g_list_append
1449         return value.
1450
1451         * tests/check/gst/gstobject.c
1452         (test_fake_object_name_threaded_unique): Pay attention to
1453         g_list_sort return value.
1454
1455 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1456
1457         * tools/gst-feedback-m.m:
1458           Update for 0.9/0.10 (fixes #323870).
1459
1460 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
1461
1462         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
1463           Fix lcopy for mini objects, the mini object needs to be ref'ed.
1464           
1465         * tests/check/gst/gstminiobject.c: (my_foo_init),
1466         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
1467         (test_value_collection), (gst_mini_object_suite):
1468           Add test to ensure refcounts end up as expected when passing
1469           GstMiniObjects through g_object_get() and g_object_set().
1470
1471 2005-12-14  Julien MOUTTE  <julien@moutte.net>
1472
1473         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1474         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
1475         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
1476         of collectpads. This version removes a lot of races without
1477         touching API/ABI. Yay !
1478
1479 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
1480
1481         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
1482           Don't allow activation of a srcpad in pull_range if it has no
1483           getrange function.
1484           Change some debug statements to be a little clearer
1485
1486         * plugins/elements/gsttypefindelement.c:
1487         (gst_type_find_handle_src_query):
1488           Check that we have a peer before executing queries thereupon.
1489
1490         * tests/examples/metadata/read-metadata.c: (message_loop):
1491           Use gst_bus_pop instead of gst_bus_poll when we just want it to
1492           immediately return us any available message with 0 timeout.
1493
1494 2005-12-12  Michael Smith  <msmith@fluendo.com>
1495
1496         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1497           Don't unref factories after calling them.
1498         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
1499         * plugins/elements/gsttypefindelement.c:
1500         (gst_type_find_element_chain):
1501           Free lists of factories after using them. Fixing typefinding memory
1502           leaks.
1503
1504 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1505
1506         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1507         (gst_plugin_feature_load):
1508           more meaningful debug output
1509         * configure.ac:
1510         * tests/Makefile.am:
1511         * tests/old/examples/Makefile.am:
1512           make make distcheck happy again
1513
1514 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1515
1516         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1517           Catch the special case where we are operating chain-based,
1518           but the downstream peer pad has no chain function. Emit a
1519           custom error message in this case instead of letting the
1520           core generate one implying that this is some sort of core
1521           bug. It's not, it just means that whatever got plugged
1522           into the pipeline downstream when we announced the type
1523           can only operate pull-based, while our source can only
1524           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
1525           Error string has not been marked for translation yet, as
1526           it probably needs some more work first.
1527
1528         (gst_type_find_element_get_best_possibility):
1529           Add helper function to find the best of all available
1530           found possibilities that qualify given the min. threshold.
1531
1532         (gst_type_find_element_handle_event):
1533           Fix the case where we get an EOS while still in TYPEFIND
1534           mode (we want to chose the best of all possible types,
1535           not just the first type that happens to be in our unsorted
1536           list of possible types).
1537
1538         (gst_type_find_element_chain):
1539           Make sure we return GST_FLOW_ERROR when we errored out
1540           in stop_typefinding(); also, don't just find the best of
1541           all found type entries and then use the last examined
1542           type entry, but actually use the best entry.
1543
1544 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1545
1546         * tests/examples/typefind/typefind.c: (type_found):
1547         * tests/examples/xml/runxml.c: (xml_loaded):
1548           More gcc4 fixes and a mem leak fix.
1549
1550 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1551
1552         * tests/examples/xml/createxml.c: (object_saved):
1553           gcc 4 fixes
1554
1555 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1556
1557         * tests/Makefile.am:
1558           enable the examples even more
1559
1560 2005-12-12  Andy Wingo  <wingo@pobox.com>
1561
1562         * libs/gst/net/gstnettimeprovider.c
1563         (gst_net_time_provider_class_init, gst_net_time_provider_init)
1564         (gst_net_time_provider_set_property)
1565         (gst_net_time_provider_get_property):
1566         API addition: Export "active" as a GObject property.
1567         (gst_net_time_provider_thread): Only respond to time queries if
1568         the time provider is active.
1569
1570         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
1571         NetTimeProvider, preserving binary compat.
1572
1573 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1574
1575         * tests/examples/controller/audio-example.c: (main):
1576         * tests/examples/launch/Makefile.am:
1577           convert comments again
1578
1579 2005-12-12  Wim Taymans  <wim@fluendo.com>
1580
1581         * libs/gst/base/gstpushsrc.c:
1582         Fix typo.
1583
1584 2005-12-12  Wim Taymans  <wim@fluendo.com>
1585
1586         * docs/libs/gstreamer-libs-sections.txt:
1587         Added new symbol to docs.
1588
1589         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1590         (gst_base_src_init), (gst_base_src_set_format),
1591         (gst_base_src_default_query), (gst_base_src_query),
1592         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
1593         (gst_base_src_perform_seek), (gst_base_src_send_event),
1594         (gst_base_src_default_event), (gst_base_src_event_handler),
1595         (gst_base_src_set_property), (gst_base_src_get_property),
1596         (gst_base_src_wait), (gst_base_src_do_sync),
1597         (gst_base_src_update_length), (gst_base_src_get_range),
1598         (gst_base_src_check_get_range), (gst_base_src_loop),
1599         (gst_base_src_default_negotiate), (gst_base_src_start),
1600         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1601         (gst_base_src_change_state):
1602         * libs/gst/base/gstbasesrc.h:
1603         Implement seeking to other formats than _BYTES.
1604         Implement more seeking methods correctly.
1605         Doc updates.
1606         Added query vmethod.
1607         Added do_seek vmethod to make life easier for subclasses
1608         when seeking.
1609         API addition: gst_base_src_set_format()
1610
1611 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1612
1613         * tests/examples/Makefile.am:
1614           added that too
1615
1616 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1617
1618         * configure.ac:
1619         * docs/random/ensonic/media-device-daemon.txt:
1620         * tests/examples/controller/.cvsignore:
1621         * tests/examples/controller/Makefile.am:
1622         * tests/examples/controller/audio-example.c: (main):
1623         * tests/examples/helloworld/.cvsignore:
1624         * tests/examples/helloworld/Makefile.am:
1625         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
1626         * tests/examples/launch/.cvsignore:
1627         * tests/examples/launch/Makefile.am:
1628         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
1629         * tests/examples/metadata/.cvsignore:
1630         * tests/examples/metadata/Makefile.am:
1631         * tests/examples/metadata/read-metadata.c: (message_loop),
1632         (make_pipeline), (print_tag), (main):
1633         * tests/examples/queue/.cvsignore:
1634         * tests/examples/queue/Makefile.am:
1635         * tests/examples/queue/queue.c: (event_loop), (main):
1636         * tests/examples/typefind/.cvsignore:
1637         * tests/examples/typefind/Makefile.am:
1638         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
1639         (main):
1640         * tests/examples/xml/.cvsignore:
1641         * tests/examples/xml/Makefile.am:
1642         * tests/examples/xml/createxml.c: (object_saved), (main):
1643         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
1644         * tests/old/examples/Makefile.am:
1645         * tests/old/examples/TODO:
1646         * tests/old/examples/controller/.cvsignore:
1647         * tests/old/examples/controller/Makefile.am:
1648         * tests/old/examples/controller/audio-example.c:
1649         * tests/old/examples/helloworld/.cvsignore:
1650         * tests/old/examples/helloworld/Makefile.am:
1651         * tests/old/examples/helloworld/helloworld.c:
1652         * tests/old/examples/launch/.cvsignore:
1653         * tests/old/examples/launch/Makefile.am:
1654         * tests/old/examples/launch/mp3parselaunch.c:
1655         * tests/old/examples/launch/mp3play:
1656         * tests/old/examples/manual/Makefile.am:
1657         * tests/old/examples/metadata/Makefile.am:
1658         * tests/old/examples/metadata/read-metadata.c:
1659         * tests/old/examples/queue/.cvsignore:
1660         * tests/old/examples/queue/Makefile.am:
1661         * tests/old/examples/queue/queue.c:
1662         * tests/old/examples/typefind/.cvsignore:
1663         * tests/old/examples/typefind/Makefile.am:
1664         * tests/old/examples/typefind/typefind.c:
1665         * tests/old/examples/xml/.cvsignore:
1666         * tests/old/examples/xml/Makefile.am:
1667         * tests/old/examples/xml/createxml.c:
1668         * tests/old/examples/xml/runxml.c:
1669           applied some simple fixing to some examples
1670           re-enabled the working examples
1671
1672 2005-12-12  Wim Taymans  <wim@fluendo.com>
1673
1674         * gst/gstsegment.c: (gst_segment_init),
1675         (gst_segment_set_last_stop), (gst_segment_set_seek),
1676         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1677         (gst_segment_to_running_time):
1678         Added more documentation.
1679         Make sure the last_pos value is updated properly.
1680         Make sure to_stream_time and to_running_time don't
1681         operate on wrong values.
1682
1683         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1684         Update check.
1685
1686 2005-12-12  Michael Smith  <msmith@fluendo.com>
1687
1688         * plugins/elements/gsttypefindelement.c: (free_entry),
1689         (gst_type_find_element_chain):
1690           Now that we're not leaking factories, make sure we keep references
1691           to them while we need them.
1692
1693 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1694
1695         * tests/check/gst/struct_i386.h:
1696           ifdef out the XML structs
1697
1698 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1699
1700         * gst/gstvalue.c: (gst_value_transform_double_fraction):
1701           floor is not needed, F is always positive; this obviates the
1702           need for adding -lm when building without libxml
1703
1704 2005-12-12  Wim Taymans  <wim@fluendo.com>
1705
1706         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1707         Take current playback rate into account when reporting
1708         the position.
1709
1710 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1711
1712         * docs/manual/mime-world.fig:
1713           Let's try this again, this time with a file that is
1714           actually in XFig format.
1715
1716 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1717
1718         * docs/manual/mime-world.fig:
1719           Add audioconvert element to diagram so that it
1720           matches the text and the code (fixes #319526).
1721
1722 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1723
1724         * docs/pwg/building-chainfn.xml:
1725         * docs/pwg/building-pads.xml:
1726         * docs/pwg/building-state.xml:
1727         * docs/pwg/other-source.xml:
1728           Update state change stuff for 0.10 (fixes #322969).
1729
1730 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1731
1732         * docs/manual/advanced-dataaccess.xml:
1733         * docs/manual/appendix-checklist.xml:
1734         * docs/manual/appendix-programs.xml:
1735         * docs/manual/basics-pads.xml:
1736         * docs/manual/highlevel-components.xml:
1737         * docs/manual/manual.xml:
1738           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1739           add converters in front of pipelines; remove curly
1740           brackets for threads stuff, they no longer exist; use
1741           GST_TYPE_FRACTION for framerates; update some pieces of
1742           code to 0.10, but there's plenty more to do.
1743
1744         * docs/manual/appendix-porting.xml:
1745           Expand on asynchroneous state changes; s/0.9/0.10/;
1746           mention disappearance of gst_init_get_popt_table()
1747           (fixes #322916).
1748
1749 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1750
1751         * docs/faq/using.xml:
1752           Spider no longer exists, and neither does gst-launch-ext.
1753           Update examples to use decodebin and playbin and put
1754           converters in front of sinks (fixes #323726).
1755
1756 2005-12-09  Michael Smith  <msmith@fluendo.com>
1757
1758         * plugins/elements/gsttypefindelement.c: (find_peek),
1759         (gst_type_find_element_chain):
1760           Fix leaking element factories in typefinding.
1761           Fix problem where we forgot about a probable type on non-seekable
1762           files, and thus later mis-typefound it.
1763
1764 2005-12-09  Michael Smith  <msmith@fluendo.com>
1765
1766         * common/m4/gst-makecontext.m4:
1767         * common/m4/gst-mcsc.m4:
1768         * configure.ac:
1769         * win32/common/config.h:
1770         * win32/common/config.h.in:
1771           Remove makecontext stuff; not used in 0.10 and causes problems on
1772           HPUX according to bug #322441
1773
1774 2005-12-07  Wim Taymans  <wim@fluendo.com>
1775
1776         * tests/check/Makefile.am:
1777         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1778         (main):
1779         * tests/check/libs/struct_i386.h:
1780         Added ABI check for libs
1781
1782 2005-12-07  Wim Taymans  <wim@fluendo.com>
1783
1784         * tests/check/Makefile.am:
1785         And add the struct_i386.h to dist.
1786
1787 2005-12-07  Wim Taymans  <wim@fluendo.com>
1788
1789         * tests/check/Makefile.am:
1790         * tests/check/gst/.cvsignore:
1791         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1792         (main):
1793         * tests/check/gst/struct_i386.h:
1794         Added check for ABI compatibility.
1795
1796 2005-12-07  Wim Taymans  <wim@fluendo.com>
1797
1798         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1799         (gst_fake_src_get_times), (gst_fake_src_create):
1800         Fix broken sync option, fixes #323259
1801
1802 2005-12-07  Wim Taymans  <wim@fluendo.com>
1803
1804         * gst/gstbuffer.c:
1805         Small docs update.
1806
1807         * gst/gstcaps.c: (gst_caps_is_equal):
1808         Don't assert on NULL <--> X. Fixes #323260
1809
1810         * gst/gstminiobject.c: (gst_mini_object_replace):
1811         If we're doing atomic operations, we might just as well use
1812         the proper way to get an atomic pointer.
1813
1814         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1815         Clean up debugging.
1816
1817 2005-12-07  Michael Smith  <msmith@fluendo.com>
1818
1819         * gst/parse/grammar.y:
1820           Remove handling of { } for threads.
1821
1822 2005-12-06  David Schleef  <ds@schleef.org>
1823
1824         * libs/gst/base/gstbasetransform.c: speling fix.
1825
1826 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1827
1828         * docs/libs/tmpl/gstdataprotocol.sgml:
1829         * docs/random/omega/testing/gstobject.c:
1830         * gst/gst.c:
1831         * gst/gstclock.c:
1832         * gst/gstelement.c:
1833         * gst/gstelementfactory.c:
1834         * gst/gsterror.c:
1835         * gst/gstevent.c:
1836         * gst/gstghostpad.c:
1837         * gst/gstinfo.c:
1838         * gst/gstpadtemplate.c:
1839         * gst/gstregistryxml.c:
1840         * gst/gsttaglist.c:
1841         * gst/gsttagsetter.c:
1842         * gst/gsttypefind.c:
1843         * gst/gstvalue.c:
1844         * libs/gst/base/gstbasesrc.c:
1845         * libs/gst/net/gstnetclientclock.c:
1846         * libs/gst/net/gstnettimeprovider.c:
1847         * plugins/elements/gstfakesrc.c:
1848         * plugins/elements/gstfdsrc.c:
1849         * plugins/elements/gstfilesrc.c:
1850         * plugins/elements/gstidentity.c:
1851         * plugins/elements/gstqueue.c:
1852         * plugins/elements/gsttypefindelement.c:
1853         * plugins/indexers/gstfileindex.c:
1854         * plugins/indexers/gstmemindex.c:
1855         * tests/check/gst/gsttag.c:
1856         * tests/old/examples/cutter/cutter.c:
1857         * tests/old/examples/mixer/mixer.c:
1858         * tests/old/examples/xml/runxml.c: (main):
1859         * tests/old/testsuite/caps/normalisation.c:
1860         * tests/old/testsuite/debug/global.c:
1861         * tests/old/testsuite/parse/parse1.c:
1862         * tools/gst-xmlinspect.c:
1863         * win32/common/dirent.c:
1864           expand tabs
1865
1866 === release 0.10.0 ===
1867
1868 2005-12-05   <thomas (at) apestaart (dot) org>
1869
1870         * configure.ac:
1871           releasing 0.10.0, "Maroilles"
1872
1873 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1874
1875         submitted by: Funda Wang <fundawang@linux.net.cn>
1876
1877         * po/LINGUAS:
1878         * po/zh_CN.po:
1879           added Chinese (Traditional) translation
1880
1881 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1882
1883         * docs/gst/gstreamer-sections.txt:
1884         * docs/libs/tmpl/gstdataprotocol.sgml:
1885         * docs/random/thomasvs/TODO:
1886         * gst/gstutils.c:
1887         * gst/gstutils.h:
1888           fix docs
1889
1890 2005-12-05  Andy Wingo  <wingo@pobox.com>
1891
1892         patch by: Wim Taymans <wim@fluendo.com>
1893
1894         * libs/gst/base/gstbasetransform.c
1895         (gst_base_transform_prepare_output_buf)
1896         (gst_base_transform_buffer_alloc):
1897         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1898         alloc_buffer_and_set_caps.
1899
1900         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1901         set_caps on the source pad.
1902         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1903         alloc_buffer used to do. Fixes #322874.
1904
1905         * docs/gst/gstreamer-sections.txt: 
1906         * docs/design/part-negotiation.txt: 
1907         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1908         changes.
1909
1910 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1911
1912         patch by: Sebastien Moutte
1913
1914         * win32/MANIFEST:
1915         * win32/common/config.h.in:
1916         * win32/vs6/libgstcontroller.dsp:
1917           win32 build fixes
1918
1919 2005-12-05  Wim Taymans  <wim@fluendo.com>
1920
1921         * gst/gstcaps.c: (gst_caps_is_equal):
1922         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1923         (gst_fake_src_create):
1924         Back out previous code changes, leave doc updates, file bugs 
1925         instead. 
1926
1927 2005-12-05  Wim Taymans  <wim@fluendo.com>
1928
1929         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1930         (gst_fake_src_get_times), (gst_fake_src_create):
1931         * plugins/elements/gstfakesrc.h:
1932         Fix broken sync code.
1933
1934 2005-12-05  Wim Taymans  <wim@fluendo.com>
1935
1936         * gst/gstcaps.c: (gst_caps_is_equal):
1937         Comparing NULL against !NULL yields different caps, not a
1938         failure.
1939
1940 2005-12-05  Wim Taymans  <wim@fluendo.com>
1941
1942         * gst/gstpipeline.c:
1943         Fix small typo in docs.
1944
1945 2005-12-05  Andy Wingo  <wingo@pobox.com>
1946
1947         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1948
1949         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1950         registries/plugins with a MAJORMINOR one.
1951         (plugin_desc): Rename library from gstcoreleements to
1952         staticelements. Fixes #323222.
1953
1954 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1955
1956         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1957           Change debug category to 'collectpads' from 'collect_pads'
1958           (fixes #323250).
1959
1960 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1961
1962         patch by: Sebastien Moutte
1963
1964         * libs/gst/controller/gstinterpolation.c:
1965           use convert function for uint64/double
1966         * win32/vs6/libgstcontroller.dsp:
1967           link to GLib
1968
1969 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1970
1971         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1972         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1973         * gst/gstutils.h:
1974         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1975           add tests that seem to show that the guint64/gdouble conversions
1976           are correct.
1977
1978 2005-12-02  Wim Taymans  <wim@fluendo.com>
1979
1980         * gst/gstregistry.c: (gst_registry_add_path):
1981         * gst/gstregistry.h:
1982         * gst/gstregistryxml.c:
1983         Fix docs again.
1984
1985 2005-12-02  Wim Taymans  <wim@fluendo.com>
1986
1987         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1988         (gst_util_uint64_scale_int):
1989         Small cleanup.
1990
1991         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1992         Add debug log line.
1993
1994         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1995         Add FIXME.
1996
1997 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1998
1999         * win32/MANIFEST:
2000         * win32/common/config.h:
2001         * win32/vs6/gstreamer.dsw:
2002         * win32/vs6/libgstcoreelements.dsp:
2003         * win32/vs6/libgstelements.dsp:
2004           renamed core elements plugin
2005
2006 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2007
2008         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
2009         (get_candidates):
2010           do piece-wise major/minor comparison so 0.9 < 0.10
2011           also allow .exe extensions for tools
2012
2013 2005-12-02  Michael Smith  <msmith@fluendo.com>
2014
2015         * gst/gst.c:
2016           Escape a % to make gtkdoc happier; bug 322958.
2017
2018 === release 0.9.7 ===
2019
2020 2005-12-01   <thomas (at) apestaart (dot) org>
2021
2022         * configure.ac:
2023           releasing 0.9.7, "My Dog Has No Nose"
2024
2025 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2026
2027         * common/gst-xmlinspect.py:
2028         * configure.ac:
2029         * docs/libs/tmpl/gstdataprotocol.sgml:
2030         * docs/random/release:
2031         * po/af.po:
2032         * po/az.po:
2033         * po/bg.po:
2034         * po/ca.po:
2035         * po/cs.po:
2036         * po/de.po:
2037         * po/en_GB.po:
2038         * po/fr.po:
2039         * po/it.po:
2040         * po/nb.po:
2041         * po/nl.po:
2042         * po/ru.po:
2043         * po/sq.po:
2044         * po/sr.po:
2045         * po/sv.po:
2046         * po/tr.po:
2047         * po/uk.po:
2048         * po/vi.po:
2049         * win32/common/config.h:
2050         * win32/common/config.h.in:
2051         * win32/vs6/gst_inspect.dsp:
2052         * win32/vs6/gst_launch.dsp:
2053         * win32/vs6/libgstbase.dsp:
2054         * win32/vs6/libgstelements.dsp:
2055         * win32/vs6/libgstreamer.dsp:
2056         * win32/vs7/GStreamer.vcproj:
2057         * win32/vs7/gst-inspect.vcproj:
2058         * win32/vs7/gst-launch.vcproj:
2059         * win32/vs7/libgstbase.vcproj:
2060           bump GST_MAJORMINOR to 0.10
2061           reset libtool version
2062
2063 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2064
2065         * po/LINGUAS:
2066         * po/bg.po:
2067           Added Bulgarian translation by (Alexander Shopov)
2068
2069 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2070
2071         * tests/check/gst/gstplugin.c:
2072           fix test
2073
2074 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2075
2076         * common/gst-xmlinspect.py:
2077         * common/gtk-doc-plugins.mak:
2078         * configure.ac:
2079         * docs/Makefile.am:
2080         * docs/gst/Makefile.am:
2081         * docs/gst/gstreamer-docs.sgml:
2082         * docs/gst/gstreamer-sections.txt:
2083         * docs/gst/gstreamer.types:
2084         * docs/gst/gstreamer.types.in:
2085         * docs/plugins/Makefile.am:
2086         * docs/plugins/gstreamer-plugins-docs.sgml:
2087         * docs/plugins/gstreamer-plugins-sections.txt:
2088         * docs/plugins/gstreamer-plugins.types:
2089         * docs/plugins/inspect.stamp:
2090         * docs/plugins/inspect/plugin-coreelements.xml:
2091         * docs/plugins/inspect/plugin-coreindexers.xml:
2092         * docs/plugins/scanobj-build.stamp:
2093         * gstreamer.spec.in:
2094         * plugins/elements/Makefile.am:
2095         * plugins/elements/gstelements.c:
2096         * plugins/elements/gstfakesink.c:
2097         * plugins/elements/gstfakesrc.c:
2098         * plugins/elements/gstfilesink.c:
2099         * plugins/elements/gstfilesrc.c:
2100         * plugins/elements/gstqueue.c:
2101         * plugins/indexers/Makefile.am:
2102         * plugins/indexers/gstindexers.c:
2103           document core plugins in a separate document just like all the
2104           others
2105           rename these plugins to something starting with core
2106
2107 2005-12-01  Andy Wingo  <wingo@pobox.com>
2108
2109         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
2110         padding here before, but it missed the commit.
2111
2112 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2113
2114         * libs/gst/controller/gstinterpolation.c:
2115           whitespace prices have crashed, we should feel free to use some now
2116           use gst_guint64_to_gdouble
2117
2118 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2119
2120         * libs/gst/controller/gstcontroller.c:
2121         * libs/gst/controller/gsthelper.c:
2122         * libs/gst/controller/gstinterpolation.c:
2123         * libs/gst/controller/lib.c:
2124           wrap config.h include
2125
2126 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2127
2128         * docs/gst/gstreamer-sections.txt:
2129           update docs
2130
2131 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2132
2133         * plugins/elements/gstelements.c:
2134         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
2135         (gst_fd_sink__class_init), (gst_fd_sink__init),
2136         (gst_fd_sink__chain), (gst_fd_sink__set_property),
2137         (gst_fd_sink__get_property):
2138         * plugins/elements/gstfdsink.h:
2139         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
2140         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
2141         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
2142         (gst_fd_src_unlock), (gst_fd_src_set_property),
2143         (gst_fd_src_get_property), (gst_fd_src_create),
2144         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
2145         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
2146         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
2147         (gst_fd_src_uri_handler_init):
2148         * plugins/elements/gstfdsrc.h:
2149         * plugins/elements/gstqueue.c: (gst_queue_get_type):
2150           more anal cleanup
2151
2152 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2153
2154         * docs/gst/Makefile.am:
2155         * docs/gst/gstreamer.types.in:
2156         * gst/Makefile.am:
2157           fix the docs build
2158
2159 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2160
2161         * configure.ac:
2162         * gst/Makefile.am:
2163         * gst/gst.c:
2164         * gst/gstplugin.h:
2165         * gst/gstregistry.h:
2166         * tests/benchmarks/complexity.c:
2167         * tests/benchmarks/mass-elements.c:
2168         * tests/check/Makefile.am:
2169         * tools/Makefile.am:
2170         * tools/gst-inspect.c:
2171         * tools/gst-xmlinspect.c:
2172           various fixes to make
2173           --disable-nls --disable-registry --disable-loadsave
2174           --disable-parse --disable-gst-debug
2175           work and get the core .so down to 360444 bytes after stripping
2176
2177 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2178
2179         * Makefile.am:
2180         * configure.ac:
2181           descend into tests
2182         * docs/random/thomasvs/TODO:
2183         * tests/Makefile.am:
2184         * tests/README:
2185           add a README
2186
2187 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2188
2189         * win32/GStreamer.vcproj:
2190         * win32/MANIFEST:
2191         * win32/Makefile:
2192         * win32/Makefile.inspect:
2193         * win32/Makefile.launch:
2194         * win32/Makefile.register:
2195         * win32/README.txt:
2196         * win32/gst-inspect.vcproj:
2197         * win32/gst-launch.vcproj:
2198         * win32/gst-register.vcproj:
2199         * win32/gstelements.vcproj:
2200         * win32/gstgetbits.def:
2201         * win32/gstgetbits.vcproj:
2202         * win32/gstreamer-dbg.def:
2203         * win32/gstreamer.def:
2204         * win32/libgstbase.def:
2205         * win32/libgstbase.vcproj:
2206         * win32/link_oldruntime.c:
2207         * win32/mman.c:
2208         * win32/mman.h:
2209         * win32/mman.inl:
2210         * win32/msvc71.sln:
2211           move even more stuff, win32/ is nice and clean now
2212
2213 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2214
2215         * libs/gst/control/.cvsignore:
2216         * win32/MANIFEST:
2217         * win32/config.h:
2218         * win32/dirent.c:
2219         * win32/dirent.h:
2220         * win32/gstbytestream.def:
2221         * win32/gstbytestream.vcproj:
2222         * win32/gstconfig.h:
2223         * win32/gstenumtypes.c:
2224         * win32/gstenumtypes.h:
2225         * win32/gstoptimalscheduler.vcproj:
2226         * win32/gstversion.h:
2227         * win32/gtchar.h:
2228         * win32/testsuite/bins.vcproj:
2229         * win32/testsuite/bytestream.vcproj:
2230         * win32/testsuite/caps.vcproj:
2231         * win32/testsuite/cleanup.vcproj:
2232         * win32/testsuite/clock.vcproj:
2233         * win32/testsuite/debug.vcproj:
2234         * win32/testsuite/dlopen.vcproj:
2235         * win32/testsuite/dynparams.vcproj:
2236         * win32/testsuite/elements.vcproj:
2237         * win32/testsuite/ghostpads.vcproj:
2238         * win32/testsuite/indexers.vcproj:
2239         * win32/testsuite/negotiation.vcproj:
2240         * win32/testsuite/parse.vcproj:
2241         * win32/testsuite/plugin.vcproj:
2242         * win32/testsuite/refcounting.vcproj:
2243         * win32/testsuite/schedulers.vcproj:
2244         * win32/testsuite/states.vcproj:
2245         * win32/testsuite/tags.vcproj:
2246         * win32/testsuite/threads.vcproj:
2247           remove old win32 stuff that isn't maintained and should be
2248           reorganized
2249
2250 2005-11-30  Andy Wingo  <wingo@pobox.com>
2251
2252         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
2253         loading the gst.interfaces python module bork.
2254
2255         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
2256         available since GLib 2.2. Fixes #318031.
2257
2258 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2259
2260         * Makefile.am:
2261         * check/.cvsignore:
2262         * check/Makefile.am:
2263         * check/elements/.cvsignore:
2264         * check/elements/fakesrc.c:
2265         * check/elements/fdsrc.c:
2266         * check/elements/identity.c:
2267         * check/generic/.cvsignore:
2268         * check/generic/states.c:
2269         * check/gst-libs/.cvsignore:
2270         * check/gst-libs/controller.c:
2271         * check/gst-libs/gdp.c:
2272         * check/gst/.cvsignore:
2273         * check/gst/capslist.h:
2274         * check/gst/gst.c:
2275         * check/gst/gstbin.c:
2276         * check/gst/gstbuffer.c:
2277         * check/gst/gstbus.c:
2278         * check/gst/gstcaps.c:
2279         * check/gst/gstelement.c:
2280         * check/gst/gstevent.c:
2281         * check/gst/gstghostpad.c:
2282         * check/gst/gstiterator.c:
2283         * check/gst/gstmessage.c:
2284         * check/gst/gstminiobject.c:
2285         * check/gst/gstobject.c:
2286         * check/gst/gstpad.c:
2287         * check/gst/gstpipeline.c:
2288         * check/gst/gstplugin.c:
2289         * check/gst/gstsegment.c:
2290         * check/gst/gststructure.c:
2291         * check/gst/gstsystemclock.c:
2292         * check/gst/gsttag.c:
2293         * check/gst/gstutils.c:
2294         * check/gst/gstvalue.c:
2295         * check/net/.cvsignore:
2296         * check/net/gstnetclientclock.c:
2297         * check/net/gstnettimeprovider.c:
2298         * check/pipelines/.cvsignore:
2299         * check/pipelines/cleanup.c:
2300         * check/pipelines/simple_launch_lines.c:
2301         * check/pipelines/stress.c:
2302         * check/states/.cvsignore:
2303         * check/states/sinks.c:
2304         * configure.ac:
2305         * examples/Makefile.am:
2306         * examples/appreader/.cvsignore:
2307         * examples/appreader/Makefile.am:
2308         * examples/appreader/appreader.c:
2309         * examples/controller/.cvsignore:
2310         * examples/controller/Makefile.am:
2311         * examples/controller/audio-example.c:
2312         * examples/cutter/.cvsignore:
2313         * examples/cutter/Makefile.am:
2314         * examples/cutter/cutter.c:
2315         * examples/cutter/cutter.h:
2316         * examples/events/Makefile.am:
2317         * examples/events/seek.c:
2318         * examples/helloworld/.cvsignore:
2319         * examples/helloworld/Makefile.am:
2320         * examples/helloworld/helloworld.c:
2321         * examples/helloworld2/.cvsignore:
2322         * examples/helloworld2/Makefile.am:
2323         * examples/helloworld2/helloworld2.c:
2324         * examples/launch/.cvsignore:
2325         * examples/launch/Makefile.am:
2326         * examples/launch/mp3parselaunch.c:
2327         * examples/launch/mp3play:
2328         * examples/manual/.cvsignore:
2329         * examples/manual/Makefile.am:
2330         * examples/manual/extract.pl:
2331         * examples/metadata/Makefile.am:
2332         * examples/metadata/read-metadata.c:
2333         * examples/mixer/.cvsignore:
2334         * examples/mixer/Makefile.am:
2335         * examples/mixer/mixer.c:
2336         * examples/mixer/mixer.h:
2337         * examples/pingpong/.cvsignore:
2338         * examples/pingpong/Makefile.am:
2339         * examples/pingpong/pingpong.c:
2340         * examples/plugins/.cvsignore:
2341         * examples/plugins/Makefile.am:
2342         * examples/plugins/example.c:
2343         * examples/plugins/example.h:
2344         * examples/pwg/.cvsignore:
2345         * examples/pwg/Makefile.am:
2346         * examples/pwg/extract.pl:
2347         * examples/queue/.cvsignore:
2348         * examples/queue/Makefile.am:
2349         * examples/queue/queue.c:
2350         * examples/queue2/.cvsignore:
2351         * examples/queue2/Makefile.am:
2352         * examples/queue2/queue2.c:
2353         * examples/queue3/.cvsignore:
2354         * examples/queue3/Makefile.am:
2355         * examples/queue3/queue3.c:
2356         * examples/queue4/.cvsignore:
2357         * examples/queue4/Makefile.am:
2358         * examples/queue4/queue4.c:
2359         * examples/retag/.cvsignore:
2360         * examples/retag/Makefile.am:
2361         * examples/retag/retag.c:
2362         * examples/retag/transcode.c:
2363         * examples/thread/.cvsignore:
2364         * examples/thread/Makefile.am:
2365         * examples/thread/thread.c:
2366         * examples/typefind/.cvsignore:
2367         * examples/typefind/Makefile.am:
2368         * examples/typefind/typefind.c:
2369         * examples/xml/.cvsignore:
2370         * examples/xml/Makefile.am:
2371         * examples/xml/createxml.c:
2372         * examples/xml/runxml.c:
2373         * tests/Makefile.am:
2374         * tests/check/Makefile.am:
2375         * testsuite/.cvsignore:
2376         * testsuite/Makefile.am:
2377         * testsuite/Rules:
2378         * testsuite/caps/.cvsignore:
2379         * testsuite/caps/Makefile.am:
2380         * testsuite/caps/app_fixate.c:
2381         * testsuite/caps/audioscale.c:
2382         * testsuite/caps/caps.c:
2383         * testsuite/caps/caps.h:
2384         * testsuite/caps/caps_strings:
2385         * testsuite/caps/compatibility.c:
2386         * testsuite/caps/deserialize.c:
2387         * testsuite/caps/enumcaps.c:
2388         * testsuite/caps/eratosthenes.c:
2389         * testsuite/caps/filtercaps.c:
2390         * testsuite/caps/fixed.c:
2391         * testsuite/caps/fraction-convert.c:
2392         * testsuite/caps/fraction-multiply-and-zero.c:
2393         * testsuite/caps/intersect2.c:
2394         * testsuite/caps/intersection.c:
2395         * testsuite/caps/normalisation.c:
2396         * testsuite/caps/random.c:
2397         * testsuite/caps/renegotiate.c:
2398         * testsuite/caps/sets.c:
2399         * testsuite/caps/simplify.c:
2400         * testsuite/caps/string-conversions.c:
2401         * testsuite/caps/structure.c:
2402         * testsuite/caps/subtract.c:
2403         * testsuite/caps/union.c:
2404         * testsuite/debug/.cvsignore:
2405         * testsuite/debug/Makefile.am:
2406         * testsuite/debug/category.c:
2407         * testsuite/debug/commandline.c:
2408         * testsuite/debug/global.c:
2409         * testsuite/debug/output.c:
2410         * testsuite/debug/printf_extension.c:
2411         * testsuite/dlopen/.cvsignore:
2412         * testsuite/dlopen/Makefile.am:
2413         * testsuite/dlopen/dlopen_gst.c:
2414         * testsuite/dlopen/loadgst.c:
2415         * testsuite/elements/.cvsignore:
2416         * testsuite/elements/Makefile.am:
2417         * testsuite/elements/gst-inspect-check.in:
2418         * testsuite/elements/struct_i386.h:
2419         * testsuite/elements/struct_size.c:
2420         * testsuite/indexers/.cvsignore:
2421         * testsuite/indexers/Makefile.am:
2422         * testsuite/indexers/cache1.c:
2423         * testsuite/indexers/indexdump.c:
2424         * testsuite/parse/.cvsignore:
2425         * testsuite/parse/Makefile.am:
2426         * testsuite/parse/parse1.c:
2427         * testsuite/parse/parse2.c:
2428         * testsuite/plugin/.cvsignore:
2429         * testsuite/plugin/Makefile.am:
2430         * testsuite/plugin/README:
2431         * testsuite/plugin/dynamic.c:
2432         * testsuite/plugin/linked.c:
2433         * testsuite/plugin/loading.c:
2434         * testsuite/plugin/registry.c:
2435         * testsuite/plugin/static.c:
2436         * testsuite/plugin/static2.c:
2437         * testsuite/plugin/testplugin.c:
2438         * testsuite/plugin/testplugin2.c:
2439         * testsuite/plugin/testplugin2_s.c:
2440         * testsuite/plugin/testplugin_s.c:
2441         * testsuite/refcounting/.cvsignore:
2442         * testsuite/refcounting/Makefile.am:
2443         * testsuite/refcounting/bin.c:
2444         * testsuite/refcounting/element.c:
2445         * testsuite/refcounting/element_pad.c:
2446         * testsuite/refcounting/mainloop.c:
2447         * testsuite/refcounting/mem.c:
2448         * testsuite/refcounting/mem.h:
2449         * testsuite/refcounting/object.c:
2450         * testsuite/refcounting/pad.c:
2451         * testsuite/refcounting/sched.c:
2452         * testsuite/refcounting/thread.c:
2453         * testsuite/states/.cvsignore:
2454         * testsuite/states/Makefile.am:
2455         * testsuite/states/bin.c:
2456         * testsuite/states/locked.c:
2457         * testsuite/states/parent.c:
2458         * testsuite/threads/.cvsignore:
2459         * testsuite/threads/159566.c:
2460         * testsuite/threads/159852.c:
2461         * testsuite/threads/Makefile.am:
2462         * testsuite/threads/queue.c:
2463         * testsuite/threads/signals.c:
2464         * testsuite/threads/staticrec.c:
2465         * testsuite/threads/thread.c:
2466         * testsuite/threads/threadb.c:
2467         * testsuite/threads/threadc.c:
2468         * testsuite/threads/threadd.c:
2469         * testsuite/threads/threade.c:
2470         * testsuite/threads/threadf.c:
2471         * testsuite/threads/threadg.c:
2472         * testsuite/threads/threadh.c:
2473         * testsuite/threads/threadi.c:
2474           move all of these under tests
2475
2476 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2477
2478         * configure.ac:
2479         * tests/Makefile.am:
2480           fix distcheck
2481
2482 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2483
2484         * docs/gst/gstreamer-sections.txt:
2485         * tests/sched/.cvsignore:
2486         * tests/sched/Makefile.am:
2487         * tests/sched/cases/(fs-fs).xml:
2488         * tests/sched/cases/(fs-i-fs).xml:
2489         * tests/sched/cases/(fs-i-i-fs).xml:
2490         * tests/sched/cases/(fs-i-q[i-fs]).xml:
2491         * tests/sched/dynamic-pipeline.c:
2492         * tests/sched/interrupt1.c:
2493         * tests/sched/interrupt2.c:
2494         * tests/sched/interrupt3.c:
2495         * tests/sched/runtestcases:
2496         * tests/sched/runxml.c:
2497         * tests/sched/sched-stress.c:
2498         * tests/sched/sort.c:
2499         * tests/sched/testcases:
2500         * tests/sched/testcases1.tc:
2501         * tests/seeking/.cvsignore:
2502         * tests/seeking/Makefile.am:
2503         * tests/seeking/seeking1.c:
2504         * tests/threadstate/.cvsignore:
2505         * tests/threadstate/Makefile.am:
2506         * tests/threadstate/test1.c:
2507         * tests/threadstate/test2.c:
2508         * tests/threadstate/threadstate1.c:
2509         * tests/threadstate/threadstate2.c:
2510         * tests/threadstate/threadstate3.c:
2511         * tests/threadstate/threadstate4.c:
2512         * tests/threadstate/threadstate5.c:
2513           remove obsolete tests
2514         * configure.ac:
2515         * tests/bench-complexity.scm:
2516         * tests/bench-mass_elements.scm:
2517         * tests/complexity.c:
2518         * tests/complexity.gnuplot:
2519         * tests/instantiate/.cvsignore:
2520         * tests/instantiate/Makefile.am:
2521         * tests/instantiate/caps.c:
2522         * tests/mass_elements.c:
2523         * tests/network-clock-utils.scm:
2524         * tests/network-clock.scm:
2525         * tests/plot-data:
2526         First pass at cleaning up tests/ dir before moving the rest
2527         Combined with CVS surgery
2528
2529 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2530
2531         * po/POTFILES.in:
2532           queue has moved, update
2533
2534 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2535
2536         * docs/gst/gstreamer-sections.txt:
2537           remove double entries from the docs
2538         * gst/gst_private.h:
2539         * gst/gstinfo.c: (_gst_debug_init):
2540           remove the THREAD debug category
2541         * gst/Makefile.am:
2542         * gst/gstqueue.c:
2543         * gst/gstqueue.h:
2544         * docs/gst/gstreamer.types:
2545         * plugins/elements/gstqueue.c: (gst_queue_get_type),
2546         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
2547           completely move queue and fix up debugging categories
2548
2549 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2550
2551         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2552           make initialization portable, using LL is not
2553
2554 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2555
2556         * win32/common/gstconfig.h:
2557           add large padding
2558
2559 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2560
2561         * win32/common/libgstreamer.def:
2562           rename symbols; sort base section
2563
2564 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2565
2566         * gst/gstclock.c: (do_linear_regression):
2567           remove crack non-portable handrolled DEBUG macro
2568
2569 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2570
2571         * docs/random/release:
2572           update notes
2573         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2574         (gst_object_flags_get_type), (register_gst_bin_flags),
2575         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2576         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2577         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2578         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
2579         (gst_caps_flags_get_type), (register_gst_clock_return),
2580         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2581         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2582         (gst_clock_flags_get_type), (register_gst_state),
2583         (gst_state_get_type), (register_gst_state_change_return),
2584         (gst_state_change_return_get_type), (register_gst_state_change),
2585         (gst_state_change_get_type), (register_gst_element_flags),
2586         (gst_element_flags_get_type), (register_gst_core_error),
2587         (gst_core_error_get_type), (register_gst_library_error),
2588         (gst_library_error_get_type), (register_gst_resource_error),
2589         (gst_resource_error_get_type), (register_gst_stream_error),
2590         (gst_stream_error_get_type), (register_gst_event_type_flags),
2591         (gst_event_type_flags_get_type), (register_gst_event_type),
2592         (gst_event_type_get_type), (register_gst_seek_type),
2593         (gst_seek_type_get_type), (register_gst_seek_flags),
2594         (gst_seek_flags_get_type), (register_gst_format),
2595         (gst_format_get_type), (register_gst_index_certainty),
2596         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2597         (gst_index_entry_type_get_type),
2598         (register_gst_index_lookup_method),
2599         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2600         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2601         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2602         (gst_index_flags_get_type), (register_gst_debug_level),
2603         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2604         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2605         (gst_iterator_result_get_type), (register_gst_iterator_item),
2606         (gst_iterator_item_get_type), (register_gst_message_type),
2607         (gst_message_type_get_type), (register_gst_mini_object_flags),
2608         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2609         (gst_pad_link_return_get_type), (register_gst_flow_return),
2610         (gst_flow_return_get_type), (register_gst_activate_mode),
2611         (gst_activate_mode_get_type), (register_gst_pad_direction),
2612         (gst_pad_direction_get_type), (register_gst_pad_flags),
2613         (gst_pad_flags_get_type), (register_gst_pad_presence),
2614         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2615         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2616         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2617         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2618         (gst_plugin_flags_get_type), (register_gst_rank),
2619         (gst_rank_get_type), (register_gst_query_type),
2620         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2621         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2622         (gst_tag_flag_get_type), (register_gst_task_state),
2623         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2624         (gst_alloc_trace_flags_get_type),
2625         (register_gst_type_find_probability),
2626         (gst_type_find_probability_get_type), (register_gst_uri_type),
2627         (gst_uri_type_get_type), (register_gst_parse_error),
2628         (gst_parse_error_get_type):
2629         * win32/common/gstenumtypes.h:
2630         * win32/common/gstversion.h:
2631           update visual studio generated files
2632
2633 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2634
2635         * win32/vs6/libgstbase.dsp:
2636         * win32/vs6/libgstelements.dsp:
2637           update project files for new locations
2638
2639 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2640
2641         * Makefile.am:
2642           remove some files
2643         * README:
2644           reinstate and update
2645         * DEVEL:
2646         * REQUIREMENTS:
2647           removed
2648         * LICENSE:
2649         * docs/random/LICENSE:
2650           moved to random
2651
2652 2005-11-30  Edward Hervey  <edward@fluendo.com>
2653
2654         * gst/gsttypefind.c: (gst_type_find_register):
2655         * gst/gsttypefind.h:
2656         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
2657         (gst_type_find_factory_dispose):
2658         * gst/gsttypefindfactory.h:
2659         Fix memory leak in GstTypeFindFactory.
2660
2661 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2662
2663         * gst/gst.c:
2664         * plugins/elements/Makefile.am:
2665         * plugins/elements/gstelements.c:
2666         * plugins/elements/gstqueue.c:
2667           move queue from core to the elements plugin
2668
2669 2005-11-29  Andy Wingo  <wingo@pobox.com>
2670
2671         * libs/gst/base/gstbasetransform.h: 
2672         * libs/gst/base/gstbasesrc.h: 
2673         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
2674
2675         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
2676         of pointers by which to pad very extensible base classes (like the
2677         ones in libs/gst/base).
2678
2679 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2680
2681         * docs/gst/gstreamer-docs.sgml:
2682         * docs/gst/gstreamer-sections.txt:
2683         * docs/libs/gstreamer-libs-docs.sgml:
2684         * docs/libs/gstreamer-libs-sections.txt:
2685           moving documentation from core to lib
2686
2687 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2688
2689         * check/Makefile.am:
2690         * configure.ac:
2691         * docs/gst/Makefile.am:
2692         * gst/Makefile.am:
2693         * gst/base/.cvsignore:
2694         * gst/base/Makefile.am:
2695         * gst/base/README:
2696         * gst/base/gstadapter.c:
2697         * gst/base/gstadapter.h:
2698         * gst/base/gstbasesink.c:
2699         * gst/base/gstbasesink.h:
2700         * gst/base/gstbasesrc.c:
2701         * gst/base/gstbasesrc.h:
2702         * gst/base/gstbasetransform.c:
2703         * gst/base/gstbasetransform.h:
2704         * gst/base/gstcollectpads.c:
2705         * gst/base/gstcollectpads.h:
2706         * gst/base/gstpushsrc.c:
2707         * gst/base/gstpushsrc.h:
2708         * gst/base/gsttypefindhelper.c:
2709         * gst/base/gsttypefindhelper.h:
2710         * gst/check/Makefile.am:
2711         * gst/check/gstcheck.c:
2712         * gst/check/gstcheck.h:
2713         * gst/net/Makefile.am:
2714         * gst/net/gstnet.h:
2715         * gst/net/gstnetclientclock.c:
2716         * gst/net/gstnetclientclock.h:
2717         * gst/net/gstnettimepacket.c:
2718         * gst/net/gstnettimepacket.h:
2719         * gst/net/gstnettimeprovider.c:
2720         * gst/net/gstnettimeprovider.h:
2721         * libs/gst/Makefile.am:
2722         * libs/gst/base/Makefile.am:
2723         * libs/gst/base/gstbasetransform.c:
2724         * libs/gst/check/Makefile.am:
2725         * plugins/elements/Makefile.am:
2726         * po/POTFILES.in:
2727           CVS surgery + support to move base, check, and net out of gst
2728           and into libs/gst
2729
2730 2005-11-29  Andy Wingo  <wingo@pobox.com>
2731
2732         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2733
2734         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2735         padding.
2736
2737         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2738
2739         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2740
2741         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2742
2743         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2744         padding; reduces object size by about 30%. We don't expect
2745         anything else to go into gstobject.
2746
2747         * gst/gstminiobject.h (struct _GstMiniObject)
2748         (struct _GstMiniObjectClass): Only one pointer of padding; the
2749         payload is only a pointer and two ints anyway. For the class there
2750         are only two methods as well.
2751         
2752         * gst/gstelement.h (struct _GstElementClass): Removed
2753         the state_changed signal callback, it is not used.
2754
2755 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2756
2757         * docs/gst/gstreamer.types:
2758           fix includes, though they are a little dinky
2759
2760 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2761
2762         * check/Makefile.am:
2763           look in the right place for elements, a lot more chance of
2764           success
2765         * gst/Makefile.am:
2766           remove indexers and elements subdirs
2767         * plugins/Makefile.am:
2768           make indexers conditional
2769
2770 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2771
2772         * Makefile.am:
2773         * configure.ac:
2774         * plugins/elements/Makefile.am:
2775         * plugins/elements/gstcapsfilter.c:
2776         * plugins/elements/gstfilesink.c:
2777         * plugins/elements/gstfilesrc.c:
2778         * plugins/elements/gstidentity.c:
2779         * plugins/indexers/Makefile.am:
2780           do CVS surgery and related build fixery to move elements
2781           and indexers in a new gstreamer/plugins directory, out of the
2782           gst/ directory
2783
2784 2005-11-29  Andy Wingo  <wingo@pobox.com>
2785
2786         * check/Makefile.am:
2787         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2788         * pkgconfig/gstreamer-net.pc.in:
2789         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2790         #322257.
2791
2792 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2793
2794         * tools/Makefile.am:
2795         * tools/gst-complete.1.in:
2796         * tools/gst-complete.c:
2797         * tools/gst-compprep.1.in:
2798         * tools/gst-compprep.c:
2799           removing -compprep and -complete
2800
2801 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2802
2803         * gst/gstevent.c: (gst_event_new_new_segment),
2804         (gst_event_parse_new_segment):
2805         * gst/gstevent.h:
2806           fix #320529 - clean up new_segment API and structure.
2807           Let's hope everyone was using the methods, and not the structure.
2808
2809 2005-11-29  Edward Hervey  <edward@fluendo.com>
2810
2811         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2812         (gst_base_sink_event), (gst_base_sink_do_sync),
2813         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2814         Properly handle non GST_FORMAT_TIME segment
2815         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2816         Properly handle non GST_FORMAT_TIME segment
2817         * gst/gstsegment.c:
2818         This function is valid if the accumulator is 0 and the format
2819         is different from the requested format.
2820         
2821 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2822
2823         * docs/gst/gstreamer-sections.txt:
2824         Add gst_query_new_seeking and gst_query_parse_seeking to the
2825         docs.
2826
2827 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2828
2829         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2830           Treat a pad alloc with new caps the same as if we were not
2831           negotiated, in order to allow a changing upstream output
2832           to produce a new format of data.
2833
2834 2005-11-29  Edward Hervey  <edward@fluendo.com>
2835
2836         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2837         (gst_base_transform_event), (gst_base_transform_eventfunc):
2838         The event virtual method is now properly implemented, with a default
2839         handler
2840         Sub classes should call the parent_class event method. They should
2841         return FALSE if they had a problem handling the given event, or don't
2842         want GstBaseTransform to send that even downstream
2843         * gst/elements/gstidentity.c: (gst_identity_class_init),
2844         (gst_identity_init), (gst_identity_event),
2845         (gst_identity_transform_ip), (gst_identity_set_property),
2846         (gst_identity_get_property):
2847         * gst/elements/gstidentity.h:
2848         Added the single-segment boolean property.
2849         If set to TRUE, it will output a single segment of data, starting from
2850         0, will eat up all incoming newsegment, and modify the timestamp of the
2851         buffers accordingly
2852
2853 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2854
2855         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2856           Don't ref NULL target pad (#322751). Improve docs.
2857
2858 2005-11-29  Michael Smith  <msmith@fluendo.com>
2859
2860         * gst/gstregistryxml.c: (load_plugin):
2861           Don't crash if we failed to load a feature from a plugin. 
2862
2863 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2864
2865         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2866         (GST_START_TEST):
2867           use more check API and less GLib API
2868
2869 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2870
2871         * Makefile.am:
2872           don't run checks if we don't have check
2873         * common/check.mak:
2874           remove the registry when running make torture
2875         * docs/gst/gstreamer-sections.txt:
2876           remove second multiply
2877         * gst/gstqueue.c: (gst_queue_loop):
2878           fix a compile warning when disabling debug
2879
2880 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2881
2882         * gst/gstinfo.h:
2883         Hey! Let's print the pad name if the pointer != NULL instead
2884         of when it == NULL :-)
2885
2886 2005-11-28  Wim Taymans  <wim@fluendo.com>
2887
2888         * check/gst/gstutils.c: (GST_START_TEST):
2889         Updated check, add some scaling accuracy checking code.
2890
2891         * gst/gstutils.c: (gst_util_div128_64),
2892         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2893         (gst_util_uint64_scale_int):
2894         Fix 6 times faster division code. Optimize for common 
2895         1/1 and less common X/1 cases.
2896
2897 2005-11-28  Wim Taymans  <wim@fluendo.com>
2898
2899         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2900         More checks.
2901
2902         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2903         (do_linear_regression), (gst_clock_add_observation):
2904         Cleanups.
2905         Release lock when the clock cannot be slaved.
2906         Catch the case where the regression returned an invalid denominator.
2907
2908         * gst/gstutils.c: (gst_util_div128_64_iterate),
2909         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2910         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2911         Add protentially more performant non-iterative 128/64 divide function
2912         that unfortunatly does not work yet.
2913         Shortcut the trivial 0/X = 0 case.
2914         Remove the warnings on overflow.
2915
2916 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2917
2918         * gst/gstplugin.c: (gst_plugin_register_func):
2919           everything causing a plugin not to load should be at least a WARNING
2920
2921 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2922
2923         * docs/random/ensonic/dparams.txt:
2924           some TODOs for the next dev cycle
2925         * libs/gst/controller/gstcontroller.c:
2926         (gst_controlled_property_set_interpolation_mode),
2927         (gst_controlled_property_new):
2928         * libs/gst/controller/gstcontroller.h:
2929           use base type to assign acccessor functions
2930
2931 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2932
2933         * check/Makefile.am:
2934         Oops, that should have been top_srcdir
2935
2936 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2937
2938         * check/Makefile.am:
2939         * check/elements/fdsrc.c: (GST_START_TEST):
2940         Use a cmdline define to specify the location of a file to use for
2941         testing, to avoid breaking distcheck.
2942
2943 2005-11-28  Andy Wingo  <wingo@pobox.com>
2944
2945         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2946
2947 2005-11-28  Edward Hervey  <edward@fluendo.com>
2948
2949         * tools/gst-launch.c: (main):
2950         Clarify the output strings, makes it easier to translate.
2951         Fixes #322626
2952
2953 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2954
2955         * gst/Makefile.am:
2956           don't try and build net if we don't even have <sys/socket.h>
2957
2958 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2959
2960         * check/Makefile.am:
2961         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2962         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2963           Add tests for fdsrc seekability
2964
2965         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2966         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2967         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2968         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2969         * gst/elements/gstfdsrc.h:
2970           fdsrc should not be a 'live' source.
2971           Implement seeking on seekable fd's.
2972
2973         * gst/gstquery.c: (gst_query_new_seeking),
2974         (gst_query_parse_seeking):
2975         * gst/gstquery.h:
2976           Implement SEEKING query functions: 
2977             *_new_seeking and *_parse_seeking
2978
2979 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2980
2981         * gst/gstelement.c: (gst_element_dispose):
2982           don't loop forever
2983
2984         * gst/gstiterator.c:
2985         * gst/gststructure.c:
2986           doc fixes
2987
2988         * libs/gst/controller/gstcontroller.c:
2989         (gst_controlled_property_set_interpolation_mode):
2990         * libs/gst/controller/gstcontroller.h:
2991         * libs/gst/controller/gstinterpolation.c:
2992         (interpolate_none_get_enum_value_array):
2993           support controlling enums
2994
2995 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2996
2997         * gst/gstvalue.c:
2998           Improve documentation for gst_value_union().
2999
3000         * gst/gstvalue.h:
3001           Change return value for union, intersect and subtract functions
3002           from gint to gboolean.
3003
3004 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
3005
3006         * gst/gstvalue.c: (gst_value_serialize_any_list),
3007         (gst_value_transform_any_list_string),
3008         (gst_value_deserialize_list), (gst_value_deserialize_array),
3009         (gst_value_set_int_range), (gst_value_deserialize_int_range),
3010         (gst_value_set_double_range), (gst_value_deserialize_double_range),
3011         (gst_value_set_fraction_range_full),
3012         (gst_value_deserialize_fraction_range),
3013         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
3014         (gst_value_deserialize_boolean),
3015         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
3016         (gst_value_serialize_float), (gst_value_deserialize_float),
3017         (gst_string_wrap), (gst_value_deserialize_string),
3018         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
3019         (gst_value_union_int_range_int_range),
3020         (gst_value_intersect_int_range_int_range),
3021         (gst_value_intersect_double_range_double_range),
3022         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
3023         (gst_value_subtract_int_range_int_range),
3024         (gst_value_subtract_double_double_range),
3025         (gst_value_subtract_double_range_double_range),
3026         (gst_value_deserialize_fraction):
3027         * gst/gstvalue.h:
3028           Use gint, gdouble and gchar in our API instead of int, double and
3029           char (and make usage in gstvalue.c more consistent).
3030
3031 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3032
3033         * check/Makefile.am:
3034         * libs/gst/controller/Makefile.am:
3035         * libs/gst/dataprotocol/Makefile.am:
3036           fix up Makefile.am and remove GST_ENABLE_NEW
3037
3038 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3039
3040         * configure.ac:
3041         * gst/Makefile.am:
3042         * gst/base/Makefile.am:
3043         * gst/check/Makefile.am:
3044         * gst/elements/Makefile.am:
3045         * gst/net/Makefile.am:
3046           update LDFLAGS use some more
3047
3048 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3049
3050         * common/m4/gst-doc.m4:
3051           Fixes #312589
3052
3053 2005-11-26  Edward Hervey  <edward@fluendo.com>
3054
3055         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3056         This shouldn't issue a g_warning since it returns NULL if it
3057         couldn't find the plugin, and all functions using this behave
3058         properly on a NULL return. Switching to a GST_WARNING.
3059
3060 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
3061
3062         * gst/gstbin.c: (gst_bin_handle_message_func):
3063         Don't leak clock messages.
3064
3065 2005-11-25  Wim Taymans  <wim@fluendo.com>
3066
3067         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3068         (gst_util_uint64_scale_int):
3069         Optimisations, remove unneeded vars.
3070
3071 2005-11-25  Wim Taymans  <wim@fluendo.com>
3072
3073         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3074         Added more checks for the high precision uint64 cases.
3075
3076         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3077         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3078         Implement high precision (guint64 * guint64) / guint64.
3079
3080 2005-11-24  Wim Taymans  <wim@fluendo.com>
3081
3082         * gst/base/gstbasesrc.c: (gst_base_src_query):
3083         Fix wrong percentage query.
3084
3085         * gst/gstutils.c: (gst_util_uint64_scale),
3086         (gst_util_uint64_scale_int):
3087         Add some more common cases that can be handled 
3088         efficiently to _scale.
3089
3090 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3091
3092         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
3093         (gst_mini_object_suite):
3094           don't use check calls from threads; check probably isn't
3095           threadsafe and using a lock to make it threadsafe would
3096           defeat the purpose of this check
3097         * gst/check/gstcheck.c:
3098         * gst/check/gstcheck.h:
3099           use GST_DEBUG some more
3100
3101 2005-11-24  Wim Taymans  <wim@fluendo.com>
3102
3103         * gst/gstutils.c: (gst_util_uint64_scale),
3104         (gst_util_uint64_scale_int):
3105         Chain trivial case to _scale_int.
3106
3107 2005-11-24  Wim Taymans  <wim@fluendo.com>
3108
3109         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3110         Added test for scaling.
3111
3112         * gst/gstclock.h:
3113         Small doc fix.
3114
3115         * gst/gstutils.c: (gst_util_uint64_scale_int):
3116         Implemented high precision scaling code.
3117
3118 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
3119
3120         * gst/gstinfo.h:
3121           do not crash on pad==NULL
3122
3123 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3124
3125         Patch by: Stefan Kost
3126
3127         * common/gtk-doc.mak:
3128         * docs/gst/Makefile.am:
3129         * docs/libs/Makefile.am:
3130           Fix distcheck issues for the libraries docs build
3131           Closes #319599.
3132
3133 2005-11-24  Michael Smith <msmith@fluendo.com>
3134
3135         * docs/manual/basics-helloworld.xml:
3136           Fix bug #315027: memory leak in example code in docs.
3137
3138 2005-11-24  Michael Smith <msmith@fluendo.com>
3139
3140         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3141           Unlock the PREROLL_LOCK in a failure case.
3142
3143 2005-11-24  Wim Taymans  <wim@fluendo.com>
3144
3145         * docs/gst/gstreamer-sections.txt:
3146         * gst/base/gstadapter.h:
3147         * gst/base/gstbasesink.h:
3148         * gst/base/gstbasesrc.h:
3149         * gst/base/gstbasetransform.h:
3150         * gst/base/gstpushsrc.h:
3151         * gst/elements/gstfakesink.h:
3152         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
3153         * gst/elements/gstfakesrc.h:
3154         * gst/elements/gstfilesink.h:
3155         * gst/elements/gstfilesrc.h:
3156         * gst/gst.c:
3157         * gst/gstbin.c:
3158         * gst/gstbuffer.c: (_gst_buffer_copy):
3159         * gst/gstbus.h:
3160         * gst/gstcaps.c:
3161         * gst/gstchildproxy.c:
3162         * gst/gstclock.c:
3163         * gst/gstelement.c:
3164         * gst/gstelementfactory.c:
3165         * gst/gstelementfactory.h:
3166         * gst/gstevent.c:
3167         * gst/gstghostpad.h:
3168         * gst/gstindex.h:
3169         * gst/gstinterface.h:
3170         * gst/gstminiobject.c:
3171         * gst/gstminiobject.h:
3172         * gst/gstpad.c:
3173         * gst/gstpad.h:
3174         * gst/gstpadtemplate.h:
3175         * gst/gstpipeline.h:
3176         * gst/gstpluginfeature.h:
3177         * gst/gstquery.h:
3178         * gst/gstqueue.h:
3179         * gst/gsttaglist.c:
3180         * gst/gsttaglist.h:
3181         * gst/gsttagsetter.c:
3182         * gst/gsttagsetter.h:
3183         * gst/gsttrace.c:
3184         * gst/gsttrace.h:
3185         * gst/gsttypefind.h:
3186         * gst/gsturi.h:
3187         * gst/gstvalue.c:
3188         * gst/net/gstnetclientclock.c:
3189         * gst/net/gstnetclientclock.h:
3190         * gst/net/gstnettimepacket.c:
3191         * gst/net/gstnettimeprovider.c:
3192         * gst/net/gstnettimeprovider.h:
3193         Doc fixes.
3194
3195 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3196
3197         * configure.ac: back to HEAD
3198
3199 === release 0.9.6 ===
3200
3201 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
3202
3203         * configure.ac:
3204           releasing 0.9.6, "Always On Time"
3205
3206 2005-11-23  Wim Taymans  <wim@fluendo.com>
3207
3208         * docs/gst/gstreamer-sections.txt:
3209         * gst/glib-compat.c:
3210         * gst/gsttagsetter.c:
3211         * gst/gstvalue.c:
3212         * gst/net/gstnetclientclock.c:
3213         * gst/net/gstnettimepacket.h:
3214         Doc updates.
3215
3216 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3217
3218         * docs/faq/using.xml:
3219         * docs/libs/tmpl/gstcontrol.sgml:
3220         * docs/manual/advanced-dparams.xml:
3221         * docs/manual/appendix-checklist.xml:
3222         * docs/manual/basics-elements.xml:
3223         * docs/pwg/other-source.xml:
3224         * docs/random/moving-plugins:
3225         * gst/gstpad.c:
3226         * tools/gst-launch.1.in:
3227           remove mentions of sinesrc
3228
3229 2005-11-23  Michael Smith <msmith@fluendo.com>
3230
3231         * docs/gst/gstreamer-sections.txt:
3232           Update for new API and API changes.
3233         * gst/gstobject.h:
3234           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
3235         * gst/gstvalue.c:
3236           Documentation typo fix.
3237         * gst/net/gstnettimepacket.c:
3238           Documentation fixes for arguments.
3239
3240 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
3241
3242         * gst/gststructure.c: (gst_structure_get_fraction),
3243         (gst_structure_parse_value),
3244         (gst_structure_fixate_field_nearest_fraction):
3245         * gst/gststructure.h:
3246         * gst/gstutils.c: (gst_util_uint64_scale_int):
3247         * gst/gstutils.h:
3248         * scripts/update-funcnames:
3249         API Changes. 
3250         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
3251         Make gst_structure_fixate_field_nearest_fraction take a numerator
3252         and denominator argument instead of a GValue
3253         add gst_structure_get_fraction helper function.
3254
3255 2005-11-23  Wim Taymans  <wim@fluendo.com>
3256
3257         * docs/design/part-TODO.txt:
3258         Update TODO.
3259
3260         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3261         * gst/net/gstnetclientclock.h:
3262         Use parent fields for timeout and window_size.
3263
3264 2005-11-23  Andy Wingo  <wingo@pobox.com>
3265
3266         * check/net/gstnetclientclock.c (test_functioning): Adjust to
3267         rate_num/rate_denom change.
3268
3269         * gst/net/gstnetclientclock.c
3270         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
3271         OBJECT_LOCK. Don't call add_observation with the lock.
3272
3273         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
3274         fraction.
3275         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
3276         rate fraction.
3277         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
3278         deal with rate as a fraction whose numerator and denominator are
3279         GstClockTime values.
3280         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
3281         master; the other fields are protected by the SLAVE_LOCK.
3282         (do_linear_regression): Note that this must be called with the
3283         SLAVE_LOCK.
3284         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
3285         OBJECT_LOCK. Call set_calibration instead of touching the
3286         variables directly.
3287         (gst_clock_set_property, gst_clock_get_property): Protect
3288         master/slave parameters with the SLAVE_LOCK.
3289
3290         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
3291         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
3292         note that all of the instance variables that add_observation and
3293         the set_master functions use are protected by that lock and not
3294         the OBJECT_LOCK.
3295         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
3296
3297         * gst/gstclock.c (gst_clock_add_observation): No longer requires
3298         the caller to take the object lock.
3299
3300 2005-11-23  Wim Taymans  <wim@fluendo.com>
3301
3302         * gst/gsterror.c: (_gst_core_errors_init):
3303         * gst/gsterror.h:
3304         Add error for clock stuff.
3305
3306         * gst/gstpipeline.c: (gst_pipeline_change_state),
3307         (gst_pipeline_set_clock):
3308         Post clock error when clock cannot be used in a pipeline.
3309
3310 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
3311
3312         * docs/gst/gstreamer-sections.txt:
3313           make two symbols from gstinfo private for the docs
3314         * gst/base/gstcollectpads.h:
3315         * gst/gstutils.c:
3316           fix doc typos, update docs
3317
3318 2005-11-22  Wim Taymans  <wim@fluendo.com>
3319
3320         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3321         (gst_base_sink_wait), (gst_base_sink_do_sync),
3322         (gst_base_sink_handle_event):
3323         * gst/base/gstbasesink.h:
3324         No need to store the clock, the parent element class already
3325         has it.
3326
3327         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
3328         Updates for clock_set returning a gboolean
3329
3330         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
3331         (gst_clock_id_wait_async), (gst_clock_class_init),
3332         (gst_clock_init), (gst_clock_finalize),
3333         (gst_clock_get_internal_time), (gst_clock_get_time),
3334         (gst_clock_slave_callback), (gst_clock_set_master),
3335         (gst_clock_get_master), (do_linear_regression),
3336         (gst_clock_add_observation), (gst_clock_set_property),
3337         (gst_clock_get_property):
3338         * gst/gstclock.h:
3339         Implement master/slave. When setting a clock as a slave, a
3340         periodic timeout is scheduled to sample master and slave times.
3341         Then the slave clock is recalibrated to match offset and rate
3342         of the master clock.
3343         Update logging a bit.
3344         Add flag so that a clock can state that is cannot be slaved to
3345         another clock.
3346
3347         * gst/gstelement.c: (gst_element_set_clock):
3348         * gst/gstelement.h:
3349         The set clock returns a gboolean for when an element cannot
3350         deal with the selected clock in the pipeline. 
3351
3352         * gst/gstpipeline.c: (gst_pipeline_change_state),
3353         (gst_pipeline_set_clock):
3354         * gst/gstpipeline.h:
3355         Handle the case where the selected clock cannot be set on
3356         the pipeline.
3357
3358         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
3359         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3360         (gst_net_client_clock_set_property),
3361         (gst_net_client_clock_get_property),
3362         (gst_net_client_clock_observe_times):
3363         * gst/net/gstnetclientclock.h:
3364         Use regression code in GstClock parent, remove duplicated
3365         functionality.
3366
3367 2005-11-22  Michael Smith <msmith@fluendo.com>
3368
3369         * gst/gstutils.c: (gst_util_clock_time_scale):
3370         * gst/gstutils.h:
3371         * docs/gst/gstreamer-sections.txt:
3372           Rename method to have extra underscore.
3373
3374 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3375
3376         * gst/elements/Makefile.am:
3377         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
3378         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3379         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3380         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
3381         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
3382         * gst/elements/gstfakesrc.h:
3383         * gst/gstqueue.c: (queue_leaky_get_type):
3384           correctly fix GEnumValues so that nick is the short lowercase
3385           dashed tag
3386         * tools/gst-inspect.c: (print_element_properties_info):
3387           also show the nick, since it's useful to use from parse_launch
3388           syntax
3389           Fixes #322139
3390
3391 2005-11-22  Michael Smith <msmith@fluendo.com>
3392
3393         * gst/gstutils.c: (gst_util_clocktime_scale):
3394         * gst/gstutils.h:
3395         * docs/gst/gstreamer-sections.txt:
3396           Add util method for scaling a clocktime by a fraction. Useful 
3397           implementation is left as an exercise for the reader.
3398
3399 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3400
3401         * gst/gstvalue.c: (gst_value_collect_fraction_range):
3402         If needed, allocate storage in the destination value during
3403         collection.
3404
3405 2005-11-22  Edward Hervey  <edward@fluendo.com>
3406
3407         * docs/gst/gstreamer-sections.txt:
3408         * gst/Makefile.am:
3409         * gst/gst.h:
3410         * gst/gsturitype.c:
3411         * gst/gsturitype.h:
3412         * gst/gstutils.c: (gst_util_set_object_arg):
3413         * tools/gst-compprep.c: (main):
3414         * tools/gst-inspect.c: (print_element_properties_info):
3415         Removed GstURI, closes bug #321061
3416
3417 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3418
3419         * check/gst/gststructure.c: (GST_START_TEST):
3420         * gst/gststructure.c: (gst_structure_parse_value):
3421           Oops, broke automatic string type parsing.
3422           Add a test to catch it in future.
3423
3424 2005-11-22  Andy Wingo  <wingo@pobox.com>
3425
3426         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
3427         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
3428         Actually rename the function implementations. Grr.
3429
3430 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3431
3432         * check/gst/capslist.h:
3433           Comment test cases
3434         * check/gst/gststructure.c: (GST_START_TEST),
3435         (gst_structure_suite):
3436           Test automatic value type detection in gst_structure_from_string.
3437         * gst/gststructure.c: (gst_structure_parse_value):
3438           Add fraction as a type we try and guess automatically in
3439           caps/structure strings.
3440
3441 2005-11-22  Andy Wingo  <wingo@pobox.com>
3442
3443         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
3444
3445         * gst/gsttagsetter.h:
3446         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
3447         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
3448         (gst_tag_setter_add_tag_valist)
3449         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
3450         _add_values, _add_valist, and _add_valist_values. Since this is an
3451         interface the function suffixes should be more explicit so
3452         language binding don't end up with element.add_valist ->
3453         gst_tag_setter_add_valist, for example. Fixes #322069.
3454
3455 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3456
3457         * check/gst/gstcaps.c: (GST_START_TEST):
3458           Extend caps string tests to check that a caps to string
3459           conversion is reversible and produces the same caps.
3460
3461         * gst/gststructure.c: (gst_structure_value_get_generic_type):
3462           Output "fraction" as the generic type fraction range, so caps
3463           serialisation and deserialisation works.
3464         * check/gst/capslist.h:
3465         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3466           Support 'MIN' and 'MAX' for deserialising fractions.
3467
3468 2005-11-22  Andy Wingo  <wingo@pobox.com>
3469
3470         * gst/gstevent.h (gst_event_new_new_segment)
3471         (gst_event_parse_new_segment, gst_event_new_buffer_size)
3472         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
3473         Renamed from *_newsegment, *_buffersize, *_notarget.
3474
3475         * scripts/update-funcnames: New script, performs the changes
3476         listed above.
3477
3478 2005-11-22  Wim Taymans  <wim@fluendo.com>
3479
3480         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3481         Make sure the GstFlowReturn is returned.
3482
3483         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
3484         (gst_bus_add_signal_watch):
3485         * gst/gstbus.h:
3486         add gst_bus_add_signal_watch_full.
3487
3488         * gst/gstplugin.c: (gst_plugin_load_file):
3489         Small style cleanup.
3490
3491 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3492
3493         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
3494           Block the fakesrc srcpad when we send an event, to avoid
3495           contention on the stream_lock causing random test failures.
3496
3497 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3498
3499         * check/gst/gstvalue.c: (GST_START_TEST):
3500         * gst/gstvalue.c: (gst_value_fraction_subtract):
3501           Fix subtraction.
3502
3503 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
3504
3505         * gst/gst.h:
3506           include "gstchildproxy.h"
3507         * gst/gstchildproxy.h:
3508         * libs/gst/controller/gstcontroller.h:
3509           use G_GNUC_NULL_TERMINATED
3510
3511 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3512
3513         * check/gst/capslist.h:
3514         * check/gst/gstcaps.c: (GST_START_TEST):
3515         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3516         * gst/gststructure.c: (gst_structure_parse_range),
3517         (gst_structure_fixate_field_nearest_fraction):
3518         * gst/gststructure.h:
3519         * gst/gstvalue.c: (gst_value_init_fraction_range),
3520         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
3521         (gst_value_collect_fraction_range),
3522         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
3523         (gst_value_set_fraction_range_full),
3524         (gst_value_get_fraction_range_min),
3525         (gst_value_get_fraction_range_max),
3526         (gst_value_serialize_fraction_range),
3527         (gst_value_transform_fraction_range_string),
3528         (gst_value_compare_fraction_range),
3529         (gst_value_deserialize_fraction_range),
3530         (gst_value_intersect_fraction_fraction_range),
3531         (gst_value_intersect_fraction_range_fraction_range),
3532         (gst_value_subtract_fraction_fraction_range),
3533         (gst_value_subtract_fraction_range_fraction),
3534         (gst_value_subtract_fraction_range_fraction_range),
3535         (gst_value_collect_fraction), (gst_value_fraction_multiply),
3536         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
3537         (gst_value_transform_string_fraction), (_gst_value_initialize):
3538         * gst/gstvalue.h:
3539           Implement fraction ranges and extend GstFraction to support
3540           arithmetic subtraction, as well as deserialization from integer
3541           strings such as "100"
3542           Add a testsuite as for int and double range set operations
3543
3544 2005-11-21  Andy Wingo  <wingo@pobox.com>
3545
3546         * gst/gsttaglist.h: 
3547         * gst/gstcaps.h: 
3548         * gst/gststructure.h: Add glib-compat.h.
3549
3550 2005-11-21  Wim Taymans  <wim@fluendo.com>
3551
3552         * gst/gstbin.c: (gst_bin_change_state_func):
3553         Fix for #321595
3554
3555 2005-11-21  Wim Taymans  <wim@fluendo.com>
3556
3557         * gst/gstsegment.h:
3558         And add a nice define too.
3559
3560 2005-11-21  Wim Taymans  <wim@fluendo.com>
3561
3562         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
3563         (gst_segment_new), (gst_segment_free), (gst_segment_init),
3564         (gst_segment_set_duration), (gst_segment_set_last_stop),
3565         (gst_segment_set_seek), (gst_segment_set_newsegment),
3566         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3567         (gst_segment_clip):
3568         * gst/gstsegment.h:
3569         Make binding friendly.
3570
3571 2005-11-21  Andy Wingo  <wingo@pobox.com>
3572
3573         * gst/gsttagsetter.h: 
3574         * gst/gsttaglist.h: 
3575         * gst/gststructure.h: 
3576         * gst/gstcaps.h: 
3577         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
3578         #319940.
3579
3580         * gst/gsterror.c (_gst_core_errors_init):
3581         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
3582         category.
3583
3584         * gst/Makefile.am (gst_headers): Add glib-compat.h.
3585         (noinst_HEADERS): noinst the -private.
3586
3587 2005-11-21  Michael Smith <msmith@fluendo.com>
3588
3589         * gst/gstplugin.h:
3590         * gst/gstregistry.h:
3591           Remove unimplemented declarations for which we can see no sensible
3592           use.
3593
3594 2005-11-21  Andy Wingo  <wingo@pobox.com>
3595
3596         * gst/gst.h: Include glib-compat.h.
3597
3598         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
3599
3600         * gst/glib-compat.c: Include the public and the private header.
3601
3602         * gst/glib-compat-private.h: Copied here from glib-compat.h.
3603
3604         * gst/gstvalue.c: 
3605         * gst/gstpad.c: 
3606         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
3607
3608         * check/gst/gstevent.c (create_custom_events): Check that
3609         FLUSH_STOP is serialized.
3610
3611         * check/elements/identity.c (event_func): 
3612         * check/elements/fakesrc.c (event_func): No stream lock, the core
3613         takes it.
3614
3615         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
3616         stream lock taking, yay.
3617
3618         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
3619         ensure that core takes the stream lock.
3620
3621         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
3622         lock name change.
3623
3624         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
3625         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
3626         it already. For the flush start we do take it though so we get the
3627         right preroll state change messages.
3628
3629         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
3630         the stream lock here, the core does it for us.
3631
3632         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
3633         GST_STREAM_GET_LOCK.
3634         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
3635         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
3636         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
3637         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
3638         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
3639         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
3640
3641         * gst/gstpad.c: Update for stream lock name change.
3642
3643         * gst/base/gstbasesink.c: Update for preroll lock name change.
3644
3645 2005-11-21  Wim Taymans  <wim@fluendo.com>
3646
3647         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
3648         (gst_clock_get_master):
3649         * gst/gstclock.h:
3650         * gst/gstsystemclock.c: (gst_system_clock_init):
3651         Convert Clock flags to object flags.
3652         Added methods to manage master/slave clocks.
3653
3654 2005-11-21  Wim Taymans  <wim@fluendo.com>
3655
3656         * check/gst/gstsegment.c: (GST_START_TEST):
3657         * docs/design/part-TODO.txt:
3658         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3659         (gst_base_sink_event), (gst_base_sink_do_sync),
3660         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3661         (gst_base_sink_query), (gst_base_sink_change_state):
3662         * gst/base/gstbasesink.h:
3663         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3664         (gst_base_src_default_newsegment),
3665         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3666         (gst_base_src_get_range), (gst_base_src_loop),
3667         (gst_base_src_change_state):
3668         * gst/base/gstbasesrc.h:
3669         * gst/base/gstbasetransform.c:
3670         (gst_base_transform_prepare_output_buf),
3671         (gst_base_transform_event), (gst_base_transform_change_state):
3672         * gst/base/gstbasetransform.h:
3673         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3674         (gst_collect_pads_event):
3675         * gst/base/gstcollectpads.h:
3676         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
3677         (gst_fake_src_create):
3678         * gst/elements/gstfakesrc.h:
3679         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3680         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3681         (gst_segment_set_last_stop), (gst_segment_set_seek),
3682         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3683         (gst_segment_to_running_time), (gst_segment_clip):
3684         * gst/gstsegment.h:
3685         More segment updates, replace code in plugins with segment
3686         helper functions.
3687
3688 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3689
3690         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
3691         Don't ignore sscanf results
3692
3693 2005-11-21  Andy Wingo  <wingo@pobox.com>
3694
3695         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
3696
3697         * *.h:
3698         * *.c: Ran scripts/update-macros. Oh yes.
3699
3700         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
3701         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
3702         GST_GET_LOCK, etc.
3703
3704         * scripts/update-macros: New script. Run it on your files to
3705         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
3706         well.
3707
3708 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3709
3710         * docs/gst/Makefile.am:
3711         * docs/gst/gstreamer-docs.sgml:
3712         * docs/gst/gstreamer-sections.txt:
3713         * docs/gst/gstreamer.types:
3714         * gst/gstinfo.h:
3715           more docs fixes, add new api to the docs
3716
3717 2005-11-21  Andy Wingo  <wingo@pobox.com>
3718
3719         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
3720         state_broadcast call.
3721
3722         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
3723
3724 2005-11-21  Julien MOUTTE  <julien@moutte.net>
3725
3726         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
3727         function calls for arrays.
3728
3729 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3730
3731         * docs/random/ensonic/media-device-daemon.txt:
3732           wild idea, can this be done?
3733         * docs/gst/gstreamer-sections.txt:
3734         * gst/gsterror.h:
3735         * gst/gstfilter.c:
3736         * gst/gstfilter.h:
3737         * gst/gstplugin.h:
3738         * gst/gstpluginfeature.c:
3739         * gst/gsttrace.c:
3740         * gst/gstvalue.c:
3741         * gst/gstvalue.h:
3742           doc fixes and additions
3743
3744 2005-11-21  Andy Wingo  <wingo@pobox.com>
3745
3746         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3747         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3748         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3749         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3750         private to the basesrc implementation.
3751
3752         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3753         behalf of event function if necessary. It should no longer be
3754         necessary to take the stream lock in pad's event functions. Fixes
3755         #320299.
3756
3757 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3758         * docs/gst/gstreamer-sections.txt:
3759         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3760         (gst_structure_fixate_field_nearest_double),
3761         (gst_structure_fixate_field_boolean):
3762         * gst/gststructure.h:
3763         * win32/common/libgstreamer.def:
3764         * win32/gstreamer.def:
3765
3766         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3767         (#322027)
3768
3769 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3770
3771         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3772         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3773         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3774         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3775         (gst_fdsrc_uri_handler_init):
3776         * gst/elements/gstfdsrc.h:
3777           Port fd:// URI handler from 0.8 to fdsrc
3778
3779 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3780
3781         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3782         (gst_value_serialize_fourcc):
3783         * gst/gstvalue.h:
3784           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3785           consistent with our other format defines (#320324).
3786
3787 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3788
3789         * gst/gstvalue.c: (gst_value_is_fixed):
3790           Revert previous commit. Value lists are by definition
3791           not fixed, as they are a list of possible values.
3792
3793 2005-11-21  Andy Wingo  <wingo@pobox.com>
3794
3795         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3796         during the stable series if we need it. Fixes #319178.
3797
3798         * gst/gstevent.c (gst_event_new_filler): Removed.
3799
3800         * check/gst/gstevent.c: Update comment about filler events.
3801
3802 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3803
3804         * gst/gstvalue.c: (gst_value_is_fixed):
3805           Should handle both value arrays and value lists.
3806
3807 2005-11-21  Andy Wingo  <wingo@pobox.com>
3808
3809         patch by: Alessandro Dessina <alessandro nnva org>
3810
3811         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3812         functions to access arrays. Fixes #321962.
3813
3814 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3815
3816         * docs/gst/gstreamer.types:
3817           gst_collectpads_get_type => gst_collect_pads_get_type.
3818           
3819         * gst/base/gstbasetransform.c:
3820           Remove unused SIGNAL_HANDOFF enum.
3821
3822 2005-11-21  Andy Wingo  <wingo@pobox.com>
3823
3824         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3825         the event type (upstream, downstream, serialized). Renamed
3826         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3827         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3828         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3829
3830         * gst/gstevent.c: Update for new CUSTOM event names.
3831
3832         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3833
3834         * gst/gstevent.h:
3835         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3836         bug #319392.
3837
3838 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3839
3840         * docs/gst/gstreamer-sections.txt:
3841         * win32/common/libgstbase.def:
3842         * win32/libgstbase.def:
3843         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3844         (gst_collect_pads_class_init), (gst_collect_pads_init),
3845         (gst_collect_pads_finalize), (gst_collect_pads_new),
3846         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3847         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3848         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3849         (gst_collect_pads_start), (gst_collect_pads_stop),
3850         (gst_collect_pads_peek), (gst_collect_pads_pop),
3851         (gst_collect_pads_available), (gst_collect_pads_read),
3852         (gst_collect_pads_flush), (gst_collect_pads_event),
3853         (gst_collect_pads_chain):
3854         * gst/base/gstcollectpads.h:
3855           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3856           unimplemented functions as unimplemented. Add padding to
3857           GstCollectData. (#320766, #320423)
3858
3859 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3860
3861         * gst/gstmessage.c:
3862           Improve docs for DURATION message (usage of duration parameter)
3863           (#320113)
3864
3865 2005-11-20  Wim Taymans  <wim@fluendo.com>
3866
3867         * check/Makefile.am:
3868         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3869         (main):
3870         * gst/Makefile.am:
3871         * gst/gst.h:
3872         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3873         (gst_segment_set_seek), (gst_segment_set_newsegment),
3874         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3875         (gst_segment_clip):
3876         * gst/gstsegment.h:
3877         Added segment helper structure and methods. Not fully implemented
3878         yet.
3879         Added segment check.
3880
3881 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3882
3883         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3884           Add a deserialisation test for fractions
3885         * examples/metadata/read-metadata.c: (message_loop),
3886         (make_pipeline), (main):
3887           Fix up metadata reading sample.
3888         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3889           Debug format fix
3890         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3891           Don't try and fixate empty caps
3892         * gst/gst_private.h:
3893           Wrap in G_BEGIN_DECLS/G_END_DECLS
3894         * gst/gstvalue.c: (gst_value_collect_fraction),
3895         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3896         (gst_value_transform_string_fraction),
3897         (gst_value_compare_fraction):
3898           Add some extra guards to ensure that we don't end up 
3899           with an invalid denominator of 0 in a gstfraction and
3900           that fractions always get reduced.
3901
3902 2005-11-20  Wim Taymans  <wim@fluendo.com>
3903
3904         * docs/gst/gstreamer-sections.txt:
3905         * gst/gstbuffer.h:
3906         * gst/gstelement.c:
3907         * gst/gstformat.c:
3908         * gst/gstformat.h:
3909         * gst/gstindex.h:
3910         * gst/gstquery.c:
3911         * gst/gstquery.h:
3912         * gst/gstvalue.c:
3913         Doc fixes.
3914
3915 2005-11-20  Wim Taymans  <wim@fluendo.com>
3916
3917         * docs/design/part-TODO.txt:
3918         * gst/gstcaps.h:
3919         Make a proper enum of the flag.
3920
3921 2005-11-19  Wim Taymans  <wim@fluendo.com>
3922
3923         * docs/design/part-TODO.txt:
3924         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3925         (gst_format_to_quark), (gst_format_register):
3926         * gst/gstformat.h:
3927         * gst/gstquery.c: (_gst_query_initialize),
3928         (gst_query_type_get_name), (gst_query_type_to_quark),
3929         (gst_query_type_register):
3930         * gst/gstquery.h:
3931         Add type to quark and type to string conversions.
3932
3933 2005-11-19  Andy Wingo  <wingo@pobox.com>
3934
3935         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3936         #320097.
3937
3938 2005-11-19  Wim Taymans  <wim@fluendo.com>
3939
3940         * docs/design/part-TODO.txt:
3941         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3942         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3943         (gst_bin_handle_message_func):
3944         * gst/gstbin.h:
3945         Make message handling overridable.
3946
3947 2005-11-19  Andy Wingo  <wingo@pobox.com>
3948
3949         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3950
3951         * gst/gstclock.h:
3952         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3953         be a GstClockTime.
3954         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3955         is a GstClockTime. Fixes #321710.
3956
3957         * gst/gstclock.h (GstClock): Remove offset property. Add
3958         internal_calibration and external_calibration. Fix padding. Pad
3959         also by GstClockTime so we don't run into problems.
3960
3961         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3962         (gst_clock_get_rate_offset): Remove.
3963         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3964
3965         * gst/gstutils.h:
3966         * gst/gstutils.c (g_static_rec_cond_wait)
3967         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3968
3969         * gst/gstbin.c: Remove terrible continue_state prototype.
3970
3971         * gst/gstelement.h (gst_element_continue_state): Make public.
3972
3973         * gst/gstelement.h:
3974         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3975         by continue_state. Fixes #319389.
3976
3977         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3978         Really fixes #168438. However I don't see anywhere where the
3979         filter function is called... stupid GStreamer...
3980         
3981         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3982         don't have a dispose function, so it won't get called when the
3983         object is unreffed, but oh well!
3984
3985         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3986         allows a destroy function to be set so user_data can be freed.
3987         Fixes #168438.
3988         (gst_index_set_filter): Call gst_index_set_filter_full.
3989
3990         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3991
3992         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3993         string should produce an error, given the lack of a way to
3994         represent NULL strings. Fixes #165650.
3995         
3996         * gst/gstvalue.h: 
3997         * gst/gstvalue.c (gst_value_array_append_value) 
3998         (gst_value_array_prepend_value, gst_value_array_get_size) 
3999         (gst_value_array_get_value): New API, copied from
4000         gst_value_list_*, only operates on arrays.
4001         (gst_value_list_append_value, gst_value_list_prepend_value) 
4002         (gst_value_list_concat, gst_value_list_get_size) 
4003         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
4004
4005         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
4006         init_list, because it works on both.
4007         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
4008         (gst_value_copy_list_or_array): Renamed from copy_list.
4009         (gst_value_free_list_or_array): Renamed from free_list.
4010         (gst_value_collect_list_or_array): Renamed from collect_list.
4011         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
4012         (gst_value_list_or_array_peek_pointer): Renamed from
4013         list_peek_pointer.
4014         (_gst_value_array_value_table, _gst_value_list_value_table):
4015         Update value table functions.
4016         (gst_value_compare_list_or_array): Renamed from compare_list.
4017
4018         * gsttaglist.h: Whoops, foreach function returns void. Also fix
4019         some constness.
4020
4021         * gst/gsttaglist.c:
4022         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
4023         GstTagList*. Fixes #143472.
4024
4025         * gst/gststructure.h: Clarify what the foreach/map functions can
4026         or can't do to their arguments.
4027
4028 2005-11-18  Wim Taymans  <wim@fluendo.com>
4029
4030         * gst/gstclock.c: (gst_clock_set_calibration),
4031         (gst_clock_get_calibration):
4032         Doc and API fixes.
4033         Calibration can be set with internal time equal to current
4034         internal time too.
4035
4036 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4037
4038         * gst/gsterror.c:
4039         * gst/gsterror.h:
4040           document
4041
4042 2005-11-18  Andy Wingo  <wingo@pobox.com>
4043
4044         * configure.ac: 
4045         * pkgconfig/gstreamer-net.pc.in:
4046         * pkgconfig/gstreamer-net-uninstalled.pc.in:
4047         * pkgconfig/Makefile.am: Add net pkgconfig files.
4048
4049 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
4050
4051         * gst/gstcaps.c:
4052         * gst/gstghostpad.c:
4053         * gst/gsttrace.c:
4054         * gst/gstvalue.c:
4055         * gst/gstvalue.h:
4056           docs fixes
4057
4058 2005-11-18  Andy Wingo  <wingo@pobox.com>
4059
4060         * gst/net/gstnetclientclock.c: Turn off debugging.
4061
4062         * check/net/gstnetclientclock.c (test_functioning): Assert that the
4063         times connverge somewhat. Can't make a real test.
4064
4065         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
4066         integer arithmetic. Return the minimum of the domain, which can be
4067         set as "internal" for gst_clock_set_calibration.
4068         (gst_net_client_clock_observe_times): Call _set_calibration.
4069         (gst_net_client_clock_new): Call _set_calibration instead of
4070         rate_offset.
4071
4072         * check/net/gstnetclientclock.c (test_functioning): Use the right
4073         adjustment api.
4074
4075         * gst/gstclock.h:
4076         * gst/gstclock.c (gst_clock_get_calibration) 
4077         (gst_clock_set_calibration): New functions, obsolete the ones I
4078         added yesterday. Doh. Precision issues mean we have to extrapolate
4079         from a point in the more recent past than 1970.
4080         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
4081         obsolete.
4082         (gst_clock_adjust_unlocked): Use the right calibration data.
4083
4084 2005-11-18  Edward Hervey  <edward@fluendo.com>
4085
4086         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
4087         Also reset the ->current_* values in READY->PAUSED
4088
4089 2005-11-18  Andy Wingo  <wingo@pobox.com>
4090
4091         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
4092         Whoops, check the right fd. Also add some debugging.
4093         (gst_net_client_clock_observe_times): Adjust for int64 offset.
4094         (do_linear_regression): Add a crapload of debugging. Subtract off
4095         the minimum values from the input series to discard unneeded bits.
4096         Use only int arithmetic. There is still double arithmetic when
4097         calculating the intercept that needs fixing. Return boolean to
4098         indicate success; FALSE would mean the domain or range is too
4099         great. Still needs fixes.
4100
4101 2005-11-18  Wim Taymans  <wim@fluendo.com>
4102
4103         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4104         For the current position in stream time, we need to subtract
4105         accumulated time.
4106         
4107         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4108         Release lock before calling the callback function of async
4109         entries.
4110
4111 2005-11-18  Andy Wingo  <wingo@pobox.com>
4112
4113         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
4114         Port goes all the way to MAXUINT16.
4115
4116         * gst/net/gstnettimeprovider.c: Make the port range the same as
4117         for the kernel: 0 assigns, otherwise ports are less than
4118         MAXUINT16.
4119
4120         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
4121         port change.
4122
4123         * check/net/gstnetclientclock.c (test_functioning): Add the start
4124         of another test. 
4125
4126 2005-11-18  Wim Taymans  <wim@fluendo.com>
4127
4128         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4129         (gst_bin_remove_func), (bin_bus_handler):
4130         * gst/gstbin.h:
4131         Removing a clock provider from a bin, triggers a clock lost message
4132         so that a new clock will be selected.
4133         Adding a clock to a bin triggers a clock provider message.
4134         Make sure we reselect a clock when we received a clock lost message.
4135         Keep a reference to the element that provided the clock.
4136
4137 2005-11-18  Andy Wingo  <wingo@pobox.com>
4138
4139         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
4140         the clock initially so it produces values around the base time.
4141         (gst_net_client_clock_class_init): Typo fix.
4142         (gst_net_client_clock_thread): Add note on when the socket gets
4143         closed.
4144
4145 2005-11-17  Wim Taymans  <wim@fluendo.com>
4146
4147         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
4148         Free remote and local time arrays.
4149
4150 2005-11-17  Wim Taymans  <wim@fluendo.com>
4151
4152         * gst/net/gstnetclientclock.c: (do_linear_regression),
4153         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
4154         Fix compilation, uninitialized vars and a forgotten continue.
4155
4156 2005-11-17  Andy Wingo  <wingo@pobox.com>
4157
4158         * check/Makefile.am (check_PROGRAMS): 
4159         * check/net/gstnetclientclock.c: Add a most minimal test for the
4160         net client clock. More to come later.
4161
4162         * gst/net/gstnet.h: 
4163         * gst/net/Makefile.am: Add netclientclock.
4164
4165         * gst/net/gstnetclientclock.h:
4166         * gst/net/gstnetclientclock.c: New files, implement an untested
4167         GstClock that takes its time from a network time provider.
4168         Implements the algorithm in network-clock.scm.
4169
4170         * tests/network-clock.scm (*window-size*): Rename from
4171         *queue-length*.
4172         * tests/network-clock.scm (network-time): 
4173         * tests/network-clock-utils.scm (q-push): Update callers.
4174
4175 2005-11-17  Wim Taymans  <wim@fluendo.com>
4176
4177         * gst/gstbin.c: (gst_bin_provide_clock_func),
4178         (gst_bin_sort_iterator_new):
4179         And unref the child too..
4180
4181 2005-11-17  Wim Taymans  <wim@fluendo.com>
4182
4183         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4184         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
4185         Refactor the sort iterator so it can be used while holding the
4186         LOCK too.
4187         Make clock selection select a clock closest to the source.
4188
4189 2005-11-17  Michael Smith <msmith@fluendo.com>
4190
4191         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
4192         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
4193         * gst/gstclock.h:
4194           Anonymous structs are a gcc (and some other compilers) extension, so
4195           don't use them. Since this is only for ABI-compatibility, and our
4196           API/ABI freeze is over in a few days, this whole thing will only
4197           last a few days, so don't bother trying to think up a meaningful
4198           name for the struct.
4199
4200 2005-11-17  Andy Wingo  <wingo@pobox.com>
4201
4202         * gst/gstclock.h (GstClock): Add rate and offset properties,
4203         preserving ABI stability. Add rate/offset accessors. Will file bug
4204         for the freeze break.
4205
4206         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
4207         and offset, trying to keep precision and avoiding
4208         underflow/overflow.
4209         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
4210         functions. Make gst_clock_set_time_adjust obsolete.
4211         (gst_clock_set_time_adjust): Note that this function is obsolete.
4212         Will file bug soon.
4213
4214         * gst/base/gstbasetransform.h: Make the ABI-stability hack
4215         greppable by using GST_PADDING-1+1.
4216
4217 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
4218
4219         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4220
4221         * gst/gstmessage.c: (gst_message_parse_clock_lost):
4222           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
4223
4224         * gst/gstpadtemplate.h:
4225         * gst/gstpluginfeature.h:
4226           Don't use c++ style comments in headers (#321638).
4227
4228 2005-11-16  Andy Wingo  <wingo@pobox.com>
4229
4230         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
4231         buffer.
4232
4233         * check/net/gstnettimeprovider.c: Check to see that the time
4234         provider actually provides times. Works, yo!
4235
4236 2005-11-16  Wim Taymans  <wim@fluendo.com>
4237
4238         * check/Makefile.am:
4239         Enable more tests.
4240
4241         * check/elements/fakesrc.c: (GST_START_TEST):
4242         Set element to NULL before disposing it.
4243
4244 2005-11-16  Andy Wingo  <wingo@pobox.com>
4245
4246         * gst/net/Makefile.am:
4247         * gst/net/gstnet.h:
4248         * gst/net/gstnettimeprovider.c: 
4249         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
4250         provider, include it from gstnet.h, and add it to the build.
4251
4252         * gst/net/gstnettimepacket.h: 
4253         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
4254         sending and receiving.
4255
4256 2005-11-16  Wim Taymans  <wim@fluendo.com>
4257
4258         * check/Makefile.am:
4259         Enable valgrind check.
4260
4261         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
4262         (gst_fake_src_alloc_buffer):
4263         Fix memleak.
4264
4265 2005-11-16  Wim Taymans  <wim@fluendo.com>
4266
4267         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
4268         Call parent finalize too.
4269
4270 2005-11-16  Wim Taymans  <wim@fluendo.com>
4271
4272         * check/Makefile.am:
4273         Enable valgrind check that should work fine now.
4274
4275         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4276         * gst/gstqueue.c: (gst_queue_init):
4277         Fix memleaks in pad allocation.
4278
4279 2005-11-16  Andy Wingo  <wingo@pobox.com>
4280
4281         * gst/net/Makefile.am:
4282         * gst/net/gstnet.h: New part of core to hold network elements and
4283         objects. Put in core because it exposes API that applications want
4284         to use. The library is named libgstnet-tempname right now because
4285         of the existing libgstnet in gst-plugins-base. Solution is
4286         probably to rename the one in plugins-base; will file a bug for
4287         the freeze break.
4288
4289         * gst/net/gstnettimeprovider.c: 
4290         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
4291         get_time call over the network.
4292
4293         * configure.ac: 
4294         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
4295
4296         * check/Makefile.am:
4297         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
4298         get additions shortly.
4299
4300 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4301
4302         * gst/gstpad.c: (gst_pad_new_from_static_template):
4303         * gst/gstpad.h:
4304           add gst_pad_new_from_static_template functions
4305         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
4306         (gst_check_setup_sink_pad):
4307         * gst/elements/gsttee.c: (gst_tee_init):
4308           and use them
4309
4310 2005-11-16  Wim Taymans  <wim@fluendo.com>
4311
4312         * gst/gstpad.c: (gst_pad_pause_task):
4313         Removed warning, it's not really an error either.
4314
4315 2005-11-16  Wim Taymans  <wim@fluendo.com>
4316
4317         * gst/base/gstbasetransform.c:
4318         (gst_base_transform_prepare_output_buf),
4319         (gst_base_transform_event):
4320         Check if the caps are NULL, this can happen if the element
4321         is shutting down and the pad caps are set to NULL.
4322
4323 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4324
4325         * gst/elements/gsttee.c: (gst_tee_init):
4326           fix pad template leak in tee
4327
4328 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4329
4330         * gst/glib-compat.c: (g_value_dup_gst_object):
4331         * gst/glib-compat.h:
4332         * gst/gstpad.c: (gst_pad_set_property):
4333           use gst_object_ref when setting the pad template; this will
4334           trigger the pad template leaks on GLib 2.6 and the slaves
4335
4336 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4337
4338         * gst/glib-compat.c: (gst_flags_get_first_value):
4339         * gst/glib-compat.h:
4340         * gst/gstregistryxml.c:
4341           remove functions copied from GLib 2.6
4342
4343 2005-11-16  Michael Smith <msmith@fluendo.com>
4344
4345         * gst/Makefile.am:
4346           Don't link against VALGRIND_LIBS. That was always the wrong thing to
4347           do, but only breaks with newer valgrind versions. We're not a
4348           valgrind tool, we have no link-time dependencies on libcoregrind.
4349
4350 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4351
4352         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4353           some debug changes
4354         * gst/gstmessage.h:
4355           typo fixes
4356
4357 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4358
4359         * gst/base/gstbasesrc.c: (gst_base_src_init):
4360         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4361         * gst/gstqueue.c: (gst_queue_init):
4362         * gst/gstregistryxml.c: (load_feature):
4363           Revert all these unrefs, they don't even pass make check !
4364
4365 2005-11-15  Johan Dahlin  <johan@gnome.org>
4366
4367         * gst/base/gstbasesrc.c: (gst_base_src_init):
4368         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4369         * gst/gstqueue.c: (gst_queue_init): 
4370         Free pad templates, fixes a couple of leaks.
4371
4372 2005-11-15  Daniel Fischer  <dan at f3c dot com>
4373
4374         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4375
4376         * gst/gstpad.c: (gst_pad_get_property):
4377           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
4378           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
4379           (#321452)
4380
4381 2005-11-15  Wim Taymans  <wim@fluendo.com>
4382
4383         * gst/gstevent.c:
4384         Small doc update.
4385
4386 2005-11-15  Andy Wingo  <wingo@pobox.com>
4387
4388         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
4389
4390         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
4391         using GST_CLOCK_TIME_NONE to disable base time management.
4392         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
4393         time if it was NONE before.
4394         (gst_pipeline_change_state): Only munge the base time if
4395         stream_time != GST_CLOCK_TIME_NONE.
4396
4397         * check/gst/gstpipeline.c (test_base_time): Punt around the
4398         problem of the probe not being called, because that's not the
4399         issue I'm looking at. Add a check that setting stream_time to NONE
4400         disables base time management.
4401         
4402 2005-11-15  Wim Taymans  <wim@fluendo.com>
4403
4404         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4405         segment_stop == -1 at startup.
4406
4407         * gst/base/gstbasetransform.c: (gst_base_transform_event),
4408         (gst_base_transform_change_state):
4409         Init segment values at start.
4410
4411 2005-11-15  Wim Taymans  <wim@fluendo.com>
4412
4413         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4414         0 segment values are 0 in any format.
4415
4416         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4417         * gst/base/gstbasetransform.h:
4418         Parse newsegment correctly in basetransform
4419
4420         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4421         Sync to clock using updated segment values.
4422
4423 2005-11-15  Andy Wingo  <wingo@pobox.com>
4424
4425         * check/gst/gstpipeline.c (test_base_time): Add check that the
4426         base time and stream time are reset correctly.
4427
4428 2005-11-15  Wim Taymans  <wim@fluendo.com>
4429
4430         * docs/design/part-TODO.txt:
4431         Some more TODO items.
4432
4433 2005-11-15  Andy Wingo  <wingo@pobox.com>
4434
4435         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
4436         error if the user selected "no clock" as the clocking method.
4437
4438         * check/gst/gstpipeline.c (test_base_time): New test for buffer
4439         timestamps with live capture.
4440
4441         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
4442         is 0 but we are a live source, timestamp the buffers using the
4443         element's clock.
4444
4445 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
4446
4447         * docs/gst/gstreamer-sections.txt:
4448         * gst/gsterror.c:
4449         * gst/gstghostpad.c:
4450         * gst/gstobject.h:
4451         * gst/gstxml.c:
4452           more section docs
4453
4454 2005-11-14  Wim Taymans  <wim@fluendo.com>
4455
4456         * common/gst.supp:
4457           add suppressions from Wim's Debian machine
4458
4459 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4460
4461         * common/gst.supp:
4462           add suppressions from Andy's AMD64 Ubuntu machine
4463
4464 2005-11-14  Andy Wingo  <wingo@pobox.com>
4465
4466         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
4467         STATE_LOCK not necessary. Fixes #311489.
4468
4469         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
4470         #305291.
4471
4472         * gst/gstindex.c (gst_index_add_object): Note in the docs that
4473         this function is not implemented.
4474
4475 2005-11-14  Julien MOUTTE  <julien@moutte.net>
4476
4477         * gst/base/gstbasetransform.c:
4478         (gst_base_transform_prepare_output_buf):
4479         Ref the source pad caps while we need them.
4480         Fixes (#321386)
4481
4482 2005-11-11  Wim Taymans  <wim@fluendo.com>
4483
4484         * docs/gst/gstreamer-sections.txt:
4485         Added some docs for GstCollectData.
4486
4487         * gst/base/gstadapter.c:
4488         Some small code example fix.
4489
4490         * gst/base/gstcollectpads.c:
4491         * gst/base/gstcollectpads.h:
4492         Document some more.
4493
4494 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4495
4496         * configure.ac: back to HEAD
4497
4498 === release 0.9.5 ===
4499
4500 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
4501
4502         * configure.ac:
4503           releasing 0.9.5, "Bike Lunch Day"
4504
4505 2005-11-11  Wim Taymans  <wim@fluendo.com>
4506
4507         * gst/gstbuffer.c: (_gst_buffer_copy):
4508         Copy more flags.
4509
4510         * gst/gstcaps.c: (gst_caps_is_equal):
4511         Fix some docs.
4512         Make _is_equal fast in the trivial cases.
4513
4514         * gst/gstminiobject.c:
4515         * gst/gstminiobject.h:
4516         More docs. Spifify .h file.
4517
4518         * gst/gstutils.c:
4519         Small doc update.
4520
4521 2005-11-11  Wim Taymans  <wim@fluendo.com>
4522
4523         * gst/base/gstbasetransform.c:
4524         (gst_base_transform_prepare_output_buf),
4525         (gst_base_transform_handle_buffer):
4526         Small cleanups.
4527         If we're processing a buffer and need to allocate an output
4528         buffer, we cannot accept a format change. If we did get a 
4529         format change, we have to alloc a buffer ourselves of the 
4530         right size.
4531
4532 2005-11-11  Wim Taymans  <wim@fluendo.com>
4533
4534         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
4535         While checking the flag for reentrancy in the gstcaps function
4536         is nice to detect recursive invocations, it also makes it 
4537         impossible to call getcaps from multiple threads, which must be
4538         possible. So, checking for recursive calls has to go.
4539
4540 2005-11-11  Michael Smith <msmith@fluendo.com>
4541
4542         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4543           Don't sync on buffers that fall partially outside our current
4544           segment. Prevents an assertion failure/abort playing some files.
4545
4546 2005-11-10  Andy Wingo  <wingo@pobox.com>
4547
4548         * check/gst/gstbin.c (test_message_state_changed_children): Style
4549         fix..
4550
4551         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
4552         gst_bus_poll with the signal watch. Ensures that poll and a signal
4553         watch see the same messages.
4554
4555         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
4556         a poll and a watch at the same time get the same messages.
4557
4558 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4559
4560         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
4561         * gst/gstcaps.c: (gst_caps_intersect):
4562           Don't call gst_caps_do_simplify - it doesn't respect order of caps
4563           and it's not needed.
4564
4565 2005-11-10  Wim Taymans  <wim@fluendo.com>
4566
4567         * docs/design/part-TODO.txt:
4568         Updated todo.
4569
4570 2005-11-10  Wim Taymans  <wim@fluendo.com>
4571
4572         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4573         * gst/base/gstbasesrc.c: (gst_base_src_wait),
4574         (gst_base_src_do_sync), (gst_base_src_get_range):
4575         Implement clock sync in base class.
4576
4577 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4578
4579         patch by: Tim-Philipp Müller <tim at centricular dot net>
4580
4581         * gst/gststructure.c: (gst_structure_parse_field),
4582         (gst_structure_from_string):
4583           Forward-port a 0.8 patch to handle escaped spaces in structure string,
4584           so that gst_parse_launch() can deal with spaces in filtered link
4585           caps (fixes #164479)
4586         * check/gst/capslist.h:
4587         * check/gst/gststructure.c: (GST_START_TEST):
4588           add unit tests for this change
4589
4590 2005-11-10  Wim Taymans  <wim@fluendo.com>
4591
4592         * docs/gst/gstreamer-sections.txt:
4593         * gst/gstelement.c:
4594         * gst/gstelement.h:
4595         Fix docs, move some STATE macros to private.
4596
4597 2005-11-10  Wim Taymans  <wim@fluendo.com>
4598
4599         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4600         Added check for bug #317341
4601
4602         * gst/gstbuffer.c:
4603         * gst/gstbuffer.h:
4604         Some more spiffifying.
4605
4606         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
4607         Call peer linkfunction if we are a source pad. Totally fixes
4608         #317341
4609
4610         * gst/gstpad.c:
4611         Update docs, source pads should call the peer linkfunction
4612         so they can atomically perform the pad link.
4613
4614 2005-11-09  Wim Taymans  <wim@fluendo.com>
4615
4616         * gst/gstbuffer.c:
4617         * gst/gstbuffer.h:
4618         Uber-spiffy-spiffify some more.
4619
4620 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
4621
4622         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
4623         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4624         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4625         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
4626         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
4627         * gst/gstpad.c: (gst_pad_init):
4628           Use GST_DEBUG_FUNCPTR() more extensively.
4629
4630 2005-11-09  Wim Taymans  <wim@fluendo.com>
4631
4632         * gst/gstobject.c: (gst_object_class_init):
4633         * gst/gstobject.h:
4634         Documentation fixes.
4635
4636 2005-11-09  Edward Hervey  <edward@fluendo.com>
4637
4638         * gst/gsttypefindfactory.c:
4639         Fix docs.
4640         
4641 2005-11-09  Edward Hervey  <edward@fluendo.com>
4642
4643         * gst/base/gsttypefindhelper.c:
4644         * gst/gsttypefind.c:
4645         * gst/gsttypefind.h:
4646         Fix docs.
4647
4648 2005-11-09  Wim Taymans  <wim@fluendo.com>
4649
4650         * gst/gstiterator.c:
4651         Fix revision data.
4652
4653         * gst/gsttask.c:
4654         * gst/gsttask.h:
4655         Fix docs.
4656
4657 2005-11-09  Wim Taymans  <wim@fluendo.com>
4658
4659         * gst/gstevent.h:
4660         * gst/gsturi.h:
4661         Fix docs.
4662
4663 2005-11-09  Wim Taymans  <wim@fluendo.com>
4664
4665         * docs/gst/gstreamer-sections.txt:
4666         Moved the message async delivery private lock and cond
4667         to the private section.
4668
4669         * gst/gstmessage.c:
4670         * gst/gstmessage.h:
4671         Fixed docs.
4672
4673 2005-11-09  Edward Hervey  <edward@fluendo.com>
4674
4675         * docs/gst/gstreamer-sections.txt:
4676         * gst/gsturi.c:
4677         * gst/gsturi.h:
4678         Document GstURIHandler
4679
4680 2005-11-09  Wim Taymans  <wim@fluendo.com>
4681
4682         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
4683         (gst_iterator_find_custom):
4684         * gst/gstiterator.h:
4685         Fix iterator docs.
4686
4687 2005-11-09  Wim Taymans  <wim@fluendo.com>
4688
4689         * gst/gstbin.h:
4690         Document another field.
4691
4692         * gst/gststructure.c:
4693         * gst/gststructure.h:
4694         Document.
4695
4696 2005-11-09  Wim Taymans  <wim@fluendo.com>
4697
4698         * gst/gstbin.h:
4699         Documented structs.
4700
4701 2005-11-09  Wim Taymans  <wim@fluendo.com>
4702
4703         * docs/gst/gstreamer-sections.txt:
4704         Added some new macros.
4705
4706         * gst/gstclock.c:
4707         * gst/gstclock.h:
4708         * gst/gstobject.h:
4709         Docs updates.
4710
4711 2005-11-09  Wim Taymans  <wim@fluendo.com>
4712
4713         * docs/design/part-TODO.txt:
4714         Some more items for the TODO
4715
4716         * gst/gstcaps.c:
4717         * gst/gstcaps.h:
4718         Document GstCaps.
4719
4720 2005-11-09  Andy Wingo  <wingo@pobox.com>
4721
4722         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
4723         to work on something else now tho...
4724
4725         * gst/base/gstadapter.c: More adapter docs.
4726
4727         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4728         (gst_file_sink_stop): New functions, replace the state change
4729         handler.
4730         (gst_file_sink_class_init): Hook up the start and stop functions.
4731         (gst_file_sink_base_init): Don't set the state change handler any
4732         more. It was a bit ugly too, being set from here...
4733         (gst_file_sink_get_property, gst_file_sink_set_property):
4734         Cleanups...
4735         (gst_file_sink_set_location): More robust check that doesn't call
4736         GST_STATE. Ugggggg.
4737
4738 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4739
4740         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4741           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4742
4743 2005-11-08  Wim Taymans  <wim@fluendo.com>
4744
4745         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4746         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4747         (gst_base_sink_chain), (gst_base_sink_change_state):
4748         * gst/base/gstbasesink.h:
4749         * gst/base/gstbasesrc.h:
4750         * gst/gstelement.h:
4751         * gst/gstevent.h:
4752         Avoid excessive typechecking in macros.
4753
4754         * gst/gstminiobject.c: (gst_mini_object_get_type),
4755         (gst_mini_object_init), (gst_mini_object_new),
4756         (gst_mini_object_free):
4757         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4758         (gst_object_finalize):
4759         Remove cruft code, optimize alloc_trace.
4760
4761 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4762
4763         * docs/faq/gst-uninstalled:
4764           fix up PS1 for systems that try to reset it
4765
4766 2005-11-07  Wim Taymans  <wim@fluendo.com>
4767
4768         * gst/base/gstbasesrc.c: (gst_base_src_init),
4769         (gst_base_src_get_range):
4770         Set the segment_end to -1 initially. Fixed typefind.
4771
4772 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4773
4774         * gst/base/gstadapter.c:
4775           Debug category should be 'adapter', not 'GstAdapter'.
4776           
4777         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4778         (gst_collectpads_class_init), (gst_collectpads_init),
4779         (gst_collectpads_peek), (gst_collectpads_pop),
4780         (gst_collectpads_event), (gst_collectpads_chain):
4781           Add debug category and some debugging output. Use boilerplate
4782           macros. Remove some extraneous words from docs.
4783
4784 2005-11-05  Andy Wingo  <wingo@pobox.com>
4785
4786         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4787         macro.
4788
4789 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4790
4791         * docs/gst/gstreamer-sections.txt:
4792         * gst/gstcaps.h:
4793         * gst/gstinfo.c:
4794         * gst/gstminiobject.h:
4795         * gst/gstobject.h:
4796         * gst/gstutils.h:
4797           more docs added
4798
4799 2005-11-04  Wim Taymans  <wim@fluendo.com>
4800
4801         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4802         Small update to stop at the configured segment_end
4803         position.
4804
4805 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4806
4807         * gst/gstregistry.c:
4808         * gst/gstregistry.h:
4809           added missing docs
4810
4811 2005-11-04  Edward Hervey  <edward@fluendo.com>
4812
4813         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4814         Check if we are doing a segment seek and have arrived at the
4815         end of that segment.
4816
4817 2005-11-04  Wim Taymans  <wim@fluendo.com>
4818
4819         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4820         Don't leak a mutex unlock in case of an error.
4821
4822         * gst/gstbus.h:
4823         Doc fixes.
4824
4825 2005-11-04  Wim Taymans  <wim@fluendo.com>
4826
4827         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4828         (gst_bus_post):
4829         Get the context to wake up only once.
4830
4831 2005-11-03  Wim Taymans  <wim@fluendo.com>
4832
4833         * check/states/sinks.c: (GST_START_TEST):
4834         Uncomment fixed check.
4835
4836         * docs/design/part-TODO.txt:
4837         Updated TODO.
4838
4839         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4840         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4841         (gst_base_sink_get_position):
4842         If we are going to PLAYING, post the right pending state
4843         when we post the intermediate paused message.
4844
4845         * gst/gstelement.c: (gst_element_continue_state),
4846         (gst_element_set_state_func), (gst_element_change_state):
4847         Don't post state changes that were between the same state
4848         and were not ASYNC.
4849
4850 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4851
4852         * docs/gst/gstreamer-sections.txt:
4853         * gst/gstcaps.h:
4854         * gst/gstinfo.c:
4855         * gst/gstminiobject.h:
4856         * gst/gstobject.h:
4857         * gst/gstutils.h:
4858           more docs and doc style fixes
4859
4860 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4861
4862         * docs/gst/gstreamer-sections.txt:
4863         * gst/gstelement.c:
4864         * gst/gstminiobject.c:
4865         doc fixes
4866
4867 2005-11-03  Andy Wingo  <wingo@pobox.com>
4868
4869         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4870         state-changed messages actually have the right order and the right
4871         values.
4872
4873 2005-11-03  Wim Taymans  <wim@fluendo.com>
4874
4875         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4876         Added some more checks. Specifically the case where NO_PREROLL
4877         elements are in the pipeline.
4878
4879         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4880         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4881         (gst_base_sink_get_position):
4882         Post READY->PAUSED state change messages too.
4883         Fix bug where VOID was posted as pending state...
4884
4885         * gst/gstbin.c: (gst_bin_recalc_state):
4886         use _element_continue_state() to continue the state change.
4887
4888         * gst/gstelement.c: (gst_element_continue_state),
4889         (gst_element_commit_state), (gst_element_set_state_func),
4890         (gst_element_change_state), (gst_element_change_state_func):
4891         Lots of state change cleanups, assign the STATE_RETURN in
4892         a new continue_state() function that also propagates the
4893         last return value from a state change to the app.
4894         Update some debug statements with proper category.
4895
4896 2005-11-03  Wim Taymans  <wim@fluendo.com>
4897
4898         * docs/design/part-events.txt:
4899         * docs/design/part-gstpipeline.txt:
4900         * docs/design/part-messages.txt:
4901         * docs/design/part-overview.txt:
4902         * docs/design/part-seeking.txt:
4903         * docs/design/part-states.txt:
4904         * docs/design/part-trickmodes.txt:
4905         * docs/manual/advanced-position.xml:
4906         Small docs updates.
4907
4908         * gst/gstobject.h:
4909         People think !! is ugly, this looks better.
4910
4911         * gst/gstpad.c: (gst_pad_set_blocked_async):
4912         Remove !! since it's fixed elsewhere now.
4913
4914 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4915
4916         * gst/gstminiobject.h:
4917         * gst/gstobject.h:
4918           Add !! to _FLAG_IS_SET macros to make the result boolean.
4919
4920 2005-11-03  Edward Hervey  <edward@fluendo.com>
4921
4922         * gst/gstpad.c: (gst_pad_set_blocked_async):
4923         comparing a flag and a gboolean rarely returns coherent results...
4924         Added two characters (!!) to make that work correctly.
4925         
4926 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4927
4928         * gst/gstbus.c: (gst_bus_class_init):
4929           Fix some typos.
4930           
4931         * gst/gstqueue.c: (gst_queue_loop):
4932           Don't assume a miniobject that isn't a buffer is an
4933           event (it could be that there is a refcounting
4934           problem somewhere and the pointer is stale and
4935           refers to an already destroyed miniobject).
4936
4937 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4938
4939         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4940
4941 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4942
4943         * docs/manual/advanced-position.xml:
4944           Update seek example and explanations to current 0.9 API.
4945
4946         * gst/elements/gsttypefindelement.c:
4947         (gst_type_find_element_activate):
4948           Remove FIXME comment now that the found caps
4949           are unreffed.
4950
4951 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4952
4953         * gst/gstregistryxml.c: (load_feature):
4954           Add another GST_STR_NULL instance
4955
4956 2005-11-02  Edward Hervey  <edward@fluendo.com>
4957
4958         * gst/gstpad.c: (handle_pad_block):
4959         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4960         
4961 2005-11-02  Wim Taymans  <wim@fluendo.com>
4962
4963         * gst/gstbin.c:
4964         Fix typo in docs.
4965
4966         * gst/gstelement.c: (gst_element_commit_state):
4967         Remove unused value.
4968
4969         * gst/gstiterator.c:
4970         Mention that the returned element is reffed in the docs.
4971
4972 2005-11-02  Wim Taymans  <wim@fluendo.com>
4973
4974         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4975         (gst_pad_push), (gst_pad_push_event):
4976         Unlock blocked pads when they are flushed.
4977
4978 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4979
4980         * docs/README:
4981         * docs/gst/gstreamer-sections.txt:
4982         * gst/gstbin.c:
4983           doc updates
4984         * gst/gstregistry.c: (gst_registry_scan_path_level):
4985           fix for a nasty little missed situation where an installed plug-in
4986           which was in the cache did not get overridden by an uninstalled one
4987           which was earlier in the plugin path because the newly created plugin
4988           for the uninstalled one (not in the registry) didn't get its
4989           ->registered set to TRUE
4990
4991 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4992
4993         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4994         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4995         (gst_collectpads_is_active), (gst_collectpads_collect),
4996         (gst_collectpads_collect_range), (gst_collectpads_start),
4997         (gst_collectpads_stop), (gst_collectpads_peek),
4998         (gst_collectpads_pop), (gst_collectpads_available),
4999         (gst_collectpads_read), (gst_collectpads_flush):
5000           Guard public API with assertions.
5001         
5002         * gst/gstpad.c:
5003           Fix docs for gst_pad_set_link_function().
5004
5005 2005-11-02  Johan Dahlin  <johan@gnome.org>
5006
5007         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
5008         Unref found_caps after we used it.
5009
5010 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5011
5012         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
5013           Don't try to ref NULL.
5014
5015 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5016
5017         * win32/common/config.h.in:
5018           provide a GST_FUNCTION that just gives a string for now
5019
5020 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5021
5022         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5023         (gst_object_flags_get_type), (register_gst_bin_flags),
5024         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5025         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5026         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5027         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
5028         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5029         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5030         (gst_clock_flags_get_type), (register_gst_state),
5031         (gst_state_get_type), (register_gst_state_change_return),
5032         (gst_state_change_return_get_type), (register_gst_state_change),
5033         (gst_state_change_get_type), (register_gst_element_flags),
5034         (gst_element_flags_get_type), (register_gst_core_error),
5035         (gst_core_error_get_type), (register_gst_library_error),
5036         (gst_library_error_get_type), (register_gst_resource_error),
5037         (gst_resource_error_get_type), (register_gst_stream_error),
5038         (gst_stream_error_get_type), (register_gst_event_type),
5039         (gst_event_type_get_type), (register_gst_seek_type),
5040         (gst_seek_type_get_type), (register_gst_seek_flags),
5041         (gst_seek_flags_get_type), (register_gst_format),
5042         (gst_format_get_type), (register_gst_index_certainty),
5043         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5044         (gst_index_entry_type_get_type),
5045         (register_gst_index_lookup_method),
5046         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5047         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5048         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5049         (gst_index_flags_get_type), (register_gst_debug_level),
5050         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5051         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5052         (gst_iterator_result_get_type), (register_gst_iterator_item),
5053         (gst_iterator_item_get_type), (register_gst_message_type),
5054         (gst_message_type_get_type), (register_gst_mini_object_flags),
5055         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5056         (gst_pad_link_return_get_type), (register_gst_flow_return),
5057         (gst_flow_return_get_type), (register_gst_activate_mode),
5058         (gst_activate_mode_get_type), (register_gst_pad_direction),
5059         (gst_pad_direction_get_type), (register_gst_pad_flags),
5060         (gst_pad_flags_get_type), (register_gst_pad_presence),
5061         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5062         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5063         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5064         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5065         (gst_plugin_flags_get_type), (register_gst_rank),
5066         (gst_rank_get_type), (register_gst_query_type),
5067         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5068         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5069         (gst_tag_flag_get_type), (register_gst_task_state),
5070         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5071         (gst_alloc_trace_flags_get_type),
5072         (register_gst_type_find_probability),
5073         (gst_type_find_probability_get_type), (register_gst_uri_type),
5074         (gst_uri_type_get_type), (register_gst_parse_error),
5075         (gst_parse_error_get_type):
5076         * win32/common/gstversion.h:
5077           update win32 copies
5078
5079 2005-11-01  Luca Ognibene  <luogni@tin.it>
5080
5081         * gst/gst.c:
5082           fix docs. popt is dead, long live GOption.
5083
5084 2005-10-31  Wim Taymans  <wim@fluendo.com>
5085
5086         * gst/gstbuffer.h:
5087         Small doc fix.
5088
5089 2005-10-31  Andy Wingo  <wingo@pobox.com>
5090
5091         * Boo!
5092
5093         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
5094
5095         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
5096         need to serialize property notifications on GLib 2.8. GLib 2.6 has
5097         the possibility of deadlocks here if code calling notify() or
5098         set() has a lock that can be taken in another notify handler (ABBA
5099         with class lock and e.g. python GIL state lock).
5100
5101 2005-10-28  Julien MOUTTE  <julien@moutte.net>
5102
5103         * gst/gstbus.c: Doc updates.
5104
5105 2005-10-28  Wim Taymans  <wim@fluendo.com>
5106
5107         * docs/design/part-TODO.txt:
5108         * gst/gstiterator.c:
5109         * gst/gstsystemclock.c:
5110         * gst/gstsystemclock.h:
5111         Doc updates.
5112
5113 2005-10-28  Edward Hervey  <edward@fluendo.com>
5114
5115         * docs/gst/gstreamer-docs.sgml:
5116         * docs/gst/gstreamer-sections.txt:
5117         the GstURIType documentation page is private, it only defines GstURIType
5118         which should be defined in the GstURIHandler page
5119         
5120 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5121
5122         * gst/gstbin.c: (gst_bin_class_init):
5123         * gst/gstbin.h:
5124         * gst/gstutils.c:
5125         Documentation updates.
5126
5127 2005-10-28  Wim Taymans  <wim@fluendo.com>
5128
5129         * docs/gst/gstreamer-sections.txt:
5130         * gst/gstclock.c:
5131         * gst/gstclock.h:
5132         Documented the clocks.
5133
5134 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
5135
5136         * docs/gst/gstreamer-sections.txt:
5137           move some macros to private sections
5138         * gst/gstminiobject.c:
5139         * gst/gstminiobject.h:
5140           add descriptions provided by ds and some more
5141         * gst/gstpad.h:
5142           mark macro as to be removed
5143
5144 2005-10-28  Wim Taymans  <wim@fluendo.com>
5145
5146         * docs/design/part-TODO.txt:
5147         Add an item to TODO.
5148
5149         * gst/gstiterator.c: (gst_iterator_fold),
5150         (gst_iterator_find_custom):
5151         * gst/gstiterator.h:
5152         Add iterator docs.
5153
5154 2005-10-28  Wim Taymans  <wim@fluendo.com>
5155
5156         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5157         (gst_base_transform_init):
5158         Don't leak class.
5159
5160         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
5161         An EOS event marks the queue as completely filled.
5162
5163 2005-10-27  Wim Taymans  <wim@fluendo.com>
5164
5165         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5166         (gst_base_sink_do_sync), (gst_base_sink_get_position):
5167         Some more debugging.
5168
5169         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
5170         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
5171         (gst_base_transform_event), (gst_base_transform_getrange),
5172         (gst_base_transform_chain):
5173         * gst/base/gstbasetransform.h:
5174         Fix debugging,
5175         Protect transform and concurrent buffer alloc with a new lock.
5176         Try not to break ABI/API.
5177
5178 2005-10-27  Wim Taymans  <wim@fluendo.com>
5179
5180         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5181         (gst_base_src_init), (gst_base_src_query),
5182         (gst_base_src_default_newsegment),
5183         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5184         (gst_base_src_send_event), (gst_base_src_event_handler),
5185         (gst_base_src_pad_get_range), (gst_base_src_loop),
5186         (gst_base_src_unlock), (gst_base_src_default_negotiate),
5187         (gst_base_src_start), (gst_base_src_deactivate),
5188         (gst_base_src_activate_push), (gst_base_src_change_state):
5189         Move some stuff around and cleanup things.
5190
5191 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
5192
5193         * gst/base/gstbasesrc.c: (gst_base_src_query):
5194           Add missing break statements.
5195
5196 2005-10-27  Wim Taymans  <wim@fluendo.com>
5197
5198         * check/gst/gstbin.c: (GST_START_TEST):
5199         An extra refcount is taken in basesrc.
5200
5201         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5202         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5203         (gst_base_src_loop):
5204         Small cleanups, check for flushing after being unlocked from the 
5205         LIVE_LOCK. take refcounts correctly (not yet everywhere).
5206         Don't send out EOS when going to READY.
5207
5208 2005-10-27  Wim Taymans  <wim@fluendo.com>
5209
5210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5211         (gst_base_sink_get_position):
5212         Some more debug.
5213
5214         * gst/gstbin.c: (message_check), (bin_replace_message),
5215         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5216         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5217         (bin_query_duration_init), (bin_query_duration_fold),
5218         (bin_query_duration_done), (bin_query_generic_fold),
5219         (gst_bin_query):
5220         * tools/gst-launch.c: (main):
5221         Remove old option.
5222
5223 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
5224
5225         * examples/controller/audio-example.c: (main):
5226         * examples/queue/queue.c: (event_loop):
5227         * gst/base/gstbasetransform.h:
5228         * gst/gstelement.c: (gst_element_send_event):
5229         * gst/gstevent.h:
5230         * gst/gstpad.c: (gst_pad_send_event):
5231           fixing examples
5232           fixing docs typos
5233           changing log priority in error situations
5234
5235 2005-10-25  Wim Taymans  <wim@fluendo.com>
5236
5237         * gst/gstbin.c: (message_check), (bin_replace_message),
5238         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5239         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5240         (bin_query_duration_init), (bin_query_duration_fold),
5241         (bin_query_duration_done), (bin_query_generic_fold),
5242         (gst_bin_query):
5243         Some doc and debug updates.
5244         Cache previously requested query DURATION for speed. invalidate
5245         cached duration if element posts a DURATION message.
5246
5247 2005-10-25  Wim Taymans  <wim@fluendo.com>
5248
5249         * docs/design/part-TODO.txt:
5250         Update TODO.
5251
5252         * gst/gstbin.c: (message_check), (bin_replace_message),
5253         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5254         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5255         (bin_query_duration_init), (bin_query_duration_fold),
5256         (bin_query_duration_done), (bin_query_generic_fold),
5257         (gst_bin_query):
5258         Handle SEGMENT_START/DONE messages correctly.
5259         More evolved query algorithm that handles duration queries
5260         correctly.
5261
5262         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
5263         (gst_element_get_state_func), (gst_element_abort_state),
5264         (gst_element_commit_state), (gst_element_lost_state):
5265         Some more debugging.
5266
5267         * gst/gstmessage.h:
5268         Added doc.
5269
5270 2005-10-25  Wim Taymans  <wim@fluendo.com>
5271
5272         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5273         Don't use invalid stream_time.
5274
5275         * gst/gstevent.c: (gst_event_new_newsegment):
5276         stream_time in newsegment cannot be undefined.
5277
5278 2005-10-24  Wim Taymans  <wim@fluendo.com>
5279
5280         * gst/gstbus.c:
5281         Doc fix.
5282
5283         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5284         (gst_queue_loop):
5285         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
5286
5287 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
5288
5289         * docs/libs/tmpl/gstdparam.sgml:
5290         * docs/libs/tmpl/gstdplinint.sgml:
5291         * docs/libs/tmpl/gstdpman.sgml:
5292         * docs/libs/tmpl/gstdpsmooth.sgml:
5293         * docs/libs/tmpl/gstunitconvert.sgml:
5294           these are obsolete
5295
5296 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5297
5298         * configure.ac:
5299           back to HEAD
5300
5301 === release 0.9.4 ===
5302
5303 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5304
5305         * configure.ac:
5306           releasing 0.9.4, "Tyrannosaurus Rex"
5307
5308 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
5309
5310         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5311         (gst_file_sink_get_current_offset):
5312           Use fseeko() and ftello() if available. When falling back on
5313           lseek() to get the current offset, fflush() first to make sure
5314           everything is up-to-date and we get the right offset.
5315
5316 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5317
5318         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5319         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5320         * gst/gsterror.c: (_gst_stream_errors_init):
5321         * gst/gsterror.h:
5322         * gst/gstqueue.c: (gst_queue_loop):
5323         * po/POTFILES.in:
5324           remove prematurely added error category and clean up the instances
5325
5326 2005-10-21  Wim Taymans  <wim@fluendo.com>
5327
5328         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5329         (gst_base_sink_get_position), (gst_base_sink_query),
5330         (gst_base_sink_change_state):
5331         Simply set the right flag when going to playing, that's all
5332         we need to do instead of calling a function inside the object
5333         lock (that could take the lock as well and deadlock)
5334
5335 2005-10-21  Wim Taymans  <wim@fluendo.com>
5336
5337         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
5338         (gst_base_src_loop):
5339         Don't warn, the peer element knows what to do best when
5340         the seek failed, it might try something else.
5341
5342 2005-10-21  Wim Taymans  <wim@fluendo.com>
5343
5344         * gst/base/gstbasesrc.c: (gst_base_src_init),
5345         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5346         Fix seeking.
5347
5348 2005-10-21  Wim Taymans  <wim@fluendo.com>
5349
5350         * docs/design/part-segments.txt:
5351         More docs.
5352
5353         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5354         Correctly set caps, even on the subbufer.
5355
5356 2005-10-21  Wim Taymans  <wim@fluendo.com>
5357
5358         * docs/gst/gstreamer-docs.sgml:
5359         * docs/gst/gstreamer-sections.txt:
5360         * gst/gstelement.h:
5361         * gst/gstevent.c:
5362         * gst/gstevent.h:
5363         * gst/gstmessage.h:
5364         * gst/gstpad.h:
5365         * gst/gstparse.h:
5366         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
5367         * gst/gsttask.h:
5368         * gst/gstutils.c:
5369         * gst/gstutils.h:
5370         And 2% more doc coverage.
5371
5372 2005-10-21  Andy Wingo  <wingo@pobox.com>
5373
5374         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
5375         position reporting.
5376
5377 2005-10-20  Wim Taymans  <wim@fluendo.com>
5378
5379         * gst/gsterror.c: (gst_error_get_message):
5380         * gst/gstparse.h:
5381         * gst/gstquery.h:
5382         * gst/gststructure.c:
5383         * gst/gsttrace.c:
5384         * gst/gstutils.c:
5385         More docs.
5386
5387 2005-10-20  Wim Taymans  <wim@fluendo.com>
5388
5389         * gst/gstbuffer.h:
5390         * gst/gstpad.c:
5391         * gst/gstparse.c:
5392         Another 1% more coverage.
5393
5394 2005-10-20  Wim Taymans  <wim@fluendo.com>
5395
5396         * docs/gst/gstreamer-sections.txt:
5397         * gst/gstelement.c: (gst_element_get_state_func),
5398         (gst_element_abort_state), (gst_element_commit_state),
5399         (gst_element_lost_state):
5400         * gst/gstevent.h:
5401         * gst/gstquery.c: (gst_query_set_position),
5402         (gst_query_parse_position), (gst_query_set_duration),
5403         (gst_query_parse_duration), (gst_query_new_convert):
5404         * gst/gstutils.c:
5405         Yay! 1% more docs coverage.
5406
5407 2005-10-20  Wim Taymans  <wim@fluendo.com>
5408
5409         * gst/gstpad.h:
5410         * gst/gstquery.c: (gst_query_set_position),
5411         (gst_query_parse_position), (gst_query_set_duration),
5412         (gst_query_parse_duration), (gst_query_new_convert):
5413         * gst/gstquery.h:
5414         * gst/gstutils.c: (gst_element_query_convert):
5415         * gst/gstutils.h:
5416         Docs and consistency fixes.
5417
5418 2005-10-20  Wim Taymans  <wim@fluendo.com>
5419
5420         * gst/gsttask.c:
5421         * gst/gsttask.h:
5422         More docs.
5423
5424 2005-10-20  Wim Taymans  <wim@fluendo.com>
5425
5426         * gst/gstbin.c: (message_check), (bin_replace_message),
5427         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5428         (update_degree), (gst_bin_sort_iterator_next),
5429         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
5430         Reworked the message handling a bit, cache the messages instead of
5431         only the senders. alows us to do more in the future.
5432
5433 2005-10-20  Wim Taymans  <wim@fluendo.com>
5434
5435         * docs/design/part-TODO.txt:
5436         Update TODO
5437
5438         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5439         (gst_base_sink_query):
5440         Don't use clock time to report position when in EOS.
5441
5442 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
5443
5444         * tools/gst-inspect.c: (print_interfaces),
5445         (print_element_properties_info), (print_element_info):
5446           Fix interface output with gst-inspect -a; don't print
5447           newlines after double/float properties.
5448
5449 2005-10-20  Wim Taymans  <wim@fluendo.com>
5450
5451         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5452         (gst_base_sink_query):
5453         Speed up current position calculation.
5454
5455         * gst/base/gstbasesrc.c: (gst_base_src_query),
5456         (gst_base_src_default_newsegment):
5457         Correctly set stream position in newsegment.
5458
5459         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
5460         (update_degree), (gst_bin_sort_iterator_next),
5461         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
5462         * gst/gstmessage.c: (gst_message_new_custom):
5463         Clean up debugging info
5464
5465         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
5466         (gst_queue_loop), (gst_queue_handle_src_query):
5467         Pause task faster.
5468
5469 2005-10-19  Wim Taymans  <wim@fluendo.com>
5470
5471         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5472         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5473         Fix query handling again.
5474
5475 2005-10-19  Wim Taymans  <wim@fluendo.com>
5476
5477         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5478         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5479         * gst/base/gstbasesrc.c: (gst_base_src_query):
5480         * gst/elements/gstfilesink.c: (gst_file_sink_query):
5481         * gst/elements/gsttypefindelement.c:
5482         (gst_type_find_handle_src_query), (find_element_get_length),
5483         (gst_type_find_element_activate):
5484         API change fix.
5485
5486         * gst/gstquery.c: (gst_query_new_position),
5487         (gst_query_set_position), (gst_query_parse_position),
5488         (gst_query_new_duration), (gst_query_set_duration),
5489         (gst_query_parse_duration), (gst_query_set_segment),
5490         (gst_query_parse_segment):
5491         * gst/gstquery.h:
5492         Bundling query position/duration is not a good idea since duration
5493         does not change much and we don't want to recalculate it for every
5494         position query, so they are separated again..
5495         Base value in segment query is not needed.
5496
5497         * gst/gstqueue.c: (gst_queue_handle_src_query):
5498         * gst/gstutils.c: (gst_element_query_position),
5499         (gst_element_query_duration), (gst_pad_query_position),
5500         (gst_pad_query_duration):
5501         * gst/gstutils.h:
5502         Updates for query API change.
5503         Added some docs here and there.
5504
5505 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5506
5507         * check/gst/gstbin.c: (GST_START_TEST):
5508         * check/gst/gstghostpad.c: (GST_START_TEST):
5509         * check/pipelines/cleanup.c: (GST_START_TEST):
5510           wait on thread to die so we can check refcount correctly
5511
5512 2005-10-18  Wim Taymans  <wim@fluendo.com>
5513
5514         * check/pipelines/stress.c: (GST_START_TEST):
5515         Make check a little more time consuming.
5516
5517 2005-10-18  Wim Taymans  <wim@fluendo.com>
5518
5519         * check/Makefile.am:
5520         * check/pipelines/stress.c: (GST_START_TEST),
5521         (simple_launch_lines_suite), (main):
5522         Small state change torture test.
5523
5524         * docs/design/part-states.txt:
5525         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5526         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
5527         (gst_base_sink_change_state):
5528         Never take state lock from streaming thread, clean up ugly
5529         hacks. Unfortunatly core does not yet support nice ways to
5530         async commit state.
5531         
5532         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
5533         (bin_bus_handler):
5534         Start state recalc if a STATE_DIRTY message is posted, but only
5535         on the toplevel bin.
5536
5537         * gst/gstelement.c: (gst_element_sync_state_with_parent),
5538         (gst_element_get_state_func), (gst_element_abort_state),
5539         (gst_element_commit_state), (gst_element_lost_state),
5540         (gst_element_set_state_func), (gst_element_change_state):
5541         * gst/gstelement.h:
5542         State variables are now protected with the LOCK, the state
5543         lock is only used to serialize _set_state().
5544
5545 2005-10-18  Wim Taymans  <wim@fluendo.com>
5546
5547         * check/gst/gstbin.c: (GST_START_TEST):
5548         * check/gst/gstmessage.c: (GST_START_TEST):
5549         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5550         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
5551         (bin_bus_handler):
5552         * gst/gstelement.c: (gst_element_abort_state),
5553         (gst_element_commit_state), (gst_element_lost_state):
5554         * gst/gstmessage.c: (gst_message_new_state_changed),
5555         (gst_message_new_state_dirty), (gst_message_new_segment_start),
5556         (gst_message_new_segment_done), (gst_message_new_duration),
5557         (gst_message_parse_state_changed),
5558         (gst_message_parse_segment_start),
5559         (gst_message_parse_segment_done), (gst_message_parse_duration):
5560         * gst/gstmessage.h:
5561         * tools/gst-launch.c: (event_loop):
5562         Seriously, this is better than a previous commit as we only need
5563         to notify the fact that an element changed state in a streaming
5564         thread, marking the state of the parents dirty, hence the 
5565         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
5566         message.
5567
5568 2005-10-18  Wim Taymans  <wim@fluendo.com>
5569
5570         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5571         (gst_bin_recalc_func):
5572         * gst/gstelement.c: (gst_element_set_clock),
5573         (gst_element_abort_state), (gst_element_lost_state):
5574         Cleanups, prepare for state change fixes.
5575
5576 2005-10-18  Wim Taymans  <wim@fluendo.com>
5577
5578         * gst/gstbin.h:
5579         * gst/gstelement.c: (gst_element_class_init),
5580         (gst_element_set_state), (gst_element_set_state_func):
5581         * gst/gstelement.h:
5582         Pending ABI changes.
5583         GThreadPool in GstBinClass to monitor async state changes.
5584         state_cookie in GstElement to detect concurrent gst/set state.
5585         set_state is now virtual too in case a very complicated element
5586         has to be constructed.
5587
5588 2005-10-18  Wim Taymans  <wim@fluendo.com>
5589
5590         * check/gst/gstbin.c: (GST_START_TEST):
5591         * check/gst/gstmessage.c: (GST_START_TEST):
5592         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5593         * gst/gstbin.c: (bin_bus_handler):
5594         * gst/gstelement.c: (gst_element_commit_state),
5595         (gst_element_lost_state):
5596         * gst/gstmessage.c: (gst_message_new_state_changed),
5597         (gst_message_new_segment_start), (gst_message_new_segment_done),
5598         (gst_message_new_duration), (gst_message_parse_state_changed),
5599         (gst_message_parse_segment_start),
5600         (gst_message_parse_segment_done), (gst_message_parse_duration):
5601         * gst/gstmessage.h:
5602         * tools/gst-launch.c: (event_loop):
5603         Make messages future proof.
5604         state-change gets a flag if it was a message comming from the
5605         streaming thread.
5606         segment-start/stop can also be specified in other formats.
5607         A message to notify an app that a pipeline changed playback 
5608         duration.
5609         Also fix a GstMessage leak in -launch
5610
5611 2005-10-18  Andy Wingo  <wingo@pobox.com>
5612
5613         * gst/gstelement.c (gst_element_dispose): More helpful message.
5614
5615 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5616
5617         reviewed by: <delete if not using a buddy>
5618
5619         * common/gtk-doc.mak:
5620
5621 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5622
5623         * gst/gstregistry.c: (gst_registry_scan_path_level):
5624           unref a plug-in we get that was already initialized
5625
5626 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
5627
5628         * docs/gst/gstreamer-sections.txt:
5629         * docs/libs/gstreamer-libs-sections.txt:
5630         * gst/gstelement.h:
5631           add new api entries
5632           hide internal macro
5633
5634 2005-10-17  Andy Wingo  <wingo@pobox.com>
5635
5636         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
5637         cleanup.
5638
5639         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
5640
5641         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
5642
5643         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
5644         (gst_element_get_state_func): Better debug message.
5645         (gst_element_commit_state): s/INFO/DEBUG/.
5646         (gst_element_lost_state, gst_element_change_state): 
5647
5648         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
5649         (gst_message_new_custom): s/INFO/LOG/.
5650
5651 2005-10-17  Michael Smith <msmith@fluendo.com>
5652
5653         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5654           Check if end time is valid using end time, not start time.
5655
5656 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
5657
5658         * check/gst-libs/controller.c: (GST_START_TEST),
5659         (gst_controller_suite):
5660         * libs/gst/controller/gstcontroller.c:
5661         (gst_controlled_property_set_interpolation_mode):
5662         * libs/gst/controller/gstcontroller.h:
5663         * libs/gst/controller/gstinterpolation.c:
5664         * testsuite/controller/.cvsignore:
5665         * testsuite/controller/Makefile.am:
5666         * testsuite/controller/interpolator.c:
5667           merge controller testsuites
5668           fix broken tests
5669           remove mem-chunk from docs
5670
5671 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5672
5673         * gst/gstmemchunk.c:
5674         * gst/gstmemchunk.h:
5675         * gst/gsttrashstack.c:
5676         * gst/gsttrashstack.h:
5677           out.  get out.  you're fired.  to the Attic !
5678
5679 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5680
5681         * gst/gstcaps.c: (gst_caps_intersect):
5682           fix signedness issues in a (hopefully) correct way
5683         * gst/gstelement.c: (gst_element_pads_activate):
5684           some debugging
5685         * gst/gstobject.c: (gst_object_set_parent):
5686           some debugging
5687
5688 2005-10-17  Julien MOUTTE  <julien@moutte.net>
5689
5690         * gst/gstvalue.h: Fix prototypes.
5691
5692 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5693
5694         * docs/gst/gstreamer-sections.txt:
5695         * gst/gst.c: (gst_version_string):
5696         * gst/gst.h:
5697         * gst/gstversion.h.in:
5698         * win32/common/libgstreamer.def:
5699           add gst_version_string ()
5700
5701 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5702
5703         * configure.ac:
5704           clean up further
5705         * gst/gst.c: (init_post):
5706         * win32/common/config.h.in:
5707           it's PLUGINDIR now
5708         * gst/gstcaps.c: (gst_caps_intersect):
5709           use gint64, the range could be bigger than a guint
5710
5711 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5712
5713         * gst/gstclock.h:
5714           document potential problem in 2038
5715
5716 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5717
5718         * gst/gstcaps.c: (gst_caps_intersect):
5719           Fix guint j diving under 0
5720
5721 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5722
5723         * configure.ac:
5724         * win32/common/config.h:
5725         * win32/common/config.h.in:
5726           check for process.h, declares getpid() on Windows
5727         * gst/gstinfo.c:
5728           include process.h if we have it
5729         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5730         * gst/gstmemchunk.h:
5731           fix signedness issues
5732         * win32/common/libgstreamer.def:
5733           fix get_type's
5734
5735 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5736
5737         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5738         fix. Because of unsigned ints, caps intersection was going nuts and
5739         trying to access structures with G_MAXUINT index. That fixes
5740         videotestsrc ! ffmpegcolorspace ! fakesink
5741         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5742         consistency.
5743
5744 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5745
5746         * configure.ac:
5747           use the gettext macro
5748         * gst/elements/gstelements.c:
5749         * gst/gst.c:
5750         * gst/indexers/gstindexers.c:
5751           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5752         * win32/common/config.h:
5753           updated config.h
5754         * win32/common/config.h.in:
5755           add the template to generate config.h
5756         * win32/common/gstenumtypes.c:
5757         * win32/common/gstversion.h:
5758           updated copies
5759
5760 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5761
5762         * gst/gst.c: (gst_version):
5763         * gst/gstversion.h.in:
5764           add the nano
5765
5766 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5767
5768         * gst/gstevent.h:
5769           Oops, add missing closing bracket.
5770
5771 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5772
5773         * configure.ac:
5774           use common m4's for argument checking
5775
5776 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5777
5778         * docs/gst/gstreamer-sections.txt:
5779         * gst/gstevent.h:
5780           Add GST_EVENT_TYPE_NAME() macro.
5781
5782 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5783
5784         * gst/gstinfo.c:
5785         * gst/gstpluginfeature.c:
5786         * gst/gsttask.c:
5787           privatize more symbols
5788
5789 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5790
5791         * configure.ac:
5792           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5793           everything that uses GStreamer API should have the includes
5794
5795 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5796
5797         * docs/gst/gstreamer-sections.txt:
5798         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5799         * gst/gstvalue.h:
5800           give each value a _get_type, removes the DATA exports
5801
5802 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5803
5804         * gst/gst.c:
5805         * gst/gst.h:
5806           remove _gst_registry_auto_load, not used anymore
5807         * gst/gstbin.c: (gst_bin_get_type):
5808         * gst/gstbin.h:
5809         * gst/gstelement.c: (gst_element_get_type):
5810         * gst/gstelement.h:
5811         * gst/gstobject.c: (gst_object_get_type):
5812         * gst/gstobject.h:
5813         * gst/gstpad.c: (gst_pad_get_type):
5814         * gst/gstpad.h:
5815           make _get_type functions similar, fixes data export from library
5816
5817 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5818
5819         * configure.ac:
5820           correctly make conditionals
5821         * gst/elements/Makefile.am:
5822         * gst/elements/gstelements.c:
5823           fix typo causing fdsrc not to build
5824
5825 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5826
5827         * testsuite/Makefile.am:
5828         * testsuite/bytestream/.cvsignore:
5829         * testsuite/bytestream/Makefile.am:
5830         * testsuite/bytestream/filepadsink.c:
5831         * testsuite/bytestream/gstbstest.c:
5832         * testsuite/bytestream/test1.c:
5833         * testsuite/bytestream/testfile1:
5834         * testsuite/caps/normalisation.c:
5835         * testsuite/caps/random.c: (main):
5836         * testsuite/cleanup/.cvsignore:
5837         * testsuite/cleanup/Makefile.am:
5838         * testsuite/cleanup/cleanup1.c:
5839         * testsuite/cleanup/cleanup2.c:
5840         * testsuite/cleanup/cleanup3.c:
5841         * testsuite/cleanup/cleanup4.c:
5842         * testsuite/cleanup/cleanup5.c:
5843         * testsuite/controller/interpolator.c:
5844         * testsuite/debug/printf_extension.c: (main):
5845         * testsuite/elements/tee.c:
5846         * testsuite/negotiation/.cvsignore:
5847         * testsuite/negotiation/Makefile.am:
5848         * testsuite/negotiation/pad_link.c:
5849         * testsuite/pad/Makefile.am:
5850         * testsuite/pad/chainnopull.c:
5851         * testsuite/pad/getnopush.c:
5852         * testsuite/pad/link.c:
5853         * testsuite/refcounting/sched.c: (create_pipeline):
5854         * testsuite/registry/Makefile.am:
5855         * testsuite/registry/gst-print-formats.c:
5856         * testsuite/schedulers/.cvsignore:
5857         * testsuite/schedulers/142183-2.c:
5858         * testsuite/schedulers/142183.c:
5859         * testsuite/schedulers/143777-2.c:
5860         * testsuite/schedulers/143777.c:
5861         * testsuite/schedulers/147713.c:
5862         * testsuite/schedulers/147819.c:
5863         * testsuite/schedulers/147894-2.c:
5864         * testsuite/schedulers/147894.c:
5865         * testsuite/schedulers/Makefile.am:
5866         * testsuite/schedulers/group_link.c:
5867         * testsuite/schedulers/queue_link.c:
5868         * testsuite/schedulers/relink.c:
5869         * testsuite/schedulers/unlink.c:
5870         * testsuite/schedulers/unref.c:
5871         * testsuite/schedulers/useless_iteration.c:
5872         * testsuite/states/bin.c:
5873           clean out/remove some stuff from the testsuite directories
5874
5875 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5876
5877         * configure.ac:
5878           check for some headers
5879         * gst/elements/Makefile.am:
5880         * gst/elements/gstelements.c:
5881           don't compile fdsrc without sys/socket.h
5882         * gst/indexers/Makefile.am:
5883         * gst/indexers/gstindexers.c: (plugin_init):
5884           don't compile fileindex without mmap
5885
5886 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5887
5888         * configure.ac:
5889           reorganize
5890           clean up
5891           document more
5892           remove cruft
5893         * check/Makefile.am:
5894         * docs/gst/Makefile.am:
5895         * examples/helloworld/Makefile.am:
5896         * gst/Makefile.am:
5897         * gst/base/Makefile.am:
5898         * gst/check/Makefile.am:
5899         * gst/elements/Makefile.am:
5900         * gst/indexers/Makefile.am:
5901         * gst/parse/Makefile.am:
5902         * libs/gst/controller/Makefile.am:
5903         * libs/gst/dataprotocol/Makefile.am:
5904         * examples/helloworld/helloworld.c: (event_loop):
5905           compile fixes, though it's not being compiled currently
5906
5907 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5908
5909         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5910           Add some simple tests for the new taglist date API.
5911
5912 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5913
5914         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5915         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5916           Beautify 'last-message' output: print 'none' for buffer timestamps
5917           and durations if none is set; improve alignment with next messages.
5918
5919 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5920
5921         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5922         * gst/gstpluginfeature.h:
5923         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5924         * gst/gstregistry.h:
5925         * docs/gst/gstreamer-sections.txt:
5926           Add new API to check plugin feature version requirements.
5927
5928         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5929           Some basic tests for the above.         
5930
5931 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5932
5933         * gst/gststructure.c: (gst_structure_to_string):
5934           guard against NULL printf - happens when for example
5935           a message structure with GstClock gets serialized
5936
5937 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5938
5939         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5940           Fix presumable copy'n'pasto.
5941
5942 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5943
5944         * gst/elements/gstfakesrc.h:
5945         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5946         * gst/elements/gsttypefindelement.c:
5947           fix some signedness
5948         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5949           I wonder if this could actually write +2GB files before
5950
5951 2005-10-13  Andy Wingo  <wingo@pobox.com>
5952
5953         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5954         Fix Timmeke Waymans bug.
5955         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5956         string of the proper length to gst_caps_from_string. There's a
5957         potential for, before this fix, that this could cause someone
5958         connecting over the network to cause a segfault if the payload is
5959         not NUL-terminated.
5960
5961 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5962
5963         * docs/design/draft-push-pull.txt:
5964         * docs/design/part-overview.txt:
5965         * docs/random/TODO-pre-0.9:
5966         * docs/random/old/ChangeLog.gstreamer:
5967         * gst/base/gstpushsrc.c:
5968         * gst/gstclock.c:
5969           fixed typos
5970
5971 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5972
5973         * gst/glib-compat.c: (gst_flags_get_first_value):
5974         * gst/glib-compat.h:
5975         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5976         (gst_value_compare_double), (gst_value_serialize_flags):
5977           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5978           infinite loop
5979
5980 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5981
5982         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5983         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5984           fix up debugging
5985         * tools/gst-launch.c: (event_loop):
5986           print out clock nicely
5987
5988 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5989
5990         * docs/gst/gstreamer-sections.txt:
5991         * gst/gsttaglist.h:
5992         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5993         (gst_tag_list_get_date_index):
5994           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5995           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5996
5997 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5998
5999         * gst/base/gstcollectpads.c: (gst_collectpads_event),
6000         (gst_collectpads_chain):
6001         * gst/base/gstcollectpads.h: Handle newsegment and store informations
6002         in CollectData.
6003
6004 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
6005
6006         * docs/gst/gstreamer-sections.txt:
6007         * gst/gst.c:
6008         * gst/gsterror.h:
6009         * tools/gst-inspect.c: (main):
6010         * tools/gst-launch.c: (main):
6011         * tools/gst-run.c: (main):
6012         * tools/gst-xmlinspect.c: (main):
6013           fix GOption context leaks
6014           doc fixes
6015
6016 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6017
6018         * gst/gstbus.c:
6019           use HAVE_UNISTD_H
6020         * win32/common/config.h:
6021           update config
6022         * win32/vs6/grammar.dsp:
6023         * win32/vs6/libgstelements.dsp:
6024         * win32/vs6/libgstreamer.dsp:
6025           update vs6 files
6026
6027 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6028
6029         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6030         * gst/base/gstbasesrc.c: (gst_base_src_query):
6031           fix more guint64<->gdouble conversions
6032
6033 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6034
6035         * Makefile.am:
6036           add win32-update target
6037         * win32/common/gstconfig.h:
6038         * win32/common/gstenumtypes.c:
6039         * win32/common/gstenumtypes.h:
6040         * win32/common/gstversion.h:
6041           add files that visual studio can't generate
6042
6043 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6044
6045         * Makefile.am:
6046           add a win32-update target
6047         * configure.ac:
6048
6049 2005-10-12  Wim Taymans  <wim@fluendo.com>
6050
6051         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6052         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
6053         * gst/gstelement.c: (gst_element_commit_state),
6054         (gst_element_set_state):
6055         Protect flags with proper lock.
6056         unref provided cached clock in dispose.
6057
6058 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
6059
6060         * gst/gst.c:
6061         * gst/gstminiobject.h:
6062         * gst/gstpad.h:
6063         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
6064           removed unused flags from miniobject
6065           doc fixes
6066
6067 2005-10-12  Wim Taymans  <wim@fluendo.com>
6068
6069         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6070         (gst_file_sink_event), (gst_file_sink_render):
6071         Flush before seeking.
6072
6073 2005-10-12  Andy Wingo  <wingo@pobox.com>
6074
6075         * gst/gst.c (gst_init_check): Ignore unknown options, as has
6076         always been the case.
6077
6078 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
6079
6080         * check/gst/gstbin.c: (GST_START_TEST):
6081         * docs/gst/gstreamer-sections.txt:
6082         * gst/base/gstbasesink.c: (gst_base_sink_init):
6083         * gst/base/gstbasesrc.c: (gst_base_src_init),
6084         (gst_base_src_get_range), (gst_base_src_check_get_range),
6085         (gst_base_src_start), (gst_base_src_stop):
6086         * gst/base/gstbasesrc.h:
6087         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
6088         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6089         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
6090         (bin_bus_handler):
6091         * gst/gstbin.h:
6092         * gst/gstbuffer.h:
6093         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
6094         * gst/gstbus.h:
6095         * gst/gstelement.c: (gst_element_is_locked_state),
6096         (gst_element_set_locked_state), (gst_element_commit_state),
6097         (gst_element_set_state):
6098         * gst/gstelement.h:
6099         * gst/gstindex.c: (gst_index_init):
6100         * gst/gstindex.h:
6101         * gst/gstminiobject.h:
6102         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
6103         (gst_object_set_parent):
6104         * gst/gstobject.h:
6105         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
6106         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
6107         * gst/gstpad.h:
6108         * gst/gstpadtemplate.h:
6109         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
6110         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
6111         * gst/gstpipeline.h:
6112         * gst/indexers/gstfileindex.c: (gst_file_index_load),
6113         (gst_file_index_commit):
6114         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6115         * testsuite/pad/link.c: (gst_test_src_init),
6116         (gst_test_filter_init), (gst_test_sink_init):
6117         * testsuite/states/locked.c: (main):
6118           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
6119           moved bitshift from macro to enum definition
6120
6121 2005-10-12  Wim Taymans  <wim@fluendo.com>
6122
6123         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
6124         * gst/elements/gstfilesink.c: (gst_file_sink_event),
6125         (gst_file_sink_render):
6126         Some more debugging info.
6127
6128 2005-10-12  Wim Taymans  <wim@fluendo.com>
6129
6130         * docs/design/part-states.txt:
6131         * tools/gst-launch.c: (main):
6132         Some doc updates.
6133         Revert non-intentional change.
6134
6135 2005-10-12  Wim Taymans  <wim@fluendo.com>
6136
6137         * check/gst/gstbin.c: (GST_START_TEST):
6138         * check/gst/gstelement.c: (GST_START_TEST):
6139         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
6140         * check/gst/gstghostpad.c: (GST_START_TEST):
6141         * check/gst/gstpipeline.c: (GST_START_TEST):
6142         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6143         * check/states/sinks.c: (GST_START_TEST):
6144         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6145         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6146         (gst_bin_remove_func), (gst_bin_get_state_func),
6147         (gst_bin_recalc_state), (gst_bin_change_state_func),
6148         (bin_bus_handler):
6149         * gst/gstelement.c: (gst_element_get_state_func),
6150         (gst_element_get_state), (gst_element_abort_state),
6151         (gst_element_commit_state), (gst_element_set_state),
6152         (gst_element_change_state), (gst_element_change_state_func):
6153         * gst/gstelement.h:
6154         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
6155         (gst_pipeline_provide_clock_func):
6156         * gst/gstutils.c: (gst_element_link_pads_filtered):
6157         * tools/gst-launch.c: (main):
6158         * tools/gst-typefind.c: (main):
6159         Use GstClockTime in _get_state() instead of GTimeVal.
6160         Remove old code in gstutils.c
6161
6162 2005-10-12  Andy Wingo  <wingo@pobox.com>
6163
6164         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
6165         removed.
6166
6167         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
6168         there is no task. Shouldn't affect any code, as nothing in our
6169         plugins checks this return value.
6170         (gst_pad_stop_task): Also take the stream lock if the pad has no
6171         task. Docs updated.
6172
6173 2005-10-12  Wim Taymans  <wim@fluendo.com>
6174
6175         * gst/gstpad.c: (pre_activate), (post_activate),
6176         (gst_pad_activate_pull), (gst_pad_activate_push):
6177         Cleanup activation code. Reset old state if
6178         activation failed.
6179
6180 2005-10-12  Wim Taymans  <wim@fluendo.com>
6181
6182         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6183         (gst_base_sink_change_state):
6184         No need to prerol after receiving EOS.
6185
6186         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6187         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
6188         * gst/elements/gstidentity.c: (gst_identity_event):
6189         Print events more verbosely.
6190
6191 2005-10-12  Wim Taymans  <wim@fluendo.com>
6192
6193         * check/Makefile.am:
6194         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6195         * check/states/sinks2.c:
6196         Moved sinks2 testcode in sinks check.
6197
6198         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6199         (gst_bin_remove_func), (gst_bin_recalc_state),
6200         (gst_bin_change_state_func), (bin_bus_handler):
6201         Fix potential race condition when _get_state() iterated over an
6202         ASYNC element right before it posted a state completion.
6203
6204         * gst/gstclock.h:
6205         Do proper cast here.
6206
6207         * gst/gstevent.c: (gst_event_new_newsegment),
6208         (gst_event_parse_newsegment):
6209         A playback rate of 0.0 is not allowed.
6210
6211 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6212
6213         * win32/common/config.h:
6214         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
6215         (_trewinddir), (_ttelldir), (_tseekdir):
6216         * win32/common/dirent.h:
6217         * win32/common/gtchar.h:
6218         * win32/common/libgstbase.def:
6219         * win32/common/libgstreamer.def:
6220         * win32/vs6/grammar.dsp:
6221         * win32/vs6/gst_inspect.dsp:
6222         * win32/vs6/gst_launch.dsp:
6223         * win32/vs6/gstreamer.dsw:
6224         * win32/vs6/libgstbase.dsp:
6225         * win32/vs6/libgstelements.dsp:
6226         * win32/vs6/libgstreamer.dsp:
6227           Visual Studio 6 project files, and a new common directory.
6228           Phear.
6229
6230 2005-10-11  Wim Taymans  <wim@fluendo.com>
6231
6232         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6233         (gst_base_sink_do_sync), (gst_base_sink_query),
6234         (gst_base_sink_change_state):
6235         * gst/base/gstbasesink.h:
6236         Correctly parse newsegment info.
6237
6238 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6239
6240         * gst/gst.c: (init_post):
6241           split plugin paths correctly
6242
6243 2005-10-11  Wim Taymans  <wim@fluendo.com>
6244
6245         * check/gst/gstevent.c: (GST_START_TEST):
6246         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6247         (gst_base_sink_change_state):
6248         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
6249         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6250         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6251         * gst/gstevent.c: (gst_event_new_newsegment),
6252         (gst_event_parse_newsegment):
6253         * gst/gstevent.h:
6254         Added extra flag to newsegment for future API freeze.
6255         Updated check and base elements.
6256
6257 2005-10-11  Julien MOUTTE  <julien@moutte.net>
6258
6259         * gst/base/gstcollectpads.c: (gst_collectpads_init),
6260         (gst_collectpads_add_pad), (gst_collectpads_pop),
6261         (gst_collectpads_event), (gst_collectpads_chain):
6262         * gst/base/gstcollectpads.h: Handle EOS correctly.
6263
6264 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6265
6266         * tools/gst-launch.c: (main):
6267           more null protecting
6268
6269 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6270
6271         * gst/gst-i18n-lib.h:
6272           check for ENABLE_NLS, not GETTEXT_PACKAGE
6273         * gst/gstregistry.c: (gst_registry_add_plugin),
6274         (gst_registry_scan_path_level),
6275         (_gst_registry_remove_cache_plugins):
6276           protect possibly NULL strings
6277         * gst/parse/types.h:
6278           config.h already included before
6279         * tools/gst-inspect.c: (main):
6280           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
6281           check for ENABLE_NLS, not GETTEXT_PACKAGE
6282         * tools/gst-launch.c: (main):
6283           check for ENABLE_NLS, not GETTEXT_PACKAGE
6284
6285 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6286
6287         * configure.ac:
6288           if we don't have glib, fail before testing 2.8
6289         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
6290           fix a leak, should fix plugins-base testsuite
6291
6292 2005-10-11  Andy Wingo  <wingo@pobox.com>
6293
6294         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
6295         take the mode we're going to as an arg. Go head and set the mode
6296         and flushing flags now, so that if the activate function starts a
6297         thread all the flags will be in the right state.
6298         (post_activate): Renamed also. Just handle making sure streaming
6299         finishes for the deactivation case, and setting the deactivated
6300         mode.
6301         (gst_pad_set_active): Complain loudly if deactivation fails.
6302         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
6303         (gst_pad_activate_push): Adapt to pre/post_activate changes,
6304         remove the terrible hack.
6305
6306 2005-10-11  Wim Taymans  <wim@fluendo.com>
6307
6308         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6309         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
6310         (gst_bin_recalc_state), (gst_bin_change_state_func),
6311         (gst_bin_dispose), (bin_bus_handler):
6312         * gst/gstbin.h:
6313         Prepare to make current EOS message queue more generic.
6314         Fix some typos.
6315
6316         * gst/gstevent.c: (gst_event_new_newsegment),
6317         (gst_event_parse_newsegment):
6318         * gst/gstevent.h:
6319         Rename base to stream_time.
6320
6321         * gst/gstmessage.h:
6322         Fix typo in docs.
6323
6324 2005-10-11  Wim Taymans  <wim@fluendo.com>
6325
6326         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6327         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
6328         (gst_bin_change_state_func), (bin_bus_handler):
6329         * gst/gstbin.h:
6330         Work on proper clock selection.
6331
6332 2005-10-11  Edward Hervey  <edward@fluendo.com>
6333
6334         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
6335         * libs/gst/controller/gstcontroller.h:
6336         Added GList* version of _remove_properties() in order to be able to wrap
6337         it in bindings.
6338
6339 2005-10-11  Wim Taymans  <wim@fluendo.com>
6340
6341         * docs/design/part-states.txt:
6342         Some more docs.
6343
6344         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
6345         (gst_bin_change_state_func), (bin_bus_handler):
6346         Doc updates. Don't distribute the same clock over and over again.
6347
6348         * gst/gstclock.c:
6349         * gst/gstclock.h:
6350         Doc updates.
6351
6352         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
6353         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
6354         (gst_pad_send_event):
6355         * gst/gstpad.h:
6356         Make probe emission threadsafe again.
6357         Register quarks and move _get_name() from utils.
6358         Doc updates.
6359
6360         * gst/gstpipeline.c: (gst_pipeline_class_init),
6361         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6362         Only redistribute the clock of it changed.
6363
6364         * gst/gstsystemclock.h:
6365         Doc updates. 
6366
6367         * gst/gstutils.c:
6368         * gst/gstutils.h:
6369         Moved the _flow_get_name() to GstPad.
6370
6371 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6372
6373         * check/gst-libs/gdp.c: (GST_START_TEST):
6374         * check/gst/gstcaps.c: (GST_START_TEST):
6375         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6376         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
6377         (gst_dp_packet_from_caps):
6378           fix more valgrind warnings before turning up the heat
6379
6380 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6381
6382         * gst/parse/grammar.y:
6383           some cleanup before the hacking
6384
6385 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6386
6387         * gst/base/gstbasesrc.c: (gst_base_src_query):
6388           use conversions
6389         * gst/gstutils.c: (gst_guint64_to_gdouble),
6390         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
6391         * gst/gstutils.h:
6392           externalize, basesrc uses it
6393           obviously the implementation needs testing
6394
6395 2005-10-10  Wim Taymans  <wim@fluendo.com>
6396
6397         * tests/sched/Makefile.am:
6398         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
6399         (make_pipeline3), (make_pipeline4), (print_elem), (main):
6400
6401 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6402
6403         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
6404           apparently converting from guint64 to double is not implemented
6405           on MSVC
6406
6407 2005-10-10  Wim Taymans  <wim@fluendo.com>
6408
6409         * check/Makefile.am:
6410         * check/generic/states.c: (GST_START_TEST):
6411         * check/gst/gstbin.c: (GST_START_TEST):
6412         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6413         * check/states/sinks.c: (GST_START_TEST):
6414         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
6415         (main):
6416         Check fixes, use API as stated in design docs, remove hacks.
6417
6418         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6419         (gst_base_sink_change_state):
6420         Catch stopping our task while we're shutting down.
6421
6422         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6423         (gst_bin_remove_func), (gst_bin_get_state_func),
6424         (gst_bin_recalc_state), (gst_bin_change_state_func),
6425         (bin_bus_handler):
6426         * gst/gstbin.h:
6427         * gst/gstelement.c: (gst_element_init),
6428         (gst_element_get_state_func), (gst_element_abort_state),
6429         (gst_element_commit_state), (gst_element_lost_state),
6430         (gst_element_set_state), (gst_element_change_state),
6431         (gst_element_change_state_func):
6432         * gst/gstelement.h:
6433         New state change algorithm (see #318116)
6434
6435         * gst/gstpipeline.c: (gst_pipeline_class_init),
6436         (gst_pipeline_init), (gst_pipeline_set_property),
6437         (gst_pipeline_get_property), (do_pipeline_seek),
6438         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6439         * gst/gstpipeline.h:
6440         Remove crude state change hacks.
6441
6442         * gst/gstutils.h:
6443         Remove crude hacks.
6444
6445         * tools/gst-launch.c: (main):
6446         Fixes for state change. Needs some more work to fully use the
6447         new stuff.
6448
6449 2005-10-10  Andy Wingo  <wingo@pobox.com>
6450
6451         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
6452
6453         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
6454         this flag, but it's not even in GLib 2.6. Odd. Hack around the
6455         issue.
6456
6457 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6458
6459         * gst/gstiterator.c: (gst_iterator_new):
6460           Fix my previous commit: GTypes passed to gst_iterator_new()
6461           can be fundamental types.
6462
6463 2005-10-10  Wim Taymans  <wim@fluendo.com>
6464
6465         * gst/gstelement.c: (gst_element_iterate_pad_list),
6466         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
6467         (gst_element_iterate_sink_pads):
6468         Use src/sink pads lists for the respective iterators instead
6469         of filtering.
6470
6471 2005-10-10  Andy Wingo  <wingo@pobox.com>
6472
6473         Merged in popt removal + GOption addition patch from Ronald, bug
6474         #169772.
6475
6476         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
6477         GstElement macros around, remove popt-related symbols, add goption
6478         stuff.
6479
6480         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
6481         
6482         * docs/gst/Makefile.am:
6483         * docs/libs/Makefile.am: No POPT_CFLAGS.
6484         
6485         * examples/manual/Makefile.am:
6486         * docs/manual/basics-init.xml: Doc updates with an example.
6487         
6488         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6489         (gst_init), (parse_one_option), (parse_goption_arg):
6490         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
6491         bit of hand merging and debugging to get the GOption stuff working
6492         tho.
6493         
6494         * tests/Makefile.am:
6495         * tools/Makefile.am:
6496         * tools/gst-inspect.c: (main):
6497         * tools/gst-launch.c: (main):
6498         * tools/gst-run.c: (main):
6499         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
6500
6501 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6502
6503         * gst/gstiterator.c: (gst_iterator_new):
6504           Add assertions to make sure passed GType is likely to really
6505           be a GType (as the compiler won't catch it if the size and
6506           GType arguments get mixed up, see #318447).
6507
6508 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
6509
6510         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6511
6512         * gst/gstbin.c: (gst_bin_iterate_sorted):
6513           Pass GType and size arguments to gst_iterator_new() in the right
6514           order (maybe we should make _new() take the GType as first argument
6515           just like _new_list()?) (#318447).
6516           
6517
6518 2005-10-10  Wim Taymans  <wim@fluendo.com>
6519
6520         * gst/gstelement.c: (gst_element_finalize):
6521         And free the GStaticRecMutex too
6522
6523 2005-10-10  Andy Wingo  <wingo@pobox.com>
6524
6525         * gst/gstelement.c (gst_element_init, gst_element_finalize):
6526         Allocate and free the mutex properly.
6527
6528         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
6529         New macros.
6530         (GstElement): The state_lock is now recursive. Rebuild your
6531         plugins, suckers. Old macros adapted.
6532
6533         * docs/gst/gstreamer-sections.txt: Doc updates.
6534
6535         * gst/gstutils.h:
6536         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
6537         (g_static_rec_cond_wait): Ported from state changes patch, while
6538         we wait on bug #317802 to be solved in a well-distributed GLib.
6539
6540         * gst/gstelement.c (gst_element_change_state_func): Renamed from
6541         gst_element_change_state, variable name changes.
6542         (gst_element_change_state): Split out of gst_element_set_state in
6543         preparation for the state change merge. Doesn't pay attention to
6544         the 'transition' argument.
6545         (gst_element_set_state): Updates, hopefully purely cosmetic.
6546         (gst_element_sync_state_with_parent): MT-safety. Ported from the
6547         state change patch.
6548         (gst_element_get_state_func): Renamed from get_state, cosmetic
6549         changes.
6550
6551 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6552
6553         * gst/elements/gstelements.c:
6554         * win32/GStreamer.vcproj:
6555         * win32/config.h:
6556         * win32/dirent.c: (_tseekdir):
6557         * win32/gst-inspect.vcproj:
6558         * win32/gst-launch.vcproj:
6559         * win32/gstconfig.h:
6560         * win32/gstelements.vcproj:
6561         * win32/gstenumtypes.c: (gst_object_flags_get_type):
6562         * win32/gstreamer.def:
6563         * win32/msvc71.sln:
6564           updates for the win32 build (patch from Sebastien Moutte)
6565
6566 2005-10-10  Andy Wingo  <wingo@pobox.com>
6567
6568         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
6569         gst_bin_get_state, cleaned up (but no logic changes).
6570         (bin_element_is_sink): Comment updates.
6571         (sink_iterator_filter): Remove needless cast.
6572         (gst_bin_iterate_sinks): Doc update.
6573         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
6574         cleaned up (but no logic changes).
6575
6576         * check/states/sinks.c (test_src_sink): Cleanups from the state
6577         change patch.
6578         (test_livesrc_sink): Sync on the state.
6579
6580         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
6581         the state change patch.
6582
6583         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
6584         change patch.
6585
6586         * check/gst/gstbin.c: Merge in some style fixes and additional
6587         checks from Wim's state change patch.
6588
6589 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6590
6591         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6592         (gst_type_find_helper):
6593           Check whether we have the requested data already in our list of
6594           cached buffers before pulling a new buffer; also make the buffer
6595           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
6596
6597 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6598
6599         * gst/gstcaps.c:
6600         * gst/gstevent.c:
6601           doc updates
6602         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6603           don't use long long, it's not portable.  Replacing with
6604           gint64 seems to work; let's hope no skeletons fall out of the closet.
6605
6606 2005-10-10  Andy Wingo  <wingo@pobox.com>
6607
6608         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
6609
6610 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
6611
6612         * docs/gst/gstreamer-sections.txt:
6613         * gst/gstevent.c:
6614         * gst/gstevent.h:
6615         * gst/gstinfo.c:
6616         * gst/gstinfo.h:
6617         * gst/gstmessage.c: (gst_message_parse_state_changed):
6618         * gst/gstpad.c:
6619         * gst/gstpad.h:
6620           more docs, fix compilation
6621
6622 2005-10-09  Philippe Khalaf <burger@speedy.org>
6623         * gst/gstmessage.c:
6624           Fixed a few forgotten variables on previous commit
6625
6626 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6627
6628         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6629           Fix evil typefind crasher: getrange() might return a short
6630           buffer at the end of a file, but gst_type_find_peek() must
6631           either return the full data as requested or NULL, but
6632           never a short buffer.
6633
6634 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6635
6636         * gst/gstmessage.c: (gst_message_new_state_changed),
6637         (gst_message_parse_state_changed):
6638         * gst/gstmessage.h:
6639           don't use "new", it's a C++ keyword
6640
6641 2005-10-08  Wim Taymans  <wim@fluendo.com>
6642
6643         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
6644         * gst/gstelement.c: (gst_element_post_message):
6645         * gst/gstpipeline.c: (gst_pipeline_change_state):
6646         Small docs and debug updates.
6647
6648 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6649
6650         * docs/gst/gstreamer-sections.txt:
6651         * gst/gstelementfactory.c:
6652         * gst/gstevent.c:
6653         * gst/gsttaglist.c:
6654           more docs
6655
6656 2005-10-08  Wim Taymans  <wim@fluendo.com>
6657
6658         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
6659         (gst_bin_dispose), (bin_bus_handler):
6660         Fix typos, add comments.
6661         Clear EOS list when going to PAUSED from any direction and do it
6662         in a threadsafe way.
6663         Get base time in a threadsafe way too.
6664         Fix confusing debug in the change_state function.
6665         Various other small cleanups.
6666         
6667         * gst/gstelement.c: (gst_element_post_message):
6668         Fix very verbose bus posting code.
6669
6670         * gst/gstpipeline.c: (gst_pipeline_class_init),
6671         (gst_pipeline_set_property), (gst_pipeline_get_property),
6672         (gst_pipeline_change_state):
6673         Small ARG_ -> PROP_ cleanup
6674
6675 2005-10-08  Wim Taymans  <wim@fluendo.com>
6676
6677         * gst/gstbin.c: (is_eos), (bin_bus_handler):
6678         Do a less CPU demanding EOS check because we can.
6679
6680 2005-10-08  Wim Taymans  <wim@fluendo.com>
6681
6682         * libs/gst/dataprotocol/dataprotocol.c:
6683         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6684         (gst_dp_packet_from_event):
6685         * libs/gst/dataprotocol/dataprotocol.h:
6686         * libs/gst/dataprotocol/dp-private.h:
6687         It's about time we bump the version number.
6688         Since event types don't fit in the guint8 anymore describing
6689         the payload type, make payload type 16 bits wide.
6690
6691 2005-10-08  Wim Taymans  <wim@fluendo.com>
6692
6693         * docs/design/part-TODO.txt:
6694         * docs/design/part-clocks.txt:
6695         * docs/design/part-events.txt:
6696         * docs/design/part-gstbin.txt:
6697         * docs/design/part-gstelement.txt:
6698         * docs/design/part-gstpipeline.txt:
6699         * docs/design/part-live-source.txt:
6700         * docs/design/part-messages.txt:
6701         * docs/design/part-overview.txt:
6702         * docs/design/part-states.txt:
6703         Many doc updates.
6704
6705 2005-10-08  Wim Taymans  <wim@fluendo.com>
6706
6707         * gst/gstevent.c:
6708         * gst/gstevent.h:
6709         Fix event quark registration.
6710         Add some space between events so we can insert them in the
6711         right groups.
6712
6713 2005-10-08  Wim Taymans  <wim@fluendo.com>
6714
6715         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6716         (gst_base_sink_handle_buffer):
6717         Better log message.
6718
6719         * gst/gstbus.h:
6720         * gst/gstelement.h:
6721         More docs.
6722
6723         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6724         (gst_queue_set_property), (gst_queue_get_property):
6725         * gst/gstqueue.h:
6726         Remove old unused properties.
6727
6728 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6729         * docs/gst/gstreamer-sections.txt:
6730         * gst/gstmessage.c:
6731         * gst/gstmessage.h:
6732         * gst/gstminiobject.c:
6733         * gst/gstminiobject.h:
6734         * gst/gstobject.h:
6735         * gst/gstpad.h:
6736         * gst/gstutils.h:
6737           lots of new docs and doc fixes
6738
6739 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6740
6741         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6742         * gst/gstplugin.h:
6743         * gst/gstregistry.c: (gst_registry_lookup_locked),
6744         (gst_registry_scan_path_level):
6745         * gst/gstregistryxml.c: (load_plugin):
6746           Only ever load one plugin for a given plugin basename.
6747           This ensures correct overriding of GST_PLUGIN_PATH over
6748           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6749           system installed plugins.
6750
6751 2005-10-08  Wim Taymans  <wim@fluendo.com>
6752
6753         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6754         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6755         Prepare for doing QOS.
6756
6757 2005-10-08  Wim Taymans  <wim@fluendo.com>
6758
6759         * check/gst/gstbin.c: (GST_START_TEST):
6760         * check/pipelines/cleanup.c: (GST_START_TEST):
6761         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6762         Allow new clock message too.
6763
6764 2005-10-08  Wim Taymans  <wim@fluendo.com>
6765
6766         * gst/gstmessage.c: (gst_message_new_error),
6767         (gst_message_new_warning), (gst_message_new_tag),
6768         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6769         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6770         (gst_message_new_segment_start), (gst_message_new_segment_done),
6771         (gst_message_parse_state_changed),
6772         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6773         (gst_message_parse_new_clock):
6774         * gst/gstmessage.h:
6775         Also carry the clock in question.
6776
6777 2005-10-08  Wim Taymans  <wim@fluendo.com>
6778
6779         * gst/gstmessage.c: (gst_message_new_custom),
6780         (gst_message_new_eos), (gst_message_new_error),
6781         (gst_message_new_warning), (gst_message_new_tag),
6782         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6783         (gst_message_new_new_clock), (gst_message_new_segment_start),
6784         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6785         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6786         * gst/gstmessage.h:
6787         Clean up.
6788         Added clock related messages.
6789
6790         * gst/gstpipeline.c: (gst_pipeline_change_state):
6791         Post message when the clock changed.
6792
6793         * tools/gst-launch.c: (event_loop):
6794         Print new clock.
6795
6796 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6797
6798         * tools/gst-inspect.c: (print_element_properties_info):
6799           Can't pass NULL strings to g_print() on windows.
6800
6801 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6802
6803         * docs/Makefile.am:
6804         * docs/gst/Makefile.am:
6805         * docs/gst/gstreamer-docs.sgml:
6806         * docs/gst/running.xml:
6807         * docs/version.entities.in:
6808           add a chapter on running GStreamer.
6809           document GST_DEBUG and GST_PLUGIN* env vars
6810
6811 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6812
6813         * Makefile.am:
6814           remove include dir
6815         * configure.ac:
6816           remove PLUGINS_BUILDDIR stuff
6817         * gst/gst.c: (init_post):
6818           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6819         * idiottest.mak:
6820           remove, it was condescending and not needed
6821
6822 2005-10-08  Wim Taymans  <wim@fluendo.com>
6823
6824         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6825         (gst_base_sink_handle_object), (gst_base_sink_event),
6826         (gst_base_sink_wait), (gst_base_sink_handle_event),
6827         (gst_base_sink_change_state):
6828         * gst/base/gstbasesink.h:
6829         Repost EOS message while going to PLAYING if still EOS.
6830         Make sure that when receiving a FLUSH_START we don't attempt
6831         to sync on the clock anymore.
6832
6833 2005-10-08  Wim Taymans  <wim@fluendo.com>
6834
6835         * tools/gst-launch.c: (event_loop):
6836         Better message printout.
6837
6838 2005-10-08  Wim Taymans  <wim@fluendo.com>
6839
6840         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6841         (gst_bin_child_proxy_get_children_count):
6842         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6843         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6844         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6845         (gst_child_proxy_set_valist):
6846         * gst/parse/grammar.y:
6847         Make ChildProxy threadsafe and fix mem leaks.
6848
6849 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6850
6851         * gst/gst.c: (init_post):
6852           debug the GST_PLUGIN_ env vars
6853
6854 2005-10-08  Wim Taymans  <wim@fluendo.com>
6855
6856         * check/gst/gstbin.c: (GST_START_TEST):
6857         * check/gst/gstmessage.c: (GST_START_TEST):
6858         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6859         * gst/gstelement.c: (gst_element_commit_state),
6860         (gst_element_lost_state):
6861         * gst/gstmessage.c: (gst_message_new_state_changed),
6862         (gst_message_parse_state_changed):
6863         * gst/gstmessage.h:
6864         * tools/gst-launch.c: (event_loop):
6865         Added extra field to STATE_CHANGE message with the pending
6866         state, which will be different from the new state soon.
6867
6868 2005-10-08  Wim Taymans  <wim@fluendo.com>
6869
6870         * gst/gstbus.c: (gst_bus_pop):
6871         * gst/gstclock.c:
6872         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6873         Small cleanups and doc updates.
6874
6875 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6876
6877         * gst/gst.c: (init_pre):
6878         * gst/gstbin.c: (gst_bin_add_func):
6879           log distributing clocks and base time
6880         * gst/gstregistry.c: (gst_registry_add_plugin),
6881         (gst_registry_scan_path_level), (gst_registry_scan_path):
6882           clean up the debugging output a little
6883         * gst/gstutils.c: (gst_element_state_get_name):
6884           warn about a memleak (I've actually seen this be used, though
6885           it was probably a bug)
6886
6887 2005-10-07  Wim Taymans  <wim@fluendo.com>
6888
6889         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6890         (gst_base_src_init), (gst_base_src_default_newsegment),
6891         (gst_base_src_newsegment), (gst_base_src_do_seek),
6892         (gst_base_src_loop), (gst_base_src_start):
6893         * gst/base/gstbasesrc.h:
6894         Make the newsegment event customizable by subclasses.
6895
6896 2005-10-07  Wim Taymans  <wim@fluendo.com>
6897
6898         * gst/gstevent.c: (gst_event_new_buffersize),
6899         (gst_event_parse_buffersize):
6900         * gst/gstevent.h:
6901         New event for future idea.
6902
6903 2005-10-07  Andy Wingo  <wingo@pobox.com>
6904
6905         * gst/gstelement.c (gst_element_post_message): Doc update.
6906
6907         * docs/gst/gstreamer-sections.txt: Update.
6908
6909         * gst/gstmessage.c (gst_message_new_application): Made into a
6910         function like honest API calls.
6911         (gst_message_new_element): New message type.
6912
6913         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6914
6915         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6916         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6917         times.
6918
6919         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6920         NO_PREROLL from gst_element_change_state to fall through.
6921
6922 2005-10-07  Wim Taymans  <wim@fluendo.com>
6923
6924         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6925         (gst_ghost_pad_do_activate_push):
6926         Activating a ghostpad with no internal pad in push mode
6927         is ok.
6928
6929 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6930
6931         * gst/gstobject.h:
6932           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6933           Fixes compilation on Windows.
6934
6935 2005-10-07  Michael Smith <msmith@fluendo.com>
6936
6937         * tools/gst-inspect.c:
6938           Print out feature and plugin count at the end when printing out
6939           all features.
6940
6941 2005-10-04  Michael Smith <msmith@fluendo.com>
6942
6943         * gst/gsterror.c: (_gst_stream_errors_init):
6944           Add another error string used in a few existing plugins.
6945
6946         * gst/gstplugin.c:
6947         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6948         * tools/gst-inspect.c: (print_element_info):
6949           When a feature disappears from a plugin (and the feature exists in
6950           the cached registry file), things went horribly wrong. This isn't a
6951           complete fix, we should actually be removing the 'missing' features
6952           from the features list when we load the actual plugin. That's not
6953           yet implemented. 
6954
6955 2005-10-04  Johan Dahlin  <johan@gnome.org>
6956
6957         * check/gst/gstiterator.c: (GST_START_TEST):
6958         * gst/gstbin.c: (gst_bin_iterate_elements),
6959         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6960         * gst/gstelement.c: (gst_element_iterate_pads):
6961         * gst/gstformat.c: (gst_format_iterate_definitions):
6962         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6963         (gst_iterator_new_list), (gst_iterator_filter):
6964         * gst/gstiterator.h:
6965         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6966         Add a GType to GstIterator, update callsites and tests.
6967
6968 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6969
6970         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6971           give events a chance to be handled by event probes when the pad
6972           is not linked
6973
6974 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6975
6976         * gst/gstevent.c: (gst_event_type_get_name),
6977         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6978         * gst/gstevent.h:
6979           add string representations for event types
6980
6981 2005-10-06  Wim Taymans  <wim@fluendo.com>
6982
6983         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6984         Don't use NULL pointers.
6985
6986 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6987
6988         * gst/gst_private.h:
6989         * gst/gstbus.c:
6990         * gst/gstelement.c:
6991         * gst/gstinfo.c:
6992         * gst/gstpluginfeature.c:
6993           widen the debug category in output to fit the biggest one we have
6994           add a bus category and use it
6995           play with the colors
6996           fix up some categories
6997
6998 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6999
7000         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
7001           add push activation of sink ghost pads.
7002           Andye, please verify
7003
7004 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7005
7006         * gst/gstutils.c: (gst_element_link_pads):
7007           fix a bug in the case where neither element has a pad
7008         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7009           add a test for that case
7010
7011 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7012
7013         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
7014           emit have-data before checking for peers.  This allows
7015           for probe handlers to connect elements.  This helps autopluggers.
7016         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
7017         (gst_pad_suite):
7018           add six checks, linked/unlinked with no/true/false probe
7019
7020 2005-10-04  Wim Taymans  <wim@fluendo.com>
7021
7022         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
7023         (gst_fake_sink_event), (gst_fake_sink_preroll),
7024         (gst_fake_sink_render), (gst_fake_sink_change_state):
7025         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
7026         (gst_fake_src_get_property), (gst_fake_src_create),
7027         (gst_fake_src_stop):
7028         * gst/elements/gstidentity.c: (gst_identity_stop):
7029         Protect last_message with lock.
7030
7031 2005-10-04  Edward Hervey  <edward@fluendo.com>
7032
7033         * gst/gstformat.h: 
7034         Added precision in the comments for GST_FORMAT_DEFAULT
7035
7036 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
7037
7038         * tools/gst-launch.c: (main):
7039           Don't try to run erroneous pipelines.
7040
7041 2005-10-04  Julien MOUTTE  <julien@moutte.net>
7042
7043         * gst/gstbus.c: We don't need this header.
7044
7045 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7046
7047         * configure.ac:
7048           back to development
7049
7050 === release 0.9.3 ===
7051
7052 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7053
7054         * README:
7055         * configure.ac:
7056           Releasing 0.9.3, "Unregistered"
7057
7058 2005-10-03  Andy Wingo  <wingo@pobox.com>
7059
7060         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
7061         whereby calling a pad's activatepush() function can start a thread
7062         that starts to push or pull before the pad gets the FLUSHING flag
7063         unset. Hack around it by holding the stream lock until the flag is
7064         set. Need to replace this with a proper solution. Together with
7065         the ghost pad fixes, this fixes mp3 playing/tagreading.
7066
7067         * docs/design/part-gstghostpad.txt: Add a note about activation of
7068         proxy pads outside of ghost pads.
7069
7070         * gst/gstghostpad.c: Implement the ghost pad activation design.
7071
7072 2005-10-02  Andy Wingo  <wingo@pobox.com>
7073
7074         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
7075         It is volatile, after all.
7076
7077         * docs/design/part-gstghostpad.txt: Flesh out activation with
7078         ghost pads.
7079
7080         * gst/base/gstbasesrc.c (gst_base_src_init): Use
7081         GST_DEBUG_FUNCPTR.
7082
7083 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7084
7085         * configure.ac:
7086           Fix (unused) AM_CONDITIONAL tests.
7087
7088 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
7089
7090         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7091
7092         * gst/gstutils.c: (gst_pad_query_convert):
7093           Add assertion that makes sure src_val is >=0, just like
7094           gst_query_new_convert() has. (#315895)
7095
7096 2005-09-30  Edward Hervey  <edward@fluendo.com>
7097
7098         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
7099         Let's not iterate pads we're not interested in, it avoids getting 
7100         sky-high refcounts on sinkpad.
7101
7102 2005-09-30  Wim Taymans  <wim@fluendo.com>
7103
7104         * gst/gstelement.c: (gst_element_set_state),
7105         (gst_element_change_state):
7106         Small tweak, element in ASYNC remains ASYNC.
7107
7108 2005-09-30  Wim Taymans  <wim@fluendo.com>
7109
7110         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7111         Only error is an error.
7112
7113         * gst/gstbin.c: (gst_bin_change_state):
7114         Better debugging.
7115
7116         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
7117         Also call pad_block in pad alloc.
7118
7119         * gst/gstutils.c: (gst_flow_get_name):
7120         Better debugging.
7121
7122 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7123
7124         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7125         (gst_base_src_get_range):
7126           Fix documentation typos. Add some more debug info.
7127
7128 2005-09-29  David Schleef  <ds@schleef.org>
7129
7130         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
7131           more end-user friendly.
7132         * tools/gst-inspect.c: (main): Check if command-line argument is
7133           a file and attempt to load that file as a plugin.
7134
7135 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7136
7137         * check/gst/gstbin.c:
7138         * check/states/sinks.c:
7139           fix tests for the new warning
7140         * check/gst/gstpipeline.c:
7141           add a test for pipeline and bus interaction
7142         * gst/gstelement.c:
7143           elements should be NULL if they get disposed; add a warning if not
7144
7145 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7146
7147         * gst/gstobject.c:
7148           for 2.6 refcounting, make debug log more correct by printing
7149           the actual refcounts at the time of swap (Wim)
7150
7151 2005-09-29  Andy Wingo  <wingo@pobox.com>
7152
7153         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
7154         removes signal watches previously added via
7155         gst_bus_add_signal_watch.
7156         (gst_bus_add_signal_watch): Don't return the source id, just store
7157         it on the bus if there wasn't an id already.
7158
7159         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
7160         add_signal_watch and remove_signal_watch.
7161
7162 2005-09-29  Edward Hervey  <edward@fluendo.com>
7163
7164         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
7165         Better if we actually iterate the list :)
7166
7167 2005-09-29  Wim Taymans  <wim@fluendo.com>
7168
7169         * check/gst/gstbin.c: (GST_START_TEST):
7170         Change for new bus API.
7171
7172         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7173         (send_messages), (GST_START_TEST), (gstbus_suite):
7174         Change for new bus signal API.
7175
7176         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
7177         (gst_bus_source_prepare), (gst_bus_source_check),
7178         (gst_bus_create_watch), (gst_bus_add_watch_full),
7179         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
7180         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
7181         * gst/gstbus.h:
7182         Remove support for multiple GSources operating on different
7183         message types as it is too complex and unneeded when using
7184         signals.
7185         Added support for receiving signals from the bus.
7186
7187 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7188
7189         * docs/libs/tmpl/gstdataprotocol.sgml:
7190         * docs/manual/advanced-dataaccess.xml:
7191         * gst/elements/gstcapsfilter.c:
7192         * gst/gstutils.c:
7193           rename filter-caps to caps property
7194
7195 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7196
7197         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7198           More robust fraction string parsing.
7199
7200         * docs/pwg/appendix-porting.xml:
7201           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
7202
7203 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7204
7205         * gst/gstcaps.c: (gst_caps_do_simplify):
7206           Thou shalt not free a structure and then continue using it
7207           in the next loop iteration.
7208
7209         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
7210         (gst_caps_suite):
7211           Add test case for caps simplification.
7212
7213 2005-09-29  Wim Taymans  <wim@fluendo.com>
7214
7215         * check/gst/gstbin.c: (GST_START_TEST):
7216         Oops.
7217
7218 2005-09-29  Wim Taymans  <wim@fluendo.com>
7219
7220         * check/gst/gstbin.c: (GST_START_TEST):
7221         Add bus to bin.
7222
7223         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7224         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7225         (find_element), (gst_bin_sort_iterator_next),
7226         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7227         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7228         (gst_bin_change_state), (gst_bin_dispose):
7229         A bin does not have a bus, it gets the bus from the parent.
7230
7231         * gst/gstelement.c: (gst_element_requires_clock),
7232         (gst_element_provides_clock), (gst_element_is_indexable),
7233         (gst_element_is_locked_state), (gst_element_change_state),
7234         (gst_element_set_bus_func):
7235         Small cleanups.
7236
7237         * gst/gstpipeline.c: (gst_pipeline_class_init),
7238         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
7239         The pipeline provides a bus.
7240
7241 2005-09-28  Johan Dahlin  <johan@gnome.org>
7242
7243         * gst/gstmessage.c (gst_message_parse_state_changed): Use
7244         gst_structure_get_enum instead of gst_structure_get_int
7245
7246         * gst/gststructure.c (gst_structure_get_enum): Impl.
7247
7248         * gst/gststructure.h (gst_structure_get_enum): Add
7249
7250         * docs/gst/gstreamer-sections.txt: Ditto
7251
7252         * gst/gstmessage.c (gst_message_new_state_changed): Use
7253         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
7254         which does introspection.
7255         Reviewed by Christian Schaller
7256
7257 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7258
7259         * gst/gstinfo.c: (gst_debug_log_default):
7260           don't do dummy g_strdup()s
7261         * libs/gst/controller/gstcontroller.c:
7262         (on_object_controlled_property_changed),
7263         (gst_controlled_property_new), (gst_controller_new_valist),
7264         (gst_controller_new_list),
7265         (gst_controller_remove_properties_valist), (gst_controller_set),
7266         (gst_controller_get), (gst_controller_sync_values),
7267         (gst_controller_get_value_array), (_gst_controller_class_init),
7268         (gst_controller_get_type):
7269         * libs/gst/controller/gstcontroller.h:
7270         * libs/gst/controller/gstinterpolation.c:
7271         (gst_controlled_property_find_timed_value_node):
7272           convert // to /**/ comments
7273
7274 2005-09-28  Wim Taymans  <wim@fluendo.com>
7275
7276         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
7277         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
7278         (gst_bus_sync_signal_handler):
7279         * gst/gstbus.h:
7280         Added async-message and sync-message signals to the bus.
7281         Added helper BusFunc to emit signals for all posted messages.
7282
7283         * gst/gstmessage.c: (gst_message_type_get_name),
7284         (gst_message_type_to_quark), (gst_message_get_type):
7285         * gst/gstmessage.h:
7286         Register quarks for message names.
7287
7288 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7289
7290         * docs/libs/gstreamer-libs-sections.txt:
7291         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7292         (gst_controller_new_list):
7293         * libs/gst/controller/gstcontroller.h:
7294           added another constructor for language bindings
7295
7296 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7297
7298         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7299           add another check
7300         * gst/gstbus.c:
7301           add some doc
7302         * gst/gstinfo.c: (_gst_debug_init):
7303           slightly more readable color for refcount debugging
7304
7305 2005-09-28  Wim Taymans  <wim@fluendo.com>
7306
7307         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7308         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7309         (find_element), (gst_bin_sort_iterator_next),
7310         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7311         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7312         (gst_bin_change_state), (gst_bin_dispose):
7313         Small doc fixes. get_clock -> provide_clock.
7314
7315         * gst/gstelement.c: (gst_element_class_init),
7316         (gst_element_provides_clock), (gst_element_provide_clock),
7317         (gst_element_get_clock), (gst_element_commit_state),
7318         (gst_element_lost_state):
7319         * gst/gstelement.h:
7320         Make get/set_clock() symetric. Add provide_clock vmethod since
7321         that is actually what this function does.
7322
7323         * gst/gstpipeline.c: (gst_pipeline_class_init),
7324         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
7325         (gst_pipeline_get_clock):
7326         get_clock -> provide_clock.
7327
7328 2005-09-28  Andy Wingo  <wingo@pobox.com>
7329
7330         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
7331         lieu of real docs...
7332
7333         * gst/elements/gstfdsrc.c: Cleaned up a bit.
7334
7335 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
7336
7337         * gst/elements/gstcapsfilter.c:
7338         * gst/elements/gstfakesink.c:
7339         * gst/elements/gstfakesrc.c:
7340         * gst/elements/gstfdsink.c:
7341         * gst/elements/gstfdsrc.c:
7342         * gst/elements/gstfilesink.c:
7343         * gst/elements/gstfilesrc.c:
7344         * gst/elements/gstidentity.c:
7345         * gst/elements/gsttee.c:
7346         * gst/elements/gsttypefindelement.c:
7347           Make element details static.
7348
7349 2005-09-28  Wim Taymans  <wim@fluendo.com>
7350
7351         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7352         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7353         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7354         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7355         (gst_bin_change_state), (gst_bin_dispose):
7356         Some documentation updates.
7357         Clean up dispose handlers.
7358
7359         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
7360         * gst/gstpad.c: (gst_pad_dispose):
7361         Clean up dispose handler.
7362
7363         * gst/gstpipeline.c: (gst_pipeline_change_state):
7364         Removed spurious UNLOCK.
7365
7366 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
7367
7368         * docs/gst/gstreamer-sections.txt:
7369         * gst/base/gstbasesrc.h:
7370         * gst/gstelement.h:
7371         * gst/gstevent.h:
7372         * gst/gstobject.h:
7373         * gst/gstpad.h:
7374         * gst/gstpipeline.c:
7375         * gst/gstpipeline.h:
7376         * gst/gstutils.h:
7377         * gst/gstxml.h:
7378           added two new functions to the docs
7379                 documents all undocumented GstXXXFlags
7380                 completed some incomplete docs 
7381
7382 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7383
7384         * gst/gstbin.c: (gst_bin_dispose):
7385         * gst/gstelement.c: (gst_element_dispose):
7386           remove now useless and leaky resurrection code in dispose
7387         * gst/base/gstbasesrc.c: (gst_base_src_init):
7388         * gst/gstelementfactory.c: (gst_element_factory_create):
7389         * gst/gstobject.c: (gst_object_set_parent):
7390           add some debugging
7391
7392 2005-09-27  Wim Taymans  <wim@fluendo.com>
7393
7394         * docs/design/part-TODO.txt:
7395         Update TODO.
7396
7397         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7398         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7399         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7400         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7401         (gst_bin_change_state):
7402         * gst/gstelement.h:
7403         Remove element variable, we keep element info in the iterator now.
7404
7405 2005-09-27  Andy Wingo  <wingo@pobox.com>
7406
7407         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
7408         values.
7409
7410 2005-09-27  Wim Taymans  <wim@fluendo.com>
7411
7412         * check/gst/gstbin.c: (GST_START_TEST):
7413         Enable check that works now.
7414
7415         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7416         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7417         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7418         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7419         (gst_bin_change_state):
7420         * gst/gstbin.h:
7421         Redid the state change algorithm using a topological sort algo.
7422         Handles all cases correctly.
7423         Exposed iterator for state change order.
7424
7425         * gst/gstelement.h:
7426         Temp storage for state changes. Need to get rid of this soon.
7427
7428 2005-09-27  Wim Taymans  <wim@fluendo.com>
7429
7430         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
7431         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
7432         (link_fold_func), (gst_pad_proxy_setcaps):
7433         Leak fixes, the fold functions need to unref the passed object and
7434         _get_parent_*() returns ref to parent.
7435
7436 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7437
7438         * check/gst/gstbuffer.c: (test_make_writable):
7439           Plug leak in test case and fix 'make check-valgrind'
7440
7441 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7442
7443         * gst/gstbuffer.c: (gst_subbuffer_init):
7444           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
7445           works correctly in all circumstances (we could have just copied
7446           the parent buffer's readonly flag, but conceptually it seems
7447           cleaner to mark all subbuffers as read-only). (based on patch
7448           by Alessandro Decina, #314710).
7449         
7450         * check/gst/gstbuffer.c: (create_read_only_buffer),
7451         (test_make_writable), (test_subbuffer_make_writable),
7452         (gst_test_suite):
7453           Add some tests for gst_buffer_make_writable().
7454
7455 2005-09-27  Wim Taymans  <wim@fluendo.com>
7456
7457         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
7458         use gst_object_has_ancestor().
7459
7460         * gst/gstobject.c: (gst_object_has_ancestor):
7461         * gst/gstobject.h:
7462         gst_object_has_ancestor() copied from gstbin.c as it is a
7463         usefull function.
7464
7465         * tests/instantiate/create.c: (create_all_elements):
7466         * tests/lat.c: (handoff_src), (handoff_sink):
7467         * tests/sched/runxml.c: (main):
7468         * tests/seeking/seeking1.c: (main):
7469         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7470         (main):
7471         Fix compilation of some tests.
7472
7473 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7474
7475         * gst/gsterror.h:
7476           Remove comment. GST_TYPE_G_ERROR is here to stay,
7477           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
7478           (#316961, #300610).
7479
7480 2005-09-26  Wim Taymans  <wim@fluendo.com>
7481
7482         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7483         Added check that shows error in state change order.
7484
7485 2005-09-26  Wim Taymans  <wim@fluendo.com>
7486
7487         * gst/gstbin.c: (gst_bin_change_state):
7488         Make state change function use 3 queues again, we were
7489         adding elements in the wrong order.
7490
7491         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7492         Some debug info,
7493
7494         * gst/gstpad.c: (gst_pad_dispose):
7495         Added some debug info first.
7496
7497 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
7498
7499         * docs/design/draft-push-pull.txt:
7500         * docs/design/part-events.txt:
7501         * docs/design/part-overview.txt:
7502         * docs/design/part-scheduling.txt:
7503           Replace all _pull_region() with _pull_range()
7504           
7505 2005-09-26  Andy Wingo  <wingo@pobox.com>
7506
7507         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
7508
7509         * check/gst-libs/controller.c: Update for controller api change.
7510
7511         * configure.ac: 
7512         * tests/Makefile.am:
7513         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
7514         over by GLib bug 118439.
7515         
7516         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
7517         routines to a function.
7518
7519         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
7520
7521         * libs/gst/controller/gsthelper.c:
7522         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
7523         (gst_object_sync_values): Renamed from sink_values. Ugh.
7524
7525         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
7526
7527         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
7528         Renamed from controller_key, as it is exported.
7529
7530         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
7531
7532 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7533
7534         * gst/Makefile.am:
7535         * gst/gst.h:
7536         * gst/gstpad.h:
7537         * gst/gstpadtemplate.h:
7538         * gst/gstquery.c:
7539         * gst/gstquery.h:
7540         * gst/gstqueryutils.c:
7541         * gst/gstqueryutils.h:
7542           remove queryutils headers after moving the two used functions
7543           to gstquery.  also fixes build problem for gstsiddec
7544
7545 2005-09-26  Michael Smith <msmith@fluendo.com>
7546
7547         * tools/gst-launch.1.in:
7548         Correct documentation in manpage of debug syntax
7549
7550 2005-09-26  Wim Taymans  <wim@fluendo.com>
7551
7552         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7553         (gst_base_src_is_seekable), (gst_base_src_change_state):
7554         Some more debugging info.
7555
7556 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7557
7558         * docs/gst/gstreamer-sections.txt:
7559         * gst/base/gstbasetransform.h:
7560         * gst/gstindex.h:
7561           added more docs
7562
7563 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7564
7565         * docs/gst/.cvsignore:
7566         * docs/gst/tmpl/.cvsignore:
7567         * docs/gst/tmpl/gstpipeline.sgml:
7568         * docs/gst/tmpl/gstplugin.sgml:
7569         * gst/gstpipeline.c:
7570         * gst/gstplugin.c:
7571         * gst/gstplugin.h:
7572           inlined the last two docs files
7573           removed the tmpl directory from cvs (no more conflicts here!)
7574
7575 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7576
7577         * docs/gst/gstreamer-sections.txt:
7578         * docs/gst/tmpl/.cvsignore:
7579         * docs/gst/tmpl/gstpad.sgml:
7580         * docs/gst/tmpl/gstpadtemplate.sgml:
7581         * gst/Makefile.am:
7582         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7583         (gst_pad_finalize), (gst_pad_set_pad_template):
7584         * gst/gstpad.h:
7585         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
7586         (gst_pad_template_class_init), (gst_pad_template_init),
7587         (gst_pad_template_dispose), (name_is_valid),
7588         (gst_static_pad_template_get), (gst_pad_template_new),
7589         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
7590         (gst_pad_template_pad_created):
7591         * gst/gstpadtemplate.h:
7592           inlined two more docs
7593           factored gstpadtemplate out of gstpad
7594
7595 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
7596
7597         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7598         (test_children_state_change_order_semi_sink):
7599           Fix test case: we can't rely on a fixed state change order when
7600           going from READY => PAUSED because the sink might commit its 
7601           new state first when the first buffer created by the source 
7602           reaches the sink before the source has finished its change state.
7603           (Test case still fails at times, see #316856, comment 5 onwards)
7604
7605 2005-09-24  Wim Taymans  <wim@fluendo.com>
7606
7607         * docs/design/part-events.txt:
7608         * docs/design/part-gstbus.txt:
7609         * docs/design/part-gstpipeline.txt:
7610         * docs/design/part-messages.txt:
7611         * docs/design/part-overview.txt:
7612         * docs/design/part-segments.txt:
7613         * gst/gstbin.c:
7614         * gst/gstbuffer.c:
7615         * gst/gstclock.c:
7616         * gst/gstelement.c:
7617         * gst/gstevent.c:
7618         * gst/gstfilter.c:
7619         * gst/gstiterator.c:
7620         Various documentation updates.
7621
7622 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7623
7624         * gst/gstclock.h:
7625           Well, that's embarassing.  Luckily we weren't using
7626           GST_CLOCK_DIFF anywhere.
7627
7628 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7629
7630         * common/gtk-doc.mak:
7631           don't fail on building XML, FC4 slave shows a bunch of doc
7632           missing bits that I don't get
7633         * gst/gstpad.c:
7634         * gst/gstpipeline.c:
7635         * gst/gststructure.c:
7636           some doc updates
7637
7638 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7639
7640         * docs/design/part-gstbin.txt:
7641         * docs/design/part-gstbus.txt:
7642         * gst/gstbus.c:
7643           Add blurb about how the bus goes into flushing mode and
7644           drops all messages when its bin goes from READY into NULL 
7645           state.
7646
7647 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7648
7649         * docs/gst/gstreamer-sections.txt:
7650         * gst/gststructure.c: (gst_structure_get_clock_time):
7651         * gst/gststructure.h:
7652           add a method to get a GstClockTime out of a structure
7653
7654 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7655
7656         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7657         (test_children_state_change_order_semi_sink), (gst_bin_suite):
7658           Added test to check state change order in bins (can still be made
7659           to fail here under heavy disk load; bails out with 'Push on pad
7660           fakesink:sink0, but it was not activated in push mode').
7661
7662         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
7663           Fix state change order when there is only a semi sink (#316856)
7664
7665         * gst/gstbus.c: (gst_bus_class_init):
7666           Use _class_peek_parent(), not _class_ref(); fix docs to say
7667           'default main context' instead of 'mainloop' where that is
7668           what's meant.
7669
7670         * gst/gstelement.c: (gst_element_commit_state),
7671         (gst_element_set_state):
7672           Fix typos in debug messages
7673
7674 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7675
7676         * docs/README:
7677         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
7678         * gst/gstpluginfeature.c:
7679         * gst/gstutils.c:
7680           various doc updates
7681         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7682           change an assert into an error until it gets fixed properly
7683
7684 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
7685
7686         * docs/gst/gstreamer-sections.txt:
7687         * docs/gst/tmpl/.cvsignore:
7688         * docs/gst/tmpl/gstelement.sgml:
7689         * docs/gst/tmpl/gstinfo.sgml:
7690         * docs/gst/tmpl/gstobject.sgml:
7691         * gst/gstelement.c:
7692         * gst/gstelement.h:
7693         * gst/gstinfo.c:
7694         * gst/gstinfo.h:
7695         * gst/gstobject.c: (gst_object_class_init):
7696         * gst/gstobject.h:
7697           inlined 3 more biiiig doc files and added some missing docs on the fly
7698
7699 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7700
7701         * check/gst/.cvsignore:
7702         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
7703         * gst/gstregistryxml.c: (load_plugin),
7704         (gst_registry_xml_save_plugin):
7705           put back source in registry.  add checks for find_plugin.
7706         * testsuite/states/bin.c: (assert_state), (empty_bin),
7707         (test_adding_one_element), (main):
7708         * testsuite/states/locked.c: (main):
7709           some compile/run fixes
7710
7711 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7712
7713         * check/gst/gstvalue.c: (GST_START_TEST):
7714           fix leaks in the test itself
7715
7716 2005-09-22  Wim Taymans  <wim@fluendo.com>
7717
7718         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7719         (gst_base_sink_send_event), (gst_base_sink_peer_query),
7720         (gst_base_sink_query):
7721         Prepare for more accurate position reporting and query
7722         handling.
7723
7724         * gst/gstelement.c: (gst_element_send_event),
7725         (gst_element_set_state):
7726         Add some comment.
7727
7728 2005-09-22  Wim Taymans  <wim@fluendo.com>
7729
7730         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7731         (gst_query_parse_segment):
7732         * gst/gstquery.h:
7733         More documentation.
7734         Add segment query for future use.
7735
7736 2005-09-22  Wim Taymans  <wim@fluendo.com>
7737
7738         * gst/gstbin.c: (gst_bin_add_func):
7739         Some more debug info.
7740
7741         * gst/gstelement.c: (gst_element_send_event):
7742         Simplify send_event
7743
7744         * gst/gstelement.h:
7745         Don't know how flags got broken.
7746
7747         * gst/gstquery.h:
7748         Added new query.
7749
7750 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7751
7752         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7753           Add simplistic test suite for GST_TYPE_DATE serialisation and
7754           deserialisation.
7755
7756 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7757
7758         * docs/gst/gstreamer-sections.txt:
7759         * gst/gststructure.c: (gst_structure_set_valist),
7760         (gst_structure_get_date):
7761         * gst/gststructure.h:
7762         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7763         (gst_date_copy), (gst_value_compare_date),
7764         (gst_value_serialize_date), (gst_value_deserialize_date),
7765         (gst_value_transform_date_string),
7766         (gst_value_transform_string_date), (_gst_value_initialize):
7767         * gst/gstvalue.h:
7768           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7769           bunch of utility functions along with a hack that checks that
7770           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7771           is required. Part of the grand scheme in #170777.
7772
7773 2005-09-22  Andy Wingo  <wingo@pobox.com>
7774
7775         * gst/gstconfig.h.in: Psych out gtk-doc.
7776
7777         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7778
7779         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7780
7781         * tools/gst-inspect.c (print_element_list): Plug some
7782         inconsequential leaks.
7783
7784         * gst/gstregistry.c (gst_registry_get_default): Doc.
7785
7786         * check/gst/gstplugin.c: 
7787         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7788         * gst/gstelementfactory.c (gst_element_factory_create): 
7789         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7790         refcount changes.
7791
7792         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7793         (gst_plugin_feature_load): Doc, don't eat refs.
7794
7795         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7796         (gst_plugin_list_free): Doc.
7797         (gst_plugin_load_file): Doc updates.
7798
7799         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7800         accessors returning refcounted objects, return a ref.
7801
7802         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7803         accessor for caps. IDEMPOTENCE. Oh yes.
7804
7805 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7806
7807         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7808
7809         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7810         (_gst_debug_register_funcptr):
7811           Add mutex to serialise access to the hash table with
7812           the function pointer => function name string mapping;
7813           make that hash table static scope (#316809).
7814
7815         * gst/registries/.cvsignore:
7816           Remove left-over file.
7817
7818 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7819
7820         * docs/pwg/appendix-porting.xml:
7821           And something about newsegment events and caps-on-buffers to
7822           the porting guide (feel free to improve).
7823
7824 2005-09-21  Andy Wingo  <wingo@pobox.com>
7825
7826         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7827         data and event probes on the same pad.
7828         (test_buffer_probe_once): Test that removing probes from within
7829         the probe functions works.
7830
7831 2005-09-21  Andy Wingo  <wingo@pobox.com>
7832
7833         * check/gst/gstutils.c: New file.
7834         (test_buffer_probe_n_times): A simple buffer probe test. More to
7835         come, foolios.
7836
7837         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7838         have-data::buffer, not have-data.
7839         (gst_pad_add_event_probe): Likewise for have-data::event.
7840         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7841         peer' isn't quite right yet though.
7842         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7843         (gst_pad_remove_data_probe): Change to take the guint handler_id
7844         as their arg, not the function+data, which is more glib-like.
7845
7846         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7847         the signal emission to indicate if the data is a buffer or an
7848         event.
7849         (gst_pad_get_type): Initialize buffer and event quarks.
7850         (gst_pad_class_init): have-data is now a detailed signal, yes it
7851         is.
7852
7853 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7854
7855         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7856         * gst/gstutils.c: (gst_util_set_value_from_string),
7857         (gst_util_set_object_arg):
7858           Don't put functional code in g_return_if_fail() or
7859           g_return_val_if_fail() statements, otherwise things will 
7860           break when G_DISABLE_CHECKS is defined during compilation.
7861
7862 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7863
7864         * docs/gst/tmpl/.cvsignore:
7865         * docs/gst/tmpl/gstvalue.sgml:
7866         * gst/gstvalue.c:
7867         * gst/gstvalue.h:
7868           inlied another one and added  some obvious docs
7869
7870 2005-09-21  Wim Taymans  <wim@fluendo.com>
7871
7872         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7873         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7874         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7875         (gst_fdsrc_get_property), (gst_fdsrc_create):
7876         * gst/elements/gstfdsrc.h:
7877         Properly implement fdsrc. Removed signal and timeout,
7878         better implemented somewhere else.
7879
7880 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7881
7882         * docs/gst/tmpl/.cvsignore:
7883         * docs/gst/tmpl/gstimplementsinterface.sgml:
7884         * gst/gstinterface.c:
7885           inlined more docs
7886
7887 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7888
7889         * docs/gst/gstreamer-sections.txt:
7890         * docs/gst/tmpl/.cvsignore:
7891         * docs/gst/tmpl/gstenumtypes.sgml:
7892           remove obsolete doc file
7893
7894 2005-09-21  David Schleef  <ds@schleef.org>
7895
7896         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7897         little beer, fix a little leak.
7898
7899 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7900
7901         * docs/gst/gstreamer-docs.sgml:
7902         * docs/gst/gstreamer-sections.txt:
7903         * docs/gst/tmpl/.cvsignore:
7904         * gst/Makefile.am:
7905         * gst/gst.h:
7906         * gst/gstbin.c:
7907         * gst/gstelement.h:
7908         * gst/gstindex.c: (gst_index_class_init):
7909         * gst/gstindex.h:
7910         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7911         (gst_index_factory_class_init), (gst_index_factory_init),
7912         (gst_index_factory_finalize), (gst_index_factory_new),
7913         (gst_index_factory_destroy), (gst_index_factory_find),
7914         (gst_index_factory_create), (gst_index_factory_make):
7915         * gst/gstindexfactory.h:
7916         * gst/gstpluginfeature.c:
7917         * gst/gstpluginfeature.h:
7918         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7919           more docs inlined, splitted gstindex.{c,h}
7920
7921 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7922
7923         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7924           fix a leak
7925
7926 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7927
7928         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7929           Set sync to FALSE by default.
7930
7931 2005-09-20  Wim Taymans  <wim@fluendo.com>
7932
7933         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7934         (gst_base_sink_init):
7935         Make sync property settable from subclass.
7936
7937         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7938         (gst_fake_sink_change_state):
7939         Set sync to FALSE by default.
7940
7941 2005-09-20  Wim Taymans  <wim@fluendo.com>
7942
7943         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7944         * tools/gst-launch.c: (main):
7945         The timeout handler should have lower priority than the source
7946         so we don't timeout before popping a message with 0 timeout.
7947         Dump error messages after failed state change.
7948
7949 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7950
7951         * tools/gst-inspect.c: (print_element_properties_info):
7952           Fix two typos.
7953
7954 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7955
7956         * check/gst/gstevent.c:
7957         * gst/elements/gstfakesink.c:
7958         * gst/elements/gstfakesink.h:
7959           remove the sync property from fakesink.
7960           has the side effect of setting sync TRUE
7961           for fakesink, which is a change.  Anyone who knows how
7962           to fix this nicely in a GObject-y way, feel free.
7963
7964 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7965
7966         * docs/gst/gstreamer-docs.sgml:
7967           remove probe refsection
7968
7969 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7970
7971         * check/Makefile.am:
7972           disable valgrinding the controller test again
7973         * docs/gst/gstreamer-sections.txt:
7974           update for api-changes
7975
7976 2005-09-20  Wim Taymans  <wim@fluendo.com>
7977
7978         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7979         (gst_base_sink_set_property), (gst_base_sink_get_property),
7980         (gst_base_sink_do_sync):
7981         * gst/base/gstbasesink.h:
7982         Added sync property to basesink to disable clock sync.
7983
7984 2005-09-20  Andy Wingo  <wingo@pobox.com>
7985
7986         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7987         eating the caller's refcount.
7988
7989         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7990         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7991         refcount.
7992
7993         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7994         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7995         of GLib 2.8 public, so we can know which refcount to check in
7996         tests.
7997
7998         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7999         (gst_object_init): Only set the gst refcount if we're going ahead
8000         with the refcount hack.
8001
8002 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8003
8004         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8005         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8006           more leaks plumbed, added more debug-logging
8007         * gst/gstmacros.h:
8008           whitespace fix
8009
8010 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8011
8012         * gst/gstmessage.c:
8013           remove include of gstmemchunk.h
8014
8015 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8016
8017         * gst/gstclock.c: (_gst_clock_id_free):
8018           Commit from the Political Party For More Atomic CVS Commits,
8019           so that people don't waste too much of their day fishing
8020           out obvious leaks out of massive commits.
8021           Oh, and fix a pretty damn obvious leak in the memchunk
8022           removal code.
8023
8024 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
8025
8026         * check/Makefile.am:
8027         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8028           plug mem-leak, re-add to valgrindable tests
8029
8030 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8031
8032         * gst/gstplugin.h:
8033           unbreak the build for those who have chronic arthritis
8034           and typing "make check" is just too taxing on the hands
8035
8036 2005-09-20  Andy Wingo  <wingo@pobox.com>
8037
8038         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
8039         really want it out, you should fix plugins at the same time.
8040
8041 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
8042
8043         * configure.ac:
8044         * docs/gst/gstreamer-sections.txt:
8045         * gst/gstobject.c:
8046           added missing symbols to api docs
8047           disable ref-count hack if we have glib >= 2.8
8048
8049 2005-09-19  David Schleef  <ds@schleef.org>
8050
8051         * docs/gst/Makefile.am: Ignore a few more internal headers
8052         * docs/gst/gstreamer-docs.sgml: Remove old sections
8053         * docs/gst/gstreamer-sections.txt: Remove old sections
8054         * docs/gst/tmpl/gstobject.sgml: update
8055         * docs/gst/tmpl/gstplugin.sgml: update
8056         * docs/gst/tmpl/gstpluginfeature.sgml: update
8057         * docs/random/ds/0.9-suggested-changes: update.
8058         * gst/Makefile.am: remove memchunk and trashstack, since they're
8059           not used.
8060         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
8061         * gst/gst.h: don't include some headers
8062         * gst/gstchildproxy.c: add gstmarshal.h
8063         * gst/gstclock.c: Don't use memchunks
8064         * gst/gstminiobject.c: Add some docs
8065         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
8066         * gst/gstobject.h: same
8067         * gst/gstplugin.c: include gstmacros.h
8068         * gst/gstplugin.h: don't include gstmacros.h, since it's private
8069         * gst/gstquery.c: don't use memchunks
8070         * gst/gstregistry.c: rename gst_registry_deinit()
8071         * gst/gstregistry.h: same
8072
8073 2005-09-19  David Schleef  <ds@schleef.org>
8074
8075         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
8076         * docs/libs/gstreamer-libs-sections.txt:
8077         * docs/libs/tmpl/gstgetbits.sgml:
8078         * docs/libs/tmpl/gstputbits.sgml:
8079
8080 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
8081
8082         * win32/gstenumtypes.c:
8083         * win32/gstenumtypes.h:
8084           Update.
8085
8086 2005-09-19  Wim Taymans  <wim@fluendo.com>
8087
8088         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
8089         Automatically PAUSE and RESUME a pipeline when a flushing seek
8090         is performed.
8091
8092 2005-09-19  Andy Wingo  <wingo@pobox.com>
8093
8094         * gst/gstregistry.h: Spacing fixen.
8095
8096 2005-09-19  Wim Taymans  <wim@fluendo.com>
8097
8098         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
8099         Handle state change failure more correctly.
8100
8101 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8102
8103         * check/Makefile.am:
8104         * check/pipelines/cleanup.c: (run_pipeline):
8105         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8106         (GST_START_TEST):
8107           enable cleanup again after fixing the leak
8108         * docs/README:
8109           some more info on docs
8110
8111 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8112
8113         * check/Makefile.am:
8114           re-enable tests now that leaks are plugged
8115         * check/gst/gst.c:
8116         * check/gst/gstbin.c:
8117         * check/gst/gstpipeline.c:
8118           add some more tests while fixing leaks
8119         * common/check.mak:
8120           make sure binaries are uptodate when valgrinding/gdbing
8121         * gst/gst.c:
8122         * gst/gstelementfactory.c:
8123           remove a ref too many, and add a FIXME for when we get
8124           round to disposing of classes
8125         * gst/gstplugin.c:
8126           fix the refcounting when loading a plugin from a file and
8127           the code pretends that the pointer is the same even though
8128           of course it can change
8129         * gst/gstpluginfeature.c:
8130           unref plugins marked cached (a bit confusing as a name)
8131           as the docs state should be done
8132           various doc additions to explain refcounting
8133         * gst/gstregistry.c:
8134         * gst/gstregistryxml.c:
8135           debugging
8136
8137 2005-09-19  Wim Taymans  <wim@fluendo.com>
8138
8139         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8140         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8141         (send_messages), (GST_START_TEST), (gstbus_suite):
8142         * check/gst/gstpipeline.c: (GST_START_TEST):
8143         * check/pipelines/cleanup.c: (run_pipeline):
8144         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8145         (GST_START_TEST):
8146         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
8147         (gst_bus_source_check), (gst_bus_source_dispatch),
8148         (gst_bus_create_watch), (gst_bus_add_watch_full),
8149         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
8150         * gst/gstbus.h:
8151         * tools/gst-launch.c: (event_loop):
8152         * tools/gst-md5sum.c: (event_loop):
8153         GstBusHandler -> GstBusFunc, return value has the same meaning as
8154         any other GSource (FALSE == remove source).
8155         _add_watch() and _add_watch_full() now take a MessageType mask to
8156         only handle specific types of messages.
8157         _poll() returns the GstMessage instead of the message type to avoid
8158         race conditions.
8159         _have_pending() takes a MessageType mask now too.
8160         Added testsuite for multiple bus watches.
8161         Fix testsuites and applications for new bus API.
8162
8163 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8164
8165         * check/Makefile.am:
8166           mark a bunch of the tests as to fix until we fix them
8167
8168 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8169
8170         * common/check.mak:
8171           use GST_PLUGIN settings for valgrind tests as well, so we're
8172           valgrinding the correct thing
8173         * gst/gst.c: (init_post):
8174           plug another leak
8175
8176 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8177
8178         * gst/gst.c: (init_post), (gst_deinit):
8179         * gst/gstelementfactory.c: (gst_element_factory_class_init),
8180         (gst_element_factory_finalize), (gst_element_factory_cleanup):
8181         * gst/gstindex.c: (gst_index_factory_class_init),
8182         (gst_index_factory_finalize):
8183         * gst/gstobject.c: (gst_object_dispose):
8184         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
8185         (gst_plugin_load_file), (gst_plugin_desc_free):
8186         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
8187         (gst_plugin_feature_finalize):
8188         * gst/gstregistry.c: (gst_registry_class_init),
8189         (gst_registry_init), (gst_registry_finalize),
8190         (gst_registry_get_default), (gst_registry_deinit):
8191         * gst/gstregistry.h:
8192         * gst/gstregistryxml.c: (load_feature), (load_plugin):
8193           various cleanups and memleak plugging.  make valgrind is happy now.
8194
8195 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8196
8197         * common/check.mak:
8198           add a check-valgrind target
8199
8200 2005-09-18  David Schleef  <ds@schleef.org>
8201
8202         * tools/gst-inspect.c: Revert the GOption code.
8203
8204 2005-09-17  David Schleef  <ds@schleef.org>
8205
8206         * check/Makefile.am: Fix environment variables.
8207         * check/gst/gstplugin.c: Fix for API changes.
8208         * tools/gst-inspect.c: Fix for API changes.
8209         * tools/gst-xmlinspect.c: Fix for API changes.
8210         * gst/gstelementfactory.c:
8211         * gst/gstplugin.c:
8212         * gst/gstplugin.h:
8213         * gst/gstpluginfeature.c:
8214         * gst/gstpluginfeature.h:
8215         * gst/gstregistry.c:
8216         * gst/gstregistry.h:
8217         * gst/gstregistryxml.c:
8218         * gst/gsttypefind.c:
8219         * gst/gsttypefindfactory.c:
8220         * gst/indexers/gstfileindex.c:
8221         * gst/indexers/gstmemindex.c:
8222         * gst/schedulers/Makefile.am:
8223           Change registry to keep track of both plugins and features,
8224           removing the feature tracking from plugins themselves.
8225
8226 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8227
8228         * check/Makefile.am:
8229         * tools/gst-register.1.in:
8230           remove gst-register
8231
8232 2005-09-15  David Schleef  <ds@schleef.org>
8233
8234         * check/gst/gstplugin.c:
8235         * gst/gstelementfactory.c:
8236         * gst/gstplugin.c:
8237         * gst/gstpluginfeature.c:
8238         * gst/gstregistry.c:
8239           Getting tired of debugging.  Disabled all the unreffing of
8240           plugins and features, which fixes the segfaults, but of
8241           course leaks like crazy.  At least playbin works.
8242
8243 2005-09-15  David Schleef  <ds@schleef.org>
8244
8245         * check/gst/gstplugin.c: (register_check_elements),
8246         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
8247         More testing
8248         * gst/elements/gsttypefindelement.c: Fix refcounting.
8249         * gst/gsttypefind.c:
8250         * gst/gsttypefindfactory.c:
8251         * gst/gsttypefindfactory.h:
8252
8253 2005-09-15  David Schleef  <ds@schleef.org>
8254
8255         * gst/gstindex.c: get refcounting correct.
8256         * gst/gstregistry.c: Handle the case where a feature/plugin is
8257           not found.
8258
8259 2005-09-15  David Schleef  <ds@schleef.org>
8260
8261         * check/Makefile.am:
8262         * check/gst/gstplugin.c: Add test
8263         * gst/gstplugin.c: Fix problems noticed by testsuite
8264         * gst/gstplugin.h:
8265         * gst/gstregistry.c: 
8266         * gst/gstregistry.h:
8267
8268 2005-09-15  David Schleef  <ds@schleef.org>
8269
8270         * gst/gstplugin.c: Implement semi-decent recounting and locking
8271           in plugins and plugin features.
8272         * gst/gstplugin.h:
8273         * gst/gstpluginfeature.c:
8274         * gst/gstpluginfeature.h:
8275         * gst/gstregistry.c:
8276
8277 2005-09-15  Michael Smith <msmith@fluendo.com>
8278
8279         * gst/gstregistry.c: (gst_registry_get_feature_list):
8280           Implement this. Makes oggdemux work; decodebin still broken.
8281
8282 2005-09-14  David Schleef  <ds@schleef.org>
8283
8284         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
8285           #316076)
8286         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
8287         * gst/check/Makefile.am:
8288         * libs/gst/controller/Makefile.am:
8289         * libs/gst/dataprotocol/Makefile.am:
8290
8291 2005-09-14  David Schleef  <ds@schleef.org>
8292
8293         * configure.ac: Remove getbits library.  Nothing uses it, and
8294           it should be in something like liboil if someone did want
8295           to use it.
8296         * libs/gst/Makefile.am:
8297         * libs/gst/getbits/Makefile.am:
8298         * libs/gst/getbits/gbtest.c:
8299         * libs/gst/getbits/getbits.c:
8300         * libs/gst/getbits/getbits.h:
8301         * libs/gst/getbits/gstgetbits_generic.c:
8302         * libs/gst/getbits/gstgetbits_i386.s:
8303         * libs/gst/getbits/gstgetbits_inl.h:
8304
8305 2005-09-14  David Schleef  <ds@schleef.org>
8306
8307         * gst/Makefile.am: Dist glib-compat.h
8308
8309 2005-09-14  David Schleef  <ds@schleef.org>
8310
8311         * configure.ac: Remove gst/registries, since it's no longer used.
8312         * gst/registries/Makefile.am:
8313         * gst/registries/gstlibxmlregistry.c:
8314         * gst/registries/gstlibxmlregistry.h:
8315         * gst/registries/gstxmlregistry.c:
8316         * gst/registries/gstxmlregistry.h:
8317         * gst/registries/registrytest.c:
8318
8319 2005-09-14  David Schleef  <ds@schleef.org>
8320
8321         * gst/glib-compat.h:
8322         * gst/gstregistryxml.c:
8323           Convergence is near.  Seriously.
8324
8325 2005-09-14  David Schleef  <ds@schleef.org>
8326
8327         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8328         * gst/glib-compat.h:
8329           Attempt #4 to appease the buildbots.
8330
8331 2005-09-14  David Schleef  <ds@schleef.org>
8332
8333         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8334           Attempt #3.
8335
8336 2005-09-14  David Schleef  <ds@schleef.org>
8337
8338         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8339         Attempt #2.
8340
8341 2005-09-14  David Schleef  <ds@schleef.org>
8342
8343         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
8344           the new functions.
8345
8346 2005-09-14  David Schleef  <ds@schleef.org>
8347
8348         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8349         * gst/glib-compat.h: Add some functions that are in newer versions
8350           of glib than we care to require.
8351         * gst/gstregistryxml.c: Use them.
8352
8353 2005-09-14  David Schleef  <ds@schleef.org>
8354
8355         * po/POTFILES.in: remove gst-register.c
8356
8357 2005-09-14  David Schleef  <ds@schleef.org>
8358
8359         * docs/gst/gstreamer-docs.sgml:
8360         * docs/gst/gstreamer-sections.txt:
8361         * docs/gst/gstreamer.types:
8362         * docs/gst/tmpl/gstelement.sgml:
8363         * docs/gst/tmpl/gstplugin.sgml:
8364         * docs/gst/tmpl/gstpluginfeature.sgml:
8365           Documentation updates for registry changes.
8366
8367 2005-09-14  David Schleef  <ds@schleef.org>
8368
8369         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
8370           because we don't require glib-2.8.
8371
8372 2005-09-14  David Schleef  <ds@schleef.org>
8373
8374         * gst/gstregistryxml.c: Added.  Essentially moved out of the
8375           registries directory.
8376
8377 2005-09-14  David Schleef  <ds@schleef.org>
8378
8379         * check/Makefile.am:
8380         * check/generic/states.c:
8381         * gst/Makefile.am:
8382         * gst/gst.c:
8383         * gst/gst.h:
8384         * gst/gst_private.h:
8385         * gst/gstelementfactory.c:
8386         * gst/gstindex.c:
8387         * gst/gstinfo.c:
8388         * gst/gstplugin.c:
8389         * gst/gstplugin.h:
8390         * gst/gstpluginfeature.c:
8391         * gst/gstpluginfeature.h:
8392         * gst/gstregistry.c:
8393         * gst/gstregistry.h:
8394         * gst/gstregistrypool.c: remove
8395         * gst/gstregistrypool.h: remove
8396         * gst/gsttypefind.c:
8397         * gst/gsttypefindfactory.c:
8398         * gst/gsturi.c:
8399         * tools/Makefile.am:
8400         * tools/gst-compprep.c:
8401         * tools/gst-inspect.c:
8402         * tools/gst-register.c: remove
8403         * tools/gst-xmlinspect.c:
8404           Registry rewrite.  Changes registry from being a file created
8405           by a tool into a simple cache file created automatically by 
8406           libgstreamer.  Removed gst-register (because it's no longer
8407           needed).  Remove registry pools, because we only have one
8408           registry implementation (XML).  Fix up other subsystems as
8409           necessary.
8410
8411 2005-09-13  Michael Smith <msmith@fluendo.com>
8412
8413         * gst/gstconfig.h.in:
8414           Don't Use windows linking attributes for MinGW. Fixes #316157
8415
8416 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8417
8418         * gst/gstutils.c: (set_state_async_thread_func),
8419         (gst_element_set_state_async):
8420           Apparently people think it's better if this function doesn't
8421           try to set the state to whatever state was asked for on the first
8422           call to this function for any object.  Seriously.
8423
8424 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8425
8426         * check/gst/gstpipeline.c: (GST_START_TEST):
8427         * docs/gst/gstreamer-sections.txt:
8428         * gst/gstutils.c: (set_state_async_thread_func),
8429         (gst_element_set_state_async):
8430         * gst/gstutils.h:
8431           add a "gst_element_set_state_async" method that
8432           sets the state and starts a thread to make sure the state
8433           change completes as best as it can
8434
8435 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8436
8437         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8438           codify design+behaviour in testsuite after discussion
8439
8440 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8441
8442         * docs/gst/tmpl/gstelement.sgml:
8443         * docs/manual/appendix-quotes.xml:
8444           add a quote
8445         * gst/gstelement.c: (gst_element_set_state):
8446           add some debug
8447
8448 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
8449
8450         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8451         (gst_base_transform_prepare_output_buf),
8452         (gst_base_transform_handle_buffer):
8453         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
8454         (gst_capsfilter_prepare_buf):
8455           Remove the requirement for sub-classes to call the parent
8456           implementation of prepare_output_buffer with a wrapper function.
8457           
8458         * gst/gsttaglist.h:
8459         * gst/gsttagsetter.h:
8460           Fix #define wrapper
8461
8462 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
8463
8464         * docs/gst/gstreamer-sections.txt:
8465           more doc cleanups
8466
8467 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8468
8469         * docs/gst/gstreamer-sections.txt:
8470         * docs/gst/tmpl/gstelement.sgml:
8471         * docs/gst/tmpl/gstplugin.sgml:
8472         * gst/gstminiobject.c:
8473         * gst/gstvalue.h:
8474           docs now stop throwing warnings
8475
8476 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8477
8478         * docs/gst/gstreamer-sections.txt:
8479         * docs/gst/gstreamer.types:
8480         * docs/gst/tmpl/gstpad.sgml:
8481         * docs/gst/tmpl/gsttypes.sgml:
8482         * gst/base/gstadapter.h:
8483         * gst/base/gstbasesink.h:
8484         * gst/base/gstbasesrc.h:
8485         * gst/gstbin.h:
8486         * gst/gstbuffer.h:
8487         * gst/gstbus.h:
8488         * gst/gstcaps.h:
8489         * gst/gstclock.h:
8490         * gst/gstelement.h:
8491         * gst/gstevent.h:
8492         * gst/gstmessage.h:
8493         * gst/gstpad.h:
8494         * gst/gststructure.c:
8495         * gst/registries/gstlibxmlregistry.h:
8496           various documentation fixes
8497
8498 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8499
8500         * docs/gst/gstreamer-sections.txt:
8501         * docs/gst/tmpl/gstvalue.sgml:
8502           rearrange gstvalue section
8503         * gst/gstutils.c: (gst_element_state_get_name):
8504           NONE -> VOID
8505         * gst/gstvalue.c: (_gst_value_initialize):
8506         * gst/gstvalue.h:
8507           doc updates
8508
8509 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
8510
8511         * check/gst-libs/controller.c:
8512           Header include fix.
8513         * gst/base/gstbasetransform.c:
8514         (gst_base_transform_default_prepare_buf),
8515         (gst_base_transform_handle_buffer):
8516         * gst/base/gstbasetransform.h:
8517           Some more basetransform changes and fixes to enable sub-classes
8518           that modify buffer metadata only.
8519         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8520         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
8521         (gst_capsfilter_prepare_buf):
8522           If the output pad has fixed allowed caps and input buffers 
8523           don't have any, set the fixed caps on outgoing buffers.
8524
8525 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
8526         * check/elements/identity.c: (GST_START_TEST):
8527           Make the error a little clearer when the test fails because
8528           identity made a copy of the buffer.
8529         * docs/gst/gstreamer-sections.txt:
8530           New symbols in gstbasetransform.h
8531         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8532         (gst_base_transform_init), (gst_base_transform_transform_size),
8533         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8534         (gst_base_transform_default_prepare_buf),
8535         (gst_base_transform_get_unit_size),
8536         (gst_base_transform_buffer_alloc),
8537         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8538         (gst_base_transform_change_state),
8539         (gst_base_transform_set_passthrough),
8540         (gst_base_transform_set_in_place),
8541         (gst_base_transform_is_in_place):
8542         * gst/base/gstbasetransform.h:
8543           Change BaseTransform to separate in_place operate from same_caps
8544           output. in_place implies that the element can perform the transform
8545           on incoming buffers in-place, even if the caps on the output are
8546           different.
8547           Sub-class elements can now implement special buffer allocation
8548           methods for outgoing buffers if they wish to.
8549           Big documentation addition.
8550         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
8551         * gst/elements/gstelements.c:
8552           Changes for basetransform modifications.
8553         * gst/elements/Makefile.am:
8554         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
8555           Compile fix. Extra debug output.
8556
8557 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8558
8559         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
8560         (gst_pad_suite):
8561           add tests for valid pad naming
8562         * gst/check/gstcheck.c: (gst_check_log_message_func),
8563         (gst_check_log_critical_func):
8564           add ASSERT_WARNING
8565           remove printing of code, it is fragile when the code contains
8566           % and the line number is enough info
8567         * gst/check/gstcheck.h:
8568         * gst/gstpad.c: (gst_pad_template_new):
8569           fix memleaks
8570
8571 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8572
8573         * configure.ac:
8574           say what CHECK flags we use
8575         * docs/libs/gstreamer-libs.types:
8576         * libs/gst/controller/Makefile.am:
8577         * libs/gst/controller/gst-controller.c:
8578         * libs/gst/controller/gst-controller.h:
8579         * libs/gst/controller/gst-helper.c:
8580         * libs/gst/controller/gst-interpolation.c:
8581         * libs/gst/controller/gstcontroller.c:
8582         * libs/gst/controller/gsthelper.c:
8583         * libs/gst/controller/gstinterpolation.c:
8584         * tools/gst-inspect.c: (print_plugin_info):
8585           we don't use dashes in header names
8586
8587 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8588
8589         * check/Makefile.am:
8590         * check/gst/.cvsignore:
8591         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
8592         (gst_pipeline_suite), (main):
8593           adding a test for pipelines and state changes
8594         * gst/gstutils.c: (get_state_func):
8595           add some debugging
8596         * gstreamer.spec.in:
8597           fix up spec file
8598
8599 2005-09-08  Michael Smith <msmith@fluendo.com>
8600
8601         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
8602         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
8603         (gst_file_src_is_seekable), (gst_file_src_get_size),
8604         (gst_file_src_start):
8605         * gst/elements/gstfilesrc.h:
8606           Various fixes for unseekable, unmmapable, and non-normal files, so
8607           that fallback to read() rather than mmap() works.
8608         * gst/gstevent.c: (gst_event_new_newsegment):
8609           Allow newsegment events with segment_start == segment_end, as will
8610           correctly happen if you use filesrc on a zero-size file, for
8611           example.
8612
8613 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8614
8615         * gst/gstplugin.c: (gst_plugin_load_file):
8616           Call g_module_close when we don't load the module
8617
8618         * gst/registries/gstlibxmlregistry.c:
8619         (gst_xml_registry_get_property):
8620           Port leak fix from 0.8
8621
8622 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8623
8624         * docs/gst/gstreamer-docs.sgml:
8625         * docs/gst/tmpl/.cvsignore:
8626         * docs/gst/tmpl/gsttrace.sgml:
8627         * docs/gst/tmpl/gsttrashstack.sgml:
8628         * gst/Makefile.am:
8629         * gst/gst.h:
8630         * gst/gstelement.h:
8631         * gst/gstevent.h:
8632         * gst/gstmessage.c:
8633         * gst/gstmessage.h:
8634         * gst/gsttag.c:
8635         * gst/gsttag.h:
8636         * gst/gsttaginterface.c:
8637         * gst/gsttaginterface.h:
8638         * gst/gsttaglist.c:
8639         * gst/gsttaglist.h:
8640         * gst/gsttagsetter.c:
8641         * gst/gsttagsetter.h:
8642         * gst/gsttrace.c:
8643         * gst/gsttrace.h:
8644         * gst/gsttrashstack.c:
8645           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
8646           inlined docs for gsttrace, gsttrashstack
8647
8648 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8649
8650         * gst/Makefile.am:
8651         * gst/elements/gstbufferstore.h:
8652         * gst/elements/gsttypefindelement.c:
8653         * gst/elements/gsttypefindelement.h:
8654         * gst/gst.h:
8655         * gst/gsttypefind.c:
8656         * gst/gsttypefind.h:
8657         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
8658         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
8659         (gst_type_find_factory_dispose),
8660         (gst_type_find_factory_unload_thyself),
8661         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
8662         (gst_type_find_factory_get_caps),
8663         (gst_type_find_factory_get_extensions),
8664         (gst_type_find_factory_call_function):
8665         * gst/gsttypefindfactory.h:
8666         * gst/registries/gstlibxmlregistry.c:
8667         * gst/registries/gstxmlregistry.c:
8668           splitted gsttypefind into gsttypefind, gsttypefindfactory
8669
8670 2005-09-07  Andy Wingo  <wingo@pobox.com>
8671
8672         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
8673         condition whereby the pad's task function is entered before the
8674         pad_mode variable was set.
8675
8676 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8677
8678         * gst/gstpad.c: (gst_pad_alloc_buffer):
8679           Catch misbehaving pad_alloc functions that don't
8680           set up caps and do it for them.
8681
8682 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8683
8684         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8685           test for pipe!=NULL
8686         * docs/gst/tmpl/.cvsignore:
8687         * docs/gst/tmpl/gstmemchunk.sgml:
8688         * docs/gst/tmpl/gstparse.sgml:
8689         * docs/gst/tmpl/gsttaglist.sgml:
8690         * docs/gst/tmpl/gsttagsetter.sgml:
8691         * docs/gst/tmpl/gsttypefind.sgml:
8692         * docs/gst/tmpl/gsttypefindfactory.sgml:
8693         * gst/gstmemchunk.c:
8694         * gst/gstparse.c:
8695         * gst/gsttag.c:
8696         * gst/gsttaginterface.c:
8697         * gst/gsttypefind.c:
8698         * gst/gsttypefind.h:
8699           inlined more docs
8700
8701 === release 0.9.2 ===
8702
8703 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8704
8705         * NEWS:
8706         * RELEASE:
8707         * configure.ac:
8708           releasing 0.9.2, "South"
8709
8710 2005-09-05  Andy Wingo  <wingo@pobox.com>
8711
8712         * gst/registries/gstxmlregistry.h:
8713         * gst/registries/gstxmlregistry.c: Um... resurrect...
8714         
8715         * gst/registries/gstxmlregistry.h:
8716         * gst/registries/gstxmlregistry.c: and update to newer API.
8717         Incidentally they should be a bit faster now that they don't have
8718         to parse the caps.
8719         
8720 2005-09-05  Andy Wingo  <wingo@pobox.com>
8721
8722         * gst/registries/gstxmlregistry.h:
8723         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
8724         replaced by the libxml registry a while back
8725
8726 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8727
8728         * docs/gst/tmpl/gstplugin.sgml:
8729         * gst/elements/gstelements.c:
8730         * gst/gst.c:
8731         * gst/gstplugin.c: (gst_plugin_register_func),
8732         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8733         (gst_plugin_get_source):
8734         * gst/gstplugin.h:
8735         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8736         (gst_xml_registry_save_plugin):
8737         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8738         (gst_xml_registry_save_plugin):
8739         * tools/gst-inspect.c: (print_plugin_info):
8740           add a "source" plugin description field, to represent the source
8741           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8742           will set it to PACKAGE, which is automake's idea of the name of
8743           the source project.
8744
8745 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8746
8747         * Makefile.am:
8748         * autogen.sh:
8749         * configure.ac:
8750         * docs/Makefile.am:
8751         * docs/faq/Makefile.am:
8752         * docs/gst/tmpl/gstelement.sgml:
8753         * docs/gst/tmpl/gsttypes.sgml:
8754         * docs/htmlinstall.mak:
8755         * docs/manual/Makefile.am:
8756         * docs/pwg/Makefile.am:
8757           reorganize doc build a little
8758           split out docbook and gtk-doc stuff
8759           have two separate --enable's and enable them through autogen
8760           but disable by default in configure (to be similar to other
8761           projects)
8762         * gstreamer.spec.in:
8763           clean up docs install
8764         * po/af.po:
8765         * po/az.po:
8766         * po/ca.po:
8767         * po/cs.po:
8768         * po/de.po:
8769         * po/en_GB.po:
8770         * po/fr.po:
8771         * po/it.po:
8772         * po/nb.po:
8773         * po/nl.po:
8774         * po/ru.po:
8775         * po/sq.po:
8776         * po/sr.po:
8777         * po/sv.po:
8778         * po/tr.po:
8779         * po/uk.po:
8780         * po/vi.po:
8781           translation updates
8782
8783 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8784
8785         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8786           Add comment.
8787           
8788         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8789         (gst_fake_sink_change_state):
8790           Make state change function thread-safe.
8791           
8792         * gst/gstpad.c: (gst_pad_alloc_buffer):
8793           Set offset on generic buffer allocated by fallback.
8794
8795 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8796
8797         * docs/gst/gstreamer-sections.txt:
8798         * docs/gst/tmpl/gstelement.sgml:
8799         * gst/gstpad.c:
8800         * libs/gst/controller/gst-controller.c:
8801         (gst_controlled_property_set_interpolation_mode),
8802         (gst_controlled_property_new),
8803         (gst_controller_find_controlled_property):
8804          run the wingo-magic script against the docs
8805
8806 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8807
8808         * docs/gst/gstreamer-docs.sgml:
8809         * docs/gst/gstreamer-sections.txt:
8810         * docs/gst/tmpl/.cvsignore:
8811         * docs/gst/tmpl/gstelementdetails.sgml:
8812         * docs/gst/tmpl/gstelementfactory.sgml:
8813         * gst/gst.c:
8814         * gst/gstbus.c:
8815         * gst/gstelementfactory.c:
8816         * gst/gstelementfactory.h:
8817           merged elementdetails docs into elementfactory docs
8818           inlined both
8819
8820 2005-09-02  Andy Wingo  <wingo@pobox.com>
8821
8822         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8823         consider this enum an enum and not a flags.
8824
8825 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8826
8827         * docs/gst/gstreamer-docs.sgml:
8828         * docs/gst/tmpl/.cvsignore:
8829         * docs/gst/tmpl/gstghostpad.sgml:
8830         * docs/gst/tmpl/gstiterator.sgml:
8831         * docs/gst/tmpl/gstmacros.sgml:
8832         * docs/gst/tmpl/gstrealpad.sgml:
8833         * docs/gst/tmpl/gstregistry.sgml:
8834         * docs/gst/tmpl/gstregistrypool.sgml:
8835         * docs/gst/tmpl/gststructure.sgml:
8836         * docs/gst/tmpl/gstsystemclock.sgml:
8837         * docs/gst/tmpl/gsttrace.sgml:
8838         * gst/gstghostpad.c:
8839         * gst/gstmacros.h:
8840         * gst/gstmemchunk.c:
8841         * gst/gstmemchunk.h:
8842         * gst/gstqueue.c:
8843         * gst/gstregistry.c:
8844         * gst/gstregistrypool.c:
8845         * gst/gststructure.c:
8846         * gst/gstsystemclock.c:
8847           more docs inlined
8848
8849 2005-09-02  Andy Wingo  <wingo@pobox.com>
8850
8851         * gst/gstelement.h (GstState): Renamed from GstElementState,
8852         changed to be a normal enum instead of flags.
8853         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8854         munged to be GST_STATE_CHANGE_*.
8855         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8856         work with the new state representation.
8857         (GstStateChange): New enumeration of possible state transitions.
8858         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8859         (GstElementClass::change_state): Pass the GstStateChange along as
8860         an argument. Helps language bindings, so they don't have to use
8861         tricky lock-needing macros like GST_STATE_CHANGE ().
8862
8863         * scripts/update-states (file): New script. Run it on a file to
8864         update it for state naming and API changes. Updates files in
8865         place.
8866
8867         * All files updated for the new API.
8868
8869 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8870
8871         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8872         * gst/gstutils.c: (gst_util_set_value_from_string),
8873         (gst_util_set_object_arg):
8874           fix a bunch of unchecked return values
8875         * tools/gst-complete.c: (main):
8876         * gstreamer.spec.in:
8877           clean up a little
8878
8879 2005-09-01  Wim Taymans  <wim@fluendo.com>
8880
8881         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8882         (gst_base_sink_event), (gst_base_sink_do_sync),
8883         (gst_base_sink_handle_event):
8884         * gst/base/gstbasesink.h:
8885         Handle newsegments more correctly.
8886
8887         * gst/gstbus.c:
8888         Fix docs.
8889
8890         * gst/gstevent.c: (gst_event_new_newsegment):
8891         A newsegment cannot have a start_time of -1
8892
8893 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8894
8895         * win32/gstenumtypes.c:
8896         * win32/gstenumtypes.h:
8897           Update
8898
8899 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8900
8901         * libs/gst/controller/gst-controller.c:
8902         (gst_controlled_property_set_interpolation_mode),
8903         (gst_controlled_property_new):
8904          fixed boolean again
8905
8906 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8907
8908         * docs/faq/gst-uninstalled:
8909           add -good
8910         * gst/gstevent.c:
8911         * gst/gstevent.h:
8912           remove wrong docs
8913         * gst/gstutils.c: (gst_element_link_filtered):
8914         * gst/gstutils.h:
8915           add gst_element_link_filtered
8916
8917 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8918
8919         * docs/gst/gstreamer-docs.sgml:
8920         * docs/gst/gstreamer-sections.txt:
8921         * docs/gst/tmpl/.cvsignore:
8922         * docs/gst/tmpl/gsterror.sgml:
8923         * docs/gst/tmpl/gstfilter.sgml:
8924         * docs/gst/tmpl/gsturihandler.sgml:
8925         * docs/gst/tmpl/gsturitype.sgml:
8926         * docs/gst/tmpl/gstutils.sgml:
8927         * docs/gst/tmpl/gstxml.sgml:
8928         * gst/gsterror.c:
8929         * gst/gsterror.h:
8930         * gst/gstfilter.c:
8931         * gst/gsturi.c:
8932         * gst/gsturitype.c:
8933         * gst/gstutils.c:
8934         * gst/gstxml.c:
8935           inlined more docs, fixed double id-ref
8936
8937 2005-08-31  Wim Taymans  <wim@fluendo.com>
8938
8939         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8940         (gst_base_transform_handle_buffer):
8941         Passthrough elements don't need the caps as they don't care.
8942
8943 2005-08-31  Wim Taymans  <wim@fluendo.com>
8944
8945         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8946         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8947         Don't leak refcounts on buffers.
8948
8949 2005-08-31  Wim Taymans  <wim@fluendo.com>
8950
8951         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8952         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8953         (gst_base_transform_chain), (gst_base_transform_change_state):
8954         * gst/base/gstbasetransform.h:
8955         Handle the case where we are not negotiated more gracefully.
8956
8957 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8958
8959         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8960         (gst_file_src_map_region):
8961           Set READONLY flag on mmap'ed buffers, otherwise
8962           gst_buffer_make_writable() won't work properly (#314708).
8963
8964 2005-08-31  Wim Taymans  <wim@fluendo.com>
8965
8966         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8967         passthrough elements can even do inplace on non writable
8968         buffers (as they don't touch them).
8969
8970 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8971
8972         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8973         (gst_test_mono_source_set_property),
8974         (gst_test_mono_source_class_init), (GST_START_TEST),
8975         (gst_controller_suite):
8976           more tests (hehe I have the most)
8977         * gst/gstbus.c:
8978           describe popping messages whenusing mulltiple sources
8979         * libs/gst/controller/gst-controller.c:
8980         (gst_controlled_property_set_interpolation_mode),
8981         (gst_controlled_property_new):
8982         * libs/gst/controller/gst-controller.h:
8983         * libs/gst/controller/gst-interpolation.c:
8984           implement boolean properties
8985
8986 2005-08-31  Wim Taymans  <wim@fluendo.com>
8987
8988         * gst/gstminiobject.c: (gst_mini_object_ref):
8989         Cannot assert that the refcount has to be positive
8990         since a disposed object can be resurrected.
8991
8992 2005-08-31  Wim Taymans  <wim@fluendo.com>
8993
8994         * gst/gstpad.c: (gst_pad_init):
8995         Revert change, need to first fix badly behaving 
8996         apps.
8997
8998 2005-08-30  Wim Taymans  <wim@fluendo.com>
8999
9000         * check/elements/fakesrc.c: (setup_fakesrc):
9001         * check/elements/identity.c: (setup_identity):
9002         Activate pads before using them.
9003
9004 2005-08-30  Wim Taymans  <wim@fluendo.com>
9005
9006         * gst/base/gstadapter.c: (gst_adapter_flush):
9007         Flushing out 0 bytes is ok for this function.
9008
9009         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9010         no newsegment gives a warning and sets the start/stop to 
9011         invalid.
9012
9013         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
9014         (gst_base_transform_set_passthrough):
9015         Some debug info.
9016
9017         * gst/gstminiobject.c: (gst_mini_object_ref):
9018         Check refcount here too.
9019
9020         * gst/gstpad.c: (gst_pad_init):
9021         Pads are initially flushing and refusing data.
9022
9023         * gst/gstutils.c: (gst_element_link_pads_filtered):
9024         When adding a capsfilter element make sure it has the
9025         same state as the parent bin.
9026
9027 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9028
9029         * docs/gst/tmpl/.cvsignore:
9030         * docs/gst/tmpl/gstformat.sgml:
9031         * docs/gst/tmpl/gstversion.sgml:
9032         * gst/gstbus.h:
9033         * gst/gstformat.c:
9034         * gst/gstformat.h:
9035         * gst/gstversion.h.in:
9036           more docs and two more inlined
9037
9038 2005-08-30  Wim Taymans  <wim@fluendo.com>
9039
9040         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
9041         Don't sync to clock.
9042
9043 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9044
9045         * docs/gst/gstreamer-sections.txt:
9046           ultral33t func10ns deserve to appear in the docs actually
9047         * docs/gst/tmpl/.cvsignore:
9048         * docs/gst/tmpl/gstcompat.sgml:
9049         * docs/gst/tmpl/gstconfig.sgml:
9050         * gst/check/gstcheck.c:
9051         * gst/gstcompat.h:
9052         * gst/gstconfig.h.in:
9053           inlined more docs
9054
9055 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9056
9057         * docs/gst/tmpl/.cvsignore:
9058         * docs/gst/tmpl/gstquery.sgml:
9059         * docs/gst/tmpl/gstutils.sgml:
9060         * gst/gstquery.c:
9061         * gst/gstquery.h:
9062           inlined and extended docs
9063
9064 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
9065
9066         * check/gst-libs/controller.c: (GST_START_TEST),
9067         (gst_controller_suite):
9068           more tests
9069         * docs/gst/tmpl/gstutils.sgml:
9070         * docs/libs/gstreamer-libs-sections.txt:
9071         * docs/libs/tmpl/gstdataprotocol.sgml:
9072           include path fixes
9073         * examples/controller/audio-example.c: (main):
9074           controller example works now
9075         * gst/gstclock.h:
9076           doc fixes
9077         * tools/gst-inspect.c: (print_element_properties_info):
9078           show param spec flags
9079
9080 2005-08-29  Andy Wingo  <wingo@pobox.com>
9081
9082         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
9083
9084 2005-08-28  Andy Wingo  <wingo@pobox.com>
9085
9086         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
9087         as having two arguments instead of just one. Allows superclasses
9088         to access information on subclasses -- see the terrible for() loop
9089         in gtype.c:g_type_create_instance for the reason why. All callers
9090         changed.
9091
9092 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9093
9094         * docs/design/part-messages.txt:
9095           update info
9096         * docs/gst/tmpl/.cvsignore:
9097         * docs/gst/tmpl/gstcaps.sgml:
9098         * docs/gst/tmpl/gstclock.sgml:
9099         * gst/gstbus.c:
9100         * gst/gstcaps.c:
9101         * gst/gstcaps.h:
9102         * gst/gstclock.c:
9103         * gst/gstclock.h:
9104         * gst/gstmessage.c:
9105           added descriptions for bus and message
9106           inline caps and clock docs
9107
9108 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9109
9110         * gst/gstmessage.c:
9111         * gst/gstmessage.h:
9112           doc fixes
9113
9114 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9115
9116         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9117           fix div-by-zero
9118
9119 2005-08-26  Andy Wingo  <wingo@pobox.com>
9120
9121         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
9122         element_set_state's return val.
9123         (test_2_elements): Add test that's been disabled for months.
9124
9125         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
9126         can-activate-pull properties.
9127
9128         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
9129         can-activate-pull properties. Implement is_seekable so fakesrc can
9130         operate in pull mode.
9131
9132         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
9133         properties.
9134         (gst_base_sink_activate, gst_base_sink_activate_pull)
9135         (gst_base_sink_activate_push): Make activation mode choosing work.
9136         Cleanups.
9137         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
9138         is right. Make pull mode work. Post an eos before pausing in pull
9139         mode.
9140         (gst_base_sink_change_state): Pay attention to the core's
9141         change_state() return val.
9142         
9143         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
9144         has-getrange properties. Cleanups.
9145         
9146         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
9147         has_getrange and replace with can_activate_pull and
9148         can_activate_push.
9149
9150         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
9151         locking comments. Remove has_loop, has_chain and replace with
9152         can_activate_pull and can_activate_push.
9153
9154 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
9155
9156         * configure.ac:
9157         * examples/Makefile.am:
9158         * examples/metadata/Makefile.am:
9159         * examples/metadata/read-metadata.c: (message_loop),
9160         (have_pad_handler), (make_pipeline), (print_tag), (main):
9161           Add metadata reading example that loops over a list of filenames,
9162           dumping any tags found.
9163
9164         * gst/gstbus.c: (gst_bus_dispose):
9165         * gst/gstelement.c: (gst_element_dispose):
9166           Release a few potentially-held references in dispose.
9167
9168 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9169
9170         * docs/gst/tmpl/gstminiobject.sgml:
9171           do *not* add tmpl/*.sgml files to CVS!
9172
9173 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9174
9175         * libs/gst/bytestream/.cvsignore:
9176         * libs/gst/bytestream/Makefile.am:
9177         * libs/gst/bytestream/adapter.c:
9178         * libs/gst/bytestream/adapter.h:
9179         * libs/gst/bytestream/bytestream.c:
9180         * libs/gst/bytestream/bytestream.h:
9181         * libs/gst/bytestream/filepad.c:
9182         * libs/gst/bytestream/filepad.h:
9183           removing obsolete files
9184
9185 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9186
9187         * docs/gst/gstreamer-docs.sgml:
9188         * docs/libs/gstreamer-libs-docs.sgml:
9189           disabed additional index entries again, as this makes docs-gen just
9190           slow and they aren't useful yet
9191         * docs/libs/gstreamer-libs-sections.txt:
9192           little -section.txt cleanup for libs
9193
9194 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9195
9196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9197         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
9198           fix up some debugging
9199         (gst_base_transform_get_unit_size),
9200         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9201         (gst_base_transform_handle_buffer):
9202         * gst/base/gstbasetransform.h:
9203           handle and store timed NEWSEGMENT events so that subclasses that
9204           calculate time by counting samples have a segment_start time they
9205           need to add to their timestamps - see audioresample
9206
9207 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9208
9209         * gst/gstbin.h:
9210           removed ';' from the end of macro defs
9211         * docs/gst/gstreamer-docs.sgml:
9212         * docs/gst/gstreamer-sections.txt:
9213         * docs/gst/tmpl/.cvsignore:
9214         * gst/gstbus.h:
9215         * gst/gstelement.c: (gst_element_class_init),
9216         (gst_element_set_state), (activate_pads),
9217         (gst_element_save_thyself):
9218         * gst/gstevent.c: (gst_event_new_newsegment):
9219         * gst/gstevent.h:
9220         * gst/gstiterator.c:
9221         * gst/gstiterator.h:
9222         * gst/gstpad.c:
9223         * gst/gstprobe.h:
9224         * gst/gstutils.c: (gst_pad_query_convert):
9225         * gst/gstutils.h:
9226           fixed parameter name mismatches between source, header and docs
9227           added some more docs, resolved the last batch of unused elements in
9228           docs (now someone needs to doc them)
9229
9230 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9231
9232         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
9233         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
9234           don't walk through the plugins backwards.  Where is all this
9235           reversed logic coming from ?
9236
9237 2005-08-25  Wim Taymans  <wim@fluendo.com>
9238
9239         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9240         (gst_base_transform_transform_size),
9241         (gst_base_transform_configure_caps),
9242         (gst_base_transform_get_unit_size),
9243         (gst_base_transform_buffer_alloc),
9244         (gst_base_transform_change_state):
9245         * gst/base/gstbasetransform.h:
9246         Cache caps unit_size.
9247         Make sure we cannot negotiate up and downstream at the
9248         same time.
9249
9250 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9251
9252         * gst/gst.c: (init_pre), (init_post):
9253           register the installed plugin path after the env var
9254         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
9255         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
9256           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
9257           directories, so the tests can prefer uninstalled over installed
9258
9259 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9260
9261         * gst/base/gstbasetransform.h:
9262           comment
9263         * gst/gstpad.c:
9264           add to docs
9265
9266 2005-08-25  Wim Taymans  <wim@fluendo.com>
9267
9268         * gst/gstbin.c: (bin_bus_handler):
9269         Be a bit more conservative about the posted message.
9270         
9271         * gst/gstbus.c: (gst_bus_post):
9272         Some cleanups, warn wrong return values.
9273
9274 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
9275
9276         * check/gst/gstbin.c: (GST_START_TEST):
9277         * gst/gstbin.c: (bin_bus_handler):
9278         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9279         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9280         (gst_message_new_warning), (gst_message_new_tag),
9281         (gst_message_new_state_changed), (gst_message_new_segment_start),
9282         (gst_message_new_segment_done), (gst_message_new_custom):
9283         * gst/gstmessage.h:
9284         * tools/gst-launch.c: (event_loop):
9285         * tools/gst-md5sum.c: (event_loop):
9286           Revert unpopular change for GST_MESSAGE_SRC to GObject.
9287
9288 2005-08-25  Wim Taymans  <wim@fluendo.com>
9289
9290         * check/generic/states.c: (GST_START_TEST):
9291         Cleanup can be done at the end.
9292
9293         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
9294         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9295         (gst_task_get_state), (gst_task_start), (gst_task_pause):
9296         Oh boy.. Thanks for finding this, Thomas. 
9297
9298 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9299
9300         * docs/gst/gstreamer.types:
9301           added missing types
9302
9303 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9304
9305         * docs/gst/gstreamer-docs.sgml:
9306         * docs/gst/gstreamer-sections.txt:
9307         * docs/gst/tmpl/.cvsignore:
9308         * gst/gstbin.c:
9309         * gst/gstiterator.c:
9310         * gst/gstutils.c:
9311         * gst/registries/gstxmlregistry.h:
9312           added missing classes and symbols (123 more to go)
9313           removed removed symbols from section file
9314           fixed many doc-comments
9315
9316 2005-08-24  Wim Taymans  <wim@fluendo.com>
9317
9318         * check/generic/states.c: (GST_START_TEST):
9319         Make sure all tasks are stopped.
9320
9321         * check/gst/gstbin.c: (GST_START_TEST):
9322         Unref after usage for proper valgrinding.
9323
9324         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
9325         Really wait for the task to stop before destroying the
9326         mutex.
9327
9328         * gst/gstqueue.c: (gst_queue_sink_activate_push),
9329         (gst_queue_src_activate_push):
9330         Small cleanups. Don't stop the task when we did not start
9331         it.
9332
9333         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
9334         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9335         (gst_task_get_state), (gst_task_start), (gst_task_pause),
9336         (gst_task_join):
9337         * gst/gsttask.h:
9338         Protect the stream lock with the object lock.
9339         Disallow setting the stream lock when running.
9340         Add cleanup_all to wait for the threadpool to finish.
9341         Remove code to autoallocate a mutex if none was provided.
9342         Add _join() to wait for a task to stop.
9343         Protect the thread pool with a global lock.
9344
9345 2005-08-24  Wim Taymans  <wim@fluendo.com>
9346
9347         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9348         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9349         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
9350         * gst/base/gstbasesink.h:
9351         Handle newsegment events correctly.
9352         Drop buffers out of the segment range.
9353
9354 2005-08-22  Andy Wingo  <wingo@pobox.com>
9355
9356         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
9357         macro, implements an interface and gstimplementsinterface for a
9358         new type.
9359
9360 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * check/Makefile.am:
9363         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
9364           add a test that does a bunch of state changes on elements
9365           needs some fixing for valgrind
9366         * check/states/sinks.c: (gst_object_suite):
9367           whitespace
9368         * gst/gstcaps.h:
9369           add prototype for gst_caps_is_equal_fixed
9370         * gst/gstplugin.c:
9371         * gst/gstregistrypool.c:
9372           doc fixes
9373
9374 2005-08-24  Andy Wingo  <wingo@pobox.com>
9375
9376         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
9377         convert a negative value. Doesn't make much sense. Mostly this is
9378         here to force callers to ensure -1 maps to -1.
9379
9380 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9381
9382         * docs/pwg/advanced-types.xml:
9383           Well done to Michael for catching my deliberate introduction
9384           of this spelling mistake. 
9385         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
9386         * gst/gstelement.h:
9387           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
9388           unlink pads before removing the element from the bin.
9389
9390 2005-08-24  Andy Wingo  <wingo@pobox.com>
9391
9392         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
9393         the same thing as GST_DEBUG=*:4.
9394         (parse_debug_level, parse_debug_category): New helper parsers.
9395
9396 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9397
9398         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9399         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
9400         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
9401         (gst_base_transform_buffer_alloc),
9402         (gst_base_transform_handle_buffer):
9403           use gboolean return values and pointers to size so we can use the
9404           full GST_BUFFER_SIZE range (guint) for buffer sizes
9405           use GstPadDirection for transform_caps
9406         * gst/base/gstbasetransform.h:
9407           rename get_size to get_unit_size since that's what it is
9408         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
9409           use GstPadDirection for transform_caps
9410         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9411         * gst/gstutils.h:
9412           cleanup and debugging
9413
9414 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9415
9416         * gst/gstelement.c: (gst_element_class_init),
9417         (gst_element_set_state), (activate_pads),
9418         (gst_element_save_thyself):
9419         * tools/gst-compprep.c: (main):
9420         * tools/gst-inspect.c: (print_element_properties_info):
9421         * tools/gst-xmlinspect.c: (print_element_properties):
9422           Fixed long standing mem-leak
9423
9424 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9425
9426         * check/gst/gstbin.c: (GST_START_TEST):
9427         * gst/gstbin.c: (bin_bus_handler):
9428         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9429         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9430         (gst_message_new_warning), (gst_message_new_tag),
9431         (gst_message_new_state_changed), (gst_message_new_segment_start),
9432         (gst_message_new_segment_done), (gst_message_new_custom):
9433         * gst/gstmessage.h:
9434         * tools/gst-launch.c: (event_loop):
9435         * tools/gst-md5sum.c: (event_loop):
9436           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
9437           that applications can sensibly post custom messages with references
9438           to their own objects.
9439
9440 2005-08-24  Andy Wingo  <wingo@pobox.com>
9441
9442         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
9443         already.
9444
9445 2005-08-24  Wim Taymans  <wim@fluendo.com>
9446
9447         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9448         (gst_base_transform_transform_caps),
9449         (gst_base_transform_transform_size),
9450         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9451         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9452         (gst_base_transform_handle_buffer):
9453         * gst/base/gstbasetransform.h:
9454         Many fixes and new features added by Thomas. Can now also do
9455         transforms with variable sizes and a custom fixate_caps function.
9456
9457 2005-08-24  Wim Taymans  <wim@fluendo.com>
9458
9459         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9460         Some debugging.
9461
9462         * gst/gstclock.h:
9463         Cast to ClockTime before formatting to time.
9464
9465         * gst/gstutils.h:
9466         Cleanups.
9467
9468 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9469
9470         * check/gst-libs/controller.c: (GST_START_TEST),
9471         (gst_controller_suite):
9472         * docs/gst/tmpl/gstcaps.sgml:
9473         * docs/gst/tmpl/gstghostpad.sgml:
9474         * docs/gst/tmpl/gstquery.sgml:
9475         * docs/gst/tmpl/gstutils.sgml:
9476         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
9477         (gst_object_sink_values), (gst_object_get_value_arrays),
9478         (gst_object_get_value_array):
9479           gracefully handle helper method calls to objects that are not beeing
9480           controlled, added test case for that          
9481
9482 2005-08-23  Wim Taymans  <wim@fluendo.com>
9483
9484         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
9485         (gst_event_new_newsegment), (gst_event_parse_newsegment),
9486         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
9487         (gst_event_parse_qos), (gst_event_new_seek),
9488         (gst_event_parse_seek):
9489         * gst/gstevent.h:
9490         Some more debugging output and doc cleanups.
9491
9492         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9493         Fix possible deadlock.
9494
9495 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9496
9497         * docs/gst/gstreamer-docs.sgml:
9498         * docs/gst/gstreamer-sections.txt:
9499         * docs/gst/gstreamer.types:
9500         * docs/gst/tmpl/.cvsignore:
9501         * gst/gstbin.h:
9502         * gst/gstbus.c:
9503         * gst/gstelement.c:
9504         * gst/gstevent.h:
9505           added 100 symbols from gstreamer-unused.txt to the right sections
9506           fixed more broken comments
9507           added GstBus to docs
9508
9509 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9510
9511         * docs/gst/gstreamer-sections.txt:
9512         * docs/gst/tmpl/.cvsignore:
9513         * docs/gst/tmpl/gstbin.sgml:
9514         * docs/gst/tmpl/gstbuffer.sgml:
9515         * gst/base/gstbasesrc.c:
9516         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
9517         * gst/gstbuffer.c:
9518         * gst/gstbuffer.h:
9519         * tools/gst-launch.1.in:
9520           inlined more doc comments, added missing comments and fixed comments
9521           fixed typos
9522
9523 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9524
9525         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9526           some debugging
9527         * gst/gstcaps.h:
9528           whitespace fixes
9529         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
9530           more debugging
9531         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
9532         * gst/gststructure.h:
9533           add a fixate function for booleans; add a FIXME that these func
9534           names should probably be gst_structure_fixate_*
9535
9536 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9537
9538         * docs/gst/gstreamer-docs.sgml:
9539         * docs/gst/gstreamer-sections.txt:
9540         * gst/Makefile.am:
9541         * gst/gstbin.c: (gst_bin_get_type),
9542         (gst_bin_child_proxy_get_child_by_index),
9543         (gst_bin_child_proxy_get_children_count),
9544         (gst_bin_child_proxy_init):
9545         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9546         (gst_child_proxy_get_child_by_index),
9547         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
9548         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
9549         (gst_child_proxy_get), (gst_child_proxy_set_property),
9550         (gst_child_proxy_set_valist), (gst_child_proxy_set),
9551         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
9552         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
9553         * gst/gstchildproxy.h:
9554         * gst/parse/grammar.y:
9555         * tools/gst-inspect.c: (print_interfaces),
9556         (print_element_properties_info), (print_element_info):
9557           ported gstchildproxy over from 0.8
9558           ported gst-inspect fixes and enhancements over from 0.8
9559
9560 2005-08-22  Wim Taymans  <wim@fluendo.com>
9561
9562         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9563         (gst_base_transform_handle_buffer):
9564         Also call the transform function if we have ANY caps.
9565
9566         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
9567         Fix debug info.
9568
9569 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9570
9571         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
9572           Don't pretend to handle seek events if the source is not seekable
9573
9574 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9575
9576         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9577           Remove extra parameter to debug output
9578
9579         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9580         (gst_base_src_do_seek), (gst_base_src_activate_push):
9581           Fix seek event handling.
9582
9583         * gst/gstpipeline.c: (gst_pipeline_change_state):
9584         * gst/gstqueue.c: (gst_queue_handle_sink_event),
9585         (gst_queue_src_activate_push):
9586           Don't start the src pad task on FLUSH_STOP if the pad
9587           isn't linked.
9588           Debug changes.
9589
9590 2005-08-22  Wim Taymans  <wim@fluendo.com>
9591
9592         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9593         Added check for gst_static_caps_get() refcounting.
9594
9595 2005-08-22  Wim Taymans  <wim@fluendo.com>
9596
9597         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
9598         Make _static_caps_get() refcounting sane.
9599         
9600         * gst/gstelement.c: (gst_element_set_state):
9601         Add g_return_val_if_fail() to protect against segfaults.
9602
9603 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
9604
9605         * docs/gst/tmpl/gstevent.sgml:
9606         * gst/gstevent.c:
9607         * gst/gstevent.h:
9608           inlined remaining docs, added missing doc comments
9609
9610 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9611
9612         * check/gst/gstbin.c: (GST_START_TEST):
9613           since we don't know when preroll is done, use refcount range
9614           check for the sink
9615         * gst/check/gstcheck.h:
9616           add macro for checking refcount range
9617
9618 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9619
9620         * check/Makefile.am:
9621           clean up environment for when registry gets built versus
9622           when actual tests are run; valgrind seems to not report
9623           leaks if GST_PLUGIN_PATH is set to some specific values
9624         * check/gst/gstbin.c: (GST_START_TEST):
9625           add more refcounting checks; maybe this exposes a
9626           preroll lock bug ?
9627         * common/check.mak:
9628         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9629         * gst/check/gstcheck.h:
9630         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
9631         (gst_bin_change_state):
9632         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
9633           add/fix debugging/whitespace
9634
9635 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9636
9637         * check/gst/gstevent.c: (event_probe), (test_event),
9638         (GST_START_TEST):
9639          Er, don't call gst_bin_watch_for_state_change you idiot.
9640
9641 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9642
9643         * check/Makefile.am:
9644           Use CHECK_CFLAGS and CHECK_LIBS
9645         * check/gst/gstevent.c: (event_probe), (test_event),
9646         (GST_START_TEST):
9647           Don't leak events.
9648         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9649         (gst_base_src_start), (gst_base_src_stop),
9650         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9651         (gst_base_src_change_state):
9652           Sprinkle gst_base_src_stop liberally around error paths to fix
9653           problems reusing a source after failed state changes.
9654         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9655         (helper_find_suggest), (gst_type_find_helper):
9656           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
9657         * gst/gstevent.h:
9658         * docs/gst/tmpl/gstevent.sgml:
9659           Migrate part of the docs from the SGML file. Wait for ensonic to
9660           tell me how I did it wrong ;)
9661         * tools/gst-typefind.c: (main):
9662           Extra robustness to state changes between files.
9663
9664 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9665
9666         * check/Makefile.am:
9667           don't valgrind the controller test - it's leaking - Stefan, HELP
9668         * gst/check/gstcheck.c: (gst_check_message_error),
9669         (gst_check_chain_func), (gst_check_setup_element),
9670         (gst_check_teardown_element), (gst_check_setup_src_pad),
9671         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9672         (gst_check_teardown_sink_pad):
9673         * gst/check/gstcheck.h:
9674           add a bunch of methods to set up elements, and src and sink pads
9675         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
9676         * check/elements/identity.c: (setup_identity), (cleanup_identity),
9677         (GST_START_TEST):
9678           use them
9679         * gst/gstmessage.c:
9680         * gst/gsttag.h:
9681           whitespace/doc fixes
9682
9683 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9684
9685         * gst/gstelement.h:
9686           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
9687           be handled by the application and not always printed as well
9688
9689 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9690
9691         * check/Makefile.am:
9692           set GST_TOOLS_DIR
9693         * gst/check/gstcheck.c: (gst_check_message_error):
9694         * gst/check/gstcheck.h:
9695           add a fail_unless_equals_int
9696           add fail_unless for error messages
9697
9698 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9699
9700         * check/Makefile.am:
9701         * check/gst.supp:
9702         * common/Makefile.am:
9703         * common/check.mak:
9704         * common/gst.supp:
9705           factor out some of the common stuff so we can use it
9706
9707 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9708
9709         * check/Makefile.am:
9710         * check/gst/gstiterator.c: (GST_START_TEST):
9711         * check/gst/gstsystemclock.c: (GST_START_TEST),
9712         (gst_systemclock_suite):
9713         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9714         * gst/gstclock.c:
9715           valgrind more tests
9716
9717 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9718
9719         * check/elements/.cvsignore:
9720         * check/elements/gstfakesrc.c:
9721           rename to name of element
9722         * check/elements/identity.c: (chain_func), (event_func),
9723         (setup_identity), (cleanup_identity), (GST_START_TEST),
9724         (identity_suite), (main):
9725           add a test for identity
9726         * check/Makefile.am:
9727         * pkgconfig/Makefile.am:
9728         * pkgconfig/gstreamer-check.pc.in:
9729         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9730         * gst/check:
9731         * gst/Makefile.am:
9732         * configure.ac:
9733           move the check stuff to a library that gets installed
9734         * check/gst-libs/controller.c: (GST_START_TEST):
9735         * check/gst-libs/gdp.c:
9736         * check/gst/gst.c: (GST_START_TEST):
9737         * check/gst/gstbin.c:
9738         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9739         * check/gst/gstbus.c:
9740         * check/gst/gstcaps.c: (GST_START_TEST):
9741         * check/gst/gstelement.c:
9742         * check/gst/gstghostpad.c:
9743         * check/gst/gstiterator.c:
9744         * check/gst/gstmessage.c:
9745         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9746         * check/gst/gstobject.c:
9747         * check/gst/gstpad.c: (GST_START_TEST):
9748         * check/gst/gststructure.c: (GST_START_TEST):
9749         * check/gst/gstsystemclock.c: (GST_START_TEST),
9750         (gst_systemclock_suite):
9751         * check/gst/gsttag.c: (gst_tag_suite):
9752         * check/gst/gstvalue.c:
9753         * check/pipelines/cleanup.c:
9754         * check/pipelines/simple_launch_lines.c:
9755         * check/states/sinks.c:
9756           change include statement
9757
9758         * docs/gst/gstreamer-sections.txt:
9759         * docs/gst/tmpl/gstpad.sgml:
9760           document more pad stuff
9761         * gst/gstminiobject.c: (gst_mini_object_ref),
9762         (gst_mini_object_unref):
9763           debug refcounting
9764
9765 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9766
9767         * docs/gst/tmpl/gst.sgml:
9768         * gst/gst.c:
9769           eliminate another tmpl file, fix spelling in the long-description
9770
9771 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9772
9773         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9774         (test_event), (timediff), (gstevents_suite):
9775           Should fix build on 64-bit arch's
9776
9777 2005-08-18  Andy Wingo  <wingo@pobox.com>
9778
9779         Make sure that when a pipeline goes to PLAYING, that data has
9780         actually hit the sink.
9781
9782         * check/states/sinks.c (test_sink): A sink that doesn't get any
9783         data shouldn't return SUCCESS for going to either PLAYING or
9784         PAUSED. Test also the return values on the way back down.
9785
9786         * gst/gstelement.c (gst_element_set_state): When changing the
9787         state of an element currently changing state asynchronously, go to
9788         lost-state after commiting the pending state. Makes future calls
9789         to get_state continue to return ASYNC.
9790
9791         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9792         ASYNC when going to PLAYING if we still don't have preroll, as can
9793         happen with live sources.
9794
9795 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9796
9797         * docs/pwg/advanced-types.xml:
9798           Hack long paragraph into 2 chunks as a workaround for buggy
9799           jadetex version in sid and breezy that loops infinitely and
9800           eats all RAM.
9801
9802 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9803
9804         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9805         (test_event), (timediff), (gstevents_suite):
9806           Provide more error margin in clock measurements to allow for 
9807           g_get_current_time inaccuracies.
9808
9809 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9810
9811         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9812         (test_event), (timediff), (gstevents_suite):
9813            Fix error message output so I might be able to tell why the
9814            test works here but fails on the build farm.
9815
9816 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9817
9818         * check/Makefile.am:
9819         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9820         (test_event), (timediff), (gstevents_suite), (main):
9821           I wrote a test!
9822
9823         * docs/design/part-seeking.txt:
9824           Spelling correction
9825
9826         * docs/gst/tmpl/gstevent.sgml:
9827         * docs/gst/tmpl/gstfakesrc.sgml:
9828           Docs updates.
9829
9830         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9831           Treat a buffer-without-newsegment the same as a receiving 
9832           a newsegment not in time format, and disable syncing to the clock
9833           with a warning.
9834
9835         * gst/gstbus.c: (gst_bus_set_sync_handler):
9836           Assert if anyone tries to replace the existing sync_handler for bus, 
9837           as only the owner should be setting it.
9838
9839         * gst/gstevent.h:
9840           Have a fixed set of custom event enums with events identified by
9841           their structure name (as in 0.8), rather than a free-for-all
9842           allowing collisions between enum values from different plugins.
9843
9844         * gst/gstpad.c: (gst_pad_class_init):
9845           Docs change.
9846           
9847         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9848           Handle out-of-band downstream events from the sending thread.
9849
9850 2005-08-17  Andy Wingo  <wingo@pobox.com>
9851
9852         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9853         play-timeout==0 to mean no timeout at all. In that case, don't
9854         bother with a get_state or a warning, just return directly, even
9855         if it's ASYNC.
9856
9857         * gst/base/gstbasetransform.c: Debug changes.
9858
9859         * gst/gstutils.h:
9860         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9861         ensure bins post state change messages. A bit of a hack but I can't
9862         think of a way to avoid it.
9863
9864         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9865
9866 2005-08-16  Andy Wingo  <wingo@pobox.com>
9867
9868         * gst/base/gstadapter.h:
9869         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9870         peek() but you own the data. Not terribly efficient atm.
9871
9872 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9873
9874         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9875         (gst_element_found_tags):
9876         * gst/gstutils.h:
9877           Add two utility functions for tag handling.
9878
9879 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9880
9881         * docs/manual/advanced-dataaccess.xml:
9882         * docs/manual/basics-helloworld.xml:
9883           Fix docs to use _bin_add() before _link(), which fixes the examples
9884           with recent core versions (reported by Madhan Raj M
9885           <raj_madan@rediffmail.com>, #313199).
9886
9887 2005-08-16  Wim Taymans  <wim@fluendo.com>
9888
9889         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9890         Added subtract checks.
9891
9892         * docs/design/part-events.txt:
9893         Some more docs about newsegment
9894
9895         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9896         Fix FIXME
9897
9898         * gst/gstcaps.c: (gst_caps_to_string):
9899         Add comments, cleanups.
9900         
9901         * gst/gstelement.c: (gst_element_save_thyself):
9902         cleanups
9903         
9904         * gst/gstvalue.c: (gst_value_collect_int_range),
9905         (gst_string_unwrap), (gst_value_union_int_int_range),
9906         (gst_value_union_int_range_int_range),
9907         (gst_value_intersect_int_int_range),
9908         (gst_value_intersect_int_range_int_range),
9909         (gst_value_intersect_double_double_range),
9910         (gst_value_intersect_double_range_double_range),
9911         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9912         (gst_value_subtract_int_range_int),
9913         (gst_value_subtract_double_range_double),
9914         (gst_value_subtract_double_range_double_range),
9915         (gst_value_subtract_from_list), (gst_value_subtract_list),
9916         (gst_value_can_compare), (gst_value_compare_fraction):
9917         Cleanups, add comments, remove unneeded asserts.
9918
9919 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9920
9921         * tools/gst-launch.c: (event_loop):
9922           don't convert NULL structures to strings
9923
9924 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9925
9926         * docs/gst/gstreamer-sections.txt:
9927           made some defines private
9928         * docs/gst/tmpl/gstconfig.sgml:
9929         * docs/gst/tmpl/gstqueue.sgml:
9930         * docs/gst/tmpl/gsttaglist.sgml:
9931         * docs/gst/tmpl/gsttypes.sgml:
9932         * docs/gst/tmpl/gstutils.sgml:
9933         * docs/pwg/appendix-porting.xml:
9934         * gst/base/gstbasesink.h:
9935         * gst/base/gstbasesrc.c:
9936         * gst/base/gstbasesrc.h:
9937         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9938         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9939         * gst/gstelement.c: (gst_element_class_init):
9940         * gst/gstpad.c: (gst_pad_class_init):
9941         * gst/gstqueue.c: (gst_queue_class_init):
9942         * gst/gstxml.c: (gst_xml_class_init):
9943           documented all undocumented signal inline
9944         * libs/gst/controller/gst-controller.h:
9945           added padding
9946
9947 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9948
9949         * docs/pwg/appendix-porting.xml:
9950           Document _set_link_function -> _set_setcaps_function.
9951
9952 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9953
9954         * check/Makefile.am:
9955           add a .check target for running the check
9956         * check/gst-libs/controller.c: (GST_START_TEST):
9957           cosmetic fixups
9958         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9959           complete checks for gstbuffer; would be nice if I could get the
9960           gcov stuff to work so I can see if I actually completed gstbuffer.c
9961         * check/gstcheck.h:
9962           add ASSERT_BUFFER_REFCOUNT
9963
9964 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9965
9966         * docs/gst/gstreamer-sections.txt:
9967         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9968         * gst/gsttag.h:
9969           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9970           spew out a warning if a tag that is already registered
9971           is re-registered, unless it is re-registered with a 
9972           different type (#308438).
9973
9974 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9975
9976         * docs/pwg/appendix-porting.xml:
9977         * docs/pwg/building-state.xml:
9978           Add some paragraphs about state changes in 0.9 to the PWG
9979           and the porting guide, in particular about the new meaning
9980           of GST_STATE_PAUSED and how to write state change functions
9981           with concurrent access by multiple threads in mind.
9982
9983 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9984
9985         * docs/gst/gstreamer-docs.sgml:
9986         * docs/libs/gstreamer-libs-docs.sgml:
9987           added deprecation and since indexes
9988         * libs/gst/controller/gst-controller.c:
9989         * libs/gst/controller/gst-helper.c:
9990           added since tags
9991
9992
9993 2005-08-11  Wim Taymans  <wim@fluendo.com>
9994
9995         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9996         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9997         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9998         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9999         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
10000         (gst_ghost_pad_set_target):
10001         Actually implement (re)setting the target on a ghostpad
10002         as described in the docs.
10003
10004 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
10005
10006         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
10007           Check whether GST_DEBUG_NO_COLOR environment variable is
10008           set and disable coloured debug output if that is the case.
10009
10010 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
10011
10012         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10013         (gst_type_find_helper):
10014           The memory returned by gst_type_find_peek() needs to
10015           stay valid until the end of a typefind function, and
10016           typefind functions may keep results from different 
10017           offsets around, so we can't just unref the buffer from
10018           the previous _peek(), but have to save all buffers 
10019           returned by _peek() until typefinding is done and only
10020           free them then.
10021
10022 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
10023
10024         * docs/gst/gstreamer-sections.txt:
10025         * gst/gstutils.h:
10026           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
10027
10028 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10029
10030         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10031           Fix a pretty good memleak.
10032
10033 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10034
10035         * gst/gstiterator.h:
10036           Fix wrong include and 'make distcheck'.
10037
10038 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10039
10040         * gst/gstbin.c: (bin_bus_handler):
10041           Use gst_element_post_message() instead.
10042
10043 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10044
10045         * gst/base/gstadapter.h:
10046         * gst/base/gstbasesink.h:
10047         * gst/base/gstbasesrc.h:
10048         * gst/base/gstbasetransform.h:
10049         * gst/base/gstcollectpads.h:
10050         * gst/base/gstpushsrc.h:
10051         * gst/gstiterator.h:
10052           Add padding to our base elements' class and instance structs and
10053           to GstIterator (you will need to rebuild all plugins and apps!)
10054
10055 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10056
10057         * gst/gstbin.c: (bin_bus_handler):
10058           Make default message forwarding from child->bus to bin->bus
10059           threadsafe and make it not emit warnings if the parent has no bus.
10060
10061 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10062
10063         * gst/gstelement.c: (activate_pads):
10064           On paused->ready, set pad->caps to NULL, as is the documented
10065           behaviour in this state change. Fixes playback of series of
10066           media files when visualization is enabled in Totem.
10067
10068 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10069
10070         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10071           Allow NULL as filter-caps (which means "any").
10072
10073 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10074
10075         * docs/libs/gstreamer-libs-sections.txt:
10076         * libs/gst/controller/gst-controller.c:
10077         * libs/gst/controller/gst-controller.h:
10078         * libs/gst/controller/gst-helper.c:
10079           adding more entries to the docs and fix small doc-bugs
10080
10081 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10082
10083         * docs/gst/gstreamer-docs.sgml:
10084         * docs/gst/gstreamer-sections.txt:
10085         * docs/gst/gstreamer.types:
10086         * docs/gst/tmpl/gstbasesink.sgml:
10087         * docs/gst/tmpl/gstbasesrc.sgml:
10088         * docs/gst/tmpl/gstbasetransform.sgml:
10089         * docs/gst/tmpl/gstfakesrc.sgml:
10090         * gst/base/gstcollectpads.c:
10091         * gst/base/gstcollectpads.h:
10092         * libs/gst/controller/gst-controller.c:
10093         * libs/gst/controller/gst-controller.h:
10094         * libs/gst/controller/gst-helper.c:
10095         * libs/gst/controller/gst-interpolation.c:
10096         * libs/gst/controller/lib.c:
10097           added long/short desc for controller docs
10098           added collectpads base class docs
10099           added correct includes to base-class docs
10100
10101 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10102
10103         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10104         (gst_test_mono_source_set_property),
10105         (gst_test_mono_source_class_init), (GST_START_TEST),
10106         (gst_controller_suite):
10107         * docs/gst/gstreamer-docs.sgml:
10108         * docs/gst/gstreamer-sections.txt:
10109         * docs/gst/gstreamer.types:
10110         * docs/libs/gstreamer-libs-docs.sgml:
10111         * docs/libs/gstreamer-libs-sections.txt:
10112         * gst/base/gstadapter.c:
10113         * libs/gst/controller/gst-controller.c:
10114         (gst_controlled_property_new), (gst_controlled_property_free),
10115         (gst_controller_new_valist),
10116         (gst_controller_remove_properties_valist),
10117         (gst_controller_sink_values), (_gst_controller_finalize):
10118         * libs/gst/controller/gst-controller.h:
10119         * libs/gst/controller/gst-helper.c:
10120         (gst_object_control_properties), (gst_object_uncontrol_properties),
10121         (gst_object_get_controller), (gst_object_set_controller),
10122         (gst_object_sink_values), (gst_object_get_value_arrays),
10123         (gst_object_get_value_array):
10124           more tests (and fixes) for the controller
10125           more docs for the controller
10126           integrated companies docs for the adapter 
10127
10128 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10129
10130         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
10131         (GST_START_TEST), (fakesrc_suite):
10132           add tests for sizetype
10133
10134 2005-08-04  Andy Wingo  <wingo@pobox.com>
10135
10136         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
10137         fixes buffer_alloc proxying among other things.
10138
10139         * gst/base/gstbasetransform.c:
10140         * gst/base/gstbasetransform.h:
10141         Revert patch to gstbasetransform from 7-28 removing
10142         delay_configure.
10143
10144         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
10145         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
10146         Semantics changed, should return not the size of the output buffer
10147         but the byte size of a buffer with a given caps.
10148
10149         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
10150         debug object.
10151         (gst_base_transform_configure_caps): Don't set out_size here: (in,
10152         out) are not the pad caps until setcaps finishes.
10153         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
10154         not-in-place case as well. Deal with changing from in-place to
10155         not-in-place within calling pad_alloc_buffer. Still a bit
10156         concerned about the overhead here...
10157
10158 2005-08-03  Andy Wingo  <wingo@pobox.com>
10159
10160         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
10161         fixating is an error.
10162
10163 2005-08-04  Edward Hervey  <edward@fluendo.com>
10164
10165         * gst/base/gstadapter.h: 
10166         Added gst_adapter_get_type() to the header
10167
10168 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10169
10170         * check/Makefile.am:
10171         * check/gst-libs/controller.c:
10172         * libs/gst/controller/gst-controller.c:
10173         (gst_controller_new_valist):
10174           added check test suite for the controller
10175         * gst/base/gstpushsrc.c:
10176           fixed a doc typo
10177
10178 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10179
10180         * docs/gst/Makefile.am:
10181         * docs/gst/gstreamer-docs.sgml:
10182         * docs/gst/gstreamer-sections.txt:
10183         * docs/gst/gstreamer.types:
10184         * docs/gst/tmpl/gstfakesrc.sgml:
10185         * gst/base/README:
10186         * gst/base/gstbasesink.c:
10187         * gst/base/gstbasesink.h:
10188         * gst/base/gstbasesrc.c:
10189         * gst/base/gstbasesrc.h:
10190         * gst/base/gstbasetransform.c:
10191         * gst/base/gstpushsrc.c:
10192         * gst/base/gstpushsrc.h:
10193           add short/long description docs to base classes
10194           add pushsrc to the docs
10195           remove consolidated doc fragments
10196
10197 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10198
10199         * configure.ac:
10200         * docs/libs/Makefile.am:
10201         * docs/libs/gstreamer-libs-docs.sgml:
10202         * docs/libs/gstreamer-libs-sections.txt:
10203         * docs/libs/gstreamer-libs.types:
10204         * examples/Makefile.am:
10205         * examples/controller/.cvsignore:
10206         * examples/controller/Makefile.am:
10207         * examples/controller/audio-example.c: (main):
10208         * libs/gst/Makefile.am:
10209         * libs/gst/controller/.cvsignore:
10210         * libs/gst/controller/Makefile.am:
10211         * libs/gst/controller/gst-controller.c:
10212         (on_object_controlled_property_changed), (gst_timed_value_compare),
10213         (gst_timed_value_find),
10214         (gst_controlled_property_set_interpolation_mode),
10215         (gst_controlled_property_new), (gst_controlled_property_free),
10216         (gst_controller_find_controlled_property),
10217         (gst_controller_new_valist), (gst_controller_new),
10218         (gst_controller_remove_properties_valist),
10219         (gst_controller_remove_properties), (gst_controller_set),
10220         (gst_controller_set_from_list), (gst_controller_unset),
10221         (gst_controller_get), (gst_controller_get_all),
10222         (gst_controller_sink_values), (gst_controller_get_value_arrays),
10223         (gst_controller_get_value_array),
10224         (gst_controller_set_interpolation_mode),
10225         (_gst_controller_finalize), (_gst_controller_init),
10226         (_gst_controller_class_init), (gst_controller_get_type):
10227         * libs/gst/controller/gst-controller.h:
10228         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
10229         (g_object_uncontrol_properties), (g_object_get_controller),
10230         (g_object_set_controller), (g_object_sink_values),
10231         (g_object_get_value_arrays), (g_object_get_value_array):
10232         * libs/gst/controller/gst-interpolation.c:
10233         (gst_controlled_property_find_timed_value_node),
10234         (interpolate_none_get), (interpolate_trigger_get),
10235         (interpolate_trigger_get_value_array):
10236         * libs/gst/controller/lib.c: (gst_controller_init):
10237         * pkgconfig/Makefile.am:
10238         * pkgconfig/gstreamer-control-uninstalled.pc.in:
10239         * pkgconfig/gstreamer-control.pc.in:
10240         * testsuite/Makefile.am:
10241         * testsuite/controller/.cvsignore:
10242         * testsuite/controller/Makefile.am:
10243         * testsuite/controller/interpolator.c: (main):
10244           added controller code
10245           removed dparam pc files
10246
10247 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10248         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
10249         (gst_collectpads_stop):
10250           Broadcast the condition when shutting down, to make sure we wake all
10251           threads up. Shut down pads on finalize, for safety.
10252
10253 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10254         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10255         (gst_base_transform_handle_buffer),
10256         (gst_base_transform_change_state):
10257           Handle PAUSED->READY->PAUSED transition after negotiation
10258           occurred already.
10259         * gst/gstmessage.c: (gst_message_init):
10260           Extra piece of debug for new messages.
10261
10262 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
10263
10264         * configure.ac:
10265         * docs/gst/tmpl/gstbasesrc.sgml:
10266         * docs/gst/tmpl/gstelement.sgml:
10267         * docs/gst/tmpl/gstevent.sgml:
10268         * docs/gst/tmpl/gstfakesrc.sgml:
10269         * docs/gst/tmpl/gstformat.sgml:
10270         * docs/gst/tmpl/gstghostpad.sgml:
10271         * docs/gst/tmpl/gstpad.sgml:
10272         * docs/gst/tmpl/gstquery.sgml:
10273         * docs/gst/tmpl/gststructure.sgml:
10274         * docs/gst/tmpl/gsttaglist.sgml:
10275         * docs/gst/tmpl/gstvalue.sgml:
10276         * docs/libs/gstreamer-libs-docs.sgml:
10277         * docs/libs/gstreamer-libs-sections.txt:
10278         * docs/libs/gstreamer-libs.types:
10279         * libs/gst/Makefile.am:
10280         * libs/gst/control/.cvsignore:
10281         * libs/gst/control/Makefile.am:
10282         * libs/gst/control/control.c:
10283         * libs/gst/control/control.h:
10284         * libs/gst/control/dparam.c:
10285         * libs/gst/control/dparam.h:
10286         * libs/gst/control/dparam_smooth.c:
10287         * libs/gst/control/dparam_smooth.h:
10288         * libs/gst/control/dparamcommon.h:
10289         * libs/gst/control/dparammanager.c:
10290         * libs/gst/control/dparammanager.h:
10291         * libs/gst/control/dplinearinterp.c:
10292         * libs/gst/control/dplinearinterp.h:
10293         * libs/gst/control/unitconvert.c:
10294         * libs/gst/control/unitconvert.h:
10295         * testsuite/Makefile.am:
10296         * testsuite/dynparams/.cvsignore:
10297         * testsuite/dynparams/Makefile.am:
10298         * testsuite/dynparams/dparamstest.c:
10299         * tools/Makefile.am:
10300         * tools/gst-inspect.c: (print_element_info), (main):
10301         * tools/gst-xmlinspect.c: (print_element_info), (main):
10302           deactivate and remove dparams (libgstcontrol)
10303
10304 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10305
10306         * gst/elements/gsttypefindelement.c:
10307         (gst_type_find_element_have_type), (gst_type_find_element_init),
10308         (stop_typefinding), (gst_type_find_element_handle_event),
10309         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10310         * gst/elements/gsttypefindelement.h:
10311           Set caps on all outgoing buffers, not just the first one.
10312
10313 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10314
10315         * gst/elements/gsttypefindelement.c:
10316         (gst_type_find_element_have_type),
10317         (gst_type_find_element_check_set_buffer_caps),
10318         (gst_type_find_element_init), (stop_typefinding),
10319         (gst_type_find_element_handle_event),
10320         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10321         * gst/elements/gsttypefindelement.h:
10322           Set caps on first outgoing buffer when we've found the type.
10323
10324 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10325
10326         * docs/gst/gstreamer-docs.sgml:
10327         * docs/gst/gstreamer-sections.txt:
10328         * docs/gst/tmpl/gstscheduler.sgml:
10329         * docs/gst/tmpl/gstschedulerfactory.sgml:
10330           Remove some old cruft from docs.
10331
10332 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
10333
10334         * gst/gstpad.h:
10335           Fix inline docs for GstPadLinkReturn.
10336           
10337         * gst/gststructure.c: (gst_structure_has_name):
10338         * gst/gststructure.h:
10339         * docs/gst/gstreamer-sections.txt:
10340           New API: gst_structure_has_name().
10341
10342 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
10343
10344         * configure.ac:
10345           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
10346           and _LARGEFILE_SOURCE in config.h as required. Do not 
10347           export those flags in our .pc files any longer (#142209).
10348
10349           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
10350
10351         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
10352         (gst_file_sink_do_seek), (gst_file_sink_event),
10353         (gst_file_sink_get_current_offset), (gst_file_sink_render):
10354           Redo seek/tell calls with large file support in mind; add some
10355           debugging messages; add log message that tells us when large
10356           file support is unavailable or not enabled for some reason.
10357
10358         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
10359           Add log message that tells us when large file support 
10360           is unavailable or not enabled for some reason.
10361
10362 2005-07-29  Wim Taymans  <wim@fluendo.com>
10363
10364         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10365         Added test for removing an element with ghostpad from a bin.
10366         Fixed test as current implementation does the right thing.
10367
10368         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
10369         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
10370         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
10371         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
10372         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
10373         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10374         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10375         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10376         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
10377         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
10378         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
10379         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
10380         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10381         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
10382         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
10383         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10384         * gst/gstghostpad.h:
10385         Clean up ghostpads, remove properties for internal stuff.
10386         Make threadsafe.
10387         Fix refcounting.
10388         Prepare for switching targets, not all use cases work yet.
10389
10390 2005-07-29  Wim Taymans  <wim@fluendo.com>
10391
10392         * docs/design/part-gstghostpad.txt:
10393         Small update.
10394
10395         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10396         (gst_bin_remove_func):
10397         Unlinking pads while holding the bin LOCK is not a good
10398         idea.
10399
10400         * gst/gstpad.c: (gst_pad_class_init),
10401         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
10402         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
10403         No prob setting template after creating the pad.
10404
10405 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
10406
10407         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
10408         (gst_bus_peek), (gst_bus_source_dispatch),
10409         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
10410         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
10411           gst_bus_poll may be called from other threads. Handle
10412           this nicely by not making poll_data disappear off the
10413           stack once gst_bus_poll returns.
10414           gst_bus_peek now increments the refcount on the returned
10415           message.
10416
10417 2005-07-29  Wim Taymans  <wim@fluendo.com>
10418
10419         * docs/design/part-gstghostpad.txt:
10420         Overview of current GhostPad datastructures and use
10421         cases for changing the target.
10422
10423 2005-07-28  Wim Taymans  <wim@fluendo.com>
10424
10425         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10426         Added checks for hierarchy consistency whan adding linked
10427         elements to bins.
10428
10429         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10430         Added check to test element scheduling without bin/pipeline.
10431
10432         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10433         First add elements to bin, then link.
10434         
10435         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10436         (gst_bin_remove_func):
10437         Unlink pads from elements added/removed from bin to maintain
10438         hierarchy consistency.
10439
10440 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10441
10442         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10443         (gst_base_transform_handle_buffer):
10444         * gst/base/gstbasetransform.h:
10445           Remove broken delay_configure (fixes renegotiation of software
10446           scaling pipelines); remove some leftover printf()s.
10447
10448 2005-07-28  Wim Taymans  <wim@fluendo.com>
10449
10450         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10451         Added some more tests for wrong hierarchy
10452
10453         * docs/design/part-overview.txt:
10454         Some updates.
10455
10456         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
10457         Cleanups.
10458
10459         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
10460         (gst_element_dispose):
10461         Some more cleanups.
10462
10463         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10464         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
10465         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10466         (gst_pad_set_caps), (gst_pad_send_event):
10467         Check for correct hierarchy when linking pads. Moving to
10468         strict requirement for ghostpads when linking elements in
10469         different bins.
10470
10471         * gst/gstpad.h:
10472         Clean ups. Added WRONG_HIERARCHY return value.
10473
10474 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10475
10476         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10477           Better debug if no transform is possible.
10478
10479 2005-07-27  Wim Taymans  <wim@fluendo.com>
10480
10481         * docs/random/wtay/network-transp:
10482         Some old doc I had.
10483
10484 2005-07-27  Wim Taymans  <wim@fluendo.com>
10485
10486         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10487         (gst_dp_event_from_packet):
10488         Fix serialization of seek events.
10489
10490 2005-07-27  Wim Taymans  <wim@fluendo.com>
10491
10492         * check/gst-libs/gdp.c: (GST_START_TEST):
10493         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10494         Fix compilation and fix event serialization.
10495
10496 2005-07-27  Wim Taymans  <wim@fluendo.com>
10497
10498         * CHANGES-0.9:
10499         * docs/design/part-TODO.txt:
10500         * docs/design/part-events.txt:
10501         Some docs updates
10502
10503         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10504         (gst_base_sink_event), (gst_base_sink_do_sync),
10505         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10506         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10507         (gst_base_src_do_seek), (gst_base_src_event_handler),
10508         (gst_base_src_loop):
10509         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10510         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10511         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10512         (gst_base_transform_event), (gst_base_transform_handle_buffer),
10513         (gst_base_transform_set_passthrough),
10514         (gst_base_transform_is_passthrough):
10515         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10516         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10517         Event updates.
10518
10519         * gst/gstbuffer.h:
10520         Use faster casts.
10521
10522         * gst/gstelement.c: (gst_element_seek):
10523         * gst/gstelement.h:
10524         Update gst_element_seek.
10525
10526         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
10527         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
10528         (gst_event_new_flush_start), (gst_event_new_flush_stop),
10529         (gst_event_new_eos), (gst_event_new_newsegment),
10530         (gst_event_parse_newsegment), (gst_event_new_tag),
10531         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
10532         (gst_event_parse_qos), (gst_event_new_seek),
10533         (gst_event_parse_seek), (gst_event_new_navigation):
10534         * gst/gstevent.h:
10535         Make GstEvent use GstStructure. Add parsing code, make sure the
10536         API is sufficiently generic.
10537         Mark possible directions of events and serialization.
10538
10539         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
10540         (_gst_message_copy), (gst_message_new_segment_start),
10541         (gst_message_new_segment_done), (gst_message_new_custom),
10542         (gst_message_parse_segment_start),
10543         (gst_message_parse_segment_done):
10544         Small cleanups.
10545
10546         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10547         (gst_pad_set_caps), (gst_pad_send_event):
10548         Update for new events. 
10549         Catch events sent in wrong directions.
10550
10551         * gst/gstqueue.c: (gst_queue_link_src),
10552         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10553         (gst_queue_handle_src_query):
10554         Event updates.
10555
10556         * gst/gsttag.c:
10557         * gst/gsttag.h:
10558         Remove event code from this file.
10559
10560         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10561         (gst_dp_event_from_packet):
10562         Event updates.
10563
10564 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10565
10566         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
10567         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10568         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
10569           Make debugging actually useful.
10570
10571 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10572
10573         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
10574         (gst_pad_fixate_caps):
10575           Implement default fixation once again, so that gst_pad_fixate()
10576           actually does anything at all. This probably needs to be some
10577           sort of a last resort, and use profile-based fixation first, but
10578           since that doesn't exist yet, this is the best we have. Fixes
10579           visualization in Totem.
10580
10581 2005-07-22  Wim Taymans  <wim@fluendo.com>
10582
10583         * docs/design/part-events.txt:
10584         Small update.
10585
10586         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10587         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
10588         (gst_base_sink_activate_pull):
10589         Some more comments.
10590
10591         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
10592         (gst_fake_src_create):
10593         Fix handoff marshall.
10594
10595         * gst/elements/gstidentity.c: (gst_identity_class_init),
10596         (gst_identity_transform_ip):
10597         We're a real inplace element.
10598
10599         * gst/gstbus.c: (gst_bus_post):
10600         Added some comments.
10601
10602         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
10603         * tests/muxing/case1.c: (main):
10604         * tests/sched/dynamic-pipeline.c: (main):
10605         * tests/sched/interrupt1.c: (main):
10606         * tests/sched/interrupt2.c: (main):
10607         * tests/sched/interrupt3.c: (main):
10608         * tests/sched/runxml.c: (main):
10609         * tests/sched/sched-stress.c: (main):
10610         * tests/seeking/seeking1.c: (event_received), (main):
10611         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10612         (main):
10613         * tests/threadstate/threadstate3.c: (main):
10614         * tests/threadstate/threadstate4.c: (main):
10615         * tests/threadstate/threadstate5.c: (main):
10616         Fix the tests.
10617
10618 2005-07-21  Wim Taymans  <wim@fluendo.com>
10619
10620         * docs/design/part-seeking.txt:
10621         Some small additions.
10622
10623         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10624         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10625         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10626         * gst/base/gstbasesink.h:
10627         discont values are gint64, handle the math correctly.
10628
10629         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10630         Make the basesrc report error if the source pad is not linked.
10631
10632         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10633         (gst_queue_loop), (gst_queue_handle_src_query),
10634         (gst_queue_src_activate_push):
10635         Make queue collect data even if the srcpad is not linked.
10636         Start pushing out data as soon as it is linked.
10637
10638         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
10639         * gst/gstutils.h:
10640         Added gst_flow_get_name() to ease error reporting.
10641
10642 2005-07-20  Wim Taymans  <wim@fluendo.com>
10643
10644         * gst/gstmessage.c: (gst_message_new_segment_start),
10645         (gst_message_new_segment_done), (gst_message_parse_segment_start),
10646         (gst_message_parse_segment_done):
10647         * gst/gstmessage.h:
10648         Added a bunch of messages for advanced seeking.
10649
10650         * gst/parse/grammar.y:
10651         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
10652         (gst_dpman_state_changed):
10653         Fix some new-pad -> pad-added signals
10654
10655 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10656
10657         * docs/manual/appendix-porting.xml:
10658         * docs/pwg/appendix-porting.xml:
10659           Document new-pad/state-change signal renames and the FixedList
10660           type rename.
10661
10662 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10663
10664         * docs/manual/advanced-autoplugging.xml:
10665         * docs/manual/basics-helloworld.xml:
10666         * docs/manual/basics-pads.xml:
10667         * docs/random/ds/0.9-suggested-changes:
10668         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
10669         * gst/gstelement.h:
10670         * gst/gstevent.h:
10671         * gst/gstformat.h:
10672         * gst/gstquery.h:
10673         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10674         (gst_structure_parse_array), (gst_structure_parse_value):
10675         * gst/gstvalue.c: (gst_type_is_fixed),
10676         (gst_value_list_prepend_value), (gst_value_list_append_value),
10677         (gst_value_list_get_size), (gst_value_list_get_value),
10678         (gst_value_transform_array_string), (gst_value_serialize_array),
10679         (gst_value_deserialize_array), (gst_value_intersect_array),
10680         (gst_value_is_fixed), (_gst_value_initialize):
10681         * gst/gstvalue.h:
10682           GstElement::new-pad -> pad-added, GstElement::state-change ->
10683           state-changed, GstValueFixedList -> GstValueArray, add format and
10684           flags as their own arguments in gst_element_seek() (should improve
10685           "bindeability"), remove function generators since they don't work
10686           under a whole bunch of compilers (they were deprecated already
10687           anyway).
10688
10689 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10690
10691         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10692         (_gst_debug_register_funcptr):
10693         * gst/gstinfo.h:
10694           Fix illegal cast on some platforms (#309253).
10695
10696 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10697
10698         * gst/gstmessage.c: (gst_message_new_custom):
10699         * gst/gstmessage.h:
10700           Add _new_custom, make _new_application a macro to _new_custom.
10701
10702 2005-07-20  Wim Taymans  <wim@fluendo.com>
10703
10704         * gst/base/gstbasesrc.c: (gst_base_src_init),
10705         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10706         * gst/base/gstbasesrc.h:
10707         Add a gboolean to decide when to push out a discont.
10708
10709         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10710         (gst_queue_loop), (gst_queue_handle_src_query),
10711         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
10712         (gst_queue_set_property), (gst_queue_get_property):
10713         Some cleanups.
10714
10715         * tests/threadstate/threadstate1.c: (main):
10716         Make a thread test compile and run... very silly..
10717
10718
10719 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10720
10721         * docs/manual/appendix-porting.xml:
10722           Mention removal of libgstgconf-0.9.la and existence of gconf
10723           elements.
10724
10725 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10726
10727         * docs/pwg/advanced-clock.xml:
10728         * docs/pwg/appendix-porting.xml:
10729         * docs/pwg/intro-preface.xml:
10730         * docs/pwg/other-base.xml:
10731         * docs/pwg/other-manager.xml:
10732         * docs/pwg/other-nton.xml:
10733         * docs/pwg/other-ntoone.xml:
10734         * docs/pwg/other-oneton.xml:
10735         * docs/pwg/pwg.xml:
10736           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10737           demuxer), remove n-to-n (was never written), fix some code examples
10738           and links and update the porting section to include all this.
10739
10740 2005-07-19  Wim Taymans  <wim@fluendo.com>
10741
10742         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10743         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10744         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10745         (gst_queue_src_activate_push), (gst_queue_change_state),
10746         (gst_queue_get_property):
10747         * gst/gstqueue.h:
10748         Propagate GstFlowReturn more intelligently upstream and output
10749         an ERROR/EOS when streaming stopped due to fatal error.
10750
10751 2005-07-19  Wim Taymans  <wim@fluendo.com>
10752
10753         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10754         Don't block forever for the state change to complete, the
10755         pipeline already did with a sensible timeout.
10756
10757 2005-07-19  Wim Taymans  <wim@fluendo.com>
10758
10759         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10760         Make sure we never call the create function is we
10761         got deactivated.
10762
10763 2005-07-19  Andy Wingo  <wingo@pobox.com>
10764
10765         * gst/parse/parse.l: Attempt to solve bug #172815.
10766
10767 2005-07-19  Wim Taymans  <wim@fluendo.com>
10768
10769         * docs/design/part-clocks.txt:
10770         * docs/design/part-events.txt:
10771         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10772         Small docs updates.
10773         Only update the seeking values when we are not
10774         busy streaming.
10775
10776 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10777
10778         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10779           Oops, ignore the result of gst_pad_push_event here.
10780
10781 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10782
10783         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10784         (gst_base_src_activate_push):
10785           Send discont event from the loop function, as pads
10786           aren't activated yet in the activate_push handler.
10787
10788         * gst/gstbin.c: (bin_bus_handler):
10789           Don't leak element name.
10790
10791 2005-07-18  Andy Wingo  <wingo@pobox.com>
10792
10793         * configure.ac: Use AS_LIBTOOL_TAGS.
10794
10795 2005-07-18  Wim Taymans  <wim@fluendo.com>
10796
10797         * docs/gst/gstreamer.types:
10798         Remove deleted types.
10799
10800 2005-07-18  Wim Taymans  <wim@fluendo.com>
10801
10802         * check/elements/gstfakesrc.c: (GST_START_TEST):
10803         * configure.ac:
10804         * gst/Makefile.am:
10805         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10806         (init_popt_callback):
10807         * gst/gst.h:
10808         * gst/gst_private.h:
10809         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10810         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10811         * gst/gstbin.h:
10812         * gst/gstbus.h:
10813         * gst/gstconfig.h.in:
10814         * gst/gstelement.c: (gst_element_class_init),
10815         (gst_element_set_base_time), (gst_element_get_base_time),
10816         (iterator_fold_with_resync), (gst_element_change_state),
10817         (gst_element_dispose), (gst_element_get_bus):
10818         * gst/gstelement.h:
10819         * gst/gstelementfactory.h:
10820         * gst/gsterror.c: (_gst_core_errors_init):
10821         * gst/gsterror.h:
10822         * gst/gstevent.h:
10823         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10824         * gst/gstindex.c:
10825         * gst/gstinfo.c: (_gst_debug_init):
10826         * gst/gstmessage.c: (_gst_message_copy):
10827         * gst/gstmessage.h:
10828         * gst/gstminiobject.h:
10829         * gst/gstobject.c:
10830         * gst/gstobject.h:
10831         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10832         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10833         * gst/gstpad.h:
10834         * gst/gstparse.h:
10835         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10836         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10837         (gst_pipeline_get_last_stream_time):
10838         * gst/gstpipeline.h:
10839         * gst/gstpluginfeature.h:
10840         * gst/gstquery.h:
10841         * gst/gstscheduler.c:
10842         * gst/gstscheduler.h:
10843         * gst/gststructure.h:
10844         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10845         (gst_task_finalize), (gst_task_func), (gst_task_create),
10846         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10847         (gst_task_stop), (gst_task_pause):
10848         * gst/gsttask.h:
10849         * gst/gsttypefind.h:
10850         * gst/gsttypes.h:
10851         * gst/registries/gstlibxmlregistry.c: (load_feature),
10852         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10853         * gst/registries/gstxmlregistry.c:
10854         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10855         * gst/schedulers/threadscheduler.c:
10856         * libs/gst/control/dparammanager.h:
10857         * tools/gst-inspect.c: (print_element_list),
10858         (print_plugin_features), (print_element_features):
10859         * tools/gst-xmlinspect.c: (print_element_list),
10860         (print_plugin_info), (main):
10861         Removed plugable schedulers.
10862         Removed Scheduler/Manager from elements.
10863         Removed gsttypes.h, rearranged includes.
10864         Removed dependency pad<->element, element<>pipeline, and
10865         various others,  fix includes.
10866         implement gst_pad_get_parent() with gst_object_get_parent()
10867         Make GstTask sefcontained.
10868         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10869         timeout.
10870         Fix endless loop in iterator_fold_with_resync.
10871
10872
10873 2005-07-18  Wim Taymans  <wim@fluendo.com>
10874
10875         * gst/Makefile.am:
10876         * gst/gstarch.h:
10877         Remove old file.
10878
10879 2005-07-18  Wim Taymans  <wim@fluendo.com>
10880
10881         * gst/Makefile.am:
10882         No more cothreads.h
10883
10884 2005-07-18  Wim Taymans  <wim@fluendo.com>
10885
10886         * gst/cothreads.c:
10887         * gst/cothreads.h:
10888         Let's remove these.
10889
10890 2005-07-18  Wim Taymans  <wim@fluendo.com>
10891
10892         * docs/design/part-dynamic.txt:
10893         * docs/design/part-events.txt:
10894         * docs/design/part-seeking.txt:
10895         Some more docs in the works.
10896
10897         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10898         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10899         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10900         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10901         (gst_base_transform_handle_buffer),
10902         (gst_base_transform_sink_activate_push),
10903         (gst_base_transform_src_activate_pull),
10904         (gst_base_transform_set_passthrough),
10905         (gst_base_transform_is_passthrough):
10906         Refcounting fixes.
10907
10908         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10909         Cleanups.
10910
10911         * gst/gstevent.c: (gst_event_finalize):
10912         Set SRC to NULL.
10913
10914         * gst/gstutils.c: (gst_element_unlink),
10915         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10916         (gst_pad_proxy_setcaps):
10917         * gst/gstutils.h:
10918         Add _get_parent_element() to get a pads parent as an element.
10919
10920 2005-07-18  Wim Taymans  <wim@fluendo.com>
10921
10922         * check/gst/gstbin.c: (GST_START_TEST):
10923         Remove bogus test.
10924
10925 2005-07-18  Wim Taymans  <wim@fluendo.com>
10926
10927         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10928         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10929         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10930         (gst_base_sink_event), (gst_base_sink_do_sync),
10931         (gst_base_sink_chain), (gst_base_sink_loop),
10932         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10933         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10934         Refcounting fixes.
10935         Fix logic for returning ASYNC when not prerolled.
10936
10937 2005-07-18  Wim Taymans  <wim@fluendo.com>
10938
10939         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10940         Fix nasty refcount bug.
10941
10942 2005-07-16 Philippe Khalaf <burger@speedy.org>
10943
10944         * gst/elements/gstfdsrc.c:
10945         * gst/elements/gstfdsrc.h:
10946         * gst/elements/gstelements.c:
10947         * gst/elements/Makefile.am:
10948         Ported fdsrc to 0.9.
10949
10950 2005-07-16  Wim Taymans  <wim@fluendo.com>
10951
10952         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10953         (gst_base_sink_do_sync):
10954         Fix compile error.
10955
10956 2005-07-16  Wim Taymans  <wim@fluendo.com>
10957
10958         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10959         (gst_base_sink_event), (gst_base_sink_get_times),
10960         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10961         * gst/base/gstbasesink.h:
10962         Store and use discont values when syncing buffers as described
10963         in design docs.
10964         
10965         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10966         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10967         (gst_base_src_activate_push):
10968         Push discont event when starting.
10969
10970         * gst/elements/gstidentity.c: (gst_identity_transform):
10971         Small cleanups.
10972
10973         * gst/gstbin.c: (gst_bin_change_state):
10974         Small cleanups in base_time  distribution.
10975
10976         * gst/gstelement.c: (gst_element_set_base_time),
10977         (gst_element_get_base_time), (gst_element_change_state):
10978         * gst/gstelement.h:
10979         Added methods for the base_time of the element.
10980         Some MT fixes.
10981
10982         * gst/gstpipeline.c: (gst_pipeline_send_event),
10983         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10984         (gst_pipeline_get_last_stream_time):
10985         * gst/gstpipeline.h:
10986         MT fixes.
10987         Handle seeking as described in design doc, remove stream_time
10988         hack.
10989         Cleanups clock and stream_time selection code. Added accessors
10990         for the stream_time.
10991         
10992
10993 2005-07-16  Andy Wingo  <wingo@pobox.com>
10994
10995         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10996         (#305291).
10997
10998 2005-07-16  Wim Taymans  <wim@fluendo.com>
10999
11000         * check/gst/gstbin.c: (GST_START_TEST):
11001         Make elements silent as the deep_notify refs the
11002         parent, which might make the test fail.
11003
11004         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11005         Don't hold the lock for too long.
11006
11007 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
11008
11009         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11010           Don't unref the caps we passed to gst_caps_make_writable() after
11011           passing them. gst_caps_make_writable() will do that for us.
11012
11013 2005-07-15  Andy Wingo  <wingo@pobox.com>
11014
11015         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
11016         (#157311).
11017
11018         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
11019         own marshalling function for the handoff signal. Properly type the
11020         buffer as a buffer. Fixes some warnings. Should do a more general
11021         solution.
11022         (gst_identity_class_init): Plug into the right marshaller.
11023
11024 2005-07-15  Wim Taymans  <wim@fluendo.com>
11025
11026         * docs/design/part-TODO.txt:
11027         * docs/design/part-clocks.txt:
11028         * docs/design/part-element-sink.txt:
11029         * docs/design/part-events.txt:
11030         * docs/design/part-gstpipeline.txt:
11031         Updated docs, mostly DISCONT related.
11032
11033 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
11034
11035         * docs/pwg/building-pads.xml:
11036           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
11037
11038 2005-07-15  Andy Wingo  <wingo@pobox.com>
11039
11040         * tools/gst-typefind.c: Update, add copyright block.
11041
11042         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
11043         Normalize and truncate caps before fixation.
11044
11045         * gst/gstcaps.h:
11046         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
11047         discards all but the first structure from its argument.
11048
11049 2005-07-15  Wim Taymans  <wim@fluendo.com>
11050
11051         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11052         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
11053         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11054         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11055         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
11056         (gst_base_transform_chain), (gst_base_transform_change_state),
11057         (gst_base_transform_set_passthrough),
11058         (gst_base_transform_is_passthrough):
11059         * gst/base/gstbasetransform.h:
11060         Make passthrough work using the bufferpools.
11061         Changed API a bit, subclasses have to write into a buffer
11062         provided by the base class.
11063         More debug info in nego functions.
11064         
11065         * gst/elements/gstidentity.c: (gst_identity_init),
11066         (gst_identity_transform):
11067         Port to new base class.
11068
11069 2005-07-15  Wim Taymans  <wim@fluendo.com>
11070
11071         * gst/gstmessage.c: (gst_message_new_state_changed):
11072         * tools/gst-launch.c: (event_loop), (main):
11073         Totally dump messages in -launch with the -m option.
11074         Fix message name for State messages,
11075
11076 2005-07-14  Wim Taymans  <wim@fluendo.com>
11077
11078         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11079         Post error messages on errors.
11080
11081 2005-07-14  Wim Taymans  <wim@fluendo.com>
11082
11083         * gst/gstcaps.c: (gst_caps_do_simplify):
11084         Remove debug info.
11085
11086         * gst/gsterror.h:
11087         Define error for stream stopped.
11088
11089         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11090         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
11091         Do proper return values.
11092
11093         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11094         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
11095         (gst_pad_get_range):
11096         Better return values.
11097
11098         * gst/gstpad.h:
11099         Reorganise return values, add macro to check for fatal errors.
11100
11101         * gst/gstqueue.c: (gst_queue_chain):
11102         Return proper GstFlowReturn values,
11103
11104 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11105
11106         * docs/gst/gstreamer-sections.txt:
11107         * docs/gst/gstreamer.types:
11108         * docs/gst/tmpl/gst.sgml:
11109         * docs/gst/tmpl/gstbasesink.sgml:
11110         * docs/gst/tmpl/gstbasesrc.sgml:
11111         * docs/gst/tmpl/gstbasetransform.sgml:
11112         * docs/gst/tmpl/gstbin.sgml:
11113         * docs/gst/tmpl/gstbuffer.sgml:
11114         * docs/gst/tmpl/gstcaps.sgml:
11115         * docs/gst/tmpl/gstclock.sgml:
11116         * docs/gst/tmpl/gstcompat.sgml:
11117         * docs/gst/tmpl/gstconfig.sgml:
11118         * docs/gst/tmpl/gstelement.sgml:
11119         * docs/gst/tmpl/gstelementdetails.sgml:
11120         * docs/gst/tmpl/gstelementfactory.sgml:
11121         * docs/gst/tmpl/gstenumtypes.sgml:
11122         * docs/gst/tmpl/gsterror.sgml:
11123         * docs/gst/tmpl/gstevent.sgml:
11124         * docs/gst/tmpl/gstfakesink.sgml:
11125         * docs/gst/tmpl/gstfakesrc.sgml:
11126         * docs/gst/tmpl/gstfilesink.sgml:
11127         * docs/gst/tmpl/gstfilesrc.sgml:
11128         * docs/gst/tmpl/gstfilter.sgml:
11129         * docs/gst/tmpl/gstformat.sgml:
11130         * docs/gst/tmpl/gstghostpad.sgml:
11131         * docs/gst/tmpl/gstimplementsinterface.sgml:
11132         * docs/gst/tmpl/gstindex.sgml:
11133         * docs/gst/tmpl/gstindexfactory.sgml:
11134         * docs/gst/tmpl/gstinfo.sgml:
11135         * docs/gst/tmpl/gstiterator.sgml:
11136         * docs/gst/tmpl/gstmacros.sgml:
11137         * docs/gst/tmpl/gstmemchunk.sgml:
11138         * docs/gst/tmpl/gstminiobject.sgml:
11139         * docs/gst/tmpl/gstobject.sgml:
11140         * docs/gst/tmpl/gstpad.sgml:
11141         * docs/gst/tmpl/gstpadtemplate.sgml:
11142         * docs/gst/tmpl/gstparse.sgml:
11143         * docs/gst/tmpl/gstpipeline.sgml:
11144         * docs/gst/tmpl/gstplugin.sgml:
11145         * docs/gst/tmpl/gstpluginfeature.sgml:
11146         * docs/gst/tmpl/gstquery.sgml:
11147         * docs/gst/tmpl/gstqueue.sgml:
11148         * docs/gst/tmpl/gstregistry.sgml:
11149         * docs/gst/tmpl/gstregistrypool.sgml:
11150         * docs/gst/tmpl/gstscheduler.sgml:
11151         * docs/gst/tmpl/gstschedulerfactory.sgml:
11152         * docs/gst/tmpl/gststructure.sgml:
11153         * docs/gst/tmpl/gstsystemclock.sgml:
11154         * docs/gst/tmpl/gsttaglist.sgml:
11155         * docs/gst/tmpl/gsttagsetter.sgml:
11156         * docs/gst/tmpl/gsttrace.sgml:
11157         * docs/gst/tmpl/gsttrashstack.sgml:
11158         * docs/gst/tmpl/gsttypefind.sgml:
11159         * docs/gst/tmpl/gsttypefindfactory.sgml:
11160         * docs/gst/tmpl/gsttypes.sgml:
11161         * docs/gst/tmpl/gsturihandler.sgml:
11162         * docs/gst/tmpl/gsturitype.sgml:
11163         * docs/gst/tmpl/gstutils.sgml:
11164         * docs/gst/tmpl/gstvalue.sgml:
11165         * docs/gst/tmpl/gstversion.sgml:
11166         * docs/gst/tmpl/gstxml.sgml:
11167         * docs/libs/tmpl/gstcontrol.sgml:
11168         * docs/libs/tmpl/gstdataprotocol.sgml:
11169         * docs/libs/tmpl/gstdparam.sgml:
11170         * docs/libs/tmpl/gstdplinint.sgml:
11171         * docs/libs/tmpl/gstdpman.sgml:
11172         * docs/libs/tmpl/gstdpsmooth.sgml:
11173         * docs/libs/tmpl/gstgetbits.sgml:
11174         * docs/libs/tmpl/gstunitconvert.sgml:
11175         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
11176         (gst_push_src_base_init), (gst_push_src_class_init),
11177         (gst_push_src_init), (gst_push_src_create):
11178         * gst/base/gstpushsrc.h:
11179         * gst/elements/gstelements.c:
11180         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
11181         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
11182         (gst_fake_sink_init), (gst_fake_sink_set_property),
11183         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
11184         (gst_fake_sink_event), (gst_fake_sink_preroll),
11185         (gst_fake_sink_render), (gst_fake_sink_change_state):
11186         * gst/elements/gstfakesink.h:
11187         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11188         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11189         (gst_fake_src_base_init), (gst_fake_src_class_init),
11190         (gst_fake_src_init), (gst_fake_src_event_handler),
11191         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
11192         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
11193         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
11194         (gst_fake_src_create_buffer), (gst_fake_src_create),
11195         (gst_fake_src_start), (gst_fake_src_stop):
11196         * gst/elements/gstfakesrc.h:
11197         * gst/elements/gstfilesink.c: (_do_init),
11198         (gst_file_sink_base_init), (gst_file_sink_class_init),
11199         (gst_file_sink_init), (gst_file_sink_dispose),
11200         (gst_file_sink_set_location), (gst_file_sink_set_property),
11201         (gst_file_sink_get_property), (gst_file_sink_open_file),
11202         (gst_file_sink_close_file), (gst_file_sink_query),
11203         (gst_file_sink_event), (gst_file_sink_render),
11204         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
11205         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
11206         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
11207         * gst/elements/gstfilesink.h:
11208         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
11209         (gst_file_src_class_init), (gst_file_src_init),
11210         (gst_file_src_finalize), (gst_file_src_set_location),
11211         (gst_file_src_set_property), (gst_file_src_get_property),
11212         (gst_file_src_map_region), (gst_file_src_map_small_region),
11213         (gst_file_src_create_mmap), (gst_file_src_create_read),
11214         (gst_file_src_create), (gst_file_src_is_seekable),
11215         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
11216         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
11217         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
11218         (gst_file_src_uri_handler_init):
11219         * gst/elements/gstfilesrc.h:
11220           more autistic cleanliness in functions/names/defines
11221
11222 2005-07-13  Andy Wingo  <wingo@pobox.com>
11223
11224         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
11225         source couldn't negotiate.
11226
11227         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
11228         connections again.
11229
11230         * gst/gstutils.h:
11231         * gst/gstutils.c (gst_element_link_pads_filtered): New old
11232         function. I am channeling Hades. Put your boots on suckers!!!
11233
11234 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11235
11236         * testsuite/caps/Makefile.am:
11237         * testsuite/caps/value_compare.c:
11238         * testsuite/caps/value_intersect.c:
11239         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11240           move two testsuite apps over to the check dir
11241
11242 2005-07-12  Wim Taymans  <wim@fluendo.com>
11243
11244         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11245         Added more debug info in the negotiate process.
11246
11247         * gst/gstmessage.h:
11248         Prepare for segment playback.
11249
11250         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
11251         Better debugging.
11252
11253         * gst/gstutils.c:
11254         Some more docs.
11255
11256         * tools/gst-launch.c: (main):
11257         NULL pipeline on errors.
11258
11259 2005-07-12  Andy Wingo  <wingo@pobox.com>
11260
11261         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
11262         not it comes from a malloc region. Make sure our copy gets freed.
11263
11264 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11265
11266         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11267         * check/gst/gstmessage.c: (GST_START_TEST):
11268         * check/gst/gststructure.c: (GST_START_TEST),
11269         (gst_structure_suite), (main):
11270           more testing
11271         * gst/gstelement.c: (gst_element_message_full):
11272           clean up GError and debug string now that they get copied
11273         * gst/gstmessage.c: (gst_message_new_error),
11274         (gst_message_new_warning), (gst_message_parse_error),
11275         (gst_message_parse_warning):
11276           use GST_TYPE_G_ERROR for structure_new, and take copies of
11277           arguments, so that we don't mess up refcounting
11278
11279 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11280
11281         * check/Makefile.am:
11282           add per-test valgrind targets
11283         * check/gst-libs/gdp.c: (GST_START_TEST),
11284         (gst_data_protocol_suite), (main):
11285           clean up
11286
11287 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11288
11289         * check/Makefile.am:
11290           instate more valgrindable tests
11291         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11292         (GST_START_TEST), (fakesrc_suite):
11293         * check/gst/gstpad.c: (GST_START_TEST):
11294         * check/gst/gststructure.c: (GST_START_TEST):
11295           fix test leaks
11296         * docs/gst/tmpl/gstminiobject.sgml:
11297         * gst/gstpad.c: (gst_pad_finalize):
11298           fix the static mutex leak
11299
11300 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11301
11302         * check/Makefile.am:
11303           add two more tests for valgrinding
11304         * check/gst/gstvalue.c: (GST_START_TEST):
11305           test refcount of deserialized buffer, found a leak
11306         * docs/gst/gstreamer-docs.sgml:
11307         * docs/gst/gstreamer-sections.txt:
11308         * docs/gst/gstreamer.types:
11309         * docs/gst/tmpl/gstminiobject.sgml:
11310           add miniobject to docs
11311         * gst/gstminiobject.c:
11312           add some docs
11313         * gst/gstvalue.c: (gst_value_deserialize_buffer),
11314         (gst_string_unwrap):
11315           fix a hard-to-find invalid write for one of the tests
11316           fix a leak for deserialized buffers
11317
11318 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11319
11320         * docs/pwg/advanced-events.xml:
11321         * docs/pwg/advanced-request.xml:
11322         * docs/pwg/advanced-scheduling.xml:
11323         * docs/pwg/appendix-porting.xml:
11324         * docs/pwg/building-boiler.xml:
11325         * docs/pwg/intro-preface.xml:
11326         * docs/pwg/other-ntoone.xml:
11327           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
11328           of example code and explanation for pad activation, loop() and
11329           getrange() functions and a bit more. Remove old comments pointing
11330           to loop-functions.
11331         * examples/pwg/Makefile.am:
11332           Add loop/getrange examples.
11333
11334 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11335
11336         * configure.ac:
11337           check for valgrind binary + some fixes
11338         * check/gst.supp:
11339           valgrind suppressions for the tests
11340         * check/Makefile.am:
11341           add a valgrind: target that valgrinds the unit tests
11342         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
11343         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11344         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11345         * check/gst/gstghostpad.c:
11346           added some cleanup
11347         * check/gst/gstdata.c:
11348           removed
11349         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
11350         (thread_unref), (gst_mini_object_suite), (main):
11351           added
11352         * gst/gst.c: (gst_deinit):
11353         * gst/gst.h:
11354           add a method to clean up.
11355         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11356         (gst_system_clock_obtain):
11357           allow for disposing the system clock.
11358         * tools/gst-launch.c: (main):
11359           deinit
11360
11361 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11362
11363         * docs/gst/tmpl/gstbasesrc.sgml:
11364         * docs/gst/tmpl/gstfakesrc.sgml:
11365         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11366         (gst_base_src_init), (gst_base_src_set_property),
11367         (gst_base_src_get_property), (gst_base_src_get_range),
11368         (gst_base_src_start):
11369         * gst/base/gstbasesrc.h:
11370           add num-buffers property
11371         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11372         (gst_fakesrc_init), (gst_fakesrc_set_property),
11373         (gst_fakesrc_get_property), (gst_fakesrc_create),
11374         (gst_fakesrc_start):
11375           remove num-buffers property
11376
11377 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11378
11379         * docs/gst/gstreamer-sections.txt:
11380         * docs/gst/tmpl/gstbasesink.sgml:
11381         * docs/gst/tmpl/gstbasesrc.sgml:
11382         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11383         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11384         (gst_base_sink_finalize), (gst_base_sink_set_clock),
11385         (gst_base_sink_set_property), (gst_base_sink_get_property),
11386         (gst_base_sink_handle_object), (gst_base_sink_event),
11387         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11388         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
11389         (gst_base_sink_loop), (gst_base_sink_deactivate),
11390         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
11391         (gst_base_sink_change_state):
11392         * gst/base/gstbasesink.h:
11393         * gst/base/gstbasesrc.h:
11394         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
11395         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11396         (gst_filesink_init):
11397           more macro splitting
11398
11399 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11400
11401         * gst/gstelement.c: (gst_element_get_bus):
11402           add debug
11403         * tools/gst-launch.c: (check_intr), (event_loop):
11404           fix bus leaks
11405
11406 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11407
11408         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11409           fix a caps leak
11410
11411 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11412
11413         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11414         (gst_base_src_finalize):
11415           add finalize method and clean up properly
11416         * gst/gstpipeline.c: (gst_pipeline_dispose):
11417           add debug
11418
11419 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11420
11421         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
11422         (gst_bin_suite):
11423           add more things to check
11424         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11425         * gst/gstelement.c:
11426           more debug
11427
11428 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11429
11430         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11431         (GST_START_TEST), (fakesrc_suite):
11432         * check/gst-libs/gdp.c: (GST_START_TEST):
11433         * check/gst/gst.c: (GST_START_TEST):
11434         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11435         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11436         * check/gst/gstbus.c: (GST_START_TEST):
11437         * check/gst/gstcaps.c: (GST_START_TEST):
11438         * check/gst/gstdata.c: (GST_START_TEST):
11439         * check/gst/gstelement.c: (GST_START_TEST):
11440         * check/gst/gstghostpad.c: (GST_START_TEST):
11441         * check/gst/gstiterator.c: (GST_START_TEST):
11442         * check/gst/gstmessage.c: (GST_START_TEST):
11443         * check/gst/gstobject.c: (GST_START_TEST):
11444         * check/gst/gstpad.c: (GST_START_TEST):
11445         * check/gst/gststructure.c: (GST_START_TEST):
11446         * check/gst/gstsystemclock.c: (GST_START_TEST),
11447         (gst_systemclock_suite):
11448         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11449         * check/gst/gstvalue.c: (GST_START_TEST):
11450         * check/pipelines/cleanup.c: (GST_START_TEST):
11451         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11452         * check/states/sinks.c: (GST_START_TEST):
11453         * check/gstcheck.c: (gst_check_init):
11454         * check/gstcheck.h:
11455           add debugging category
11456           use GST_START_TEST now, so we add a debug line
11457
11458 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11459
11460         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
11461           add test for state change message on a bin
11462         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
11463           add another test
11464         * gst/gstbin.c: (gst_bin_init):
11465         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
11466         * gst/gstelement.c: (gst_element_post_message),
11467         (gst_element_set_state):
11468         * gst/gstelementfactory.c: (gst_element_factory_create):
11469         * gst/gstmessage.c: (gst_message_new):
11470         * gst/gstscheduler.c:
11471           various debugging additions and cleanups
11472
11473 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11474
11475         * check/Makefile.am:
11476         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
11477         (main):
11478           adding tests for elements
11479         * gst/gstelement.c: (gst_element_dispose):
11480
11481 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11482
11483         * gst/registries/gstlibxmlregistry.c: (load_feature):
11484           plug more leaks.  A simple gst_init() now is leakfree, yay.
11485
11486 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11487
11488         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
11489         (gst_xml_registry_load):
11490           plug another memleak
11491
11492 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11493
11494         * configure.ac:
11495           use GST_SET_ERROR_CFLAGS
11496         * docs/faq/cvs.xml:
11497           change to ERROR_CFLAGS
11498
11499 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11500
11501         * configure.ac:
11502           make GST_ERROR_CFLAGS overridable and re-enable Werror
11503         * docs/faq/cvs.xml:
11504           add a note about error CFLAGS
11505         * docs/gst/tmpl/gstfakesrc.sgml:
11506         * gst/elements/gstfakesrc.c:
11507           comment out some unused code
11508         * gst/gst.c: (split_and_iterate):
11509         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
11510         (load_feature):
11511           plug some memleaks
11512
11513 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11514
11515         * common/Makefile.am:
11516         * common/gtk-doc.mak:
11517         * docs/gst/Makefile.am:
11518           factor out gtk-doc.mak
11519
11520 2005-07-07  Wim Taymans  <wim@fluendo.com>
11521
11522         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
11523         (gst_thread_scheduler_dispose):
11524         Unlock the STREAM_LOCK completely.
11525
11526 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11527
11528         * check/Makefile.am:
11529         * check/elements/.cvsignore:
11530         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11531         (START_TEST), (fakesrc_suite), (main):
11532         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11533         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11534         (gst_fakesrc_create), (gst_fakesrc_start):
11535         * gst/elements/gstfakesrc.h:
11536           adding a first element test
11537
11538 2005-07-07  Andy Wingo  <wingo@pobox.com>
11539
11540         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
11541         debug message.
11542
11543 2005-07-07  Wim Taymans  <wim@fluendo.com>
11544
11545         * gst/gstquery.c:
11546         * gst/gstquery.h:
11547         Remove old types
11548
11549 2005-07-07  Wim Taymans  <wim@fluendo.com>
11550
11551         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11552         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
11553         Allow subclasses to implement their own negotiation.
11554
11555 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11556
11557         * docs/design/part-gstbin.txt:
11558         * docs/design/part-gstpipeline.txt:
11559           Update design notes to reflect the movement of
11560           responsibility for bus handling from GstPipeline to
11561           GstBin
11562
11563 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11564
11565         * configure.ac:
11566           Remove unnecessary queue2/3/4 examples.
11567
11568 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11569
11570         * examples/Makefile.am:
11571         * examples/helloworld/helloworld.c: (event_loop), (main):
11572         * examples/queue/queue.c: (event_loop), (main):
11573         * examples/queue2/queue2.c: (main):
11574           Update a couple of the examples to work again.
11575
11576         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11577         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
11578          Spelling corrections and extra debug.
11579         
11580         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
11581         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
11582         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
11583         * gst/gstbin.h:
11584         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11585         (gst_pipeline_change_state):
11586         * gst/gstpipeline.h:
11587           Move the bus handler for children to the GstBin, and create a
11588           separate bus for receiving messages from children to the one the
11589           bus sends 'upwards' on.
11590
11591 2005-07-06  Wim Taymans  <wim@fluendo.com>
11592
11593         * gst/base/README:
11594         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11595         (gst_base_sink_handle_object), (gst_base_sink_loop),
11596         (gst_base_sink_change_state):
11597         * gst/base/gstbasesink.h:
11598         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11599         (gst_base_src_init), (gst_base_src_setcaps),
11600         (gst_base_src_getcaps), (gst_base_src_loop),
11601         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
11602         (gst_base_src_start), (gst_base_src_change_state):
11603         * gst/base/gstbasesrc.h:
11604         Make basesrc negotiate.
11605         Handle the case where preroll fails in basesink.
11606         Update README.
11607
11608 2005-07-06  Wim Taymans  <wim@fluendo.com>
11609
11610         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
11611         Implement the fixate function.
11612         Clean up acceptcaps.
11613
11614 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11615
11616         * docs/pwg/building-filterfactory.xml:
11617         * docs/pwg/pwg.xml:
11618           Remove never-written filter-factory chapter; I'll add the various
11619           base classes to part 4 ("other element types") later on.
11620
11621 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11622
11623         * docs/pwg/advanced-negotiation.xml:
11624         * docs/pwg/building-boiler.xml:
11625         * docs/pwg/building-pads.xml:
11626         * docs/pwg/pwg.xml:
11627         * examples/pwg/Makefile.am:
11628           Add a chapter on caps negotiation, simplify the original code
11629           samples a bit w.r.t. caps negotiation, add link to the advanced
11630           section. Add a bunch of examples showing different use cases of
11631           different types of caps negotiation. Upstream renegotiation isn't
11632           fully documented yet since nobody knows how that works.
11633
11634 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11635
11636         * check/gst/gstpad.c:
11637         * check/gstcheck.c:
11638         * gst/gstpad.c: (gst_pad_get_internal_links_default):
11639           if pad has no parent, return NULL as list of internal links
11640
11641 2005-07-05  Andy Wingo  <wingo@pobox.com>
11642
11643         * gst/elements/gstfilesrc.c:
11644         * gst/elements/gstfakesrc.c: 
11645         * gst/base/gstpushsrc.c:
11646         * gst/base/gstbasesrc.h: 
11647         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
11648         
11649 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
11650
11651         * Makefile.am:
11652           better report generation target (lcov needs a patch)
11653
11654 2005-07-05  Andy Wingo  <wingo@pobox.com>
11655
11656         * gst/elements, testsuite: Null if we got it...
11657
11658 2005-07-05  Wim Taymans  <wim@fluendo.com>
11659
11660         * configure.ac:
11661         * libs/gst/dataprotocol/Makefile.am:
11662         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
11663         * libs/gst/dataprotocol/dataprotocol.h:
11664         * pkgconfig/Makefile.am:
11665         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
11666         * pkgconfig/gstreamer-dataprotocol.pc.in:
11667         Ported dataprotol to 0.9. 
11668         Added pkgconfig files.
11669
11670 2005-07-05  Andy Wingo  <wingo@pobox.com>
11671
11672         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
11673         Default to returning TRUE for the case when tranform_caps returns
11674         a fixed caps, like for identity or volume.
11675
11676         * check/gst/gstbus.c (pound_bus_with_messages): 
11677         * check/gst/gstmessage.c (START_TEST): 
11678         * check/pipelines/simple_launch_lines.c (got_handoff): Application
11679         message API change.
11680
11681         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
11682         logic weaks here: always run transform_caps, trying passthrough
11683         operation only if the original caps intersects with the transform.
11684
11685         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
11686         source and sink caps.
11687
11688         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
11689         Intersect the peer caps with the pad template before going into
11690         transform_caps.
11691         (gst_base_transform_transform_caps): More debugging.
11692
11693         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
11694         src argument.
11695
11696 2005-07-04  Edward Hervey  <edward@fluendo.com>
11697
11698         * gst/gstutils.c:
11699         * gst/gstutils.h:
11700         (gst_pad_add_*_probe): now returns the signal id for better wrapping
11701         in bindings.
11702
11703 2005-07-04  Andy Wingo  <wingo@pobox.com>
11704
11705         * check/gst/gstpad.c: Only set explicit caps on pads.
11706
11707 2005-07-01  Andy Wingo  <wingo@pobox.com>
11708
11709         * tests/network-clock.scm: Commentary update.
11710
11711         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
11712         Didn't really make sense, not implementable with basetransform,
11713         etc.
11714         (gst_identity_transform): Unref inbuf via make_writable. Feeble
11715         attempt at implementing the sync property, needs an unlock method.
11716
11717         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
11718         New func, by default returns the same caps (the identity
11719         transformation).
11720         (gst_base_transform_getcaps): Uses transform_caps to return
11721         something sensible.
11722         (gst_base_transform_setcaps): Complicated logic to get caps on
11723         both pads, even if they are different, and to call set_caps once
11724         for every time both pads get their caps set.
11725         (gst_base_transform_handle_buffer): Give the ref to the transform
11726         function. Allows in-place modification of the buffer.
11727
11728         * gst/base/gstbasetransform.h (transform_caps): New class method.
11729         Given caps on one side, what can I do on the other.
11730         (set_caps): Take two caps, one for each side of the element.
11731
11732         * gst/gstpad.h:
11733         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11734         caps in place. This is safe because we can check the mutability of
11735         the caps, and a good idea because fixate functions are just called
11736         as a matter of last resort. (Not actually implemented.)
11737         (gst_pad_set_caps): If the caps we're setting is actually the same
11738         as the existing pad caps, just update the pointer without calling
11739         setcaps. Assert that caps is either NULL or fixed, as per the
11740         docs.
11741
11742         * gst/gstghostpad.c: Update for fixate changes.
11743
11744 2005-07-02  Andy Wingo  <wingo@pobox.com>
11745
11746         * gst/gstcaps.c:
11747         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11748         two refcounts makes it immutable, which is enough. Doc more.
11749
11750 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11751
11752         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11753           Put the mini_object into GValue as a mini_object,
11754           not a gpointer, since that's how we declared
11755           the signal.
11756
11757 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11758
11759         * examples/pwg/Makefile.am:
11760           Fix buildbot again.
11761
11762 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11763
11764         * docs/pwg/building-testapp.xml:
11765           Add extra check.
11766         * examples/pwg/Makefile.am:
11767           Fix buildbot.
11768
11769 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11770
11771         * configure.ac:
11772         * examples/Makefile.am:
11773         * examples/pwg/Makefile.am:
11774         * examples/pwg/extract.pl:
11775           Enable building the PWG examples.
11776         * docs/pwg/advanced-interfaces.xml:
11777           Add URI interface stub.
11778         * docs/pwg/advanced-types.xml:
11779         * docs/pwg/other-autoplugger.xml:
11780         * docs/pwg/appendix-porting.xml:
11781         * docs/pwg/pwg.xml:
11782           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11783         * docs/pwg/building-boiler.xml:
11784         * docs/pwg/building-chainfn.xml:
11785         * docs/pwg/building-pads.xml:
11786         * docs/pwg/building-props.xml:
11787         * docs/pwg/building-state.xml:
11788         * docs/pwg/building-testapp.xml:
11789           Update the building-*.xml parts for 0.9 changes. All examples
11790           code blocks compile in examples/pwg/*.
11791
11792 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11793
11794         * docs/manual/advanced-autoplugging.xml:
11795         * docs/manual/appendix-checklist.xml:
11796         * docs/manual/appendix-integration.xml:
11797         * docs/manual/highlevel-components.xml:
11798           Fix playbin/decodebin examples, update docs a bit, mention bus
11799           instead of signals in various places, mention kmplayer and
11800           kaffeine since they have a working GStreamer backend in the KDE
11801           section.
11802
11803 2005-06-30  Wim Taymans  <wim@fluendo.com>
11804
11805         * CHANGES-0.9:
11806         * docs/design/draft-ghostpads.txt:
11807         * docs/design/draft-push-pull.txt:
11808         * docs/design/draft-query.txt:
11809         * docs/design/part-TODO.txt:
11810         * docs/design/part-query.txt:
11811         Added CHANGES-0.9 doc, updated status of other docs.
11812         
11813         * gst/gstquery.h:
11814         Remove "hmm" macro
11815
11816 2005-06-30  Wim Taymans  <wim@fluendo.com>
11817
11818         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11819         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11820         (gst_base_sink_change_state):
11821         * gst/base/gstbasesink.h:
11822         Some tweaks, only EOS and a buffer complete a preroll.
11823
11824 2005-06-30  Andy Wingo  <wingo@pobox.com>
11825
11826         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11827         activate_push down to the internal pad as well.
11828
11829 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11830
11831         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11832
11833         * gst/gsttaginterface.c:
11834           Some documentation fixes (#307394 and #307397).
11835
11836 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11837
11838         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11839
11840         * gst/gstvalue.c: (gst_value_intersect_list):
11841           Fix memleak (#309125).
11842
11843 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11844
11845         * docs/manual/advanced-dataaccess.xml:
11846           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11847         * docs/manual/basics-pads.xml:
11848           Add reference for filtered caps to above chapter.
11849
11850 2005-06-30  Wim Taymans  <wim@fluendo.com>
11851
11852         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11853         (gst_bin_change_state):
11854         Probes are gone.
11855         Lame attempt at making the state change function a bit
11856         more readable.
11857
11858 2005-06-30  Wim Taymans  <wim@fluendo.com>
11859
11860         * docs/design/part-clocks.txt:
11861         * docs/design/part-element-sink.txt:
11862         * docs/design/part-events.txt:
11863         * docs/design/part-preroll.txt:
11864         * docs/design/part-states.txt:
11865         Some more tweeks and additions to the docs.
11866
11867 2005-06-30  Wim Taymans  <wim@fluendo.com>
11868
11869         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11870         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11871         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11872         (gst_pad_check_pull_range), (gst_pad_get_range),
11873         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11874         * gst/gstpad.h:
11875         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11876         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11877         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11878         (gst_pad_remove_buffer_probe):
11879         Removed atomic operations, use existing LOCK.
11880         Move exception handling out of main code path.
11881
11882 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11883
11884         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11885         (silly_return_true_function), (gst_pad_class_init),
11886         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11887         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11888         (gst_pad_send_event):
11889           Fix accumulator, add default value by using _emitv() instead
11890           of _emit() for signal emission.
11891
11892 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11893
11894         * docs/manual/advanced-dataaccess.xml:
11895         * examples/manual/Makefile.am:
11896           Add probe example.
11897         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11898           Make work (??).
11899
11900 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11901
11902         * gst/elements/gstfilesink.c: (gst_filesink_render):
11903           Simplify code so that we don't have to handle short
11904           writes and return GST_FLOW_ERROR if an error occured.
11905
11906 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11907
11908         * docs/gst/gstreamer-docs.sgml:
11909           Remove probes more.
11910
11911 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11912
11913         * docs/gst/gstreamer-sections.txt:
11914         * docs/gst/tmpl/gstpad.sgml:
11915         * docs/gst/tmpl/gstprobe.sgml:
11916         * gst/Makefile.am:
11917         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11918         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11919         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11920         (gst_pad_push_event), (gst_pad_send_event):
11921         * gst/gstpad.h:
11922         * gst/gstutils.c: (gst_pad_add_data_probe),
11923         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11924         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11925         (gst_pad_remove_buffer_probe):
11926         * gst/gstutils.h:
11927           Remove old probes, add new g-signal-based probes and some utility
11928           functions.
11929
11930 2005-06-29  Edward Hervey  <edward@fluendo.com>
11931
11932         * gst/gstelementfactory.c:
11933         * gst/gstutils.h:
11934         * gst/gstutils.c:
11935         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11936         the definition to the header file.
11937
11938 2005-06-29  Andy Wingo  <wingo@pobox.com>
11939
11940         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11941         plugins from the source directory.
11942
11943 2005-06-29  Wim Taymans  <wim@fluendo.com>
11944
11945         * docs/gst/tmpl/gstbuffer.sgml:
11946         * docs/gst/tmpl/gstclock.sgml:
11947         Some fixings for blantently wrong text.
11948
11949 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11950
11951         * check/Makefile.am:
11952         * gst/gst.c: (add_path_func), (init_pre):
11953         * gst/gstregistry.c: (gst_registry_add_path):
11954           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11955           only scan the GST_PLUGIN_PATH locations, and not add
11956           system locations
11957
11958 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11959
11960         * docs/gst/gstreamer-sections.txt:
11961         * docs/gst/tmpl/gstbasesrc.sgml:
11962         * gst/gstelement.c:
11963         * gst/gstelement.h:
11964         * gst/gstevent.c:
11965         * gst/gstutils.c:
11966           doc fixes
11967
11968 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11969
11970         * docs/manual/advanced-autoplugging.xml:
11971           Fix autoplugging example.
11972
11973 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11974
11975         * docs/manual/advanced-autoplugging.xml:
11976         * docs/manual/mime-world.fig:
11977           Try to get autoplugging working, fix type detection. Fix text
11978           in hello-world image.
11979
11980 2005-06-29  Wim Taymans  <wim@fluendo.com>
11981
11982         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11983         (gst_base_sink_change_state):
11984         Small debug line.
11985
11986         * gst/gstclock.h:
11987         map SIGNAL and BROADCAST to the right function.
11988
11989         * gst/gstobject.h:
11990         Remove redundant braces.
11991
11992         * gst/gstpad.c: (gst_pad_set_caps):
11993         Don't call setcaps function when reseting caps to NULL.
11994
11995         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11996         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11997         (gst_system_clock_id_unschedule):
11998         Use BROADCAST as this is what we do.
11999
12000 2005-06-29  Wim Taymans  <wim@fluendo.com>
12001
12002         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12003         We are actually prerolling before commiting the state
12004         change. 
12005
12006 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12007
12008         * docs/manual/advanced-clocks.xml:
12009         * docs/manual/advanced-interfaces.xml:
12010         * docs/manual/advanced-metadata.xml:
12011         * docs/manual/advanced-position.xml:
12012         * docs/manual/advanced-schedulers.xml:
12013         * docs/manual/advanced-threads.xml:
12014         * docs/manual/appendix-porting.xml:
12015         * docs/manual/basics-bins.xml:
12016         * docs/manual/basics-bus.xml:
12017         * docs/manual/basics-elements.xml:
12018         * docs/manual/basics-helloworld.xml:
12019         * docs/manual/basics-pads.xml:
12020         * docs/manual/highlevel-components.xml:
12021         * docs/manual/manual.xml:
12022         * docs/manual/thread.fig:
12023           Update (until threads/scheduling) Application Development Manual;
12024           remove GstThread, add GstBus, add simple porting checklist, add
12025           documentation for tag writing, clocks, make all examples until this
12026           part compile and run.
12027         * examples/manual/Makefile.am:
12028           Update from changes to Application Development Manual; add bus
12029           example, remove thread example.
12030
12031 2005-06-28  Wim Taymans  <wim@fluendo.com>
12032
12033         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
12034         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
12035         (gst_bus_source_dispatch):
12036         Add debugging messages.
12037         Make internal methods static.
12038         Handle the case where the bus is flushed in the handler.
12039         
12040         * gst/gstelement.c: (gst_element_get_bus):
12041         Fix refcount in _get_bus();
12042
12043         * gst/gstpipeline.c: (gst_pipeline_change_state),
12044         (gst_pipeline_get_clock_func):
12045         Clock refcounting fixes.
12046         Handle the case where preroll timed out more gracefully.
12047         
12048         * gst/gstsystemclock.c: (gst_system_clock_dispose):
12049         Clean up the internal thread in dispose. This is needed
12050         for subclasses that actually get disposed.
12051         
12052         * gst/schedulers/threadscheduler.c:
12053         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12054         (gst_thread_scheduler_dispose):
12055         Free thread pool in dispose.
12056
12057 2005-06-28  Andy Wingo  <wingo@pobox.com>
12058
12059         * tests/network-clock-utils.scm (debug, print-event): New utils.
12060
12061         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
12062         (*packet-loss*): Unified loss probability.
12063         (network-time): Report out-of-band events.
12064
12065         * tests/plot-data: Add support for out-of-band events. Hack it
12066         into this script instead of passing it down the pipe; should fix
12067         this later.
12068
12069 2005-06-28  Wim Taymans  <wim@fluendo.com>
12070
12071         * docs/gst/gstreamer.types:
12072         * docs/gst/tmpl/gstbasesrc.sgml:
12073         * docs/gst/tmpl/gstpad.sgml:
12074         Docs fixes.
12075
12076 2005-06-28  Wim Taymans  <wim@fluendo.com>
12077
12078         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12079         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
12080         (gst_proxy_pad_do_fixatecaps):
12081         Correctly proxy the check_pull_range function.
12082
12083 2005-06-28  Andy Wingo  <wingo@pobox.com>
12084
12085         * tests/network-clock.scm: Removed need for slib.
12086         
12087 2005-06-28  Wim Taymans  <wim@fluendo.com>
12088
12089         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
12090         (gst_basesink_preroll_queue_flush):
12091         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
12092         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
12093         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12094         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12095         (gst_proxy_pad_set_property):
12096         * gst/gstpad.c:
12097         * gst/gstpad.h:
12098         * gst/gstqueue.c: (gst_queue_init):
12099         The deprecated pad loop function is removed now.
12100
12101 2005-06-28  Andy Wingo  <wingo@pobox.com>
12102
12103         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
12104         New parameters, simulate network packet loss.
12105
12106         * tests/network-clock-utils.scm: Initialize the RNG.
12107
12108 2005-06-28  Wim Taymans  <wim@fluendo.com>
12109
12110         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
12111         (gst_basesink_event), (gst_basesink_deactivate):
12112         Flushing the preroll queue always needs to unlock the waiters.
12113
12114 2005-06-28  Edward Hervey  <edward@fluendo.com>
12115
12116         * gst/gstpipeline.c: (gst_pipeline_send_event): 
12117         Wheen a seek was successful on a pipeline, set the stream_time to the
12118         seek offset in order to have a synchronized stream_time.
12119
12120 2005-06-28  Wim Taymans  <wim@fluendo.com>
12121
12122         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12123         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12124         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
12125         (gst_proxy_pad_do_fixatecaps):
12126         Call wrapper function instead of just calling the function
12127         pointers. This takes care of any locking and whatmore.
12128
12129 2005-06-28  Wim Taymans  <wim@fluendo.com>
12130
12131         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
12132         (gst_pad_pull_range):
12133         * gst/gstpad.h:
12134         CONNECTED -> LINKED.
12135
12136 2005-06-28  Andy Wingo  <wingo@pobox.com>
12137
12138         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
12139         source-munging commit!!!
12140
12141         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
12142         (gst_object_sink): Take gpointer arguments, not GstObject --
12143         avoids casts. Like GLib.
12144
12145         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
12146         activate.
12147
12148 2005-06-27  Andy Wingo  <wingo@pobox.com>
12149
12150         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
12151         remaining buffer.
12152
12153         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
12154         returns a sorted copy of the trace list.
12155         (gst_alloc_trace_print_live): New API, only prints traces with
12156         live objects. Sort the list.
12157         (gst_alloc_trace_print_all): Sort the list.
12158         (gst_alloc_trace_print): Align columns.
12159
12160         * gst/elements/gstttypefindelement.c:
12161         * gst/elements/gsttee.c:
12162         * gst/base/gstbasesrc.c:
12163         * gst/base/gstbasesink.c:
12164         * gst/base/gstbasetransform.c:
12165         * gst/gstqueue.c: Adapt for pad activation changes.
12166
12167         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
12168         sched.
12169         (gst_pipeline_dispose): Drop ref on sched.
12170
12171         * gst/gstpad.c (gst_pad_init): Set the default activate func.
12172         (gst_pad_activate_default): Push mode by default.
12173         (pre_activate_switch, post_activate_switch): New stubs, things to
12174         do before and after switching activation modes on pads.
12175         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
12176         the pad's activate function to choose which mode to activate.
12177         Shortcut on deactivation and call the right function directly.
12178         (gst_pad_activate_pull): New API, (de)activates a pad in pull
12179         mode.
12180         (gst_pad_activate_push): New API, same for push mode.
12181         (gst_pad_set_activate_function) 
12182         (gst_pad_set_activatepull_function) 
12183         (gst_pad_set_activatepush_function): Setters for new API.
12184
12185         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
12186         Trace all miniobjects.
12187         (gst_mini_object_make_writable): Unref the arg if we copy, like
12188         gst_caps_make_writable.
12189
12190         * gst/gstmessage.c (_gst_message_initialize): No trace init.
12191
12192         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
12193         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
12194         Adapt for new pad API.
12195
12196         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
12197
12198         * gst/gstelement.h:
12199         * gst/gstelement.c (gst_element_iterate_src_pads) 
12200         (gst_element_iterate_sink_pads): New API functions.
12201         
12202         * gst/gstelement.c (iterator_fold_with_resync): New utility,
12203         should fold into gstiterator.c in some form.
12204         (gst_element_pads_activate): Simplified via use of fold and
12205         delegation of decisions to gstpad->activate.
12206
12207         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
12208         help in debugging.
12209
12210         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
12211         class once in init, like gstmessage. Didn't run into this issue
12212         but it seems correct. Don't initialize a trace, gstminiobject does
12213         that.
12214
12215         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
12216         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
12217         to the bus.
12218         (assert_live_count): New util function, uses alloc traces to check
12219         cleanup.
12220
12221         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
12222         To be modified when unlink drops the internal pad.
12223
12224 2005-06-27  Wim Taymans  <wim@fluendo.com>
12225
12226         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
12227         (gst_bin_change_state):
12228         Cleanup the get_state() function a little, make sure it
12229         iterates the same set of elements.
12230         Added stub iterate_state_order().
12231
12232 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12233
12234         * docs/gst/gstreamer-docs.sgml:
12235         * docs/gst/gstreamer-sections.txt:
12236         * docs/gst/gstreamer.types:
12237         * docs/gst/tmpl/gstbasesink.sgml:
12238         * docs/gst/tmpl/gstbasesrc.sgml:
12239         * docs/gst/tmpl/gstbasetransform.sgml:
12240         * docs/gst/tmpl/gstelement.sgml:
12241         * docs/gst/tmpl/gstiterator.sgml:
12242         * gst/base/gstbasesrc.c:
12243         * gst/base/gstbasesrc.h:
12244         * gst/base/gstbasetransform.h:
12245         * gst/gstelement.c:
12246         * gst/gstiterator.h:
12247           adding basetransform and iterator docs
12248
12249 2005-06-27  Andy Wingo  <wingo@pobox.com>
12250
12251         * docs/design/part-activation.txt: Notes on how activation should
12252         work -- not quite implemented yet.
12253
12254 2005-06-25  Wim Taymans  <wim@fluendo.com>
12255
12256         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
12257         At least get the chain function correct, needs more
12258         fixing.
12259
12260 2005-06-25  Wim Taymans  <wim@fluendo.com>
12261
12262         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12263         (gst_basesink_handle_object), (gst_basesink_event),
12264         (gst_basesink_do_sync), (gst_basesink_handle_event),
12265         (gst_basesink_change_state):
12266         * gst/gsttask.h:
12267         Right, two problems here: ghostpads don't take locks and
12268         glib _rec_mutex_lock_full() with depth==0 still locks.
12269         Catch illegal locking and g_warn them.
12270
12271 2005-06-25  Wim Taymans  <wim@fluendo.com>
12272
12273         * check/states/sinks.c: (START_TEST), (gst_object_suite):
12274         Have to check for completion now...
12275
12276 2005-06-25  Wim Taymans  <wim@fluendo.com>
12277
12278         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12279         (gst_basesink_handle_object), (gst_basesink_event),
12280         (gst_basesink_do_sync), (gst_basesink_handle_event),
12281         (gst_basesink_change_state):
12282         * gst/gstpad.h:
12283         Unlock STREAM_LOCK whatever the recursion was.
12284
12285 2005-06-25  Wim Taymans  <wim@fluendo.com>
12286
12287         * gst/base/gstbasesink.c: (gst_basesink_set_property),
12288         (gst_basesink_preroll_queue_empty),
12289         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
12290         (gst_basesink_event), (gst_basesink_do_sync),
12291         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
12292         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
12293         (gst_basesink_change_state):
12294         Reworked the base sink, handle event and buffer serialisation
12295         correctly and removed possible deadlock.
12296         Handle EOS correctly.
12297
12298 2005-06-25  Wim Taymans  <wim@fluendo.com>
12299
12300         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
12301         (gst_pipeline_change_state):
12302         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12303         Allow elements to post EOS in the state change function.
12304         Fix up -launch, make it exit the poll loop when the
12305         pipeline actually changed state.
12306         Fix up warning parsing in -launch.
12307
12308 2005-06-25  Wim Taymans  <wim@fluendo.com>
12309
12310         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
12311         (gst_tee_sink_activate):
12312         Core takes STREAM_LOCK for us now.
12313
12314 2005-06-25  Wim Taymans  <wim@fluendo.com>
12315
12316         * gst/gstelement.c: (gst_element_get_state_func),
12317         (gst_element_set_state):
12318         * gst/gstelement.h:
12319         * gst/gstmessage.c: (gst_message_parse_error),
12320         (gst_message_parse_warning):
12321         Keep track of current target state while performing a state
12322         change so that subclasses can do something interesting.
12323         Fix parsing of warning/error messages when GError is NULL.
12324
12325 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12326
12327         * docs/gst/Makefile.am:
12328         * docs/gst/gstreamer-docs.sgml:
12329         * docs/gst/gstreamer-sections.txt:
12330         * docs/gst/gstreamer.types:
12331         * docs/gst/tmpl/gstbasesink.sgml:
12332         * docs/gst/tmpl/gstbasesrc.sgml:
12333         * docs/gst/tmpl/gstbin.sgml:
12334         * docs/gst/tmpl/gstcompat.sgml:
12335         * docs/gst/tmpl/gstfakesink.sgml:
12336         * docs/gst/tmpl/gstfakesrc.sgml:
12337         * docs/gst/tmpl/gstfilesink.sgml:
12338         * docs/gst/tmpl/gstfilesrc.sgml:
12339         * docs/gst/tmpl/gstindex.sgml:
12340         * docs/manual/appendix-quotes.xml:
12341         * gst/base/gstbasesrc.h:
12342         * gst/elements/gstfakesrc.h:
12343         * gst/gstmessage.h:
12344           start pulling in base classes and elements in our docs
12345
12346 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
12347
12348         * docs/gst/Makefile.am:
12349         * docs/libs/Makefile.am:
12350           fixed make distcheck with gtk-doc 1.3
12351
12352 2005-06-23  Wim Taymans  <wim@fluendo.com>
12353
12354         * gst/gstelement.c: (gst_element_get_state_func),
12355         (gst_element_set_state), (gst_element_change_state):
12356         When the state did not change, also report NO_PREROLL
12357         when it matters.
12358
12359 2005-06-23  Wim Taymans  <wim@fluendo.com>
12360
12361         * gst/gstpad.c: (gst_pad_event_default):
12362         * gst/gstqueue.c: (gst_queue_loop):
12363         No unsafe task pausing please.
12364
12365 2005-06-23  Wim Taymans  <wim@fluendo.com>
12366
12367         * gst/schedulers/threadscheduler.c:
12368         (gst_thread_scheduler_task_start),
12369         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
12370         Ref the task before pushing it on the threadpool. This
12371         makes sure that we have a ref when the threadfunction is
12372         actually called.
12373
12374 2005-06-23  Andy Wingo  <wingo@pobox.com>
12375
12376         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
12377         offset is greater than the file's size.
12378
12379         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
12380         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
12381         * gst/gstobject.c (gst_object_class_init): Make the class lock
12382         recursive. Wim won't let me drop deep_notify. Decodebin works
12383         again, whoopdy doo.
12384
12385         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
12386         internal pad, and hacks accordingly. Doesn't do it on the target
12387         pad because we change its caps. Probably catches all cases of
12388         interest tho.
12389         (gst_ghost_pad_set_property): Connect to notify::caps as
12390         appropritate.
12391
12392         * tests/network-clock.scm (plot-simulation): Pipe data to the
12393         elite python skript.
12394
12395         * tests/network-clock-utils.scm (define-parameter): New macro,
12396         defines a parameter that can be set via the command line.
12397         (set-parameter!, parse-parameter-arguments): Command line args
12398         parser.
12399
12400         * tests/plot-data: Simple matplotlib-based plotter, takes input on
12401         stdin.
12402
12403 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
12404
12405         * gst/elements/gsttypefindelement.c:
12406         (gst_type_find_element_handle_event):
12407           Don't restart typefinding on a discont.
12408         * gst/gstelement.c: (gst_element_set_state):
12409           Debug spelling fix.
12410         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
12411           Allow changing mode of an active pad.
12412           Debug output fixes.
12413         * gst/registries/gstlibxmlregistry.c: (load_feature):
12414           Don't cast a static pad template to a normal pad template.
12415
12416 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12417
12418         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12419         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12420           remove gst_strtoll completely, since it didn't actually do
12421           anything more than what g_ascii_strtoull already does.
12422           check for range errors when deserializing
12423           do a cast for the unsigned cases; but further fixing needs
12424           a decision on what the interpretation of "(int)" and
12425           deserialization should be for values that fall outside the
12426           type's boundaries (ie, refuse, or interpret as casting)
12427
12428 2005-06-23  Wim Taymans  <wim@fluendo.com>
12429
12430         * check/Makefile.am:
12431         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
12432         * docs/design/part-live-source.txt:
12433         * docs/design/part-states.txt:
12434         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12435         (gst_basesrc_set_live), (gst_basesrc_is_live),
12436         (gst_basesrc_get_range), (gst_basesrc_activate),
12437         (gst_basesrc_change_state):
12438         * gst/base/gstbasesrc.h:
12439         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12440         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12441         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
12442         * gst/gstelement.c: (gst_element_get_state_func),
12443         (gst_element_set_state):
12444         * gst/gstelement.h:
12445         * gst/gsttypes.h:
12446         * tools/gst-launch.c: (event_loop), (main):
12447         Added support for live sources and other elements that
12448         cannot do preroll.
12449         Updated design docs, added live-source design doc.
12450         Implemented live source functionality in basesrc
12451         Fix error condition in _bin_get_state()
12452         Implement live source handling in -launch.
12453         Added check for live sources.
12454         Fixed case in GstBin where elements were changed state
12455         multiple times.
12456
12457
12458 2005-06-23  Andy Wingo  <wingo@pobox.com>
12459
12460         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
12461         borken refcounting.
12462
12463         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
12464         gst_caps_replace takes care of this for us.
12465
12466         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
12467         gst_pad_set_caps on the target, not just its setcaps() function.
12468
12469         * tests/network-clock.scm: 
12470         * tests/network-clock-utils.scm: A network clock simulator.
12471         Something of an algorithmic testbed before doing something in C.
12472
12473 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12474
12475         * check/Makefile.am:
12476         * check/gst/capslist.h:
12477           copy over from 0.8, and add two with bitmasks specified with
12478           (int) 0xFF...
12479         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12480           add test to parse everything from capslist.h
12481         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
12482         (main):
12483           add test for structure deserialization
12484         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12485           add tests for deserialization of strings to int types
12486         * gst/gststructure.c: (gst_structure_nth_field_name):
12487         * gst/gststructure.h:
12488           add a way to get the name of a field referenced by index
12489         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12490           instead of checking if the resulting long long lies between
12491           min and max, we check if the long long would fit into
12492           a number of bytes for the final type.
12493           This fixes cases where a string represents 2^32 - 1, which
12494           when cast to int would be the (valid) -1, but is bigger than
12495           G_MAXINT
12496
12497 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12498
12499         * gst/parse/grammar.y:
12500           add a log line for type deserialization
12501
12502 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12503
12504         * check/gst/gstvalue.c: (START_TEST):
12505         * gst/gstvalue.c: (gst_value_deserialize):
12506           return long long, not int, so gint64 deserialization actually
12507           works.  Is there any flag that makes the compiler check this ?
12508           Fixes #308559
12509
12510 2005-06-22  Wim Taymans  <wim@fluendo.com>
12511
12512         * gst/gstbuffer.h:
12513         Added convenience macros for setting buffers in GValue.
12514
12515 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12516
12517         * check/gst/.cvsignore:
12518         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12519           add a test deserializing int64, and comment part out because
12520           it fails, yay !
12521
12522 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12523
12524         * check/Makefile.am:
12525         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
12526         * testsuite/Makefile.am:
12527         * testsuite/caps/Makefile.am:
12528         * testsuite/caps/value_serialize.c:
12529         * testsuite/test_gst_init.c:
12530           move a value_serialize test over
12531
12532 2005-06-20  Wim Taymans  <wim@fluendo.com>
12533
12534         * gst/gstpad.c:
12535         Small doc updates.
12536         
12537         * gst/gstvalue.c: (gst_value_compare_buffer),
12538         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
12539         (gst_value_compare_flags), (gst_value_serialize_flags),
12540         (gst_value_deserialize_flags), (_gst_value_initialize):
12541         Fix serialisation of buffers, they are not boxed types anymore
12542
12543 2005-06-20  Wim Taymans  <wim@fluendo.com>
12544
12545         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12546         Testcase to show error in buffer-on-caps serialisation.
12547
12548 2005-06-20  Andy Wingo  <wingo@pobox.com>
12549
12550         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
12551         will be adding to later.
12552
12553         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
12554         if its socks fill with rocks.
12555         (gst_system_clock_obtain): Set the name on object construction.
12556         Avoid double-checked locking.
12557
12558 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
12559
12560         * gst/gsturi.c: (gst_element_make_from_uri):
12561           Fix potential endless loop.
12562
12563 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12564
12565         * check/Makefile.am:
12566           add gsttag
12567         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
12568         (main):
12569           move over from testsuite dir and clean up
12570         * configure.ac:
12571         * gst/gsttag.c:
12572         * testsuite/Makefile.am:
12573         * testsuite/tags/.cvsignore:
12574         * testsuite/tags/Makefile.am:
12575         * testsuite/tags/merge.c:
12576           remove testsuite/tags
12577
12578 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12579
12580         * docs/gst/gstreamer-sections.txt:
12581         * docs/gst/tmpl/gstenumtypes.sgml:
12582         * win32/gstenumtypes.c:
12583           clean up documentation build a little
12584
12585 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12586
12587         * check/gstcheck.h:
12588           add macros for checking refcounts on objects and caps
12589         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
12590           add some more unit tests
12591         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12592         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
12593           fix leaked refcounts (I hope :)) so unittest works
12594         * gst/gstpad.h:
12595           whitespace removal
12596
12597 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12598
12599         * configure.ac: back to HEAD
12600
12601 === release 0.9.1 ===
12602
12603 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12604
12605         * NEWS:
12606         * RELEASE:
12607           updated
12608
12609 2005-06-17  Andy Wingo  <wingo@pobox.com>
12610
12611         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
12612         assert; it's always possible that the pad gets deactivated in
12613         between the checks in gstpad.c and the implementation. Rely on
12614         finish_preroll() to return a FLUSHING or similar instead of on the
12615         assert.
12616         
12617         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
12618         clock and post an EOS message if we come out of finish_preroll in
12619         the playing state.
12620
12621 2005-06-16  David Schleef  <ds@schleef.org>
12622
12623         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12624         (gst_capsfilter_set_property): Allow NULL as possible value
12625         for filter_caps property, indicating GST_CAPS_ANY.
12626
12627 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12628
12629         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
12630           fix debug output
12631         * gst/schedulers/Makefile.am:
12632           use libgst prefix
12633         * gstreamer.spec.in:
12634           fix spec for it
12635
12636 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12637
12638         * gstreamer.spec.in:
12639           clean up
12640
12641 2005-06-08  Andy Wingo  <wingo@pobox.com>
12642
12643         * gst/gstutils.c: RPAD fixes all around.
12644         (gst_element_link_pads): Refcounting fixes.
12645
12646         * tools/gst-inspect.c:
12647         * tools/gst-xmlinspect.c:
12648         * parse/grammar.y:
12649         * gst/base/gsttypefindhelper.c:
12650         * gst/base/gstbasesink.c:
12651         * gst/gstqueue.c: RPAD fixes.
12652
12653         * gst/gstghostpad.h:
12654         * gst/gstghostpad.c: New ghost pad implementation as full proxy
12655         pads. The tricky thing is they provide both source and sink
12656         interfaces, since they proxy the internal pad for the external
12657         pad, and vice versa. Implement with lower-level ProxyPad objects,
12658         with the interior proxy pad as a child of the exterior ghost pad.
12659         Should write a doc on this.
12660         
12661         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
12662         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
12663         gst_object API.
12664         
12665         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
12666         pads are real pads. No ghost pads in this file. Not documenting
12667         the myriad s/RPAD/PAD/ and REALIZE fixes.
12668         (gst_pad_class_init): Add properties for "direction" and
12669         "template". Both are construct-only, so they can't change during
12670         the life of the pad. Fixes properly deriving from GstPad.
12671         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
12672         derived objects, just set properties when creating the objects via
12673         g_object_new.
12674         (gst_pad_get_parent): Implement as a function, return NULL if the
12675         parent is not an element.
12676         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
12677         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
12678         
12679         * gst/gstobject.c (gst_object_class_init): Make name a construct
12680         property. Don't set it in the object init.
12681
12682         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
12683         with UNKNOWN direction.
12684         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
12685         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
12686         (gst_element_remove_pad): Remove ghost-pad special cases.
12687         (gst_element_pads_activate): Remove rpad cruft.
12688
12689         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
12690         catch the pad's-parent-not-an-element case.
12691
12692         * gst/gst.h: Include gstghostpad.h.
12693
12694         * gst/gst.c (init_post): No more real, ghost pads.
12695
12696         * gst/Makefile.am: Add gstghostpad.[ch].
12697
12698         * check/Makefile.am:
12699         * check/gst/gstbin.c:
12700         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
12701         into a bin creates ghost pads, and that the refcounts are right.
12702         Partly moved from gstbin.c.
12703
12704 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12705
12706         * check/gst-libs/.cvsignore:
12707         * check/gst/.cvsignore:
12708         * check/pipelines/.cvsignore:
12709           ignore more
12710         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
12711         (START_TEST), (cleanup_suite), (main):
12712           add some tests related to cleanup after running pipelines
12713
12714 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12715
12716         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
12717           add a testsuite for GstBuffer
12718
12719 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12720
12721         * gst/gstminiobject.h:
12722           add defines for accessing the refcount
12723
12724 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
12725
12726         * Makefile.am: added support for html unit test coverage reports
12727
12728 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12729
12730         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12731           Free existing caps if the capsfilter changes. Add a FIXME about
12732           setting those caps on the pads.
12733
12734         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12735           Before adding a ghost pad to a parent bin, check that there isn't
12736           already one for the element on the bin. Prevents infinite recursion
12737           when using decodebin in parse pipelines. Andy says he'll rewrite the
12738           way this works anyway, so ignore the hack.
12739
12740 2005-06-02  Andy Wingo  <wingo@pobox.com>
12741
12742         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12743         file size, pass it on to the type find helper.
12744
12745         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12746         segment_start and segment_end properly according to the seek
12747         method. Segment_end is still a bit flaky because offset can be
12748         negative for CUR and END cases, but it takes -1 as an "unset"
12749         value.
12750
12751 2005-06-02  Wim Taymans  <wim@fluendo.com>
12752
12753         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12754         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12755         (gst_basesink_activate):
12756         * gst/base/gstbasesink.h:
12757         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12758         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12759         (gst_pad_query), (gst_pad_start_task):
12760         * gst/gstpad.h:
12761         * gst/gstqueue.c: (gst_queue_bufferalloc),
12762         (gst_queue_handle_sink_event), (gst_queue_chain):
12763         Bufferalloc: return GstFlowReturn to more accuratly report
12764         why allocation failed.
12765
12766 2005-06-02  Wim Taymans  <wim@fluendo.com>
12767
12768         * gst/gstpipeline.c: (gst_pipeline_send_event):
12769         Take snapshot of state without blocking.
12770
12771 2005-06-02  Wim Taymans  <wim@fluendo.com>
12772
12773         * docs/design/part-TODO.txt:
12774         * docs/design/part-caps.txt:
12775         * docs/design/part-clocks.txt:
12776         * docs/design/part-negotiation.txt:
12777         * docs/design/part-preroll.txt:
12778         Small doc updates 
12779
12780 2005-05-30  Wim Taymans  <wim@fluendo.com>
12781
12782         * gst/elements/gstidentity.c: (gst_identity_event),
12783         (gst_identity_transform), (gst_identity_get_property):
12784         Protect last_message property as it is accessed from
12785         multiple threads.
12786
12787 2005-05-30  Wim Taymans  <wim@fluendo.com>
12788
12789         * gst/gstelement.c: (gst_element_init),
12790         (gst_element_pads_activate), (gst_element_change_state):
12791         Slicker pad activation code.
12792
12793 2005-05-30  Wim Taymans  <wim@fluendo.com>
12794
12795         * gst/Makefile.am:
12796         * gst/gstelement.h:
12797         * gst/gstelementfactory.h:
12798         * gst/gsttypes.h:
12799         Move elementfactory methods to separate .h file.
12800
12801 2005-05-30  Wim Taymans  <wim@fluendo.com>
12802
12803         * docs/design/part-overview.txt:
12804         * gst/gstsystemclock.h:
12805         Small typo fixes, doc updates.
12806
12807 2005-05-30  Wim Taymans  <wim@fluendo.com>
12808
12809         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12810         (init_popt_callback):
12811         Remove cpu-opt flag.
12812
12813 2005-05-30  Wim Taymans  <wim@fluendo.com>
12814
12815         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12816         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12817         * gst/gstbuffer.h:
12818         Avoid typechecking in places where not needed.
12819         Added accessor for malloc_data.
12820
12821 2005-05-30  Wim Taymans  <wim@fluendo.com>
12822
12823         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12824         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12825         (gst_pad_configure_sink), (gst_pad_configure_src),
12826         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12827         (gst_pad_start_task):
12828         Propagate errors from _set_caps() in configure_src/sink
12829         functions instead of returning TRUE.
12830         FLUSH events can travel up and downstream
12831
12832
12833 2005-05-30  Wim Taymans  <wim@fluendo.com>
12834
12835         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12836         (gst_basesink_activate):
12837         Handle EOS in preroll.
12838
12839 2005-05-30  Wim Taymans  <wim@fluendo.com>
12840
12841         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12842         (gst_queue_loop), (gst_queue_handle_src_event):
12843         Remove old pieces of code
12844         Flushing the queue in an upstream event is a very bad idea.
12845
12846 2005-05-26  Andy Wingo  <wingo@pobox.com>
12847
12848         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12849         gst_value_set_mini_object so as to add a ref on the object (which
12850         will be removed when the value is unset).
12851
12852         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12853         arg type in ::handoff.
12854
12855         * gst/gstelement.c (gst_element_change_state): Also deactivate
12856         pads in READY->NULL, just in case the element didn't make it to
12857         PAUSED. Wingo tested, Wim approved.
12858
12859 2005-05-26  Wim Taymans  <wim@fluendo.com>
12860
12861         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12862         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12863         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12864         A flushing pad cannot be used to alloc_buffer from.
12865
12866 2005-05-26  Wim Taymans  <wim@fluendo.com>
12867
12868         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12869         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12870         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12871         (gst_bus_create_watch), (gst_bus_add_watch_full):
12872         * gst/gstbus.h:
12873         Implement a real GSource and use g_main_context_wakeup() to
12874         signal new messages instead of the socketpair.
12875
12876 2005-05-25  Wim Taymans  <wim@fluendo.com>
12877
12878         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12879         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12880         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12881         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12882         (gst_pad_send_event), (gst_pad_start_task):
12883         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12884         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12885         (gst_queue_sink_activate), (gst_queue_src_activate),
12886         (gst_queue_change_state):
12887         * gst/gstqueue.h:
12888         Fix state changes for non sinks. We now change sinks, then elements
12889         with unconnected srcpads, then the rest.
12890         More efficient queue unlocking in flush and state changes.
12891         Set the pad activate mode even if it does not have an activate
12892         function.
12893
12894 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12895
12896         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12897           Don't go in pull mode for non-seekable sources.
12898         * gst/elements/gsttypefindelement.h:
12899         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12900         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12901         (free_entry), (stop_typefinding),
12902         (gst_type_find_element_handle_event), (find_peek),
12903         (gst_type_find_element_chain), (do_pull_typefind),
12904         (gst_type_find_element_change_state):
12905           Allow typefinding (w/o seeking) in push-mode, simplified version
12906           of what was in 0.8.
12907         * gst/gstutils.c: (gst_buffer_join):
12908         * gst/gstutils.h:
12909           gst_buffer_join() from 0.8.
12910
12911 2005-05-25  Wim Taymans  <wim@fluendo.com>
12912
12913         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12914         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12915         (gst_pad_send_event), (gst_pad_start_task):
12916         Disable attempt at mode switching until it is figured out.
12917
12918 2005-05-25  Wim Taymans  <wim@fluendo.com>
12919
12920         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12921         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12922         (gst_basesink_finish_preroll), (gst_basesink_chain),
12923         (gst_basesink_loop), (gst_basesink_activate),
12924         (gst_basesink_change_state):
12925         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12926         (gst_basesrc_get_range), (gst_basesrc_loop),
12927         (gst_basesrc_activate):
12928         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12929         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12930         (gst_real_pad_init), (gst_real_pad_set_property),
12931         (gst_real_pad_get_property), (gst_pad_set_active),
12932         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12933         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12934         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12935         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12936         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12937         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12938         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12939         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12940         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12941         (gst_pad_stop_task):
12942         * gst/gstpad.h:
12943         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12944         (gst_queue_loop), (gst_queue_src_activate):
12945         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12946         (gst_task_get_state):
12947         * gst/gsttask.h:
12948         * gst/schedulers/threadscheduler.c:
12949         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12950         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12951         in task function.
12952         Remove ACTIVE pad flag, use FLUSHING everywhere
12953         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12954         functions.
12955         Add locks around IS_FLUSHING when reading.
12956         Take STREAM lock in chain(), get_range() functions so plugins
12957         don't need to take it anymore.
12958         
12959
12960
12961 2005-05-25  Wim Taymans  <wim@fluendo.com>
12962
12963         * tools/gst-launch.c: (event_loop):
12964         Unref message after using its contents instead of
12965         before.
12966
12967 2005-05-24  Wim Taymans  <wim@fluendo.com>
12968
12969         * docs/design/draft-ghostpads.txt:
12970         * docs/design/draft-push-pull.txt:
12971         * docs/design/draft-query.txt:
12972         * docs/design/part-overview.txt:
12973         Docs updates, added general overview doc.
12974
12975 2005-05-21  David Schleef  <ds@schleef.org>
12976
12977         * docs/gst/tmpl/old/GstBin.sgml:
12978         * docs/gst/tmpl/old/GstBuffer.sgml:
12979         * docs/gst/tmpl/old/GstCaps.sgml:
12980         * docs/gst/tmpl/old/GstClock.sgml:
12981         * docs/gst/tmpl/old/GstCompat.sgml:
12982         * docs/gst/tmpl/old/GstData.sgml:
12983         * docs/gst/tmpl/old/GstElement.sgml:
12984         * docs/gst/tmpl/old/GstEvent.sgml:
12985         * docs/gst/tmpl/old/GstIndex.sgml:
12986         * docs/gst/tmpl/old/GstStructure.sgml:
12987         * docs/gst/tmpl/old/GstTag.sgml:
12988         * docs/gst/tmpl/old/cothreads.sgml:
12989         * docs/gst/tmpl/old/cothreads_compat.sgml:
12990         * docs/gst/tmpl/old/gettext.sgml:
12991         * docs/gst/tmpl/old/gobject2gtk.sgml:
12992         * docs/gst/tmpl/old/grammar.tab.sgml:
12993         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12994         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12995         * docs/gst/tmpl/old/gst_private.sgml:
12996         * docs/gst/tmpl/old/gstaggregator.sgml:
12997         * docs/gst/tmpl/old/gstarch.sgml:
12998         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12999         * docs/gst/tmpl/old/gstbufferstore.sgml:
13000         * docs/gst/tmpl/old/gstdata_private.sgml:
13001         * docs/gst/tmpl/old/gstdisksink.sgml:
13002         * docs/gst/tmpl/old/gstdisksrc.sgml:
13003         * docs/gst/tmpl/old/gstelementfactory.sgml:
13004         * docs/gst/tmpl/old/gstextratypes.sgml:
13005         * docs/gst/tmpl/old/gstfakesink.sgml:
13006         * docs/gst/tmpl/old/gstfakesrc.sgml:
13007         * docs/gst/tmpl/old/gstfdsink.sgml:
13008         * docs/gst/tmpl/old/gstfdsrc.sgml:
13009         * docs/gst/tmpl/old/gstfilesink.sgml:
13010         * docs/gst/tmpl/old/gstfilesrc.sgml:
13011         * docs/gst/tmpl/old/gsthttpsrc.sgml:
13012         * docs/gst/tmpl/old/gstidentity.sgml:
13013         * docs/gst/tmpl/old/gstindexfactory.sgml:
13014         * docs/gst/tmpl/old/gstmarshal.sgml:
13015         * docs/gst/tmpl/old/gstmd5sink.sgml:
13016         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
13017         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
13018         * docs/gst/tmpl/old/gstpadtemplate.sgml:
13019         * docs/gst/tmpl/old/gstpipefilter.sgml:
13020         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
13021         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
13022         * docs/gst/tmpl/old/gstshaper.sgml:
13023         * docs/gst/tmpl/old/gstspider.sgml:
13024         * docs/gst/tmpl/old/gstspideridentity.sgml:
13025         * docs/gst/tmpl/old/gststatistics.sgml:
13026         * docs/gst/tmpl/old/gsttee.sgml:
13027         * docs/gst/tmpl/old/gsttimecache.sgml:
13028         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
13029         * docs/gst/tmpl/old/gstxmlregistry.sgml:
13030         * docs/gst/tmpl/old/gthread-cothreads.sgml:
13031         * docs/gst/tmpl/old/types.sgml:
13032           I didn't intend to add these or check them in.
13033
13034 2005-05-19  David Schleef  <ds@schleef.org>
13035
13036         * configure.ac: Use -no-common everywhere.  In a sane world, it
13037           would be the default in libtool, because without it, you can't
13038           build DLLs on Windows.
13039         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
13040         * docs/gst/gstreamer-sections.txt:
13041         * docs/gst/tmpl/gstcpu.sgml:
13042         * docs/gst/tmpl/gstdata.sgml:
13043         * docs/gst/tmpl/gstthread.sgml:
13044
13045 2005-05-19  David Schleef  <ds@schleef.org>
13046
13047         * gst/gstminiobject.c: (gst_value_set_mini_object),
13048         (gst_value_take_mini_object), (gst_value_get_mini_object):
13049         * gst/gstminiobject.h: Add GValue set/get functions.
13050
13051 2005-05-19  Wim Taymans  <wim@fluendo.com>
13052
13053         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
13054         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
13055         (gst_subbuffer_init), (gst_buffer_is_span_fast):
13056         * gst/gstbuffer.h:
13057         * gst/gstbus.c: (gst_bus_post):
13058         * gst/gstelement.c: (gst_element_get_random_pad):
13059         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
13060         Make subbufer unref the parent in finalize.
13061         some more debugging info.
13062
13063
13064 2005-05-19  Wim Taymans  <wim@fluendo.com>
13065
13066         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13067         (gst_basesink_init), (gst_basesink_finalize),
13068         (gst_basesink_activate), (gst_basesink_change_state):
13069         Don't free preroll queue too early.
13070
13071 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13072
13073         * gst/Makefile.am:
13074         * gst/ROADMAP:
13075           Hi, I'm outdated. Please shoot me.
13076
13077 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13078
13079         * gst/gstpipeline.c: (gst_pipeline_send_event):
13080           Do not access variables after they have been deleted.
13081
13082 2005-05-19  Wim Taymans  <wim@fluendo.com>
13083
13084         * tools/gst-inspect.c: (print_plugin_features):
13085         A plugin feature does unfortunatly not use the
13086         object name yet...
13087
13088 2005-05-18  Wim Taymans  <wim@fluendo.com>
13089
13090         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
13091         Port _span() functions to new subbuffers.
13092
13093 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13094
13095         * gst/gstbin.c: (gst_bin_add_func):
13096           Fix clock settery in bins when adding kids after the clock has
13097           been selected.
13098
13099 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13100
13101         * gst/elements/gstidentity.c: (gst_identity_class_init):
13102           Workaround until signals support GstMiniObject.
13103
13104 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13105
13106         * gst/gstbuffer.c:
13107         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
13108
13109 2005-05-18  Wim Taymans  <wim@fluendo.com>
13110
13111         * gst/base/Makefile.am:
13112         * gst/base/gstadapter.c: (gst_adapter_base_init),
13113         (gst_adapter_class_init), (gst_adapter_init),
13114         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
13115         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
13116         (gst_adapter_flush), (gst_adapter_available),
13117         (gst_adapter_available_fast):
13118         * gst/base/gstadapter.h:
13119         Ported and added adapter to the base classes.
13120
13121 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13122
13123         * gst/gst.c:
13124         * gst/gstmessage.c:
13125           Make sure the class is reffed/unreffed once before threads can be
13126           used.  Fixes #304551.
13127
13128 2005-05-17  Wim Taymans  <wim@fluendo.com>
13129
13130         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
13131         (gst_basesink_chain_unlocked), (gst_basesink_activate):
13132         * gst/gstminiobject.c: (gst_mini_object_get_type),
13133         (gst_mini_object_free):
13134         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
13135         (gst_pad_push), (gst_pad_push_event):
13136         * gst/gstqueue.c: (gst_queue_change_state):
13137         Don't queue buffers in basesink when we are flushing.
13138         Unref buffer when flushing in basesink.
13139         Flush queue when going to READY
13140         Unref buffer when _push() returns an error.
13141         Don't free MiniObject instance when refcount is incremented
13142         in _finalize() so that we can recover objects.
13143
13144 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13145
13146         * docs/manual/advanced-schedulers.xml:
13147         * docs/manual/appendix-checklist.xml:
13148         * docs/pwg/advanced-clock.xml:
13149         * docs/pwg/advanced-interfaces.xml:
13150         * docs/pwg/advanced-request.xml:
13151         * docs/pwg/advanced-types.xml:
13152         * docs/pwg/intro-preface.xml:
13153         * examples/plugins/example.c: (gst_example_get_type),
13154         (gst_example_class_init), (gst_example_chain),
13155         (gst_example_set_property), (gst_example_get_property),
13156         (gst_example_change_state), (plugin_init):
13157         * examples/plugins/example.h:
13158           small doc fixes
13159
13160 2005-05-17  Wim Taymans  <wim@fluendo.com>
13161
13162         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
13163         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
13164         * gst/gstqueue.c: (gst_queue_change_state):
13165         Clear queue when going to READY.
13166         Remove IN_SETCAPS flag too.
13167
13168 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
13169
13170         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
13171           Remove implicit cast from gboolean to GstElementStateReturn;
13172           make sure we still return failure in paused => ready case if
13173           the parent class fails to change state and our own stop 
13174           vfunc succeeds.
13175
13176 2005-05-17  Wim Taymans  <wim@fluendo.com>
13177
13178         * tools/gst-launch.c: (event_loop):
13179         Message was unreffed too soon.
13180
13181 2005-05-16  Andy Wingo  <wingo@pobox.com>
13182
13183         * gst/gstbin.c (sink_iterator_filter): Err... um...
13184
13185         * check/gst/gstbin.c (test_ghost_pads): New test for the
13186         ghosting-if-elements-not-in-same-bin behavior.
13187
13188 2005-05-16  David Schleef  <ds@schleef.org>
13189
13190         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
13191         accessing refcount directly.
13192
13193 2005-05-15  David Schleef  <ds@schleef.org>
13194
13195         * check/Makefile.am: remove GstData checks
13196         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
13197         * gst/Makefile.am: add miniobject, remove data
13198         * gst/gst.h: add miniobject, remove data
13199         * gst/gstdata.c: remove
13200         * gst/gstdata.h: remove
13201         * gst/gstdata_private.h: remove
13202         * gst/gsttypes.h: remove GstEvent and GstMessage
13203         * gst/gstelement.c: (gst_element_post_message): fix for API changes
13204         * gst/gstmarshal.list: change BOXED -> OBJECT
13205
13206         Implement GstMiniObject.
13207         * gst/gstminiobject.c:
13208         * gst/gstminiobject.h:
13209
13210         Modify to be subclasses of GstMiniObject.
13211         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
13212         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
13213         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
13214         (gst_subbuffer_get_type), (gst_subbuffer_init),
13215         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
13216         (gst_buffer_span):
13217         * gst/gstbuffer.h:
13218         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
13219         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
13220         (_gst_event_copy), (gst_event_new):
13221         * gst/gstevent.h:
13222         * gst/gstmessage.c: (_gst_message_initialize),
13223         (gst_message_get_type), (gst_message_class_init),
13224         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
13225         (gst_message_new), (gst_message_new_error),
13226         (gst_message_new_warning), (gst_message_new_tag),
13227         (gst_message_new_state_changed), (gst_message_new_application):
13228         * gst/gstmessage.h:
13229         * gst/gstprobe.c: (gst_probe_perform),
13230         (gst_probe_dispatcher_dispatch):
13231         * gst/gstprobe.h:
13232         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
13233         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
13234         (_gst_query_copy), (gst_query_new):
13235
13236         Update elements for GstData -> GstMiniObject changes
13237         * gst/gstquery.h:
13238         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
13239         (gst_queue_chain), (gst_queue_loop):
13240         * gst/elements/gstbufferstore.c:
13241         (gst_buffer_store_add_buffer_func),
13242         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
13243         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13244         (gst_fakesink_render):
13245         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13246         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
13247         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
13248         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
13249         (gst_filesrc_create_read):
13250         * gst/elements/gstidentity.c: (gst_identity_class_init):
13251         * gst/elements/gsttypefindelement.c:
13252         (gst_type_find_element_src_event), (free_entry_buffers),
13253         (gst_type_find_element_handle_event):
13254         * libs/gst/dataprotocol/dataprotocol.c:
13255         (gst_dp_header_from_buffer):
13256         * libs/gst/dataprotocol/dataprotocol.h:
13257         * libs/gst/dataprotocol/dp-private.h:
13258
13259 2005-05-15  David Schleef  <ds@schleef.org>
13260
13261         * gst/elements/gstelements.c: Don't include headers that were
13262         just removed.
13263
13264 2005-05-15  David Schleef  <ds@schleef.org>
13265
13266         * gst/elements/Makefile.am: Remove some elements that don't
13267         need to be in the core (or even exist at all).
13268         * gst/elements/gstaggregator.c:
13269         * gst/elements/gstaggregator.h:
13270         * gst/elements/gstmd5sink.c:
13271         * gst/elements/gstmd5sink.h:
13272         * gst/elements/gstmultifilesrc.c:
13273         * gst/elements/gstmultifilesrc.h:
13274         * gst/elements/gstpipefilter.c:
13275         * gst/elements/gstpipefilter.h:
13276         * gst/elements/gstshaper.c:
13277         * gst/elements/gstshaper.h:
13278         * gst/elements/gststatistics.c:
13279         * gst/elements/gststatistics.h:
13280         * po/POTFILES.in: Remove above files.
13281
13282 2005-05-14  Andy Wingo  <wingo@pobox.com>
13283
13284         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
13285         so as to get the refs right.
13286         (sink_iterator_filter): New function, wraps bin_element_is_sink,
13287         unreffing objects that don't pass the filter.
13288
13289         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
13290         gst_element_set_bus.
13291         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
13292         normal cases, this will destroy the bus.
13293
13294         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
13295         object.
13296
13297         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
13298         has no sinks.
13299
13300 2005-05-13  Andy Wingo  <wingo@pobox.com>
13301
13302         * gst/gstutils.c (gst_element_link_pads): Instead of calling
13303         gst_pad_link, call pad_link_maybe_ghosting,
13304         (pad_link_maybe_ghosting): Links pads, making sure that the
13305         elements being linked are in the same bin.
13306         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
13307         Helpers for pad_link_maybe_ghosting.
13308
13309 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13310
13311         * configure.ac:
13312           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
13313
13314 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13315
13316         * docs/design/part-element-source.txt:
13317           Mention GstPushSrc
13318
13319 2005-05-12  Wim Taymans  <wim@fluendo.com>
13320
13321         * gst/base/gstbasesink.c: (gst_basesink_init),
13322         (gst_basesink_activate):
13323         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
13324         (gst_basesrc_is_seekable):
13325         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13326         (bin_element_is_sink), (gst_bin_change_state):
13327         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13328         * gst/gstelement.h:
13329         Identify sinks by their flag to avoid overly complicated
13330         checks (fow now).
13331         Do state changes even for elements not reachable from the
13332         sinks.
13333         BaseSink is a sink now :)
13334         Some more debugging info in the basesrc.
13335
13336
13337 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13338
13339         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
13340           Implement _query on a bin, similar to _send_event.
13341
13342 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13343
13344         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
13345           Discont event offset format should be GST_FORMAT_BYTES,
13346           not GST_FORMAT_TIME.
13347
13348 2005-05-12  Wim Taymans  <wim@fluendo.com>
13349
13350         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
13351         Same fix as Ronald's but without the signal. 
13352
13353 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13354
13355         * gst/gstutils.c: (gst_element_query_position):
13356           No, an element is not a pad.
13357
13358 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13359
13360         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
13361         (gst_bin_get_state):
13362           If a child is removed from a bin while we remove the child from
13363           the bin and while we're retrieving its state, signal this to the
13364           get_state function so we abort the wait (instead of waiting for
13365           a timeout) and can immediately re-iterate over all other elements.
13366
13367 2005-05-12  Wim Taymans  <wim@fluendo.com>
13368
13369         * gst/base/Makefile.am:
13370         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
13371         (gst_basesrc_start):
13372         * gst/base/gstbasesrc.h:
13373         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
13374         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
13375         (gst_pushsrc_init), (gst_pushsrc_create):
13376         * gst/base/gstpushsrc.h:
13377         Added is_seekable to BaseSrc
13378         Added simple PushSrc.
13379
13380 2005-05-11  Wim Taymans  <wim@fluendo.com>
13381
13382         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13383         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13384         (gst_element_link_pads), (gst_element_query_position),
13385         (gst_element_query_convert), (intersect_caps_func),
13386         (gst_pad_query_position), (gst_pad_query_convert):
13387         Fix refcounting in utils function.
13388         No point in trying to activate a pad when it's added, it could
13389         be added from the state change function and then we deadlock, the
13390         element has to decide what to do.
13391
13392 2005-05-10  Andy Wingo  <wingo@pobox.com>
13393
13394         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
13395         *all* the arguments.
13396
13397         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
13398         stream lock if it's a FLUSH_DONE; normal flushes don't get the
13399         lock (according to the docs -- if this is wrong change the docs).
13400
13401         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
13402         flush messages in the NULL state.
13403
13404         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
13405         message immediately and return.
13406         (gst_bus_set_flushing): New function. If a bus is flushing, it
13407         flushes out any queued messages and immediately unrefs new
13408         messages. This is so when an element goes to NULL, all of the
13409         unhandled messages coming from it can be freed, and their
13410         references to the element dropped. In other words: message source
13411         ref considered harmful :P
13412
13413         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
13414         we're finished with it.
13415
13416         * gst/gstmessage.c (gst_message_new_state_changed): 
13417
13418 2005-05-10  Wim Taymans  <wim@fluendo.com>
13419
13420         * gst/gstvalue.c: (gst_value_compare_flags),
13421         (gst_value_serialize_flags), (gst_value_deserialize_flags),
13422         (_gst_value_initialize):
13423         Added flags serialize/deserialize/compare code.
13424
13425 2005-05-09  Andy Wingo  <wingo@pobox.com>
13426
13427         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
13428         Intersect the peer's caps with our caps.
13429
13430 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13431
13432         * gst/base/gsttypefindhelper.c: (helper_find_peek):
13433         * gst/elements/gsttypefindelement.c: (find_peek):
13434           Handle negative offsets better. Fixes decodebin.
13435
13436 2005-05-09  Wim Taymans  <wim@fluendo.com>
13437
13438         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
13439         (gst_base_transform_event):
13440         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
13441         Implement accept_caps.
13442         Fix silly lock/unlock mismatch in base class.
13443
13444 2005-05-09  Wim Taymans  <wim@fluendo.com>
13445
13446         * docs/design/draft-push-pull.txt:
13447         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
13448         * gst/elements/gstfilesink.c: (gst_filesink_init),
13449         (gst_filesink_query):
13450         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13451         (gst_type_find_handle_src_query), (find_element_get_length):
13452         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
13453         * gst/gstelement.h:
13454         * gst/gstmessage.c:
13455         * gst/gstmessage.h:
13456         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
13457         (gst_real_pad_get_caps_unlocked),
13458         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
13459         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13460         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
13461         (gst_real_pad_dispose), (gst_real_pad_finalize),
13462         (gst_pad_load_and_link), (gst_pad_save_thyself),
13463         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
13464         (gst_pad_check_pull_range), (gst_pad_pull_range),
13465         (gst_pad_template_get_type), (gst_pad_template_class_init),
13466         (gst_pad_template_init), (gst_pad_template_dispose),
13467         (name_is_valid), (gst_static_pad_template_get),
13468         (gst_pad_template_new), (gst_static_pad_template_get_caps),
13469         (gst_pad_template_get_caps), (gst_pad_set_element_private),
13470         (gst_pad_get_element_private), (gst_pad_start_task),
13471         (gst_pad_pause_task), (gst_pad_stop_task),
13472         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
13473         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
13474         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
13475         (gst_ghost_pad_new):
13476         * gst/gstpad.h:
13477         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
13478         (gst_query_new_position), (gst_query_set_position),
13479         (gst_query_parse_position), (gst_query_new_convert),
13480         (gst_query_set_convert), (gst_query_parse_convert):
13481         * gst/gstquery.h:
13482         * gst/gstqueryutils.c:
13483         * gst/gstqueryutils.h:
13484         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13485         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13486         (gst_queue_handle_src_query):
13487         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13488         (gst_element_query_position), (gst_element_query_convert),
13489         (intersect_caps_func), (gst_pad_query_position),
13490         (gst_pad_query_convert):
13491         * gst/gstutils.h:
13492         * tools/gst-inspect.c: (print_pad_info):
13493         * tools/gst-xmlinspect.c: (print_element_info):
13494         Remove old query functions. Ported old code.
13495         Added position/convert helper functions to gstutils.
13496         Reordered gstpad.c code, grouping relevant things.
13497         Remove gst_message_new(), always need to speficy a specific
13498         message.
13499
13500
13501 2005-05-09  Andy Wingo  <wingo@pobox.com>
13502
13503         * gst/gstiterator.h: Add some includes.
13504
13505         * gst/gstqueryutils.h: Include more headers.
13506
13507         * gst/gstpad.h:
13508         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
13509         some uses of gst_pad_query.
13510
13511         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
13512         NULL out parameters.
13513         (gst_query_new_position): New proc, allocates a new position
13514         query.
13515
13516         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
13517         gstqueryutils.c to the build.
13518
13519         * gst/gststructure.c (gst_structure_set_valist): Implement with
13520         the generic G_VALUE_COLLECT.
13521         
13522 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
13523
13524         * gst/Makefile.am: (gst_headers):
13525         Added gstqueryutils.h to the list of headers to install, that was
13526         a 'nachty' move wingo :)
13527
13528 2005-05-06  Andy Wingo  <wingo@pobox.com>
13529
13530         * gst/gstquery.h
13531         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
13532         GstData, init a memchunk.
13533         (standard_definitions): Add a few query types, deprecate a few.
13534         (gst_query_get_type): New proc.
13535         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
13536         implementation.
13537         (gst_query_new_application, gst_query_get_structure): New public
13538         procs.
13539
13540         * docs/design/draft-query.txt: Removed LINKS from the query types,
13541         because all the rest can be dispatched to other pads -- seemed
13542         ugly to have a query that couldn't be dispatched. internal_links
13543         is fine as a pad method.
13544
13545         * gst/gstpad.h: Add query2 as a pad method, add the new functions
13546         in gstpad.c, but maintain binary compatibility for the moment.
13547         Will fix before 0.9 is out.
13548
13549         * gst/gstqueryutils.c: 
13550         * gst/gstqueryutils.h: New files, implement 3 methods for each
13551         query type: parse_query, parse_response, and set. Probably need an
13552         allocator as well.
13553
13554         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
13555
13556         * gst/elements/gstfilesink.c (gst_filesink_query2):
13557         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
13558         query_types, and formats methods.
13559
13560         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
13561         (gst_pad_set_query2_function): New functions.
13562         (gst_real_pad_init): Set query2_default as the default query2
13563         function. Basically just dispatches to internally linked pads.
13564
13565         Needs review!
13566         
13567         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
13568         without using the atomic operations. Only one thread can possibly
13569         be accessing the data at this point. Changed so as to avoid
13570         gst_atomic operations.
13571
13572 2005-05-06  Wim Taymans  <wim@fluendo.com>
13573
13574         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
13575         Also set caps if we use the fallback buffer alloc.
13576
13577 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
13578
13579         * docs/gst/Makefile.am:
13580         * docs/gst/gstreamer-docs.sgml:
13581         * docs/gst/gstreamer-sections.txt:
13582         * docs/gst/tmpl/gstatomic.sgml:
13583         * docs/gst/tmpl/gstmemchunk.sgml:
13584         * testsuite/elements/struct_i386.h:
13585         * win32/GStreamer.vcproj:
13586         * win32/Makefile:
13587           Purge GstAtomic stuff from docs and win32 makefiles as well
13588
13589 2005-05-06  Wim Taymans  <wim@fluendo.com>
13590
13591         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
13592         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
13593         * gst/gstpad.c: (gst_pad_peer_get_caps):
13594         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13595         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13596         (gst_queue_src_activate), (gst_queue_change_state):
13597         * gst/gstqueue.h:
13598         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13599         (intersect_caps_func):
13600         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
13601         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
13602         Some fixes for the peer_get_caps() change.
13603
13604 2005-05-06  Wim Taymans  <wim@fluendo.com>
13605
13606         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13607         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
13608         (gst_basesink_activate):
13609         Actually do something with error codes returned from the push
13610         functions.
13611
13612 2005-05-06  Wim Taymans  <wim@fluendo.com>
13613
13614         * docs/design/part-element-sink.txt:
13615         * docs/design/part-element-source.txt:
13616         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13617         (gst_basesink_event), (gst_basesink_activate):
13618         * gst/base/gstbasesink.h:
13619         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
13620         (gst_basesrc_activate):
13621         * gst/base/gstbasesrc.h:
13622         * gst/gstelement.c: (gst_element_pads_activate):
13623         Some more documentation.
13624         Fixed scheduling decision in _pads_activate().
13625
13626 2005-05-05  Andy Wingo  <wingo@pobox.com>
13627
13628         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
13629         the test suite.
13630
13631 2005-05-05  Wim Taymans  <wim@fluendo.com>
13632
13633         * gst/base/Makefile.am:
13634         * gst/base/gstbasesink.h:
13635         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13636         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
13637         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
13638         (gst_collectpads_class_init), (gst_collectpads_init),
13639         (gst_collectpads_finalize), (gst_collectpads_new),
13640         (gst_collectpads_set_function), (gst_collectpads_add_pad),
13641         (find_pad), (gst_collectpads_remove_pad),
13642         (gst_collectpads_is_active), (gst_collectpads_collect),
13643         (gst_collectpads_collect_range), (gst_collectpads_start),
13644         (gst_collectpads_stop), (gst_collectpads_peek),
13645         (gst_collectpads_pop), (gst_collectpads_available),
13646         (gst_collectpads_read), (gst_collectpads_flush),
13647         (gst_collectpads_chain):
13648         * gst/base/gstcollectpads.h:
13649         * gst/elements/Makefile.am:
13650         * gst/elements/gstelements.c:
13651         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13652         (gst_fakesink_get_times), (gst_fakesink_event),
13653         (gst_fakesink_preroll), (gst_fakesink_render):
13654         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13655         (gst_filesink_init), (gst_filesink_set_location),
13656         (gst_filesink_open_file), (gst_filesink_close_file),
13657         (gst_filesink_pad_query), (gst_filesink_event),
13658         (gst_filesink_render), (gst_filesink_change_state):
13659         * gst/elements/gstfilesink.h:
13660         Added object to help in making collect pad based elements.
13661         Ported filesink.
13662         Make event function in sink baseclass return gboolean.
13663
13664 2005-05-05  Wim Taymans  <wim@fluendo.com>
13665
13666         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
13667         (gst_bin_get_by_name):
13668         * gst/gstbuffer.h:
13669         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
13670         (gst_clock_finalize):
13671         * gst/gstdata.c: (gst_data_replace):
13672         * gst/gstdata.h:
13673         * gst/gstelement.c: (gst_element_request_pad),
13674         (gst_element_pads_activate):
13675         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13676         (gst_object_unref):
13677         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13678         (gst_pad_set_checkgetrange_function),
13679         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
13680         (gst_pad_check_pull_range), (gst_pad_pull_range),
13681         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13682         (gst_pad_pause_task), (gst_pad_stop_task):
13683         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13684         (gst_element_request_pad), (gst_pad_proxy_getcaps):
13685         Fix name lookup in GstBin.
13686         Added _data_replace() function and _buffer_replace()
13687         Use finalize method to clean up clock.
13688         Fix refcounting on request pads.
13689         Fix pad schedule mode error.
13690         Some more object refcounting debug info,
13691
13692
13693 2005-05-04  Andy Wingo <wingo@pobox.com>
13694
13695         * check/Makefile.am:
13696         * docs/gst/tmpl/gstatomic.sgml:
13697         * docs/gst/tmpl/gstplugin.sgml:
13698         * gst/base/gstbasesink.c: (gst_basesink_activate):
13699         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
13700         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
13701         (gst_basesrc_query), (gst_basesrc_set_property),
13702         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
13703         (gst_basesrc_activate):
13704         * gst/base/gstbasesrc.h:
13705         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
13706         (gst_base_transform_src_activate):
13707         * gst/elements/gstelements.c:
13708         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13709         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13710         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13711         * gst/elements/gsttypefindelement.c: (find_element_get_length),
13712         (gst_type_find_element_checkgetrange),
13713         (gst_type_find_element_activate):
13714         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
13715         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
13716         (gst_caps_load_thyself):
13717         * gst/gstelement.c: (gst_element_pads_activate),
13718         (gst_element_save_thyself), (gst_element_restore_thyself):
13719         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
13720         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
13721         * gst/gstpad.h:
13722         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
13723         (gst_xml_parse_file), (gst_xml_parse_memory),
13724         (gst_xml_get_element), (gst_xml_make_element):
13725         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13726         (_file_index_id_save_xml), (gst_file_index_commit):
13727         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13728         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13729         (load_paths):
13730         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13731         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13732         * tools/gst-complete.c: (main):
13733         * tools/gst-compprep.c: (main):
13734         * tools/gst-inspect.c: (print_element_properties_info):
13735         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13736         * tools/gst-xmlinspect.c: (print_element_properties):
13737         GCC 4 fixen.
13738         
13739 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13740
13741         * gst/gstplugin.c: (gst_plugin_check_module),
13742         (gst_plugin_check_file), (gst_plugin_load_file):
13743             apply patch from #172526 to make register work on MacOSX
13744
13745 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13746
13747         * docs/gst/tmpl/gstconfig.sgml:
13748         * gst/gstconfig.h.in:
13749           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13750         * testsuite/debug/printf_extension.c: (main):
13751           Do not use GST_PTR_FORMAT on pointers to types with
13752           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13753         * testsuite/elements/property.h:
13754           use correct printf format
13755
13756 2005-05-02  Wim Taymans  <wim@fluendo.com>
13757
13758         * docs/design/draft-push-pull.txt:
13759         * docs/design/draft-query.txt:
13760         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13761         (gst_basesrc_start):
13762         Added draft for new query API.
13763         Added draft for better selecting scheduling methods.
13764         Make basesrc ignore length if the subclass does not support
13765         it.
13766
13767 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13768
13769         * gst/Makefile.am:
13770           possible fixes for automake-1.5 - _LIBADD is reserved
13771
13772 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13773
13774         * docs/faq/Makefile.am:
13775         * docs/manual/Makefile.am:
13776         * docs/manuals.mak:
13777         * docs/pwg/Makefile.am:
13778         * gst/Makefile.am:
13779           possible fixes for automake-1.5
13780
13781 2005-04-28  Wim Taymans  <wim@fluendo.com>
13782
13783         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13784         (gst_basesink_pad_getcaps), (gst_basesink_init),
13785         (gst_basesink_do_sync):
13786         * gst/gstclock.c: (gst_clock_entry_new):
13787         * gst/gstevent.c: (gst_event_discont_get_value):
13788         * gst/gstpipeline.c: (pipeline_bus_handler),
13789         (gst_pipeline_change_state):
13790         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13791         Better debugging of clocking info.
13792         Allow NULL values when getting discont values.
13793
13794 2005-04-27  Wim Taymans  <wim@fluendo.com>
13795
13796         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13797         * check/gst/gstpad.c: (gst_pad_suite):
13798         Increase timeout for checks.
13799
13800 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13801
13802         * check/Makefile.am:
13803           fix the broken rule for cleanup.  Apparently this rule is
13804           only needed on FC2, so maybe this warrants further autotool
13805           inspection.
13806
13807 2005-04-26  Wim Taymans  <wim@fluendo.com>
13808
13809         * gst/gsttrashstack.h:
13810         Ooohh. a nasty one! After having a failed pop() from the stack,
13811         it's possible that the stack is empty. In that case, don't
13812         follow the NULL pointer.
13813
13814 2005-04-25  Wim Taymans  <wim@fluendo.com>
13815
13816         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13817         (gst_pad_set_checkgetrange_function),
13818         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13819         (gst_pad_check_pull_range), (gst_pad_pull_range),
13820         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13821         (gst_pad_pause_task), (gst_pad_stop_task):
13822         * gst/gstplugin.c: (gst_plugin_load):
13823         * gst/gstplugin.h:
13824         Remove gst_library_load as it does more harm than good with
13825         the new g_module flags.
13826         Revert bogus caps template check in pad linking, pad caps
13827         are important when linking not the template, which is more
13828         general than the current caps.
13829
13830 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13831
13832         * gst/autoplug/.cvsignore:
13833         * gst/autoplug/Makefile.am:
13834         * gst/autoplug/gstsearchfuncs.c:
13835         * gst/autoplug/gstsearchfuncs.h:
13836         * gst/autoplug/gstspider.c:
13837         * gst/autoplug/gstspider.h:
13838         * gst/autoplug/gstspideridentity.c:
13839         * gst/autoplug/gstspideridentity.h:
13840         * gst/autoplug/spidertest.c:
13841           Die, spider, die.
13842
13843 2005-04-25  Wim Taymans  <wim@fluendo.com>
13844
13845         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13846         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13847         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13848         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13849         * gst/gstpad.h:
13850         Added stubs for unimplemented functions. 
13851
13852 2005-04-24  David Schleef  <ds@schleef.org>
13853
13854         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13855         please fix.
13856
13857 2005-04-24  David Schleef  <ds@schleef.org>
13858
13859         Convert everything from GstAtomicInt to g_atomic_int_*, and
13860         remove gstatomic.
13861         * gst/Makefile.am:
13862         * gst/gstatomic.c:
13863         * gst/gstatomic.h:
13864         * gst/gstatomic_impl.h:
13865         * gst/gstbuffer.c:
13866         * gst/gstcaps.c:
13867         * gst/gstcaps.h:
13868         * gst/gstclock.c:
13869         * gst/gstclock.h:
13870         * gst/gstdata.c:
13871         * gst/gstdata.h:
13872         * gst/gstdata_private.h:
13873         * gst/gstevent.c:
13874         * gst/gstinfo.c:
13875         * gst/gstinfo.h:
13876         * gst/gstmessage.c:
13877         * gst/gstobject.c:
13878         * gst/gstobject.h:
13879         * gst/gststructure.c:
13880         * gst/gststructure.h:
13881         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13882         * gst/gstutils.h:
13883
13884 2005-04-24  David Schleef  <ds@schleef.org>
13885
13886         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13887         make the regressions tests work.  Remove some code that is no
13888         longer true.
13889         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13890         Disable warning for pads without templates.
13891
13892 2005-04-24  David Schleef  <ds@schleef.org>
13893
13894         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13895         functions that handle filtered links.
13896         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13897         removed functions.
13898         * gst/gstutils.c: Fix/remove utility functions that handle
13899         filtered caps.
13900         * gst/gstutils.h:
13901         * gst/gstvalue.c: Add serialization/deserialization of caps
13902         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13903         requires fixing so that the filter caps notation creates
13904         a capsfilter element and sets the filter_caps property.  I
13905         think everyone probably wants to keep the shorthand notation.
13906         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13907         * docs/gst/tmpl/gstpad.sgml:
13908
13909         * gst/elements/gstelements.c: Register capsfilter element.
13910         * gst/Makefile.am: fix spacing
13911         * docs/random/ds/0.9-suggested-changes: random
13912
13913 2005-04-23  David Schleef  <ds@schleef.org>
13914
13915         * gst/elements/Makefile.am:
13916         * gst/elements/gstcapsfilter.c: New element that acts like an
13917         identity, but filters caps.  Will eventually replace filtered
13918         caps in pad linking.
13919         * gst/gstutils.c: (gst_element_create_all_pads): New function
13920         to create all the ALWAYS pads that are registered with an
13921         element class.  This functionality should eventually be
13922         merged in with GstElement initialization.
13923         * gst/gstutils.h:
13924         * testsuite/trigger/README: part of trigger test code that should
13925         have been checked in a long time ago.
13926
13927 2005-04-23  David Schleef  <ds@schleef.org>
13928
13929         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13930         needed with new versions of libtool (nobody will confirm this),
13931         and hard to carry around.
13932         * gst/autoplug/Makefile.am:
13933         * gst/base/Makefile.am:
13934         * gst/elements/Makefile.am:
13935         * gst/indexers/Makefile.am:
13936         * gst/schedulers/Makefile.am:
13937         * libs/gst/bytestream/Makefile.am:
13938         * libs/gst/control/Makefile.am:
13939         * libs/gst/dataprotocol/Makefile.am:
13940         * libs/gst/getbits/Makefile.am:
13941
13942 2005-04-21  Wim Taymans  <wim@fluendo.com>
13943
13944         * docs/design/draft-push-pull.txt:
13945         * docs/design/part-MT-refcounting.txt:
13946         * docs/design/part-TODO.txt:
13947         * docs/design/part-caps.txt:
13948         * docs/design/part-events.txt:
13949         * docs/design/part-gstbus.txt:
13950         * docs/design/part-gstpipeline.txt:
13951         * docs/design/part-messages.txt:
13952         * docs/design/part-push-pull.txt:
13953         * docs/design/part-query.txt:
13954         Some more docs.
13955
13956 2005-04-21  Wim Taymans  <wim@fluendo.com>
13957
13958         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13959         (gst_message_new), (gst_message_new_error),
13960         (gst_message_new_warning), (gst_message_new_tag),
13961         (gst_message_new_state_changed), (gst_message_new_application),
13962         (gst_message_get_structure):
13963         * gst/gstmessage.h:
13964         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13965         (gst_structure_copy_conditional):
13966         Use parent refcount in GstMessage to ensure GstStructure
13967         consistency.
13968         Cleaned up headers a bit.
13969         
13970
13971 2005-04-20  Wim Taymans  <wim@fluendo.com>
13972
13973         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13974         (gst_basesink_pad_getcaps), (gst_basesink_init),
13975         (gst_basesink_chain_unlocked):
13976         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13977         (gst_type_find_helper):
13978         * gst/elements/gsttypefindelement.c:
13979         (gst_type_find_element_have_type), (gst_type_find_element_init),
13980         (stop_typefinding), (gst_type_find_element_handle_event),
13981         (find_suggest), (gst_type_find_element_chain),
13982         (gst_type_find_element_checkgetrange),
13983         (gst_type_find_element_getrange), (do_typefind),
13984         (gst_type_find_element_activate):
13985         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13986         (gst_buffer_default_free), (gst_buffer_default_copy),
13987         (gst_buffer_set_caps):
13988         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13989         (gst_caps_replace):
13990         * gst/gstmessage.c: (gst_message_new),
13991         (gst_message_new_state_changed):
13992         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13993         (gst_pad_set_checkgetrange_function),
13994         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13995         (gst_pad_set_caps), (gst_pad_check_pull_range),
13996         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13997         * gst/gstpad.h:
13998         * gst/gsttypefind.c: (gst_type_find_register):
13999         Make gst_caps_replace() work like other _replace() functions.
14000         Use _caps_replace() where possible.
14001         Make sure _message_new() initialises its field.
14002         Add gst_static_pad_template_get_caps()
14003
14004
14005 2005-04-18  Andy Wingo  <wingo@pobox.com>
14006
14007         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
14008         on the peer, not the pad. I think that was a typo. Pass an extra
14009         arg to see if random access is possible. Activate the pads as
14010         PULL_RANGE if possible.
14011
14012         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
14013
14014         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
14015         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
14016         to PROP_....
14017
14018 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14019
14020         * docs/faq/using.xml:
14021           Add note on gstreamer-properties (#154996).
14022
14023 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14024
14025         * docs/random/bbb/optional-properties:
14026           Some analysis on optional properties.
14027
14028 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14029
14030         * docs/gst/tmpl/gstelementfactory.sgml:
14031         * gst/gstelement.h:
14032         * gst/gstelementfactory.c: (gst_element_factory_init),
14033         (gst_element_factory_cleanup), (gst_element_register),
14034         (__gst_element_factory_add_static_pad_template),
14035         (gst_element_factory_get_static_pad_templates),
14036         (gst_element_factory_can_src_caps),
14037         (gst_element_factory_can_sink_caps):
14038         * gst/registries/Makefile.am:
14039         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
14040         (gst_xml_registry_class_init), (gst_xml_registry_init),
14041         (gst_xml_registry_new), (gst_xml_registry_set_property),
14042         (gst_xml_registry_get_property), (get_time), (make_dir),
14043         (gst_xml_registry_get_perms_func),
14044         (plugin_times_older_than_recurse), (plugin_times_older_than),
14045         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
14046         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
14047         (add_to_char_array), (read_string), (read_uint), (read_enum),
14048         (load_pad_template), (load_feature), (load_plugin), (load_paths),
14049         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
14050         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
14051         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
14052         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
14053         (gst_xml_registry_rebuild):
14054         * gst/registries/gstlibxmlregistry.h:
14055         * tools/gst-compprep.c: (main):
14056         * tools/gst-inspect.c: (print_pad_templates_info):
14057         * tools/gst-xmlinspect.c: (print_element_info):
14058           Use libxml2 for registry parsing, use staticpadtemplates in
14059           elementfactories. Makes gst_init() +/- 10x faster.
14060
14061 2005-04-12  Wim Taymans  <wim@fluendo.com>
14062
14063         * gst/base/Makefile.am:
14064         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14065         (gst_basesink_pad_getcaps), (gst_basesink_init),
14066         (gst_basesink_event), (gst_basesink_change_state):
14067         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14068         (gst_basesrc_init), (gst_basesrc_query),
14069         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14070         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14071         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14072         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14073         (gst_basesrc_stop), (gst_basesrc_activate),
14074         (gst_basesrc_change_state):
14075         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14076         (helper_find_suggest), (gst_type_find_helper):
14077         * gst/base/gsttypefindhelper.h:
14078         * gst/elements/Makefile.am:
14079         * gst/elements/gstelements.c:
14080         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14081         (gst_fakesink_get_times), (gst_fakesink_event),
14082         (gst_fakesink_preroll), (gst_fakesink_render):
14083         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14084         (gst_fakesrc_init), (gst_fakesrc_event_handler),
14085         (gst_fakesrc_get_property), (gst_fakesrc_create),
14086         (gst_fakesrc_start), (gst_fakesrc_stop):
14087         * gst/elements/gstfakesrc.h:
14088         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
14089         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14090         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14091         (gst_filesrc_create_read), (gst_filesrc_create),
14092         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
14093         (gst_filesrc_start):
14094         * gst/elements/gsttypefindelement.c:
14095         (gst_type_find_element_have_type), (gst_type_find_element_init),
14096         (start_typefinding), (stop_typefinding), (push_buffer_store),
14097         (gst_type_find_element_handle_event),
14098         (gst_type_find_element_chain),
14099         (gst_type_find_element_checkgetrange),
14100         (gst_type_find_element_getrange), (do_typefind),
14101         (gst_type_find_element_activate),
14102         (gst_type_find_element_change_state):
14103         * gst/elements/gsttypefindelement.h:
14104         * gst/gstpipeline.c: (pipeline_bus_handler):
14105         Added typefind helper.
14106         Small preroll fix in the base sink.
14107         Disable typefind code in basesrc.
14108         Crude port of typefindelement.
14109         Fakesrc cleanups.
14110
14111
14112 2005-04-11  Wim Taymans  <wim@fluendo.com>
14113
14114         * check/gst/gstbus.c: (gstbus_suite):
14115         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
14116         * check/gstcheck.h:
14117           Fix up the timeout so that the test does not fail.
14118
14119 2005-04-06  Wim Taymans  <wim@fluendo.com>
14120
14121         * gst/base/README:
14122         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14123         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
14124         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14125         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14126         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14127         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14128         (gst_basesrc_stop), (gst_basesrc_activate),
14129         (gst_basesrc_change_state), (basesrc_find_peek),
14130         (basesrc_find_suggest), (gst_basesrc_type_find):
14131         * gst/base/gstbasesrc.h:
14132         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
14133         (gst_filesrc_class_init), (gst_filesrc_init),
14134         (gst_filesrc_finalize), (gst_filesrc_set_location),
14135         (gst_filesrc_set_property), (gst_filesrc_get_property),
14136         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14137         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14138         (gst_filesrc_create_read), (gst_filesrc_create),
14139         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
14140         * gst/elements/gstfilesrc.h:
14141         * gst/gstelement.c: (gst_element_get_state_func),
14142         (gst_element_lost_state), (gst_element_pads_activate):
14143         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14144         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14145         (gst_pad_pull_range):
14146         * gst/gstpad.h:
14147         More work on the generic source base class, implement seeking,
14148         query.
14149         Make filesrc extend the base source class.
14150         Added gst_pad_set_checkgetrange_function to GstPad.
14151
14152 2005-04-06  Andy Wingo  <wingo@pobox.com>
14153
14154         * pkgconfig/gstreamer-base.pc.in:
14155         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
14156
14157         * pkgconfig/Makefile.am:
14158         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
14159
14160 2005-04-04  Wim Taymans  <wim@fluendo.com>
14161
14162         * gst/base/Makefile.am:
14163         * gst/base/README:
14164         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14165         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14166         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14167         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
14168         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14169         (gst_basesrc_base_init), (gst_basesrc_class_init),
14170         (gst_basesrc_init), (gst_basesrc_get_formats),
14171         (gst_basesrc_get_query_types), (gst_basesrc_query),
14172         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
14173         (gst_basesrc_set_property), (gst_basesrc_get_property),
14174         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
14175         (gst_basesrc_loop), (gst_basesrc_activate),
14176         (gst_basesrc_change_state):
14177         * gst/base/gstbasesrc.h:
14178         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
14179         (gst_fakesrc_class_init), (gst_fakesrc_init),
14180         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
14181         (gst_fakesrc_get_property), (gst_fakesrc_create):
14182         * gst/elements/gstfakesrc.h:
14183         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
14184         (gst_filesrc_open_file), (gst_filesrc_loop),
14185         (gst_filesrc_activate), (filesrc_find_peek),
14186         (gst_filesrc_type_find):
14187         Made base source class, make fakesrc extend it.
14188         Add comments to basesink class.
14189         Some filesrc cleanup.
14190
14191 2005-03-31  David Schleef  <ds@schleef.org>
14192
14193         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
14194         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
14195         expected to link against libgstreamer.
14196         * gst/base/Makefile.am: link against libgstreamer
14197         * gst/elements/Makefile.am: same
14198
14199 2005-03-31  Andy Wingo  <wingo@pobox.com>
14200
14201         * tests/instantiate/Makefile.am:
14202         * tests/instantiate/caps.c: Add test to test speed of caps copy
14203         and free.
14204
14205         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
14206         GMemChunk to be fair.
14207
14208         * gst/gsttrashstack.h: Remove warning about using the fallback
14209         trash stack implementation, it's still faster than malloc.
14210
14211 2005-03-30  Andy Wingo  <wingo@pobox.com>
14212
14213         * tests/complexity.c: Add a copyright.
14214
14215 2005-03-31  Wim Taymans  <wim@fluendo.com>
14216
14217         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
14218         (gst_base_transform_class_init), (gst_base_transform_init),
14219         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14220         (gst_base_transform_get_property),
14221         (gst_base_transform_sink_activate),
14222         (gst_base_transform_src_activate),
14223         (gst_base_transform_change_state):
14224         * gst/base/gstbasetransform.h:
14225         * gst/elements/gstidentity.c: (gst_identity_class_init),
14226         (gst_identity_event), (gst_identity_check_perfect),
14227         (gst_identity_transform), (gst_identity_start),
14228         (gst_identity_stop):
14229         Added start/stop methods to transform base class so subclasses 
14230         don't need to deal with state changes even.
14231
14232 2005-03-31  Wim Taymans  <wim@fluendo.com>
14233
14234         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
14235         (gst_event_new_discontinuous), (gst_event_discont_get_value):
14236         * gst/gstevent.h:
14237         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14238         (gst_pad_pull_range):
14239         Added rate to the discont event to prepare for variable speed
14240         and reverse playback.
14241
14242 2005-03-29  David Schleef  <ds@schleef.org>
14243
14244         * configure.ac:
14245         * testsuite/trigger/Makefile.am:
14246         * testsuite/trigger/trigger.c: A little example program to show
14247         how trigger-based elements can work.
14248
14249 2005-03-29  Wim Taymans  <wim@fluendo.com>
14250
14251         * gst/base/Makefile.am:
14252         * gst/base/README:
14253         * gst/base/gstbasesink.c: (gst_basesink_get_type),
14254         (gst_basesink_base_init), (gst_basesink_class_init),
14255         (gst_basesink_pad_getcaps), (gst_basesink_init),
14256         (gst_basesink_activate), (gst_basesink_change_state):
14257         * gst/base/gstbasesink.h:
14258         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
14259         (gst_base_transform_base_init), (gst_base_transform_finalize),
14260         (gst_base_transform_class_init), (gst_base_transform_init),
14261         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
14262         (gst_base_transform_event), (gst_base_transform_getrange),
14263         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
14264         (gst_base_transform_set_property),
14265         (gst_base_transform_get_property),
14266         (gst_base_transform_sink_activate),
14267         (gst_base_transform_src_activate),
14268         (gst_base_transform_change_state):
14269         * gst/base/gstbasetransform.h:
14270         * gst/elements/gstidentity.c: (gst_identity_finalize),
14271         (gst_identity_class_init), (gst_identity_init),
14272         (gst_identity_event), (gst_identity_check_perfect),
14273         (gst_identity_transform), (gst_identity_set_property),
14274         (gst_identity_get_property), (gst_identity_change_state):
14275         * gst/elements/gstidentity.h:
14276         * gst/gstelement.c: (gst_element_get_state_func),
14277         (gst_element_lost_state), (gst_element_pads_activate):
14278         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14279         (gst_pad_check_pull_range), (gst_pad_pull_range):
14280         * gst/gstpad.h:
14281         Simplify pad activation.
14282         Added function to check if pull_range can be performed.
14283         Error out when pulling inactive or flushing pads.
14284         Removed const from refcounted types as it does not make sense.
14285         Simplify pad templates in basesink
14286         Added base class for simple 1-to-1 transforms.
14287         Make identity subclass the base transform.
14288
14289 2005-03-29  Andy Wingo  <wingo@pobox.com>
14290
14291         * docs/libs/gstreamer-libs-overrides.txt: 
14292         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
14293         really don't understand what's going on, but like whatever. I want
14294         green buildbot!
14295
14296         * docs/gst/Makefile.am:
14297         * docs/libs/Makefile.am: Dist the overrides files.
14298
14299         * check/Makefile.am (clean-local): Remove .libs directories.
14300
14301         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
14302         elements to EXTRA_DIST, so po/ files are happy.
14303
14304         * po/POTFILES.in: Er, remove it here.
14305
14306         * po/POTFILES: Remove gstspider.c.
14307
14308         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
14309
14310         * docs/libs/gstreamer-libs-docs.sgml: 
14311         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
14312         bytestream.
14313
14314         * tests/complexity.c (main): Set the length of the preroll queue
14315         on the sinks to prevent a lockup.
14316
14317         * libs/gst/dataprotocol/Makefile.am: 
14318         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
14319         the same as the one in check/gst-libs/gdp.c.
14320
14321         * po/, docs/gst/: Commit automatic changes to docs and po files.
14322
14323         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
14324         the versioned libgstbase.
14325
14326         * check/Makefile.am: Depend on an unversioned gst-register, seems
14327         to make autoconf happier.
14328
14329         * gst/base/Makefile.am: Make libgstbase a versioned lib.
14330
14331 2005-03-28  Wim Taymans  <wim@fluendo.com>
14332
14333         * configure.ac:
14334         * docs/design/part-gstelement.txt:
14335         * docs/design/part-negotiation.txt:
14336         * docs/design/part-preroll.txt:
14337         * docs/design/part-scheduling.txt:
14338         * docs/design/part-states.txt:
14339         * gst/Makefile.am:
14340         * gst/base/Makefile.am:
14341         * gst/base/README:
14342         * gst/base/gstbasesink.c: (gst_basesink_get_template),
14343         (gst_basesink_base_init), (gst_basesink_class_init),
14344         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14345         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14346         (gst_basesink_set_pad_functions),
14347         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
14348         (gst_basesink_set_property), (gst_basesink_get_property),
14349         (gst_base_sink_get_template), (gst_base_sink_get_caps),
14350         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
14351         (gst_basesink_preroll_queue_push),
14352         (gst_basesink_preroll_queue_empty),
14353         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
14354         (gst_basesink_event), (gst_basesink_get_times),
14355         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
14356         (gst_basesink_chain_unlocked), (gst_basesink_chain),
14357         (gst_basesink_loop), (gst_basesink_activate),
14358         (gst_basesink_change_state):
14359         * gst/base/gstbasesink.h:
14360         * gst/elements/Makefile.am:
14361         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
14362         (gst_fakesink_class_init), (gst_fakesink_init),
14363         (gst_fakesink_set_property), (gst_fakesink_get_property),
14364         (gst_fakesink_get_times), (gst_fakesink_event),
14365         (gst_fakesink_preroll), (gst_fakesink_render),
14366         (gst_fakesink_change_state):
14367         * gst/elements/gstfakesink.h:
14368         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14369         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
14370         * gst/gstelement.c: (gst_element_add_pad),
14371         (gst_element_get_state_func), (gst_element_abort_state),
14372         (gst_element_commit_state), (gst_element_lost_state),
14373         (gst_element_set_state), (gst_element_pads_activate):
14374         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
14375         * gst/gstpipeline.c: (gst_pipeline_send_event),
14376         (gst_pipeline_change_state):
14377         Added state change code.
14378         Added/updated docs.
14379         Added sink base class, make fakesink extend the base class.
14380         Small cleanups in GstPipeline.
14381
14382 2005-03-26  David Schleef  <ds@schleef.org>
14383
14384         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
14385         is broken and should be implemented in a different library.
14386         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
14387         * gst/gst.h: remove gstcpu.h
14388         * gst/gstcpu.c: remove
14389         * gst/gstcpu.h: remove
14390         * gst/Makefile.am.future: Remove this file.  It's ancient.
14391
14392 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14393
14394         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14395         (gst_bin_send_event):
14396           Add default event/set_manager handlers. The set_manager handler
14397           takes care that the manager is distributed over kids that were
14398           already in the bin before the manager was set. The event handler
14399           is a utility virtual function that sends the event over all sinks,
14400           so that gst_element_send_event (bin, event); has the expected
14401           behaviour.
14402         * gst/gstpad.c: (gst_pad_event_default):
14403           Re-install default event handling for discontinuities, so that
14404           seeking works without requiring hacks in applications or extra
14405           code in sinks.
14406         * gst/gstpipeline.c: (gst_pipeline_class_init),
14407         (gst_pipeline_send_event):
14408           Half hack, half utility: set a pipeline to PAUSED for seek events,
14409           since that is the only way we can guarantee a/v sync. Means that
14410           you can do gst_element_seek (pipeline, method, pos); on a pipeline
14411           and it "just works".
14412
14413 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14414
14415         * gst/gstpipeline.c: (gst_pipeline_use_clock):
14416           Lock/unlock mismatch.
14417
14418 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14419
14420         * docs/faq/gst-uninstalled:
14421           add gst-plugins-base
14422         * docs/gst/Makefile.am:
14423           don't error out until docs are fixed
14424         * docs/gst/gstreamer.types:
14425           remove thread
14426
14427 2005-03-22  Wim Taymans  <wim@fluendo.com>
14428
14429         * check/Makefile.am:
14430         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
14431         * gst/gststructure.c: (gst_structure_set_valist),
14432         (gst_structure_copy_conditional):
14433         Activated more tests.
14434         Added message test.
14435         Added G_TYPE_POINTER to GstStructure.
14436         
14437
14438 2005-03-22  Wim Taymans  <wim@fluendo.com>
14439
14440         * docs/design/part-TODO.txt:
14441         * docs/design/part-events.txt:
14442         * docs/design/part-gstbin.txt:
14443         * docs/design/part-gstbus.txt:
14444         * docs/design/part-gstpipeline.txt:
14445         * docs/design/part-messages.txt:
14446         * gst/gstbus.c:
14447         * gst/gstmessage.c:
14448         Docs updates
14449
14450 2005-03-21  Wim Taymans  <wim@fluendo.com>
14451
14452         * gst/gstbus.c: (gst_bus_post):
14453         Fix copy-and-paste error.
14454
14455 2005-03-21  Wim Taymans  <wim@fluendo.com>
14456
14457         * check/Makefile.am:
14458         * gst/Makefile.am:
14459         * gst/elements/Makefile.am:
14460         * gst/elements/gstelements.c:
14461         * gst/elements/gstfakesink.c: (gst_fakesink_init),
14462         (gst_fakesink_event), (gst_fakesink_chain):
14463         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14464         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
14465         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
14466         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
14467         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14468         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
14469         (gst_fakesrc_loop), (gst_fakesrc_activate),
14470         (gst_fakesrc_change_state):
14471         * gst/elements/gstfakesrc.h:
14472         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
14473         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
14474         (gst_filesrc_open_file), (gst_filesrc_loop),
14475         (gst_filesrc_activate), (gst_filesrc_change_state),
14476         (filesrc_find_peek), (filesrc_find_suggest),
14477         (gst_filesrc_type_find):
14478         * gst/elements/gstidentity.c: (gst_identity_finalize),
14479         (gst_identity_class_init), (gst_identity_init),
14480         (gst_identity_proxy_getcaps), (identity_queue_push),
14481         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
14482         (gst_identity_getrange), (gst_identity_chain),
14483         (gst_identity_sink_loop), (gst_identity_src_loop),
14484         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
14485         (gst_identity_set_property), (gst_identity_get_property),
14486         (gst_identity_change_state):
14487         * gst/elements/gstidentity.h:
14488         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
14489         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
14490         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
14491         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
14492         (gst_tee_sink_activate):
14493         * gst/elements/gsttee.h:
14494         * gst/gst.c: (gst_register_core_elements), (init_post):
14495         * gst/gst.h:
14496         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
14497         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
14498         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
14499         (gst_bin_change_state):
14500         * gst/gstbin.h:
14501         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
14502         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
14503         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
14504         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
14505         (gst_bus_set_sync_handler), (gst_bus_create_watch),
14506         (bus_watch_callback), (bus_watch_destroy),
14507         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
14508         (poll_timeout), (gst_bus_poll):
14509         * gst/gstbus.h:
14510         * gst/gstcaps.h:
14511         * gst/gstdata.h:
14512         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14513         (gst_element_post_message), (gst_element_message_full),
14514         (gst_element_get_state_func), (gst_element_get_state),
14515         (gst_element_abort_state), (gst_element_commit_state),
14516         (gst_element_lost_state), (gst_element_set_state),
14517         (gst_element_pads_activate), (gst_element_change_state),
14518         (gst_element_dispose), (gst_element_set_manager_func),
14519         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
14520         (gst_element_set_manager), (gst_element_get_manager),
14521         (gst_element_set_bus), (gst_element_get_bus),
14522         (gst_element_set_scheduler), (gst_element_get_scheduler):
14523         * gst/gstelement.h:
14524         * gst/gstevent.c: (gst_event_new_segment_seek),
14525         (gst_event_new_flush):
14526         * gst/gstevent.h:
14527         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
14528         (_gst_message_free), (gst_message_get_type), (gst_message_new),
14529         (gst_message_new_eos), (gst_message_new_error),
14530         (gst_message_new_warning), (gst_message_new_tag),
14531         (gst_message_new_state_changed), (gst_message_new_application),
14532         (gst_message_get_structure), (gst_message_parse_tag),
14533         (gst_message_parse_state_changed), (gst_message_parse_error),
14534         (gst_message_parse_warning):
14535         * gst/gstmessage.h:
14536         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
14537         (gst_real_pad_set_property), (gst_pad_set_active),
14538         (gst_pad_is_active), (gst_pad_set_blocked_async),
14539         (gst_pad_set_blocked), (gst_pad_is_blocked),
14540         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
14541         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
14542         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
14543         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
14544         (gst_pad_link_filtered), (gst_pad_relink_filtered),
14545         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
14546         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
14547         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
14548         (gst_pad_set_caps), (gst_pad_configure_sink),
14549         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
14550         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
14551         (gst_real_pad_dispose), (gst_real_pad_finalize),
14552         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
14553         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14554         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
14555         * gst/gstpad.h:
14556         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
14557         (pipeline_bus_handler), (gst_pipeline_change_state),
14558         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
14559         * gst/gstpipeline.h:
14560         * gst/gstprobe.h:
14561         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14562         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
14563         (gst_queue_link_src), (gst_queue_bufferalloc),
14564         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14565         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
14566         (gst_queue_loop), (gst_queue_handle_src_event),
14567         (gst_queue_handle_src_query), (gst_queue_src_activate),
14568         (gst_queue_change_state):
14569         * gst/gstqueue.h:
14570         * gst/gstscheduler.c: (gst_scheduler_init),
14571         (gst_scheduler_dispose), (gst_scheduler_create_task),
14572         (gst_scheduler_factory_create):
14573         * gst/gstscheduler.h:
14574         * gst/gststructure.c: (gst_structure_get_type),
14575         (gst_structure_copy_conditional):
14576         * gst/gststructure.h:
14577         * gst/gsttaginterface.h:
14578         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14579         (gst_task_init), (gst_task_dispose), (gst_task_create),
14580         (gst_task_get_state), (gst_task_start), (gst_task_stop),
14581         (gst_task_pause):
14582         * gst/gsttask.h:
14583         * gst/gstthread.c:
14584         * gst/gstthread.h:
14585         * gst/gsttypes.h:
14586         * gst/schedulers/Makefile.am:
14587         * gst/schedulers/cothreads_compat.h:
14588         * gst/schedulers/entryscheduler.c:
14589         * gst/schedulers/faircothreads.c:
14590         * gst/schedulers/faircothreads.h:
14591         * gst/schedulers/fairscheduler.c:
14592         * gst/schedulers/gstbasicscheduler.c:
14593         * gst/schedulers/gstoptimalscheduler.c:
14594         * gst/schedulers/gthread-cothreads.h:
14595         * gst/schedulers/threadscheduler.c:
14596         (gst_thread_scheduler_task_get_type),
14597         (gst_thread_scheduler_task_class_init),
14598         (gst_thread_scheduler_task_init),
14599         (gst_thread_scheduler_task_start),
14600         (gst_thread_scheduler_task_stop),
14601         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
14602         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14603         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
14604         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
14605         (plugin_init):
14606         * libs/gst/Makefile.am:
14607         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
14608         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
14609         (gst_file_pad_parent_set):
14610         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14611         (gst_dp_event_from_packet):
14612         * tests/complexity.c: (main):
14613         * tests/mass_elements.c: (main):
14614         * testsuite/states/locked.c: (message_received), (main):
14615         * testsuite/states/parent.c: (main):
14616         * tools/gst-inspect.c: (print_element_flag_info),
14617         (print_implementation_info), (print_pad_info):
14618         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
14619         (main):
14620         * tools/gst-md5sum.c: (event_loop), (main):
14621         * tools/gst-typefind.c: (main):
14622         * tools/gst-xmlinspect.c: (print_element_info):
14623         Next big merge.
14624         Added GstBus for mainloop integration.
14625         Added GstMessage for sending notifications on the bus.
14626         Added GstTask as an abstraction for pipeline entry points.
14627         Removed GstThread.
14628         Removed Schedulers.
14629         Simplified GstQueue for multithreaded core.
14630         Made _link threadsafe, removed old capsnego.
14631         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
14632         Added pad blocking functions.
14633         Reworked scheduling functions in GstPad to prepare for
14634         scheduling updates soon.
14635         Moved events out of data stream.
14636         Simplified GstEvent types.
14637         Added return values to push/pull.
14638         Removed clocking from GstElement.
14639         Added prototypes for state change function for next merge.
14640         Removed iterate from bins and state change management.
14641         Fixed some elements, disabled others for now.
14642         Fixed -inspect and -launch.
14643         Added check for GstBus.
14644
14645 2005-03-10  Wim Taymans  <wim@fluendo.com>
14646
14647         * docs/design/part-MT-refcounting.txt:
14648         * docs/design/part-clocks.txt:
14649         * docs/design/part-gstelement.txt:
14650         * docs/design/part-gstobject.txt:
14651         * docs/design/part-standards.txt:
14652         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14653         (gst_bin_remove_func), (gst_bin_remove):
14654         * gst/gstbin.h:
14655         * gst/gstbuffer.c:
14656         * gst/gstcaps.h:
14657         * testsuite/clock/clock1.c: (main):
14658         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
14659         (main):
14660         * testsuite/dlopen/loadgst.c: (do_test):
14661         * testsuite/refcounting/bin.c: (add_remove_test1),
14662         (add_remove_test2), (main):
14663         * testsuite/refcounting/element.c: (main):
14664         * testsuite/refcounting/element_pad.c: (main):
14665         * testsuite/refcounting/pad.c: (main):
14666         * tools/gst-launch.c: (sigint_handler_sighandler):
14667         * tools/gst-typefind.c: (main):
14668         Doc updates.
14669         Added doc about clock.
14670         removed gst_bin_iterate_recurse_up(), marked methods
14671         for removal.
14672         Fix more testsuites.
14673
14674 2005-03-09  Wim Taymans  <wim@fluendo.com>
14675
14676         * gst/gstpad.c: (gst_pad_get_direction),
14677         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
14678         (gst_pad_collect_valist):
14679         * testsuite/bins/interface.c: (main):
14680         * testsuite/caps/audioscale.c: (test_caps):
14681         * testsuite/caps/caps.c: (test1), (test2), (test3):
14682         * testsuite/caps/deserialize.c: (main):
14683         * testsuite/caps/enumcaps.c: (main):
14684         * testsuite/caps/filtercaps.c: (main):
14685         * testsuite/caps/intersect2.c: (main):
14686         * testsuite/caps/random.c: (main):
14687         * testsuite/caps/renegotiate.c: (my_fixate), (main):
14688         * testsuite/caps/sets.c: (check_caps):
14689         * testsuite/caps/simplify.c: (check_caps), (main):
14690         * testsuite/caps/subtract.c: (check_caps):
14691         Fix _pad_get_direction wrt ghostpads.
14692         Fix caps testsuite.
14693
14694 2005-03-09  Wim Taymans  <wim@fluendo.com>
14695
14696         * check/Makefile.am:
14697         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
14698         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
14699         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
14700         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
14701         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
14702         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
14703         (gst_bin_remove), (gst_bin_iterate_recurse_up),
14704         (bin_element_is_sink), (gst_bin_iterate_sinks),
14705         (gst_bin_iterate_all_by_interface):
14706         * gst/gstbin.h:
14707         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
14708         (gst_element_change_state), (gst_element_dispose),
14709         (gst_element_finalize), (gst_element_set_loop_function):
14710         * gst/gstelement.h:
14711         * gst/gstiterator.c: (find_custom_fold_func):
14712         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14713         (gst_pad_collectv), (gst_pad_collect_valist),
14714         (gst_pad_template_new):
14715         * gst/gstpipeline.c: (gst_pipeline_class_init),
14716         (gst_pipeline_dispose), (gst_pipeline_set_property),
14717         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
14718         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
14719         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
14720         * gst/gstutils.h:
14721         * gst/schedulers/entryscheduler.c:
14722         * gst/schedulers/gstbasicscheduler.c:
14723         (gst_basic_scheduler_cothreaded_chain),
14724         (gst_basic_scheduler_chain_add_element):
14725         * testsuite/bins/interface.c: (main):
14726         Added GstBin test.
14727         Added GstSystemClock test.
14728         Implemented clock distribution code in GstBin.
14729         Implemented iterate sinks method for future use.
14730         Rearranged gstelement.h
14731         Fix GstIterator comparison bug.
14732         Moved some code to GstPipeline, mostly clocking related.
14733
14734 2005-03-09  Wim Taymans  <wim@fluendo.com>
14735
14736         * configure.ac:
14737         * gst/gst_private.h:
14738         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14739         (gst_bin_remove_func), (gst_bin_remove),
14740         (gst_bin_get_by_name_recurse_up):
14741         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14742         (gst_clock_id_compare_func), (gst_clock_id_wait),
14743         (gst_clock_id_wait_async), (gst_clock_init),
14744         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14745         * gst/gstelement.h:
14746         * gst/gstinfo.c: (_gst_debug_init):
14747         * gst/gstobject.h:
14748         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14749         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14750         * gst/gstpad.h:
14751         Bump version number, we're now 0.9.0
14752         Add future debugging category.
14753         Fix NULL _unref() in _get_by_name_recurse_up
14754         Rearrange gstpad.h.
14755         Update some docs.
14756
14757 2005-03-08  Wim Taymans  <wim@fluendo.com>
14758
14759         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14760         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14761         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14762         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14763         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14764         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14765         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14766         * gst/elements/gstidentity.c: (gst_identity_class_init):
14767         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14768         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14769         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14770         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14771         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14772         (gst_tee_link):
14773         * gst/gstelement.c: (gst_element_class_init),
14774         (gst_element_base_class_init), (gst_element_init),
14775         (gst_element_get_random_pad), (gst_element_wait_state_change),
14776         (gst_element_change_state), (gst_element_dispose),
14777         (gst_element_finalize), (gst_element_set_loop_function):
14778         * gst/gstelement.h:
14779         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14780         * gst/gstthread.c: (gst_thread_class_init),
14781         (gst_thread_release_children_locks), (gst_thread_change_state):
14782         * gst/schedulers/gstbasicscheduler.c:
14783         (gst_basic_scheduler_loopfunc_wrapper),
14784         (gst_basic_scheduler_chain_wrapper),
14785         (gst_basic_scheduler_src_wrapper),
14786         (gst_basic_scheduler_remove_element):
14787         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14788         Remove threadsafe properties. Fix elements because GObject
14789         complains when installing a property before declaring a
14790         set/get_property handler.
14791         Rearrange gstelement.h file, use STATE macros for state locks.
14792         Free mutexes in the finalize method instead of dispose.
14793
14794 2005-03-08  Wim Taymans  <wim@fluendo.com>
14795
14796         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14797         * gst/gstthread.c: (gst_thread_release_children_locks):
14798         Added parentage check.
14799         Fix build og GstThread again.
14800
14801 2005-03-08  Wim Taymans  <wim@fluendo.com>
14802
14803         * docs/design/part-MT-refcounting.txt:
14804         * docs/design/part-conventions.txt:
14805         * docs/design/part-gstobject.txt:
14806         * docs/design/part-relations.txt:
14807         * docs/design/part-standards.txt:
14808         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14809         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14810         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14811         (gst_bin_iterate_all_by_interface):
14812         * gst/gstbuffer.h:
14813         * gst/gstclock.h:
14814         * gst/gstelement.c: (gst_element_class_init),
14815         (gst_element_change_state), (gst_element_set_loop_function):
14816         * gst/gstelement.h:
14817         * gst/gstiterator.c:
14818         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14819         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14820         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14821         (gst_object_set_parent), (gst_object_unparent),
14822         (gst_object_check_uniqueness):
14823         * gst/gstobject.h:
14824         Docs updates, clean up some headers.
14825
14826 2005-03-07  Wim Taymans  <wim@fluendo.com>
14827
14828         * check/.cvsignore:
14829         * check/Makefile.am:
14830         * check/gst-libs/.cvsignore:
14831         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14832         * check/gst/.cvsignore:
14833         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14834         (START_TEST), (gstbus_suite), (main):
14835         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14836         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14837         (gst_data_suite), (main):
14838         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14839         (add_fold_func), (gstiterator_suite), (main):
14840         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14841         (thread_name_object), (thread_name_object_default),
14842         (gst_object_name_compare), (gst_object_suite), (main):
14843         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14844         (gst_pad_suite), (main):
14845         * check/gstcheck.c: (gst_check_log_message_func),
14846         (gst_check_log_critical_func), (gst_check_init):
14847         * check/gstcheck.h:
14848         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14849         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14850         Added checks.
14851
14852 2005-03-07  Wim Taymans  <wim@fluendo.com>
14853
14854         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14855         (gst_list_iterator_next), (gst_list_iterator_resync),
14856         (gst_list_iterator_free), (gst_iterator_new_list),
14857         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14858         (gst_iterator_free), (gst_iterator_push), (filter_next),
14859         (filter_resync), (filter_uninit), (filter_free),
14860         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14861         (gst_iterator_foreach), (find_custom_fold_func),
14862         (gst_iterator_find_custom):
14863         * gst/gstiterator.h:
14864         Added missing files.
14865
14866 2005-03-07  Wim Taymans  <wim@fluendo.com>
14867
14868         * Makefile.am:
14869         * configure.ac:
14870         * docs/design/part-MT-refcounting.txt:
14871         * docs/design/part-conventions.txt:
14872         * docs/design/part-gstobject.txt:
14873         * docs/design/part-relations.txt:
14874         * examples/mixer/mixer.c: (main):
14875         * examples/thread/thread.c: (eos), (main):
14876         * gst/Makefile.am:
14877         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14878         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14879         (gst_spider_plug_from_srcpad):
14880         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14881         (gst_spider_identity_change_state),
14882         (gst_spider_identity_sink_loop_type_finding):
14883         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14884         * gst/elements/gstidentity.c: (gst_identity_init):
14885         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14886         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14887         * gst/elements/gsttypefindelement.c: (free_entry):
14888         * gst/gst.c:
14889         * gst/gst.h:
14890         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14891         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14892         (gst_bin_set_index), (gst_bin_set_element_sched),
14893         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14894         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14895         (gst_bin_iterate_elements), (iterate_child_recurse),
14896         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14897         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14898         (compare_interface), (gst_bin_get_by_interface),
14899         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14900         * gst/gstbin.h:
14901         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14902         (gst_buffer_default_free), (gst_buffer_default_copy),
14903         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14904         (gst_buffer_create_sub):
14905         * gst/gstbuffer.h:
14906         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14907         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14908         (gst_caps_unref), (gst_static_caps_get),
14909         (gst_caps_remove_and_get_structure), (gst_caps_append),
14910         (gst_caps_append_structure), (gst_caps_remove_structure),
14911         (gst_caps_copy_nth), (gst_caps_set_simple),
14912         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14913         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14914         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14915         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14916         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14917         (gst_caps_structure_figure_out_union),
14918         (gst_caps_switch_structures), (gst_caps_do_simplify),
14919         (gst_caps_replace), (gst_caps_from_string),
14920         (gst_caps_copy_conditional):
14921         * gst/gstcaps.h:
14922         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14923         (_gst_clock_id_free), (gst_clock_id_unref),
14924         (gst_clock_id_compare_func), (gst_clock_id_wait),
14925         (gst_clock_id_wait_async), (gst_clock_class_init),
14926         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14927         (gst_clock_get_time), (gst_clock_set_time_adjust),
14928         (gst_clock_set_property), (gst_clock_get_property):
14929         * gst/gstclock.h:
14930         * gst/gstcompat.h:
14931         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14932         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14933         * gst/gstdata.h:
14934         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14935         (gst_element_requires_clock), (gst_element_provides_clock),
14936         (gst_element_set_clock), (gst_element_clock_wait),
14937         (gst_element_wait), (gst_element_set_time_delay),
14938         (gst_element_is_indexable), (gst_element_add_pad),
14939         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14940         (pad_compare_name), (gst_element_get_static_pad),
14941         (gst_element_request_pad), (gst_element_get_request_pad),
14942         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14943         (gst_element_class_get_pad_template_list),
14944         (gst_element_class_get_pad_template), (gst_element_error_func),
14945         (gst_element_get_random_pad), (gst_element_get_event_masks),
14946         (gst_element_send_event), (gst_element_seek),
14947         (gst_element_get_query_types), (gst_element_query),
14948         (gst_element_get_formats), (gst_element_convert),
14949         (gst_element_is_locked_state), (gst_element_set_locked_state),
14950         (gst_element_sync_state_with_parent), (gst_element_change_state),
14951         (gst_element_finalize), (gst_element_yield),
14952         (gst_element_interrupt), (gst_element_set_scheduler),
14953         (gst_element_get_scheduler), (gst_element_set_loop_function):
14954         * gst/gstelement.h:
14955         * gst/gstevent.h:
14956         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14957         (gst_format_get_by_nick), (gst_format_get_details),
14958         (gst_format_iterate_definitions):
14959         * gst/gstformat.h:
14960         * gst/gstindex.c: (gst_index_gtype_resolver):
14961         * gst/gstinfo.c:
14962         * gst/gstinfo.h:
14963         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14964         (gst_mem_chunk_free):
14965         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14966         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14967         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14968         (gst_object_dispatch_properties_changed),
14969         (gst_object_set_name_default), (gst_object_set_name),
14970         (gst_object_get_name), (gst_object_set_name_prefix),
14971         (gst_object_get_name_prefix), (gst_object_set_parent),
14972         (gst_object_get_parent), (gst_object_unparent),
14973         (gst_object_check_uniqueness), (gst_object_save_thyself),
14974         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14975         (gst_object_set_property), (gst_object_get_property),
14976         (gst_object_get_path_string):
14977         * gst/gstobject.h:
14978         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14979         (gst_real_pad_init), (gst_real_pad_get_property),
14980         (gst_pad_custom_new), (gst_pad_get_direction),
14981         (gst_pad_set_active), (gst_pad_is_active),
14982         (gst_pad_set_event_function), (gst_pad_is_linked),
14983         (gst_pad_link_free), (gst_pad_link_intersect),
14984         (gst_pad_link_fixate), (gst_pad_set_caps),
14985         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14986         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14987         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14988         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14989         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14990         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14991         (gst_pad_realize), (gst_pad_get_allowed_caps),
14992         (gst_real_pad_dispose), (gst_real_pad_finalize),
14993         (gst_pad_collectv), (gst_pad_collect_valist),
14994         (gst_pad_template_dispose), (gst_pad_template_new),
14995         (gst_pad_get_internal_links):
14996         * gst/gstpad.h:
14997         * gst/gstpipeline.c: (gst_pipeline_dispose),
14998         (gst_pipeline_change_state):
14999         * gst/gstpipeline.h:
15000         * gst/gstplugin.c:
15001         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
15002         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
15003         * gst/gstpluginfeature.h:
15004         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
15005         * gst/gstquery.c: (_gst_query_type_initialize),
15006         (gst_query_type_register), (gst_query_type_get_by_nick),
15007         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
15008         * gst/gstquery.h:
15009         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
15010         * gst/gstscheduler.c: (gst_scheduler_add_element),
15011         (gst_scheduler_factory_create):
15012         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15013         (gst_structure_free), (gst_structure_set_name),
15014         (gst_structure_id_set_value), (gst_structure_set_value),
15015         (gst_structure_set_valist), (gst_structure_remove_field),
15016         (gst_structure_remove_fields),
15017         (gst_structure_remove_fields_valist),
15018         (gst_structure_remove_all_fields), (gst_structure_foreach),
15019         (gst_structure_map_in_place),
15020         (gst_caps_structure_fixate_field_nearest_int),
15021         (gst_caps_structure_fixate_field_nearest_double):
15022         * gst/gststructure.h:
15023         * gst/gstsystemclock.c: (gst_system_clock_class_init),
15024         (gst_system_clock_init), (gst_system_clock_dispose),
15025         (gst_system_clock_async_thread),
15026         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
15027         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
15028         * gst/gstsystemclock.h:
15029         * gst/gsttag.c: (gst_tag_list_add_value_internal),
15030         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
15031         * gst/gsttaginterface.c:
15032         * gst/gstthread.c: (gst_thread_dispose),
15033         (gst_thread_release_children_locks), (gst_thread_change_state),
15034         (gst_thread_main_loop):
15035         * gst/gsttrashstack.h:
15036         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
15037         * gst/gsttypes.h:
15038         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15039         (gst_element_request_pad), (gst_element_get_pad_from_template),
15040         (gst_element_request_compatible_pad),
15041         (gst_element_get_compatible_pad_filtered),
15042         (gst_element_get_compatible_pad), (gst_element_state_get_name),
15043         (gst_element_link_pads_filtered), (gst_element_link_filtered),
15044         (gst_element_link_many), (gst_element_link),
15045         (gst_element_link_pads), (gst_element_unlink_pads),
15046         (gst_element_unlink_many), (gst_element_unlink),
15047         (gst_pad_can_link_filtered), (gst_pad_can_link),
15048         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
15049         (gst_object_default_error), (gst_bin_add_many),
15050         (gst_bin_remove_many), (gst_element_populate_std_props),
15051         (gst_element_class_install_std_props), (gst_buffer_merge),
15052         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
15053         (link_fold_func), (gst_pad_proxy_setcaps):
15054         * gst/gstutils.h:
15055         * gst/gstvalue.c: (gst_value_deserialize_string):
15056         * gst/parse/grammar.y:
15057         * gst/schedulers/gstbasicscheduler.c:
15058         (gst_basic_scheduler_cothreaded_chain),
15059         (gst_basic_scheduler_chain_recursive_add),
15060         (gst_basic_scheduler_pad_link):
15061         * gst/schedulers/gstoptimalscheduler.c:
15062         (get_group_schedule_function),
15063         (gst_opt_scheduler_state_transition),
15064         (gst_opt_scheduler_add_element), (element_get_reachables_func):
15065         * libs/gst/bytestream/bytestream.c:
15066         * libs/gst/dataprotocol/dataprotocol.c:
15067         (gst_dp_header_from_buffer):
15068         * po/nb.po:
15069         * po/ru.po:
15070         * tests/threadstate/threadstate2.c: (eos):
15071         * tools/gst-compprep.c: (main):
15072         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
15073         (print_pad_info), (print_children_info):
15074         * tools/gst-launch.c: (idle_func), (main):
15075         * tools/gst-md5sum.c: (idle_func), (main):
15076         * tools/gst-xmlinspect.c: (print_element_info):
15077         First THREADED backport attempt, focusing on adding locks and
15078         making sure the API is threadsafe. Needs more work. More docs
15079         follow this week.
15080
15081 2005-02-24  Andy Wingo  <wingo@pobox.com>
15082
15083         * tests/bench-complexity.scm:
15084         * tests/complexity.gnuplot: New files, good for running complexity
15085         benchmarks.
15086
15087         * tests/Makefile.am:
15088         * tests/complexity.c: New test, sets up N elements, at each level
15089         teeing into M streams per element. Eeeenteresting.
15090
15091         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
15092         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
15093         running bench-mass_elements.scm.
15094
15095         * tests/bench-mass_elements.scm: New script, runs mass_elements
15096         for various numbers of identities, outputting the results to a
15097         file. Requires guile 1.6. Just for testing.
15098
15099 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15100
15101         * gst/schedulers/fairscheduler.c:
15102           compile with debug disabled
15103
15104 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15105
15106         * configure.ac:
15107           hunting season on 0.9 is now OPEN