gst/base/gstcollectpads.c: Don't try to ref NULL.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4           Don't try to ref NULL.
5
6 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7
8         * win32/common/config.h.in:
9           provide a GST_FUNCTION that just gives a string for now
10
11 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12
13         * win32/common/gstenumtypes.c: (register_gst_object_flags),
14         (gst_object_flags_get_type), (register_gst_bin_flags),
15         (gst_bin_flags_get_type), (register_gst_buffer_flag),
16         (gst_buffer_flag_get_type), (register_gst_bus_flags),
17         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
19         (gst_clock_return_get_type), (register_gst_clock_entry_type),
20         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21         (gst_clock_flags_get_type), (register_gst_state),
22         (gst_state_get_type), (register_gst_state_change_return),
23         (gst_state_change_return_get_type), (register_gst_state_change),
24         (gst_state_change_get_type), (register_gst_element_flags),
25         (gst_element_flags_get_type), (register_gst_core_error),
26         (gst_core_error_get_type), (register_gst_library_error),
27         (gst_library_error_get_type), (register_gst_resource_error),
28         (gst_resource_error_get_type), (register_gst_stream_error),
29         (gst_stream_error_get_type), (register_gst_event_type),
30         (gst_event_type_get_type), (register_gst_seek_type),
31         (gst_seek_type_get_type), (register_gst_seek_flags),
32         (gst_seek_flags_get_type), (register_gst_format),
33         (gst_format_get_type), (register_gst_index_certainty),
34         (gst_index_certainty_get_type), (register_gst_index_entry_type),
35         (gst_index_entry_type_get_type),
36         (register_gst_index_lookup_method),
37         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
38         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
39         (gst_index_resolver_method_get_type), (register_gst_index_flags),
40         (gst_index_flags_get_type), (register_gst_debug_level),
41         (gst_debug_level_get_type), (register_gst_debug_color_flags),
42         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
43         (gst_iterator_result_get_type), (register_gst_iterator_item),
44         (gst_iterator_item_get_type), (register_gst_message_type),
45         (gst_message_type_get_type), (register_gst_mini_object_flags),
46         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
47         (gst_pad_link_return_get_type), (register_gst_flow_return),
48         (gst_flow_return_get_type), (register_gst_activate_mode),
49         (gst_activate_mode_get_type), (register_gst_pad_direction),
50         (gst_pad_direction_get_type), (register_gst_pad_flags),
51         (gst_pad_flags_get_type), (register_gst_pad_presence),
52         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
53         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
54         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
55         (gst_plugin_error_get_type), (register_gst_plugin_flags),
56         (gst_plugin_flags_get_type), (register_gst_rank),
57         (gst_rank_get_type), (register_gst_query_type),
58         (gst_query_type_get_type), (register_gst_tag_merge_mode),
59         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
60         (gst_tag_flag_get_type), (register_gst_task_state),
61         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
62         (gst_alloc_trace_flags_get_type),
63         (register_gst_type_find_probability),
64         (gst_type_find_probability_get_type), (register_gst_uri_type),
65         (gst_uri_type_get_type), (register_gst_parse_error),
66         (gst_parse_error_get_type):
67         * win32/common/gstversion.h:
68           update win32 copies
69
70 2005-11-01  Luca Ognibene  <luogni@tin.it>
71
72         * gst/gst.c:
73           fix docs. popt is dead, long live GOption.
74
75 2005-10-31  Wim Taymans  <wim@fluendo.com>
76
77         * gst/gstbuffer.h:
78         Small doc fix.
79
80 2005-10-31  Andy Wingo  <wingo@pobox.com>
81
82         * Boo!
83
84         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
85
86         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
87         need to serialize property notifications on GLib 2.8. GLib 2.6 has
88         the possibility of deadlocks here if code calling notify() or
89         set() has a lock that can be taken in another notify handler (ABBA
90         with class lock and e.g. python GIL state lock).
91
92 2005-10-28  Julien MOUTTE  <julien@moutte.net>
93
94         * gst/gstbus.c: Doc updates.
95
96 2005-10-28  Wim Taymans  <wim@fluendo.com>
97
98         * docs/design/part-TODO.txt:
99         * gst/gstiterator.c:
100         * gst/gstsystemclock.c:
101         * gst/gstsystemclock.h:
102         Doc updates.
103
104 2005-10-28  Edward Hervey  <edward@fluendo.com>
105
106         * docs/gst/gstreamer-docs.sgml:
107         * docs/gst/gstreamer-sections.txt:
108         the GstURIType documentation page is private, it only defines GstURIType
109         which should be defined in the GstURIHandler page
110         
111 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
112
113         * gst/gstbin.c: (gst_bin_class_init):
114         * gst/gstbin.h:
115         * gst/gstutils.c:
116         Documentation updates.
117
118 2005-10-28  Wim Taymans  <wim@fluendo.com>
119
120         * docs/gst/gstreamer-sections.txt:
121         * gst/gstclock.c:
122         * gst/gstclock.h:
123         Documented the clocks.
124
125 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
126
127         * docs/gst/gstreamer-sections.txt:
128           move some macros to private sections
129         * gst/gstminiobject.c:
130         * gst/gstminiobject.h:
131           add descriptions provided by ds and some more
132         * gst/gstpad.h:
133           mark macro as to be removed
134
135 2005-10-28  Wim Taymans  <wim@fluendo.com>
136
137         * docs/design/part-TODO.txt:
138         Add an item to TODO.
139
140         * gst/gstiterator.c: (gst_iterator_fold),
141         (gst_iterator_find_custom):
142         * gst/gstiterator.h:
143         Add iterator docs.
144
145 2005-10-28  Wim Taymans  <wim@fluendo.com>
146
147         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
148         (gst_base_transform_init):
149         Don't leak class.
150
151         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
152         An EOS event marks the queue as completely filled.
153
154 2005-10-27  Wim Taymans  <wim@fluendo.com>
155
156         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
157         (gst_base_sink_do_sync), (gst_base_sink_get_position):
158         Some more debugging.
159
160         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
161         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
162         (gst_base_transform_event), (gst_base_transform_getrange),
163         (gst_base_transform_chain):
164         * gst/base/gstbasetransform.h:
165         Fix debugging,
166         Protect transform and concurrent buffer alloc with a new lock.
167         Try not to break ABI/API.
168
169 2005-10-27  Wim Taymans  <wim@fluendo.com>
170
171         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
172         (gst_base_src_init), (gst_base_src_query),
173         (gst_base_src_default_newsegment),
174         (gst_base_src_configure_segment), (gst_base_src_do_seek),
175         (gst_base_src_send_event), (gst_base_src_event_handler),
176         (gst_base_src_pad_get_range), (gst_base_src_loop),
177         (gst_base_src_unlock), (gst_base_src_default_negotiate),
178         (gst_base_src_start), (gst_base_src_deactivate),
179         (gst_base_src_activate_push), (gst_base_src_change_state):
180         Move some stuff around and cleanup things.
181
182 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
183
184         * gst/base/gstbasesrc.c: (gst_base_src_query):
185           Add missing break statements.
186
187 2005-10-27  Wim Taymans  <wim@fluendo.com>
188
189         * check/gst/gstbin.c: (GST_START_TEST):
190         An extra refcount is taken in basesrc.
191
192         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
193         (gst_base_src_get_range), (gst_base_src_pad_get_range),
194         (gst_base_src_loop):
195         Small cleanups, check for flushing after being unlocked from the 
196         LIVE_LOCK. take refcounts correctly (not yet everywhere).
197         Don't send out EOS when going to READY.
198
199 2005-10-27  Wim Taymans  <wim@fluendo.com>
200
201         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
202         (gst_base_sink_get_position):
203         Some more debug.
204
205         * gst/gstbin.c: (message_check), (bin_replace_message),
206         (bin_remove_messages), (is_eos), (gst_bin_add_func),
207         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
208         (bin_query_duration_init), (bin_query_duration_fold),
209         (bin_query_duration_done), (bin_query_generic_fold),
210         (gst_bin_query):
211         * tools/gst-launch.c: (main):
212         Remove old option.
213
214 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
215
216         * examples/controller/audio-example.c: (main):
217         * examples/queue/queue.c: (event_loop):
218         * gst/base/gstbasetransform.h:
219         * gst/gstelement.c: (gst_element_send_event):
220         * gst/gstevent.h:
221         * gst/gstpad.c: (gst_pad_send_event):
222           fixing examples
223           fixing docs typos
224           changing log priority in error situations
225
226 2005-10-25  Wim Taymans  <wim@fluendo.com>
227
228         * gst/gstbin.c: (message_check), (bin_replace_message),
229         (bin_remove_messages), (is_eos), (gst_bin_add_func),
230         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
231         (bin_query_duration_init), (bin_query_duration_fold),
232         (bin_query_duration_done), (bin_query_generic_fold),
233         (gst_bin_query):
234         Some doc and debug updates.
235         Cache previously requested query DURATION for speed. invalidate
236         cached duration if element posts a DURATION message.
237
238 2005-10-25  Wim Taymans  <wim@fluendo.com>
239
240         * docs/design/part-TODO.txt:
241         Update TODO.
242
243         * gst/gstbin.c: (message_check), (bin_replace_message),
244         (bin_remove_messages), (is_eos), (gst_bin_add_func),
245         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
246         (bin_query_duration_init), (bin_query_duration_fold),
247         (bin_query_duration_done), (bin_query_generic_fold),
248         (gst_bin_query):
249         Handle SEGMENT_START/DONE messages correctly.
250         More evolved query algorithm that handles duration queries
251         correctly.
252
253         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
254         (gst_element_get_state_func), (gst_element_abort_state),
255         (gst_element_commit_state), (gst_element_lost_state):
256         Some more debugging.
257
258         * gst/gstmessage.h:
259         Added doc.
260
261 2005-10-25  Wim Taymans  <wim@fluendo.com>
262
263         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
264         Don't use invalid stream_time.
265
266         * gst/gstevent.c: (gst_event_new_newsegment):
267         stream_time in newsegment cannot be undefined.
268
269 2005-10-24  Wim Taymans  <wim@fluendo.com>
270
271         * gst/gstbus.c:
272         Doc fix.
273
274         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
275         (gst_queue_loop):
276         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
277
278 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
279
280         * docs/libs/tmpl/gstdparam.sgml:
281         * docs/libs/tmpl/gstdplinint.sgml:
282         * docs/libs/tmpl/gstdpman.sgml:
283         * docs/libs/tmpl/gstdpsmooth.sgml:
284         * docs/libs/tmpl/gstunitconvert.sgml:
285           these are obsolete
286
287 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
288
289         * configure.ac:
290           back to HEAD
291
292 === release 0.9.4 ===
293
294 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
295
296         * configure.ac:
297           releasing 0.9.4, "Tyrannosaurus Rex"
298
299 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
300
301         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
302         (gst_file_sink_get_current_offset):
303           Use fseeko() and ftello() if available. When falling back on
304           lseek() to get the current offset, fflush() first to make sure
305           everything is up-to-date and we get the right offset.
306
307 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
308
309         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
310         * gst/base/gstbasesrc.c: (gst_base_src_loop):
311         * gst/gsterror.c: (_gst_stream_errors_init):
312         * gst/gsterror.h:
313         * gst/gstqueue.c: (gst_queue_loop):
314         * po/POTFILES.in:
315           remove prematurely added error category and clean up the instances
316
317 2005-10-21  Wim Taymans  <wim@fluendo.com>
318
319         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
320         (gst_base_sink_get_position), (gst_base_sink_query),
321         (gst_base_sink_change_state):
322         Simply set the right flag when going to playing, that's all
323         we need to do instead of calling a function inside the object
324         lock (that could take the lock as well and deadlock)
325
326 2005-10-21  Wim Taymans  <wim@fluendo.com>
327
328         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
329         (gst_base_src_loop):
330         Don't warn, the peer element knows what to do best when
331         the seek failed, it might try something else.
332
333 2005-10-21  Wim Taymans  <wim@fluendo.com>
334
335         * gst/base/gstbasesrc.c: (gst_base_src_init),
336         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
337         Fix seeking.
338
339 2005-10-21  Wim Taymans  <wim@fluendo.com>
340
341         * docs/design/part-segments.txt:
342         More docs.
343
344         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
345         Correctly set caps, even on the subbufer.
346
347 2005-10-21  Wim Taymans  <wim@fluendo.com>
348
349         * docs/gst/gstreamer-docs.sgml:
350         * docs/gst/gstreamer-sections.txt:
351         * gst/gstelement.h:
352         * gst/gstevent.c:
353         * gst/gstevent.h:
354         * gst/gstmessage.h:
355         * gst/gstpad.h:
356         * gst/gstparse.h:
357         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
358         * gst/gsttask.h:
359         * gst/gstutils.c:
360         * gst/gstutils.h:
361         And 2% more doc coverage.
362
363 2005-10-21  Andy Wingo  <wingo@pobox.com>
364
365         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
366         position reporting.
367
368 2005-10-20  Wim Taymans  <wim@fluendo.com>
369
370         * gst/gsterror.c: (gst_error_get_message):
371         * gst/gstparse.h:
372         * gst/gstquery.h:
373         * gst/gststructure.c:
374         * gst/gsttrace.c:
375         * gst/gstutils.c:
376         More docs.
377
378 2005-10-20  Wim Taymans  <wim@fluendo.com>
379
380         * gst/gstbuffer.h:
381         * gst/gstpad.c:
382         * gst/gstparse.c:
383         Another 1% more coverage.
384
385 2005-10-20  Wim Taymans  <wim@fluendo.com>
386
387         * docs/gst/gstreamer-sections.txt:
388         * gst/gstelement.c: (gst_element_get_state_func),
389         (gst_element_abort_state), (gst_element_commit_state),
390         (gst_element_lost_state):
391         * gst/gstevent.h:
392         * gst/gstquery.c: (gst_query_set_position),
393         (gst_query_parse_position), (gst_query_set_duration),
394         (gst_query_parse_duration), (gst_query_new_convert):
395         * gst/gstutils.c:
396         Yay! 1% more docs coverage.
397
398 2005-10-20  Wim Taymans  <wim@fluendo.com>
399
400         * gst/gstpad.h:
401         * gst/gstquery.c: (gst_query_set_position),
402         (gst_query_parse_position), (gst_query_set_duration),
403         (gst_query_parse_duration), (gst_query_new_convert):
404         * gst/gstquery.h:
405         * gst/gstutils.c: (gst_element_query_convert):
406         * gst/gstutils.h:
407         Docs and consistency fixes.
408
409 2005-10-20  Wim Taymans  <wim@fluendo.com>
410
411         * gst/gsttask.c:
412         * gst/gsttask.h:
413         More docs.
414
415 2005-10-20  Wim Taymans  <wim@fluendo.com>
416
417         * gst/gstbin.c: (message_check), (bin_replace_message),
418         (bin_remove_messages), (is_eos), (gst_bin_add_func),
419         (update_degree), (gst_bin_sort_iterator_next),
420         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
421         Reworked the message handling a bit, cache the messages instead of
422         only the senders. alows us to do more in the future.
423
424 2005-10-20  Wim Taymans  <wim@fluendo.com>
425
426         * docs/design/part-TODO.txt:
427         Update TODO
428
429         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
430         (gst_base_sink_query):
431         Don't use clock time to report position when in EOS.
432
433 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
434
435         * tools/gst-inspect.c: (print_interfaces),
436         (print_element_properties_info), (print_element_info):
437           Fix interface output with gst-inspect -a; don't print
438           newlines after double/float properties.
439
440 2005-10-20  Wim Taymans  <wim@fluendo.com>
441
442         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
443         (gst_base_sink_query):
444         Speed up current position calculation.
445
446         * gst/base/gstbasesrc.c: (gst_base_src_query),
447         (gst_base_src_default_newsegment):
448         Correctly set stream position in newsegment.
449
450         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
451         (update_degree), (gst_bin_sort_iterator_next),
452         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
453         * gst/gstmessage.c: (gst_message_new_custom):
454         Clean up debugging info
455
456         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
457         (gst_queue_loop), (gst_queue_handle_src_query):
458         Pause task faster.
459
460 2005-10-19  Wim Taymans  <wim@fluendo.com>
461
462         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
463         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
464         Fix query handling again.
465
466 2005-10-19  Wim Taymans  <wim@fluendo.com>
467
468         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
469         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
470         * gst/base/gstbasesrc.c: (gst_base_src_query):
471         * gst/elements/gstfilesink.c: (gst_file_sink_query):
472         * gst/elements/gsttypefindelement.c:
473         (gst_type_find_handle_src_query), (find_element_get_length),
474         (gst_type_find_element_activate):
475         API change fix.
476
477         * gst/gstquery.c: (gst_query_new_position),
478         (gst_query_set_position), (gst_query_parse_position),
479         (gst_query_new_duration), (gst_query_set_duration),
480         (gst_query_parse_duration), (gst_query_set_segment),
481         (gst_query_parse_segment):
482         * gst/gstquery.h:
483         Bundling query position/duration is not a good idea since duration
484         does not change much and we don't want to recalculate it for every
485         position query, so they are separated again..
486         Base value in segment query is not needed.
487
488         * gst/gstqueue.c: (gst_queue_handle_src_query):
489         * gst/gstutils.c: (gst_element_query_position),
490         (gst_element_query_duration), (gst_pad_query_position),
491         (gst_pad_query_duration):
492         * gst/gstutils.h:
493         Updates for query API change.
494         Added some docs here and there.
495
496 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
497
498         * check/gst/gstbin.c: (GST_START_TEST):
499         * check/gst/gstghostpad.c: (GST_START_TEST):
500         * check/pipelines/cleanup.c: (GST_START_TEST):
501           wait on thread to die so we can check refcount correctly
502
503 2005-10-18  Wim Taymans  <wim@fluendo.com>
504
505         * check/pipelines/stress.c: (GST_START_TEST):
506         Make check a little more time consuming.
507
508 2005-10-18  Wim Taymans  <wim@fluendo.com>
509
510         * check/Makefile.am:
511         * check/pipelines/stress.c: (GST_START_TEST),
512         (simple_launch_lines_suite), (main):
513         Small state change torture test.
514
515         * docs/design/part-states.txt:
516         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
517         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
518         (gst_base_sink_change_state):
519         Never take state lock from streaming thread, clean up ugly
520         hacks. Unfortunatly core does not yet support nice ways to
521         async commit state.
522         
523         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
524         (bin_bus_handler):
525         Start state recalc if a STATE_DIRTY message is posted, but only
526         on the toplevel bin.
527
528         * gst/gstelement.c: (gst_element_sync_state_with_parent),
529         (gst_element_get_state_func), (gst_element_abort_state),
530         (gst_element_commit_state), (gst_element_lost_state),
531         (gst_element_set_state_func), (gst_element_change_state):
532         * gst/gstelement.h:
533         State variables are now protected with the LOCK, the state
534         lock is only used to serialize _set_state().
535
536 2005-10-18  Wim Taymans  <wim@fluendo.com>
537
538         * check/gst/gstbin.c: (GST_START_TEST):
539         * check/gst/gstmessage.c: (GST_START_TEST):
540         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
541         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
542         (bin_bus_handler):
543         * gst/gstelement.c: (gst_element_abort_state),
544         (gst_element_commit_state), (gst_element_lost_state):
545         * gst/gstmessage.c: (gst_message_new_state_changed),
546         (gst_message_new_state_dirty), (gst_message_new_segment_start),
547         (gst_message_new_segment_done), (gst_message_new_duration),
548         (gst_message_parse_state_changed),
549         (gst_message_parse_segment_start),
550         (gst_message_parse_segment_done), (gst_message_parse_duration):
551         * gst/gstmessage.h:
552         * tools/gst-launch.c: (event_loop):
553         Seriously, this is better than a previous commit as we only need
554         to notify the fact that an element changed state in a streaming
555         thread, marking the state of the parents dirty, hence the 
556         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
557         message.
558
559 2005-10-18  Wim Taymans  <wim@fluendo.com>
560
561         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
562         (gst_bin_recalc_func):
563         * gst/gstelement.c: (gst_element_set_clock),
564         (gst_element_abort_state), (gst_element_lost_state):
565         Cleanups, prepare for state change fixes.
566
567 2005-10-18  Wim Taymans  <wim@fluendo.com>
568
569         * gst/gstbin.h:
570         * gst/gstelement.c: (gst_element_class_init),
571         (gst_element_set_state), (gst_element_set_state_func):
572         * gst/gstelement.h:
573         Pending ABI changes.
574         GThreadPool in GstBinClass to monitor async state changes.
575         state_cookie in GstElement to detect concurrent gst/set state.
576         set_state is now virtual too in case a very complicated element
577         has to be constructed.
578
579 2005-10-18  Wim Taymans  <wim@fluendo.com>
580
581         * check/gst/gstbin.c: (GST_START_TEST):
582         * check/gst/gstmessage.c: (GST_START_TEST):
583         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
584         * gst/gstbin.c: (bin_bus_handler):
585         * gst/gstelement.c: (gst_element_commit_state),
586         (gst_element_lost_state):
587         * gst/gstmessage.c: (gst_message_new_state_changed),
588         (gst_message_new_segment_start), (gst_message_new_segment_done),
589         (gst_message_new_duration), (gst_message_parse_state_changed),
590         (gst_message_parse_segment_start),
591         (gst_message_parse_segment_done), (gst_message_parse_duration):
592         * gst/gstmessage.h:
593         * tools/gst-launch.c: (event_loop):
594         Make messages future proof.
595         state-change gets a flag if it was a message comming from the
596         streaming thread.
597         segment-start/stop can also be specified in other formats.
598         A message to notify an app that a pipeline changed playback 
599         duration.
600         Also fix a GstMessage leak in -launch
601
602 2005-10-18  Andy Wingo  <wingo@pobox.com>
603
604         * gst/gstelement.c (gst_element_dispose): More helpful message.
605
606 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
607
608         * gst/gstregistry.c: (gst_registry_scan_path_level):
609           unref a plug-in we get that was already initialized
610
611 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
612
613         * docs/gst/gstreamer-sections.txt:
614         * docs/libs/gstreamer-libs-sections.txt:
615         * gst/gstelement.h:
616           add new api entries
617           hide internal macro
618
619 2005-10-17  Andy Wingo  <wingo@pobox.com>
620
621         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
622         cleanup.
623
624         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
625
626         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
627
628         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
629         (gst_element_get_state_func): Better debug message.
630         (gst_element_commit_state): s/INFO/DEBUG/.
631         (gst_element_lost_state, gst_element_change_state): 
632
633         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
634         (gst_message_new_custom): s/INFO/LOG/.
635
636 2005-10-17  Michael Smith <msmith@fluendo.com>
637
638         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
639           Check if end time is valid using end time, not start time.
640
641 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
642
643         * check/gst-libs/controller.c: (GST_START_TEST),
644         (gst_controller_suite):
645         * libs/gst/controller/gstcontroller.c:
646         (gst_controlled_property_set_interpolation_mode):
647         * libs/gst/controller/gstcontroller.h:
648         * libs/gst/controller/gstinterpolation.c:
649         * testsuite/controller/.cvsignore:
650         * testsuite/controller/Makefile.am:
651         * testsuite/controller/interpolator.c:
652           merge controller testsuites
653           fix broken tests
654           remove mem-chunk from docs
655
656 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
657
658         * gst/gstmemchunk.c:
659         * gst/gstmemchunk.h:
660         * gst/gsttrashstack.c:
661         * gst/gsttrashstack.h:
662           out.  get out.  you're fired.  to the Attic !
663
664 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
665
666         * gst/gstcaps.c: (gst_caps_intersect):
667           fix signedness issues in a (hopefully) correct way
668         * gst/gstelement.c: (gst_element_pads_activate):
669           some debugging
670         * gst/gstobject.c: (gst_object_set_parent):
671           some debugging
672
673 2005-10-17  Julien MOUTTE  <julien@moutte.net>
674
675         * gst/gstvalue.h: Fix prototypes.
676
677 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
678
679         * docs/gst/gstreamer-sections.txt:
680         * gst/gst.c: (gst_version_string):
681         * gst/gst.h:
682         * gst/gstversion.h.in:
683         * win32/common/libgstreamer.def:
684           add gst_version_string ()
685
686 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
687
688         * configure.ac:
689           clean up further
690         * gst/gst.c: (init_post):
691         * win32/common/config.h.in:
692           it's PLUGINDIR now
693         * gst/gstcaps.c: (gst_caps_intersect):
694           use gint64, the range could be bigger than a guint
695
696 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
697
698         * gst/gstclock.h:
699           document potential problem in 2038
700
701 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
702
703         * gst/gstcaps.c: (gst_caps_intersect):
704           Fix guint j diving under 0
705
706 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
707
708         * configure.ac:
709         * win32/common/config.h:
710         * win32/common/config.h.in:
711           check for process.h, declares getpid() on Windows
712         * gst/gstinfo.c:
713           include process.h if we have it
714         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
715         * gst/gstmemchunk.h:
716           fix signedness issues
717         * win32/common/libgstreamer.def:
718           fix get_type's
719
720 2005-10-16  Julien MOUTTE  <julien@moutte.net>
721
722         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
723         fix. Because of unsigned ints, caps intersection was going nuts and
724         trying to access structures with G_MAXUINT index. That fixes
725         videotestsrc ! ffmpegcolorspace ! fakesink
726         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
727         consistency.
728
729 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
730
731         * configure.ac:
732           use the gettext macro
733         * gst/elements/gstelements.c:
734         * gst/gst.c:
735         * gst/indexers/gstindexers.c:
736           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
737         * win32/common/config.h:
738           updated config.h
739         * win32/common/config.h.in:
740           add the template to generate config.h
741         * win32/common/gstenumtypes.c:
742         * win32/common/gstversion.h:
743           updated copies
744
745 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
746
747         * gst/gst.c: (gst_version):
748         * gst/gstversion.h.in:
749           add the nano
750
751 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
752
753         * gst/gstevent.h:
754           Oops, add missing closing bracket.
755
756 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
757
758         * configure.ac:
759           use common m4's for argument checking
760
761 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
762
763         * docs/gst/gstreamer-sections.txt:
764         * gst/gstevent.h:
765           Add GST_EVENT_TYPE_NAME() macro.
766
767 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
768
769         * gst/gstinfo.c:
770         * gst/gstpluginfeature.c:
771         * gst/gsttask.c:
772           privatize more symbols
773
774 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
775
776         * configure.ac:
777           add srcdir, builddir includes to GST_ALL_CFLAGS, since
778           everything that uses GStreamer API should have the includes
779
780 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
781
782         * docs/gst/gstreamer-sections.txt:
783         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
784         * gst/gstvalue.h:
785           give each value a _get_type, removes the DATA exports
786
787 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
788
789         * gst/gst.c:
790         * gst/gst.h:
791           remove _gst_registry_auto_load, not used anymore
792         * gst/gstbin.c: (gst_bin_get_type):
793         * gst/gstbin.h:
794         * gst/gstelement.c: (gst_element_get_type):
795         * gst/gstelement.h:
796         * gst/gstobject.c: (gst_object_get_type):
797         * gst/gstobject.h:
798         * gst/gstpad.c: (gst_pad_get_type):
799         * gst/gstpad.h:
800           make _get_type functions similar, fixes data export from library
801
802 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
803
804         * configure.ac:
805           correctly make conditionals
806         * gst/elements/Makefile.am:
807         * gst/elements/gstelements.c:
808           fix typo causing fdsrc not to build
809
810 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
811
812         * testsuite/Makefile.am:
813         * testsuite/bytestream/.cvsignore:
814         * testsuite/bytestream/Makefile.am:
815         * testsuite/bytestream/filepadsink.c:
816         * testsuite/bytestream/gstbstest.c:
817         * testsuite/bytestream/test1.c:
818         * testsuite/bytestream/testfile1:
819         * testsuite/caps/normalisation.c:
820         * testsuite/caps/random.c: (main):
821         * testsuite/cleanup/.cvsignore:
822         * testsuite/cleanup/Makefile.am:
823         * testsuite/cleanup/cleanup1.c:
824         * testsuite/cleanup/cleanup2.c:
825         * testsuite/cleanup/cleanup3.c:
826         * testsuite/cleanup/cleanup4.c:
827         * testsuite/cleanup/cleanup5.c:
828         * testsuite/controller/interpolator.c:
829         * testsuite/debug/printf_extension.c: (main):
830         * testsuite/elements/tee.c:
831         * testsuite/negotiation/.cvsignore:
832         * testsuite/negotiation/Makefile.am:
833         * testsuite/negotiation/pad_link.c:
834         * testsuite/pad/Makefile.am:
835         * testsuite/pad/chainnopull.c:
836         * testsuite/pad/getnopush.c:
837         * testsuite/pad/link.c:
838         * testsuite/refcounting/sched.c: (create_pipeline):
839         * testsuite/registry/Makefile.am:
840         * testsuite/registry/gst-print-formats.c:
841         * testsuite/schedulers/.cvsignore:
842         * testsuite/schedulers/142183-2.c:
843         * testsuite/schedulers/142183.c:
844         * testsuite/schedulers/143777-2.c:
845         * testsuite/schedulers/143777.c:
846         * testsuite/schedulers/147713.c:
847         * testsuite/schedulers/147819.c:
848         * testsuite/schedulers/147894-2.c:
849         * testsuite/schedulers/147894.c:
850         * testsuite/schedulers/Makefile.am:
851         * testsuite/schedulers/group_link.c:
852         * testsuite/schedulers/queue_link.c:
853         * testsuite/schedulers/relink.c:
854         * testsuite/schedulers/unlink.c:
855         * testsuite/schedulers/unref.c:
856         * testsuite/schedulers/useless_iteration.c:
857         * testsuite/states/bin.c:
858           clean out/remove some stuff from the testsuite directories
859
860 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
861
862         * configure.ac:
863           check for some headers
864         * gst/elements/Makefile.am:
865         * gst/elements/gstelements.c:
866           don't compile fdsrc without sys/socket.h
867         * gst/indexers/Makefile.am:
868         * gst/indexers/gstindexers.c: (plugin_init):
869           don't compile fileindex without mmap
870
871 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
872
873         * configure.ac:
874           reorganize
875           clean up
876           document more
877           remove cruft
878         * check/Makefile.am:
879         * docs/gst/Makefile.am:
880         * examples/helloworld/Makefile.am:
881         * gst/Makefile.am:
882         * gst/base/Makefile.am:
883         * gst/check/Makefile.am:
884         * gst/elements/Makefile.am:
885         * gst/indexers/Makefile.am:
886         * gst/parse/Makefile.am:
887         * libs/gst/controller/Makefile.am:
888         * libs/gst/dataprotocol/Makefile.am:
889         * examples/helloworld/helloworld.c: (event_loop):
890           compile fixes, though it's not being compiled currently
891
892 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
893
894         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
895           Add some simple tests for the new taglist date API.
896
897 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
898
899         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
900         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
901           Beautify 'last-message' output: print 'none' for buffer timestamps
902           and durations if none is set; improve alignment with next messages.
903
904 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
905
906         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
907         * gst/gstpluginfeature.h:
908         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
909         * gst/gstregistry.h:
910         * docs/gst/gstreamer-sections.txt:
911           Add new API to check plugin feature version requirements.
912
913         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
914           Some basic tests for the above.         
915
916 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
917
918         * gst/gststructure.c: (gst_structure_to_string):
919           guard against NULL printf - happens when for example
920           a message structure with GstClock gets serialized
921
922 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
923
924         * gst/base/gstcollectpads.c: (gst_collectpads_event):
925           Fix presumable copy'n'pasto.
926
927 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
928
929         * gst/elements/gstfakesrc.h:
930         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
931         * gst/elements/gsttypefindelement.c:
932           fix some signedness
933         * gst/elements/gstfilesink.c: (gst_file_sink_render):
934           I wonder if this could actually write +2GB files before
935
936 2005-10-13  Andy Wingo  <wingo@pobox.com>
937
938         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
939         Fix Timmeke Waymans bug.
940         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
941         string of the proper length to gst_caps_from_string. There's a
942         potential for, before this fix, that this could cause someone
943         connecting over the network to cause a segfault if the payload is
944         not NUL-terminated.
945
946 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
947
948         * docs/design/draft-push-pull.txt:
949         * docs/design/part-overview.txt:
950         * docs/random/TODO-pre-0.9:
951         * docs/random/old/ChangeLog.gstreamer:
952         * gst/base/gstpushsrc.c:
953         * gst/gstclock.c:
954           fixed typos
955
956 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
957
958         * gst/glib-compat.c: (gst_flags_get_first_value):
959         * gst/glib-compat.h:
960         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
961         (gst_value_compare_double), (gst_value_serialize_flags):
962           GLib 2.6 g_flags_get_first_value has a bug that triggers an
963           infinite loop
964
965 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
966
967         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
968         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
969           fix up debugging
970         * tools/gst-launch.c: (event_loop):
971           print out clock nicely
972
973 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
974
975         * docs/gst/gstreamer-sections.txt:
976         * gst/gsttaglist.h:
977         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
978         (gst_tag_list_get_date_index):
979           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
980           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
981
982 2005-10-13  Julien MOUTTE  <julien@moutte.net>
983
984         * gst/base/gstcollectpads.c: (gst_collectpads_event),
985         (gst_collectpads_chain):
986         * gst/base/gstcollectpads.h: Handle newsegment and store informations
987         in CollectData.
988
989 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
990
991         * docs/gst/gstreamer-sections.txt:
992         * gst/gst.c:
993         * gst/gsterror.h:
994         * tools/gst-inspect.c: (main):
995         * tools/gst-launch.c: (main):
996         * tools/gst-run.c: (main):
997         * tools/gst-xmlinspect.c: (main):
998           fix GOption context leaks
999           doc fixes
1000
1001 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1002
1003         * gst/gstbus.c:
1004           use HAVE_UNISTD_H
1005         * win32/common/config.h:
1006           update config
1007         * win32/vs6/grammar.dsp:
1008         * win32/vs6/libgstelements.dsp:
1009         * win32/vs6/libgstreamer.dsp:
1010           update vs6 files
1011
1012 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1013
1014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1015         * gst/base/gstbasesrc.c: (gst_base_src_query):
1016           fix more guint64<->gdouble conversions
1017
1018 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1019
1020         * Makefile.am:
1021           add win32-update target
1022         * win32/common/gstconfig.h:
1023         * win32/common/gstenumtypes.c:
1024         * win32/common/gstenumtypes.h:
1025         * win32/common/gstversion.h:
1026           add files that visual studio can't generate
1027
1028 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1029
1030         * Makefile.am:
1031           add a win32-update target
1032         * configure.ac:
1033
1034 2005-10-12  Wim Taymans  <wim@fluendo.com>
1035
1036         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1037         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
1038         * gst/gstelement.c: (gst_element_commit_state),
1039         (gst_element_set_state):
1040         Protect flags with proper lock.
1041         unref provided cached clock in dispose.
1042
1043 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
1044
1045         * gst/gst.c:
1046         * gst/gstminiobject.h:
1047         * gst/gstpad.h:
1048         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
1049           removed unused flags from miniobject
1050           doc fixes
1051
1052 2005-10-12  Wim Taymans  <wim@fluendo.com>
1053
1054         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
1055         (gst_file_sink_event), (gst_file_sink_render):
1056         Flush before seeking.
1057
1058 2005-10-12  Andy Wingo  <wingo@pobox.com>
1059
1060         * gst/gst.c (gst_init_check): Ignore unknown options, as has
1061         always been the case.
1062
1063 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
1064
1065         * check/gst/gstbin.c: (GST_START_TEST):
1066         * docs/gst/gstreamer-sections.txt:
1067         * gst/base/gstbasesink.c: (gst_base_sink_init):
1068         * gst/base/gstbasesrc.c: (gst_base_src_init),
1069         (gst_base_src_get_range), (gst_base_src_check_get_range),
1070         (gst_base_src_start), (gst_base_src_stop):
1071         * gst/base/gstbasesrc.h:
1072         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
1073         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1074         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
1075         (bin_bus_handler):
1076         * gst/gstbin.h:
1077         * gst/gstbuffer.h:
1078         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
1079         * gst/gstbus.h:
1080         * gst/gstelement.c: (gst_element_is_locked_state),
1081         (gst_element_set_locked_state), (gst_element_commit_state),
1082         (gst_element_set_state):
1083         * gst/gstelement.h:
1084         * gst/gstindex.c: (gst_index_init):
1085         * gst/gstindex.h:
1086         * gst/gstminiobject.h:
1087         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
1088         (gst_object_set_parent):
1089         * gst/gstobject.h:
1090         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
1091         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
1092         * gst/gstpad.h:
1093         * gst/gstpadtemplate.h:
1094         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
1095         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1096         * gst/gstpipeline.h:
1097         * gst/indexers/gstfileindex.c: (gst_file_index_load),
1098         (gst_file_index_commit):
1099         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
1100         * testsuite/pad/link.c: (gst_test_src_init),
1101         (gst_test_filter_init), (gst_test_sink_init):
1102         * testsuite/states/locked.c: (main):
1103           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
1104           moved bitshift from macro to enum definition
1105
1106 2005-10-12  Wim Taymans  <wim@fluendo.com>
1107
1108         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
1109         * gst/elements/gstfilesink.c: (gst_file_sink_event),
1110         (gst_file_sink_render):
1111         Some more debugging info.
1112
1113 2005-10-12  Wim Taymans  <wim@fluendo.com>
1114
1115         * docs/design/part-states.txt:
1116         * tools/gst-launch.c: (main):
1117         Some doc updates.
1118         Revert non-intentional change.
1119
1120 2005-10-12  Wim Taymans  <wim@fluendo.com>
1121
1122         * check/gst/gstbin.c: (GST_START_TEST):
1123         * check/gst/gstelement.c: (GST_START_TEST):
1124         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
1125         * check/gst/gstghostpad.c: (GST_START_TEST):
1126         * check/gst/gstpipeline.c: (GST_START_TEST):
1127         * check/pipelines/simple_launch_lines.c: (run_pipeline):
1128         * check/states/sinks.c: (GST_START_TEST):
1129         * gst/elements/gsttypefindelement.c: (stop_typefinding):
1130         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1131         (gst_bin_remove_func), (gst_bin_get_state_func),
1132         (gst_bin_recalc_state), (gst_bin_change_state_func),
1133         (bin_bus_handler):
1134         * gst/gstelement.c: (gst_element_get_state_func),
1135         (gst_element_get_state), (gst_element_abort_state),
1136         (gst_element_commit_state), (gst_element_set_state),
1137         (gst_element_change_state), (gst_element_change_state_func):
1138         * gst/gstelement.h:
1139         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
1140         (gst_pipeline_provide_clock_func):
1141         * gst/gstutils.c: (gst_element_link_pads_filtered):
1142         * tools/gst-launch.c: (main):
1143         * tools/gst-typefind.c: (main):
1144         Use GstClockTime in _get_state() instead of GTimeVal.
1145         Remove old code in gstutils.c
1146
1147 2005-10-12  Andy Wingo  <wingo@pobox.com>
1148
1149         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
1150         removed.
1151
1152         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
1153         there is no task. Shouldn't affect any code, as nothing in our
1154         plugins checks this return value.
1155         (gst_pad_stop_task): Also take the stream lock if the pad has no
1156         task. Docs updated.
1157
1158 2005-10-12  Wim Taymans  <wim@fluendo.com>
1159
1160         * gst/gstpad.c: (pre_activate), (post_activate),
1161         (gst_pad_activate_pull), (gst_pad_activate_push):
1162         Cleanup activation code. Reset old state if
1163         activation failed.
1164
1165 2005-10-12  Wim Taymans  <wim@fluendo.com>
1166
1167         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1168         (gst_base_sink_change_state):
1169         No need to prerol after receiving EOS.
1170
1171         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1172         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
1173         * gst/elements/gstidentity.c: (gst_identity_event):
1174         Print events more verbosely.
1175
1176 2005-10-12  Wim Taymans  <wim@fluendo.com>
1177
1178         * check/Makefile.am:
1179         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1180         * check/states/sinks2.c:
1181         Moved sinks2 testcode in sinks check.
1182
1183         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1184         (gst_bin_remove_func), (gst_bin_recalc_state),
1185         (gst_bin_change_state_func), (bin_bus_handler):
1186         Fix potential race condition when _get_state() iterated over an
1187         ASYNC element right before it posted a state completion.
1188
1189         * gst/gstclock.h:
1190         Do proper cast here.
1191
1192         * gst/gstevent.c: (gst_event_new_newsegment),
1193         (gst_event_parse_newsegment):
1194         A playback rate of 0.0 is not allowed.
1195
1196 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1197
1198         * win32/common/config.h:
1199         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
1200         (_trewinddir), (_ttelldir), (_tseekdir):
1201         * win32/common/dirent.h:
1202         * win32/common/gtchar.h:
1203         * win32/common/libgstbase.def:
1204         * win32/common/libgstreamer.def:
1205         * win32/vs6/grammar.dsp:
1206         * win32/vs6/gst_inspect.dsp:
1207         * win32/vs6/gst_launch.dsp:
1208         * win32/vs6/gstreamer.dsw:
1209         * win32/vs6/libgstbase.dsp:
1210         * win32/vs6/libgstelements.dsp:
1211         * win32/vs6/libgstreamer.dsp:
1212           Visual Studio 6 project files, and a new common directory.
1213           Phear.
1214
1215 2005-10-11  Wim Taymans  <wim@fluendo.com>
1216
1217         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1218         (gst_base_sink_do_sync), (gst_base_sink_query),
1219         (gst_base_sink_change_state):
1220         * gst/base/gstbasesink.h:
1221         Correctly parse newsegment info.
1222
1223 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1224
1225         * gst/gst.c: (init_post):
1226           split plugin paths correctly
1227
1228 2005-10-11  Wim Taymans  <wim@fluendo.com>
1229
1230         * check/gst/gstevent.c: (GST_START_TEST):
1231         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1232         (gst_base_sink_change_state):
1233         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
1234         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1235         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1236         * gst/gstevent.c: (gst_event_new_newsegment),
1237         (gst_event_parse_newsegment):
1238         * gst/gstevent.h:
1239         Added extra flag to newsegment for future API freeze.
1240         Updated check and base elements.
1241
1242 2005-10-11  Julien MOUTTE  <julien@moutte.net>
1243
1244         * gst/base/gstcollectpads.c: (gst_collectpads_init),
1245         (gst_collectpads_add_pad), (gst_collectpads_pop),
1246         (gst_collectpads_event), (gst_collectpads_chain):
1247         * gst/base/gstcollectpads.h: Handle EOS correctly.
1248
1249 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1250
1251         * tools/gst-launch.c: (main):
1252           more null protecting
1253
1254 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1255
1256         * gst/gst-i18n-lib.h:
1257           check for ENABLE_NLS, not GETTEXT_PACKAGE
1258         * gst/gstregistry.c: (gst_registry_add_plugin),
1259         (gst_registry_scan_path_level),
1260         (_gst_registry_remove_cache_plugins):
1261           protect possibly NULL strings
1262         * gst/parse/types.h:
1263           config.h already included before
1264         * tools/gst-inspect.c: (main):
1265           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
1266           check for ENABLE_NLS, not GETTEXT_PACKAGE
1267         * tools/gst-launch.c: (main):
1268           check for ENABLE_NLS, not GETTEXT_PACKAGE
1269
1270 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1271
1272         * configure.ac:
1273           if we don't have glib, fail before testing 2.8
1274         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
1275           fix a leak, should fix plugins-base testsuite
1276
1277 2005-10-11  Andy Wingo  <wingo@pobox.com>
1278
1279         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
1280         take the mode we're going to as an arg. Go head and set the mode
1281         and flushing flags now, so that if the activate function starts a
1282         thread all the flags will be in the right state.
1283         (post_activate): Renamed also. Just handle making sure streaming
1284         finishes for the deactivation case, and setting the deactivated
1285         mode.
1286         (gst_pad_set_active): Complain loudly if deactivation fails.
1287         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
1288         (gst_pad_activate_push): Adapt to pre/post_activate changes,
1289         remove the terrible hack.
1290
1291 2005-10-11  Wim Taymans  <wim@fluendo.com>
1292
1293         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
1294         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
1295         (gst_bin_recalc_state), (gst_bin_change_state_func),
1296         (gst_bin_dispose), (bin_bus_handler):
1297         * gst/gstbin.h:
1298         Prepare to make current EOS message queue more generic.
1299         Fix some typos.
1300
1301         * gst/gstevent.c: (gst_event_new_newsegment),
1302         (gst_event_parse_newsegment):
1303         * gst/gstevent.h:
1304         Rename base to stream_time.
1305
1306         * gst/gstmessage.h:
1307         Fix typo in docs.
1308
1309 2005-10-11  Wim Taymans  <wim@fluendo.com>
1310
1311         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
1312         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
1313         (gst_bin_change_state_func), (bin_bus_handler):
1314         * gst/gstbin.h:
1315         Work on proper clock selection.
1316
1317 2005-10-11  Edward Hervey  <edward@fluendo.com>
1318
1319         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
1320         * libs/gst/controller/gstcontroller.h:
1321         Added GList* version of _remove_properties() in order to be able to wrap
1322         it in bindings.
1323
1324 2005-10-11  Wim Taymans  <wim@fluendo.com>
1325
1326         * docs/design/part-states.txt:
1327         Some more docs.
1328
1329         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
1330         (gst_bin_change_state_func), (bin_bus_handler):
1331         Doc updates. Don't distribute the same clock over and over again.
1332
1333         * gst/gstclock.c:
1334         * gst/gstclock.h:
1335         Doc updates.
1336
1337         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
1338         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
1339         (gst_pad_send_event):
1340         * gst/gstpad.h:
1341         Make probe emission threadsafe again.
1342         Register quarks and move _get_name() from utils.
1343         Doc updates.
1344
1345         * gst/gstpipeline.c: (gst_pipeline_class_init),
1346         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
1347         Only redistribute the clock of it changed.
1348
1349         * gst/gstsystemclock.h:
1350         Doc updates. 
1351
1352         * gst/gstutils.c:
1353         * gst/gstutils.h:
1354         Moved the _flow_get_name() to GstPad.
1355
1356 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1357
1358         * check/gst-libs/gdp.c: (GST_START_TEST):
1359         * check/gst/gstcaps.c: (GST_START_TEST):
1360         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
1361         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
1362         (gst_dp_packet_from_caps):
1363           fix more valgrind warnings before turning up the heat
1364
1365 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1366
1367         * gst/parse/grammar.y:
1368           some cleanup before the hacking
1369
1370 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1371
1372         * gst/base/gstbasesrc.c: (gst_base_src_query):
1373           use conversions
1374         * gst/gstutils.c: (gst_guint64_to_gdouble),
1375         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
1376         * gst/gstutils.h:
1377           externalize, basesrc uses it
1378           obviously the implementation needs testing
1379
1380 2005-10-10  Wim Taymans  <wim@fluendo.com>
1381
1382         * tests/sched/Makefile.am:
1383         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
1384         (make_pipeline3), (make_pipeline4), (print_elem), (main):
1385
1386 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1387
1388         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
1389           apparently converting from guint64 to double is not implemented
1390           on MSVC
1391
1392 2005-10-10  Wim Taymans  <wim@fluendo.com>
1393
1394         * check/Makefile.am:
1395         * check/generic/states.c: (GST_START_TEST):
1396         * check/gst/gstbin.c: (GST_START_TEST):
1397         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
1398         * check/states/sinks.c: (GST_START_TEST):
1399         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
1400         (main):
1401         Check fixes, use API as stated in design docs, remove hacks.
1402
1403         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1404         (gst_base_sink_change_state):
1405         Catch stopping our task while we're shutting down.
1406
1407         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1408         (gst_bin_remove_func), (gst_bin_get_state_func),
1409         (gst_bin_recalc_state), (gst_bin_change_state_func),
1410         (bin_bus_handler):
1411         * gst/gstbin.h:
1412         * gst/gstelement.c: (gst_element_init),
1413         (gst_element_get_state_func), (gst_element_abort_state),
1414         (gst_element_commit_state), (gst_element_lost_state),
1415         (gst_element_set_state), (gst_element_change_state),
1416         (gst_element_change_state_func):
1417         * gst/gstelement.h:
1418         New state change algorithm (see #318116)
1419
1420         * gst/gstpipeline.c: (gst_pipeline_class_init),
1421         (gst_pipeline_init), (gst_pipeline_set_property),
1422         (gst_pipeline_get_property), (do_pipeline_seek),
1423         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
1424         * gst/gstpipeline.h:
1425         Remove crude state change hacks.
1426
1427         * gst/gstutils.h:
1428         Remove crude hacks.
1429
1430         * tools/gst-launch.c: (main):
1431         Fixes for state change. Needs some more work to fully use the
1432         new stuff.
1433
1434 2005-10-10  Andy Wingo  <wingo@pobox.com>
1435
1436         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
1437
1438         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
1439         this flag, but it's not even in GLib 2.6. Odd. Hack around the
1440         issue.
1441
1442 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
1443
1444         * gst/gstiterator.c: (gst_iterator_new):
1445           Fix my previous commit: GTypes passed to gst_iterator_new()
1446           can be fundamental types.
1447
1448 2005-10-10  Wim Taymans  <wim@fluendo.com>
1449
1450         * gst/gstelement.c: (gst_element_iterate_pad_list),
1451         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
1452         (gst_element_iterate_sink_pads):
1453         Use src/sink pads lists for the respective iterators instead
1454         of filtering.
1455
1456 2005-10-10  Andy Wingo  <wingo@pobox.com>
1457
1458         Merged in popt removal + GOption addition patch from Ronald, bug
1459         #169772.
1460
1461         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
1462         GstElement macros around, remove popt-related symbols, add goption
1463         stuff.
1464
1465         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
1466         
1467         * docs/gst/Makefile.am:
1468         * docs/libs/Makefile.am: No POPT_CFLAGS.
1469         
1470         * examples/manual/Makefile.am:
1471         * docs/manual/basics-init.xml: Doc updates with an example.
1472         
1473         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1474         (gst_init), (parse_one_option), (parse_goption_arg):
1475         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
1476         bit of hand merging and debugging to get the GOption stuff working
1477         tho.
1478         
1479         * tests/Makefile.am:
1480         * tools/Makefile.am:
1481         * tools/gst-inspect.c: (main):
1482         * tools/gst-launch.c: (main):
1483         * tools/gst-run.c: (main):
1484         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
1485
1486 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
1487
1488         * gst/gstiterator.c: (gst_iterator_new):
1489           Add assertions to make sure passed GType is likely to really
1490           be a GType (as the compiler won't catch it if the size and
1491           GType arguments get mixed up, see #318447).
1492
1493 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
1494
1495         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1496
1497         * gst/gstbin.c: (gst_bin_iterate_sorted):
1498           Pass GType and size arguments to gst_iterator_new() in the right
1499           order (maybe we should make _new() take the GType as first argument
1500           just like _new_list()?) (#318447).
1501           
1502
1503 2005-10-10  Wim Taymans  <wim@fluendo.com>
1504
1505         * gst/gstelement.c: (gst_element_finalize):
1506         And free the GStaticRecMutex too
1507
1508 2005-10-10  Andy Wingo  <wingo@pobox.com>
1509
1510         * gst/gstelement.c (gst_element_init, gst_element_finalize):
1511         Allocate and free the mutex properly.
1512
1513         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
1514         New macros.
1515         (GstElement): The state_lock is now recursive. Rebuild your
1516         plugins, suckers. Old macros adapted.
1517
1518         * docs/gst/gstreamer-sections.txt: Doc updates.
1519
1520         * gst/gstutils.h:
1521         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
1522         (g_static_rec_cond_wait): Ported from state changes patch, while
1523         we wait on bug #317802 to be solved in a well-distributed GLib.
1524
1525         * gst/gstelement.c (gst_element_change_state_func): Renamed from
1526         gst_element_change_state, variable name changes.
1527         (gst_element_change_state): Split out of gst_element_set_state in
1528         preparation for the state change merge. Doesn't pay attention to
1529         the 'transition' argument.
1530         (gst_element_set_state): Updates, hopefully purely cosmetic.
1531         (gst_element_sync_state_with_parent): MT-safety. Ported from the
1532         state change patch.
1533         (gst_element_get_state_func): Renamed from get_state, cosmetic
1534         changes.
1535
1536 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1537
1538         * gst/elements/gstelements.c:
1539         * win32/GStreamer.vcproj:
1540         * win32/config.h:
1541         * win32/dirent.c: (_tseekdir):
1542         * win32/gst-inspect.vcproj:
1543         * win32/gst-launch.vcproj:
1544         * win32/gstconfig.h:
1545         * win32/gstelements.vcproj:
1546         * win32/gstenumtypes.c: (gst_object_flags_get_type):
1547         * win32/gstreamer.def:
1548         * win32/msvc71.sln:
1549           updates for the win32 build (patch from Sebastien Moutte)
1550
1551 2005-10-10  Andy Wingo  <wingo@pobox.com>
1552
1553         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
1554         gst_bin_get_state, cleaned up (but no logic changes).
1555         (bin_element_is_sink): Comment updates.
1556         (sink_iterator_filter): Remove needless cast.
1557         (gst_bin_iterate_sinks): Doc update.
1558         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
1559         cleaned up (but no logic changes).
1560
1561         * check/states/sinks.c (test_src_sink): Cleanups from the state
1562         change patch.
1563         (test_livesrc_sink): Sync on the state.
1564
1565         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
1566         the state change patch.
1567
1568         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
1569         change patch.
1570
1571         * check/gst/gstbin.c: Merge in some style fixes and additional
1572         checks from Wim's state change patch.
1573
1574 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
1575
1576         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1577         (gst_type_find_helper):
1578           Check whether we have the requested data already in our list of
1579           cached buffers before pulling a new buffer; also make the buffer
1580           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
1581
1582 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1583
1584         * gst/gstcaps.c:
1585         * gst/gstevent.c:
1586           doc updates
1587         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1588           don't use long long, it's not portable.  Replacing with
1589           gint64 seems to work; let's hope no skeletons fall out of the closet.
1590
1591 2005-10-10  Andy Wingo  <wingo@pobox.com>
1592
1593         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
1594
1595 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
1596
1597         * docs/gst/gstreamer-sections.txt:
1598         * gst/gstevent.c:
1599         * gst/gstevent.h:
1600         * gst/gstinfo.c:
1601         * gst/gstinfo.h:
1602         * gst/gstmessage.c: (gst_message_parse_state_changed):
1603         * gst/gstpad.c:
1604         * gst/gstpad.h:
1605           more docs, fix compilation
1606
1607 2005-10-09  Philippe Khalaf <burger@speedy.org>
1608         * gst/gstmessage.c:
1609           Fixed a few forgotten variables on previous commit
1610
1611 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
1612
1613         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1614           Fix evil typefind crasher: getrange() might return a short
1615           buffer at the end of a file, but gst_type_find_peek() must
1616           either return the full data as requested or NULL, but
1617           never a short buffer.
1618
1619 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1620
1621         * gst/gstmessage.c: (gst_message_new_state_changed),
1622         (gst_message_parse_state_changed):
1623         * gst/gstmessage.h:
1624           don't use "new", it's a C++ keyword
1625
1626 2005-10-08  Wim Taymans  <wim@fluendo.com>
1627
1628         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
1629         * gst/gstelement.c: (gst_element_post_message):
1630         * gst/gstpipeline.c: (gst_pipeline_change_state):
1631         Small docs and debug updates.
1632
1633 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
1634
1635         * docs/gst/gstreamer-sections.txt:
1636         * gst/gstelementfactory.c:
1637         * gst/gstevent.c:
1638         * gst/gsttaglist.c:
1639           more docs
1640
1641 2005-10-08  Wim Taymans  <wim@fluendo.com>
1642
1643         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
1644         (gst_bin_dispose), (bin_bus_handler):
1645         Fix typos, add comments.
1646         Clear EOS list when going to PAUSED from any direction and do it
1647         in a threadsafe way.
1648         Get base time in a threadsafe way too.
1649         Fix confusing debug in the change_state function.
1650         Various other small cleanups.
1651         
1652         * gst/gstelement.c: (gst_element_post_message):
1653         Fix very verbose bus posting code.
1654
1655         * gst/gstpipeline.c: (gst_pipeline_class_init),
1656         (gst_pipeline_set_property), (gst_pipeline_get_property),
1657         (gst_pipeline_change_state):
1658         Small ARG_ -> PROP_ cleanup
1659
1660 2005-10-08  Wim Taymans  <wim@fluendo.com>
1661
1662         * gst/gstbin.c: (is_eos), (bin_bus_handler):
1663         Do a less CPU demanding EOS check because we can.
1664
1665 2005-10-08  Wim Taymans  <wim@fluendo.com>
1666
1667         * libs/gst/dataprotocol/dataprotocol.c:
1668         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1669         (gst_dp_packet_from_event):
1670         * libs/gst/dataprotocol/dataprotocol.h:
1671         * libs/gst/dataprotocol/dp-private.h:
1672         It's about time we bump the version number.
1673         Since event types don't fit in the guint8 anymore describing
1674         the payload type, make payload type 16 bits wide.
1675
1676 2005-10-08  Wim Taymans  <wim@fluendo.com>
1677
1678         * docs/design/part-TODO.txt:
1679         * docs/design/part-clocks.txt:
1680         * docs/design/part-events.txt:
1681         * docs/design/part-gstbin.txt:
1682         * docs/design/part-gstelement.txt:
1683         * docs/design/part-gstpipeline.txt:
1684         * docs/design/part-live-source.txt:
1685         * docs/design/part-messages.txt:
1686         * docs/design/part-overview.txt:
1687         * docs/design/part-states.txt:
1688         Many doc updates.
1689
1690 2005-10-08  Wim Taymans  <wim@fluendo.com>
1691
1692         * gst/gstevent.c:
1693         * gst/gstevent.h:
1694         Fix event quark registration.
1695         Add some space between events so we can insert them in the
1696         right groups.
1697
1698 2005-10-08  Wim Taymans  <wim@fluendo.com>
1699
1700         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1701         (gst_base_sink_handle_buffer):
1702         Better log message.
1703
1704         * gst/gstbus.h:
1705         * gst/gstelement.h:
1706         More docs.
1707
1708         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
1709         (gst_queue_set_property), (gst_queue_get_property):
1710         * gst/gstqueue.h:
1711         Remove old unused properties.
1712
1713 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
1714         * docs/gst/gstreamer-sections.txt:
1715         * gst/gstmessage.c:
1716         * gst/gstmessage.h:
1717         * gst/gstminiobject.c:
1718         * gst/gstminiobject.h:
1719         * gst/gstobject.h:
1720         * gst/gstpad.h:
1721         * gst/gstutils.h:
1722           lots of new docs and doc fixes
1723
1724 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1725
1726         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
1727         * gst/gstplugin.h:
1728         * gst/gstregistry.c: (gst_registry_lookup_locked),
1729         (gst_registry_scan_path_level):
1730         * gst/gstregistryxml.c: (load_plugin):
1731           Only ever load one plugin for a given plugin basename.
1732           This ensures correct overriding of GST_PLUGIN_PATH over
1733           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
1734           system installed plugins.
1735
1736 2005-10-08  Wim Taymans  <wim@fluendo.com>
1737
1738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1739         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
1740         Prepare for doing QOS.
1741
1742 2005-10-08  Wim Taymans  <wim@fluendo.com>
1743
1744         * check/gst/gstbin.c: (GST_START_TEST):
1745         * check/pipelines/cleanup.c: (GST_START_TEST):
1746         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1747         Allow new clock message too.
1748
1749 2005-10-08  Wim Taymans  <wim@fluendo.com>
1750
1751         * gst/gstmessage.c: (gst_message_new_error),
1752         (gst_message_new_warning), (gst_message_new_tag),
1753         (gst_message_new_state_changed), (gst_message_new_clock_provide),
1754         (gst_message_new_clock_lost), (gst_message_new_new_clock),
1755         (gst_message_new_segment_start), (gst_message_new_segment_done),
1756         (gst_message_parse_state_changed),
1757         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
1758         (gst_message_parse_new_clock):
1759         * gst/gstmessage.h:
1760         Also carry the clock in question.
1761
1762 2005-10-08  Wim Taymans  <wim@fluendo.com>
1763
1764         * gst/gstmessage.c: (gst_message_new_custom),
1765         (gst_message_new_eos), (gst_message_new_error),
1766         (gst_message_new_warning), (gst_message_new_tag),
1767         (gst_message_new_state_changed), (gst_message_new_clock_provide),
1768         (gst_message_new_new_clock), (gst_message_new_segment_start),
1769         (gst_message_new_segment_done), (gst_message_parse_state_changed),
1770         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
1771         * gst/gstmessage.h:
1772         Clean up.
1773         Added clock related messages.
1774
1775         * gst/gstpipeline.c: (gst_pipeline_change_state):
1776         Post message when the clock changed.
1777
1778         * tools/gst-launch.c: (event_loop):
1779         Print new clock.
1780
1781 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
1782
1783         * tools/gst-inspect.c: (print_element_properties_info):
1784           Can't pass NULL strings to g_print() on windows.
1785
1786 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1787
1788         * docs/Makefile.am:
1789         * docs/gst/Makefile.am:
1790         * docs/gst/gstreamer-docs.sgml:
1791         * docs/gst/running.xml:
1792         * docs/version.entities.in:
1793           add a chapter on running GStreamer.
1794           document GST_DEBUG and GST_PLUGIN* env vars
1795
1796 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1797
1798         * Makefile.am:
1799           remove include dir
1800         * configure.ac:
1801           remove PLUGINS_BUILDDIR stuff
1802         * gst/gst.c: (init_post):
1803           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
1804         * idiottest.mak:
1805           remove, it was condescending and not needed
1806
1807 2005-10-08  Wim Taymans  <wim@fluendo.com>
1808
1809         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1810         (gst_base_sink_handle_object), (gst_base_sink_event),
1811         (gst_base_sink_wait), (gst_base_sink_handle_event),
1812         (gst_base_sink_change_state):
1813         * gst/base/gstbasesink.h:
1814         Repost EOS message while going to PLAYING if still EOS.
1815         Make sure that when receiving a FLUSH_START we don't attempt
1816         to sync on the clock anymore.
1817
1818 2005-10-08  Wim Taymans  <wim@fluendo.com>
1819
1820         * tools/gst-launch.c: (event_loop):
1821         Better message printout.
1822
1823 2005-10-08  Wim Taymans  <wim@fluendo.com>
1824
1825         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
1826         (gst_bin_child_proxy_get_children_count):
1827         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
1828         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
1829         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
1830         (gst_child_proxy_set_valist):
1831         * gst/parse/grammar.y:
1832         Make ChildProxy threadsafe and fix mem leaks.
1833
1834 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1835
1836         * gst/gst.c: (init_post):
1837           debug the GST_PLUGIN_ env vars
1838
1839 2005-10-08  Wim Taymans  <wim@fluendo.com>
1840
1841         * check/gst/gstbin.c: (GST_START_TEST):
1842         * check/gst/gstmessage.c: (GST_START_TEST):
1843         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1844         * gst/gstelement.c: (gst_element_commit_state),
1845         (gst_element_lost_state):
1846         * gst/gstmessage.c: (gst_message_new_state_changed),
1847         (gst_message_parse_state_changed):
1848         * gst/gstmessage.h:
1849         * tools/gst-launch.c: (event_loop):
1850         Added extra field to STATE_CHANGE message with the pending
1851         state, which will be different from the new state soon.
1852
1853 2005-10-08  Wim Taymans  <wim@fluendo.com>
1854
1855         * gst/gstbus.c: (gst_bus_pop):
1856         * gst/gstclock.c:
1857         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1858         Small cleanups and doc updates.
1859
1860 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1861
1862         * gst/gst.c: (init_pre):
1863         * gst/gstbin.c: (gst_bin_add_func):
1864           log distributing clocks and base time
1865         * gst/gstregistry.c: (gst_registry_add_plugin),
1866         (gst_registry_scan_path_level), (gst_registry_scan_path):
1867           clean up the debugging output a little
1868         * gst/gstutils.c: (gst_element_state_get_name):
1869           warn about a memleak (I've actually seen this be used, though
1870           it was probably a bug)
1871
1872 2005-10-07  Wim Taymans  <wim@fluendo.com>
1873
1874         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1875         (gst_base_src_init), (gst_base_src_default_newsegment),
1876         (gst_base_src_newsegment), (gst_base_src_do_seek),
1877         (gst_base_src_loop), (gst_base_src_start):
1878         * gst/base/gstbasesrc.h:
1879         Make the newsegment event customizable by subclasses.
1880
1881 2005-10-07  Wim Taymans  <wim@fluendo.com>
1882
1883         * gst/gstevent.c: (gst_event_new_buffersize),
1884         (gst_event_parse_buffersize):
1885         * gst/gstevent.h:
1886         New event for future idea.
1887
1888 2005-10-07  Andy Wingo  <wingo@pobox.com>
1889
1890         * gst/gstelement.c (gst_element_post_message): Doc update.
1891
1892         * docs/gst/gstreamer-sections.txt: Update.
1893
1894         * gst/gstmessage.c (gst_message_new_application): Made into a
1895         function like honest API calls.
1896         (gst_message_new_element): New message type.
1897
1898         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
1899
1900         * check/elements/fakesrc.c (test_no_preroll): New check, checks
1901         that setting a live fakesrc to PAUSED returns NO_PREROLL both
1902         times.
1903
1904         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
1905         NO_PREROLL from gst_element_change_state to fall through.
1906
1907 2005-10-07  Wim Taymans  <wim@fluendo.com>
1908
1909         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
1910         (gst_ghost_pad_do_activate_push):
1911         Activating a ghostpad with no internal pad in push mode
1912         is ok.
1913
1914 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1915
1916         * gst/gstobject.h:
1917           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
1918           Fixes compilation on Windows.
1919
1920 2005-10-07  Michael Smith <msmith@fluendo.com>
1921
1922         * tools/gst-inspect.c:
1923           Print out feature and plugin count at the end when printing out
1924           all features.
1925
1926 2005-10-04  Michael Smith <msmith@fluendo.com>
1927
1928         * gst/gsterror.c: (_gst_stream_errors_init):
1929           Add another error string used in a few existing plugins.
1930
1931         * gst/gstplugin.c:
1932         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1933         * tools/gst-inspect.c: (print_element_info):
1934           When a feature disappears from a plugin (and the feature exists in
1935           the cached registry file), things went horribly wrong. This isn't a
1936           complete fix, we should actually be removing the 'missing' features
1937           from the features list when we load the actual plugin. That's not
1938           yet implemented. 
1939
1940 2005-10-04  Johan Dahlin  <johan@gnome.org>
1941
1942         * check/gst/gstiterator.c: (GST_START_TEST):
1943         * gst/gstbin.c: (gst_bin_iterate_elements),
1944         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
1945         * gst/gstelement.c: (gst_element_iterate_pads):
1946         * gst/gstformat.c: (gst_format_iterate_definitions):
1947         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
1948         (gst_iterator_new_list), (gst_iterator_filter):
1949         * gst/gstiterator.h:
1950         * gst/gstquery.c: (gst_query_type_iterate_definitions):
1951         Add a GType to GstIterator, update callsites and tests.
1952
1953 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1954
1955         * gst/gstpad.c: (gst_pad_event_default_dispatch):
1956           give events a chance to be handled by event probes when the pad
1957           is not linked
1958
1959 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1960
1961         * gst/gstevent.c: (gst_event_type_get_name),
1962         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
1963         * gst/gstevent.h:
1964           add string representations for event types
1965
1966 2005-10-06  Wim Taymans  <wim@fluendo.com>
1967
1968         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
1969         Don't use NULL pointers.
1970
1971 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1972
1973         * gst/gst_private.h:
1974         * gst/gstbus.c:
1975         * gst/gstelement.c:
1976         * gst/gstinfo.c:
1977         * gst/gstpluginfeature.c:
1978           widen the debug category in output to fit the biggest one we have
1979           add a bus category and use it
1980           play with the colors
1981           fix up some categories
1982
1983 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1984
1985         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
1986           add push activation of sink ghost pads.
1987           Andye, please verify
1988
1989 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1990
1991         * gst/gstutils.c: (gst_element_link_pads):
1992           fix a bug in the case where neither element has a pad
1993         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1994           add a test for that case
1995
1996 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1997
1998         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
1999           emit have-data before checking for peers.  This allows
2000           for probe handlers to connect elements.  This helps autopluggers.
2001         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
2002         (gst_pad_suite):
2003           add six checks, linked/unlinked with no/true/false probe
2004
2005 2005-10-04  Wim Taymans  <wim@fluendo.com>
2006
2007         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
2008         (gst_fake_sink_event), (gst_fake_sink_preroll),
2009         (gst_fake_sink_render), (gst_fake_sink_change_state):
2010         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
2011         (gst_fake_src_get_property), (gst_fake_src_create),
2012         (gst_fake_src_stop):
2013         * gst/elements/gstidentity.c: (gst_identity_stop):
2014         Protect last_message with lock.
2015
2016 2005-10-04  Edward Hervey  <edward@fluendo.com>
2017
2018         * gst/gstformat.h: 
2019         Added precision in the comments for GST_FORMAT_DEFAULT
2020
2021 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
2022
2023         * tools/gst-launch.c: (main):
2024           Don't try to run erroneous pipelines.
2025
2026 2005-10-04  Julien MOUTTE  <julien@moutte.net>
2027
2028         * gst/gstbus.c: We don't need this header.
2029
2030 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2031
2032         * configure.ac:
2033           back to development
2034
2035 === release 0.9.3 ===
2036
2037 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2038
2039         * README:
2040         * configure.ac:
2041           Releasing 0.9.3, "Unregistered"
2042
2043 2005-10-03  Andy Wingo  <wingo@pobox.com>
2044
2045         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
2046         whereby calling a pad's activatepush() function can start a thread
2047         that starts to push or pull before the pad gets the FLUSHING flag
2048         unset. Hack around it by holding the stream lock until the flag is
2049         set. Need to replace this with a proper solution. Together with
2050         the ghost pad fixes, this fixes mp3 playing/tagreading.
2051
2052         * docs/design/part-gstghostpad.txt: Add a note about activation of
2053         proxy pads outside of ghost pads.
2054
2055         * gst/gstghostpad.c: Implement the ghost pad activation design.
2056
2057 2005-10-02  Andy Wingo  <wingo@pobox.com>
2058
2059         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
2060         It is volatile, after all.
2061
2062         * docs/design/part-gstghostpad.txt: Flesh out activation with
2063         ghost pads.
2064
2065         * gst/base/gstbasesrc.c (gst_base_src_init): Use
2066         GST_DEBUG_FUNCPTR.
2067
2068 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2069
2070         * configure.ac:
2071           Fix (unused) AM_CONDITIONAL tests.
2072
2073 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
2074
2075         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2076
2077         * gst/gstutils.c: (gst_pad_query_convert):
2078           Add assertion that makes sure src_val is >=0, just like
2079           gst_query_new_convert() has. (#315895)
2080
2081 2005-09-30  Edward Hervey  <edward@fluendo.com>
2082
2083         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
2084         Let's not iterate pads we're not interested in, it avoids getting 
2085         sky-high refcounts on sinkpad.
2086
2087 2005-09-30  Wim Taymans  <wim@fluendo.com>
2088
2089         * gst/gstelement.c: (gst_element_set_state),
2090         (gst_element_change_state):
2091         Small tweak, element in ASYNC remains ASYNC.
2092
2093 2005-09-30  Wim Taymans  <wim@fluendo.com>
2094
2095         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2096         Only error is an error.
2097
2098         * gst/gstbin.c: (gst_bin_change_state):
2099         Better debugging.
2100
2101         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
2102         Also call pad_block in pad alloc.
2103
2104         * gst/gstutils.c: (gst_flow_get_name):
2105         Better debugging.
2106
2107 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2108
2109         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2110         (gst_base_src_get_range):
2111           Fix documentation typos. Add some more debug info.
2112
2113 2005-09-29  David Schleef  <ds@schleef.org>
2114
2115         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
2116           more end-user friendly.
2117         * tools/gst-inspect.c: (main): Check if command-line argument is
2118           a file and attempt to load that file as a plugin.
2119
2120 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2121
2122         * check/gst/gstbin.c:
2123         * check/states/sinks.c:
2124           fix tests for the new warning
2125         * check/gst/gstpipeline.c:
2126           add a test for pipeline and bus interaction
2127         * gst/gstelement.c:
2128           elements should be NULL if they get disposed; add a warning if not
2129
2130 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2131
2132         * gst/gstobject.c:
2133           for 2.6 refcounting, make debug log more correct by printing
2134           the actual refcounts at the time of swap (Wim)
2135
2136 2005-09-29  Andy Wingo  <wingo@pobox.com>
2137
2138         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
2139         removes signal watches previously added via
2140         gst_bus_add_signal_watch.
2141         (gst_bus_add_signal_watch): Don't return the source id, just store
2142         it on the bus if there wasn't an id already.
2143
2144         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
2145         add_signal_watch and remove_signal_watch.
2146
2147 2005-09-29  Edward Hervey  <edward@fluendo.com>
2148
2149         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
2150         Better if we actually iterate the list :)
2151
2152 2005-09-29  Wim Taymans  <wim@fluendo.com>
2153
2154         * check/gst/gstbin.c: (GST_START_TEST):
2155         Change for new bus API.
2156
2157         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
2158         (send_messages), (GST_START_TEST), (gstbus_suite):
2159         Change for new bus signal API.
2160
2161         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
2162         (gst_bus_source_prepare), (gst_bus_source_check),
2163         (gst_bus_create_watch), (gst_bus_add_watch_full),
2164         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
2165         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
2166         * gst/gstbus.h:
2167         Remove support for multiple GSources operating on different
2168         message types as it is too complex and unneeded when using
2169         signals.
2170         Added support for receiving signals from the bus.
2171
2172 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2173
2174         * docs/libs/tmpl/gstdataprotocol.sgml:
2175         * docs/manual/advanced-dataaccess.xml:
2176         * gst/elements/gstcapsfilter.c:
2177         * gst/gstutils.c:
2178           rename filter-caps to caps property
2179
2180 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2181
2182         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2183           More robust fraction string parsing.
2184
2185         * docs/pwg/appendix-porting.xml:
2186           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
2187
2188 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2189
2190         * gst/gstcaps.c: (gst_caps_do_simplify):
2191           Thou shalt not free a structure and then continue using it
2192           in the next loop iteration.
2193
2194         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
2195         (gst_caps_suite):
2196           Add test case for caps simplification.
2197
2198 2005-09-29  Wim Taymans  <wim@fluendo.com>
2199
2200         * check/gst/gstbin.c: (GST_START_TEST):
2201         Oops.
2202
2203 2005-09-29  Wim Taymans  <wim@fluendo.com>
2204
2205         * check/gst/gstbin.c: (GST_START_TEST):
2206         Add bus to bin.
2207
2208         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2209         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
2210         (find_element), (gst_bin_sort_iterator_next),
2211         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2212         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2213         (gst_bin_change_state), (gst_bin_dispose):
2214         A bin does not have a bus, it gets the bus from the parent.
2215
2216         * gst/gstelement.c: (gst_element_requires_clock),
2217         (gst_element_provides_clock), (gst_element_is_indexable),
2218         (gst_element_is_locked_state), (gst_element_change_state),
2219         (gst_element_set_bus_func):
2220         Small cleanups.
2221
2222         * gst/gstpipeline.c: (gst_pipeline_class_init),
2223         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
2224         The pipeline provides a bus.
2225
2226 2005-09-28  Johan Dahlin  <johan@gnome.org>
2227
2228         * gst/gstmessage.c (gst_message_parse_state_changed): Use
2229         gst_structure_get_enum instead of gst_structure_get_int
2230
2231         * gst/gststructure.c (gst_structure_get_enum): Impl.
2232
2233         * gst/gststructure.h (gst_structure_get_enum): Add
2234
2235         * docs/gst/gstreamer-sections.txt: Ditto
2236
2237         * gst/gstmessage.c (gst_message_new_state_changed): Use
2238         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
2239         which does introspection.
2240         Reviewed by Christian Schaller
2241
2242 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
2243
2244         * gst/gstinfo.c: (gst_debug_log_default):
2245           don't do dummy g_strdup()s
2246         * libs/gst/controller/gstcontroller.c:
2247         (on_object_controlled_property_changed),
2248         (gst_controlled_property_new), (gst_controller_new_valist),
2249         (gst_controller_new_list),
2250         (gst_controller_remove_properties_valist), (gst_controller_set),
2251         (gst_controller_get), (gst_controller_sync_values),
2252         (gst_controller_get_value_array), (_gst_controller_class_init),
2253         (gst_controller_get_type):
2254         * libs/gst/controller/gstcontroller.h:
2255         * libs/gst/controller/gstinterpolation.c:
2256         (gst_controlled_property_find_timed_value_node):
2257           convert // to /**/ comments
2258
2259 2005-09-28  Wim Taymans  <wim@fluendo.com>
2260
2261         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
2262         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
2263         (gst_bus_sync_signal_handler):
2264         * gst/gstbus.h:
2265         Added async-message and sync-message signals to the bus.
2266         Added helper BusFunc to emit signals for all posted messages.
2267
2268         * gst/gstmessage.c: (gst_message_type_get_name),
2269         (gst_message_type_to_quark), (gst_message_get_type):
2270         * gst/gstmessage.h:
2271         Register quarks for message names.
2272
2273 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
2274
2275         * docs/libs/gstreamer-libs-sections.txt:
2276         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2277         (gst_controller_new_list):
2278         * libs/gst/controller/gstcontroller.h:
2279           added another constructor for language bindings
2280
2281 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2282
2283         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
2284           add another check
2285         * gst/gstbus.c:
2286           add some doc
2287         * gst/gstinfo.c: (_gst_debug_init):
2288           slightly more readable color for refcount debugging
2289
2290 2005-09-28  Wim Taymans  <wim@fluendo.com>
2291
2292         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2293         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
2294         (find_element), (gst_bin_sort_iterator_next),
2295         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2296         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2297         (gst_bin_change_state), (gst_bin_dispose):
2298         Small doc fixes. get_clock -> provide_clock.
2299
2300         * gst/gstelement.c: (gst_element_class_init),
2301         (gst_element_provides_clock), (gst_element_provide_clock),
2302         (gst_element_get_clock), (gst_element_commit_state),
2303         (gst_element_lost_state):
2304         * gst/gstelement.h:
2305         Make get/set_clock() symetric. Add provide_clock vmethod since
2306         that is actually what this function does.
2307
2308         * gst/gstpipeline.c: (gst_pipeline_class_init),
2309         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
2310         (gst_pipeline_get_clock):
2311         get_clock -> provide_clock.
2312
2313 2005-09-28  Andy Wingo  <wingo@pobox.com>
2314
2315         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
2316         lieu of real docs...
2317
2318         * gst/elements/gstfdsrc.c: Cleaned up a bit.
2319
2320 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
2321
2322         * gst/elements/gstcapsfilter.c:
2323         * gst/elements/gstfakesink.c:
2324         * gst/elements/gstfakesrc.c:
2325         * gst/elements/gstfdsink.c:
2326         * gst/elements/gstfdsrc.c:
2327         * gst/elements/gstfilesink.c:
2328         * gst/elements/gstfilesrc.c:
2329         * gst/elements/gstidentity.c:
2330         * gst/elements/gsttee.c:
2331         * gst/elements/gsttypefindelement.c:
2332           Make element details static.
2333
2334 2005-09-28  Wim Taymans  <wim@fluendo.com>
2335
2336         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
2337         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
2338         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2339         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2340         (gst_bin_change_state), (gst_bin_dispose):
2341         Some documentation updates.
2342         Clean up dispose handlers.
2343
2344         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
2345         * gst/gstpad.c: (gst_pad_dispose):
2346         Clean up dispose handler.
2347
2348         * gst/gstpipeline.c: (gst_pipeline_change_state):
2349         Removed spurious UNLOCK.
2350
2351 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
2352
2353         * docs/gst/gstreamer-sections.txt:
2354         * gst/base/gstbasesrc.h:
2355         * gst/gstelement.h:
2356         * gst/gstevent.h:
2357         * gst/gstobject.h:
2358         * gst/gstpad.h:
2359         * gst/gstpipeline.c:
2360         * gst/gstpipeline.h:
2361         * gst/gstutils.h:
2362         * gst/gstxml.h:
2363           added two new functions to the docs
2364                 documents all undocumented GstXXXFlags
2365                 completed some incomplete docs 
2366
2367 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2368
2369         * gst/gstbin.c: (gst_bin_dispose):
2370         * gst/gstelement.c: (gst_element_dispose):
2371           remove now useless and leaky resurrection code in dispose
2372         * gst/base/gstbasesrc.c: (gst_base_src_init):
2373         * gst/gstelementfactory.c: (gst_element_factory_create):
2374         * gst/gstobject.c: (gst_object_set_parent):
2375           add some debugging
2376
2377 2005-09-27  Wim Taymans  <wim@fluendo.com>
2378
2379         * docs/design/part-TODO.txt:
2380         Update TODO.
2381
2382         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
2383         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
2384         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2385         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2386         (gst_bin_change_state):
2387         * gst/gstelement.h:
2388         Remove element variable, we keep element info in the iterator now.
2389
2390 2005-09-27  Andy Wingo  <wingo@pobox.com>
2391
2392         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
2393         values.
2394
2395 2005-09-27  Wim Taymans  <wim@fluendo.com>
2396
2397         * check/gst/gstbin.c: (GST_START_TEST):
2398         Enable check that works now.
2399
2400         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
2401         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
2402         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2403         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2404         (gst_bin_change_state):
2405         * gst/gstbin.h:
2406         Redid the state change algorithm using a topological sort algo.
2407         Handles all cases correctly.
2408         Exposed iterator for state change order.
2409
2410         * gst/gstelement.h:
2411         Temp storage for state changes. Need to get rid of this soon.
2412
2413 2005-09-27  Wim Taymans  <wim@fluendo.com>
2414
2415         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
2416         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
2417         (link_fold_func), (gst_pad_proxy_setcaps):
2418         Leak fixes, the fold functions need to unref the passed object and
2419         _get_parent_*() returns ref to parent.
2420
2421 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
2422
2423         * check/gst/gstbuffer.c: (test_make_writable):
2424           Plug leak in test case and fix 'make check-valgrind'
2425
2426 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
2427
2428         * gst/gstbuffer.c: (gst_subbuffer_init):
2429           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
2430           works correctly in all circumstances (we could have just copied
2431           the parent buffer's readonly flag, but conceptually it seems
2432           cleaner to mark all subbuffers as read-only). (based on patch
2433           by Alessandro Decina, #314710).
2434         
2435         * check/gst/gstbuffer.c: (create_read_only_buffer),
2436         (test_make_writable), (test_subbuffer_make_writable),
2437         (gst_test_suite):
2438           Add some tests for gst_buffer_make_writable().
2439
2440 2005-09-27  Wim Taymans  <wim@fluendo.com>
2441
2442         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
2443         use gst_object_has_ancestor().
2444
2445         * gst/gstobject.c: (gst_object_has_ancestor):
2446         * gst/gstobject.h:
2447         gst_object_has_ancestor() copied from gstbin.c as it is a
2448         usefull function.
2449
2450         * tests/instantiate/create.c: (create_all_elements):
2451         * tests/lat.c: (handoff_src), (handoff_sink):
2452         * tests/sched/runxml.c: (main):
2453         * tests/seeking/seeking1.c: (main):
2454         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
2455         (main):
2456         Fix compilation of some tests.
2457
2458 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
2459
2460         * gst/gsterror.h:
2461           Remove comment. GST_TYPE_G_ERROR is here to stay,
2462           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
2463           (#316961, #300610).
2464
2465 2005-09-26  Wim Taymans  <wim@fluendo.com>
2466
2467         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2468         Added check that shows error in state change order.
2469
2470 2005-09-26  Wim Taymans  <wim@fluendo.com>
2471
2472         * gst/gstbin.c: (gst_bin_change_state):
2473         Make state change function use 3 queues again, we were
2474         adding elements in the wrong order.
2475
2476         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
2477         Some debug info,
2478
2479         * gst/gstpad.c: (gst_pad_dispose):
2480         Added some debug info first.
2481
2482 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
2483
2484         * docs/design/draft-push-pull.txt:
2485         * docs/design/part-events.txt:
2486         * docs/design/part-overview.txt:
2487         * docs/design/part-scheduling.txt:
2488           Replace all _pull_region() with _pull_range()
2489           
2490 2005-09-26  Andy Wingo  <wingo@pobox.com>
2491
2492         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
2493
2494         * check/gst-libs/controller.c: Update for controller api change.
2495
2496         * configure.ac: 
2497         * tests/Makefile.am:
2498         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
2499         over by GLib bug 118439.
2500         
2501         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
2502         routines to a function.
2503
2504         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
2505
2506         * libs/gst/controller/gsthelper.c:
2507         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
2508         (gst_object_sync_values): Renamed from sink_values. Ugh.
2509
2510         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
2511
2512         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
2513         Renamed from controller_key, as it is exported.
2514
2515         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
2516
2517 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
2518
2519         * gst/Makefile.am:
2520         * gst/gst.h:
2521         * gst/gstpad.h:
2522         * gst/gstpadtemplate.h:
2523         * gst/gstquery.c:
2524         * gst/gstquery.h:
2525         * gst/gstqueryutils.c:
2526         * gst/gstqueryutils.h:
2527           remove queryutils headers after moving the two used functions
2528           to gstquery.  also fixes build problem for gstsiddec
2529
2530 2005-09-26  Michael Smith <msmith@fluendo.com>
2531
2532         * tools/gst-launch.1.in:
2533         Correct documentation in manpage of debug syntax
2534
2535 2005-09-26  Wim Taymans  <wim@fluendo.com>
2536
2537         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2538         (gst_base_src_is_seekable), (gst_base_src_change_state):
2539         Some more debugging info.
2540
2541 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
2542
2543         * docs/gst/gstreamer-sections.txt:
2544         * gst/base/gstbasetransform.h:
2545         * gst/gstindex.h:
2546           added more docs
2547
2548 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
2549
2550         * docs/gst/.cvsignore:
2551         * docs/gst/tmpl/.cvsignore:
2552         * docs/gst/tmpl/gstpipeline.sgml:
2553         * docs/gst/tmpl/gstplugin.sgml:
2554         * gst/gstpipeline.c:
2555         * gst/gstplugin.c:
2556         * gst/gstplugin.h:
2557           inlined the last two docs files
2558           removed the tmpl directory from cvs (no more conflicts here!)
2559
2560 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
2561
2562         * docs/gst/gstreamer-sections.txt:
2563         * docs/gst/tmpl/.cvsignore:
2564         * docs/gst/tmpl/gstpad.sgml:
2565         * docs/gst/tmpl/gstpadtemplate.sgml:
2566         * gst/Makefile.am:
2567         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
2568         (gst_pad_finalize), (gst_pad_set_pad_template):
2569         * gst/gstpad.h:
2570         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2571         (gst_pad_template_class_init), (gst_pad_template_init),
2572         (gst_pad_template_dispose), (name_is_valid),
2573         (gst_static_pad_template_get), (gst_pad_template_new),
2574         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
2575         (gst_pad_template_pad_created):
2576         * gst/gstpadtemplate.h:
2577           inlined two more docs
2578           factored gstpadtemplate out of gstpad
2579
2580 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
2581
2582         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
2583         (test_children_state_change_order_semi_sink):
2584           Fix test case: we can't rely on a fixed state change order when
2585           going from READY => PAUSED because the sink might commit its 
2586           new state first when the first buffer created by the source 
2587           reaches the sink before the source has finished its change state.
2588           (Test case still fails at times, see #316856, comment 5 onwards)
2589
2590 2005-09-24  Wim Taymans  <wim@fluendo.com>
2591
2592         * docs/design/part-events.txt:
2593         * docs/design/part-gstbus.txt:
2594         * docs/design/part-gstpipeline.txt:
2595         * docs/design/part-messages.txt:
2596         * docs/design/part-overview.txt:
2597         * docs/design/part-segments.txt:
2598         * gst/gstbin.c:
2599         * gst/gstbuffer.c:
2600         * gst/gstclock.c:
2601         * gst/gstelement.c:
2602         * gst/gstevent.c:
2603         * gst/gstfilter.c:
2604         * gst/gstiterator.c:
2605         Various documentation updates.
2606
2607 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2608
2609         * gst/gstclock.h:
2610           Well, that's embarassing.  Luckily we weren't using
2611           GST_CLOCK_DIFF anywhere.
2612
2613 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2614
2615         * common/gtk-doc.mak:
2616           don't fail on building XML, FC4 slave shows a bunch of doc
2617           missing bits that I don't get
2618         * gst/gstpad.c:
2619         * gst/gstpipeline.c:
2620         * gst/gststructure.c:
2621           some doc updates
2622
2623 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
2624
2625         * docs/design/part-gstbin.txt:
2626         * docs/design/part-gstbus.txt:
2627         * gst/gstbus.c:
2628           Add blurb about how the bus goes into flushing mode and
2629           drops all messages when its bin goes from READY into NULL 
2630           state.
2631
2632 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2633
2634         * docs/gst/gstreamer-sections.txt:
2635         * gst/gststructure.c: (gst_structure_get_clock_time):
2636         * gst/gststructure.h:
2637           add a method to get a GstClockTime out of a structure
2638
2639 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
2640
2641         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
2642         (test_children_state_change_order_semi_sink), (gst_bin_suite):
2643           Added test to check state change order in bins (can still be made
2644           to fail here under heavy disk load; bails out with 'Push on pad
2645           fakesink:sink0, but it was not activated in push mode').
2646
2647         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
2648           Fix state change order when there is only a semi sink (#316856)
2649
2650         * gst/gstbus.c: (gst_bus_class_init):
2651           Use _class_peek_parent(), not _class_ref(); fix docs to say
2652           'default main context' instead of 'mainloop' where that is
2653           what's meant.
2654
2655         * gst/gstelement.c: (gst_element_commit_state),
2656         (gst_element_set_state):
2657           Fix typos in debug messages
2658
2659 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2660
2661         * docs/README:
2662         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
2663         * gst/gstpluginfeature.c:
2664         * gst/gstutils.c:
2665           various doc updates
2666         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2667           change an assert into an error until it gets fixed properly
2668
2669 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
2670
2671         * docs/gst/gstreamer-sections.txt:
2672         * docs/gst/tmpl/.cvsignore:
2673         * docs/gst/tmpl/gstelement.sgml:
2674         * docs/gst/tmpl/gstinfo.sgml:
2675         * docs/gst/tmpl/gstobject.sgml:
2676         * gst/gstelement.c:
2677         * gst/gstelement.h:
2678         * gst/gstinfo.c:
2679         * gst/gstinfo.h:
2680         * gst/gstobject.c: (gst_object_class_init):
2681         * gst/gstobject.h:
2682           inlined 3 more biiiig doc files and added some missing docs on the fly
2683
2684 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2685
2686         * check/gst/.cvsignore:
2687         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
2688         * gst/gstregistryxml.c: (load_plugin),
2689         (gst_registry_xml_save_plugin):
2690           put back source in registry.  add checks for find_plugin.
2691         * testsuite/states/bin.c: (assert_state), (empty_bin),
2692         (test_adding_one_element), (main):
2693         * testsuite/states/locked.c: (main):
2694           some compile/run fixes
2695
2696 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2697
2698         * check/gst/gstvalue.c: (GST_START_TEST):
2699           fix leaks in the test itself
2700
2701 2005-09-22  Wim Taymans  <wim@fluendo.com>
2702
2703         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2704         (gst_base_sink_send_event), (gst_base_sink_peer_query),
2705         (gst_base_sink_query):
2706         Prepare for more accurate position reporting and query
2707         handling.
2708
2709         * gst/gstelement.c: (gst_element_send_event),
2710         (gst_element_set_state):
2711         Add some comment.
2712
2713 2005-09-22  Wim Taymans  <wim@fluendo.com>
2714
2715         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
2716         (gst_query_parse_segment):
2717         * gst/gstquery.h:
2718         More documentation.
2719         Add segment query for future use.
2720
2721 2005-09-22  Wim Taymans  <wim@fluendo.com>
2722
2723         * gst/gstbin.c: (gst_bin_add_func):
2724         Some more debug info.
2725
2726         * gst/gstelement.c: (gst_element_send_event):
2727         Simplify send_event
2728
2729         * gst/gstelement.h:
2730         Don't know how flags got broken.
2731
2732         * gst/gstquery.h:
2733         Added new query.
2734
2735 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
2736
2737         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
2738           Add simplistic test suite for GST_TYPE_DATE serialisation and
2739           deserialisation.
2740
2741 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
2742
2743         * docs/gst/gstreamer-sections.txt:
2744         * gst/gststructure.c: (gst_structure_set_valist),
2745         (gst_structure_get_date):
2746         * gst/gststructure.h:
2747         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
2748         (gst_date_copy), (gst_value_compare_date),
2749         (gst_value_serialize_date), (gst_value_deserialize_date),
2750         (gst_value_transform_date_string),
2751         (gst_value_transform_string_date), (_gst_value_initialize):
2752         * gst/gstvalue.h:
2753           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
2754           bunch of utility functions along with a hack that checks that
2755           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
2756           is required. Part of the grand scheme in #170777.
2757
2758 2005-09-22  Andy Wingo  <wingo@pobox.com>
2759
2760         * gst/gstconfig.h.in: Psych out gtk-doc.
2761
2762         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
2763
2764         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
2765
2766         * tools/gst-inspect.c (print_element_list): Plug some
2767         inconsequential leaks.
2768
2769         * gst/gstregistry.c (gst_registry_get_default): Doc.
2770
2771         * check/gst/gstplugin.c: 
2772         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
2773         * gst/gstelementfactory.c (gst_element_factory_create): 
2774         * gst/gstindexfactory.c (gst_index_factory_create): Update for
2775         refcount changes.
2776
2777         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
2778         (gst_plugin_feature_load): Doc, don't eat refs.
2779
2780         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
2781         (gst_plugin_list_free): Doc.
2782         (gst_plugin_load_file): Doc updates.
2783
2784         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
2785         accessors returning refcounted objects, return a ref.
2786
2787         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
2788         accessor for caps. IDEMPOTENCE. Oh yes.
2789
2790 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
2791
2792         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2793
2794         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
2795         (_gst_debug_register_funcptr):
2796           Add mutex to serialise access to the hash table with
2797           the function pointer => function name string mapping;
2798           make that hash table static scope (#316809).
2799
2800         * gst/registries/.cvsignore:
2801           Remove left-over file.
2802
2803 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
2804
2805         * docs/pwg/appendix-porting.xml:
2806           And something about newsegment events and caps-on-buffers to
2807           the porting guide (feel free to improve).
2808
2809 2005-09-21  Andy Wingo  <wingo@pobox.com>
2810
2811         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
2812         data and event probes on the same pad.
2813         (test_buffer_probe_once): Test that removing probes from within
2814         the probe functions works.
2815
2816 2005-09-21  Andy Wingo  <wingo@pobox.com>
2817
2818         * check/gst/gstutils.c: New file.
2819         (test_buffer_probe_n_times): A simple buffer probe test. More to
2820         come, foolios.
2821
2822         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
2823         have-data::buffer, not have-data.
2824         (gst_pad_add_event_probe): Likewise for have-data::event.
2825         (gst_pad_add_data_probe): More docs. The part about 'resolving the
2826         peer' isn't quite right yet though.
2827         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
2828         (gst_pad_remove_data_probe): Change to take the guint handler_id
2829         as their arg, not the function+data, which is more glib-like.
2830
2831         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
2832         the signal emission to indicate if the data is a buffer or an
2833         event.
2834         (gst_pad_get_type): Initialize buffer and event quarks.
2835         (gst_pad_class_init): have-data is now a detailed signal, yes it
2836         is.
2837
2838 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
2839
2840         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
2841         * gst/gstutils.c: (gst_util_set_value_from_string),
2842         (gst_util_set_object_arg):
2843           Don't put functional code in g_return_if_fail() or
2844           g_return_val_if_fail() statements, otherwise things will 
2845           break when G_DISABLE_CHECKS is defined during compilation.
2846
2847 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2848
2849         * docs/gst/tmpl/.cvsignore:
2850         * docs/gst/tmpl/gstvalue.sgml:
2851         * gst/gstvalue.c:
2852         * gst/gstvalue.h:
2853           inlied another one and added  some obvious docs
2854
2855 2005-09-21  Wim Taymans  <wim@fluendo.com>
2856
2857         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2858         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
2859         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
2860         (gst_fdsrc_get_property), (gst_fdsrc_create):
2861         * gst/elements/gstfdsrc.h:
2862         Properly implement fdsrc. Removed signal and timeout,
2863         better implemented somewhere else.
2864
2865 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2866
2867         * docs/gst/tmpl/.cvsignore:
2868         * docs/gst/tmpl/gstimplementsinterface.sgml:
2869         * gst/gstinterface.c:
2870           inlined more docs
2871
2872 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2873
2874         * docs/gst/gstreamer-sections.txt:
2875         * docs/gst/tmpl/.cvsignore:
2876         * docs/gst/tmpl/gstenumtypes.sgml:
2877           remove obsolete doc file
2878
2879 2005-09-21  David Schleef  <ds@schleef.org>
2880
2881         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
2882         little beer, fix a little leak.
2883
2884 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2885
2886         * docs/gst/gstreamer-docs.sgml:
2887         * docs/gst/gstreamer-sections.txt:
2888         * docs/gst/tmpl/.cvsignore:
2889         * gst/Makefile.am:
2890         * gst/gst.h:
2891         * gst/gstbin.c:
2892         * gst/gstelement.h:
2893         * gst/gstindex.c: (gst_index_class_init):
2894         * gst/gstindex.h:
2895         * gst/gstindexfactory.c: (gst_index_factory_get_type),
2896         (gst_index_factory_class_init), (gst_index_factory_init),
2897         (gst_index_factory_finalize), (gst_index_factory_new),
2898         (gst_index_factory_destroy), (gst_index_factory_find),
2899         (gst_index_factory_create), (gst_index_factory_make):
2900         * gst/gstindexfactory.h:
2901         * gst/gstpluginfeature.c:
2902         * gst/gstpluginfeature.h:
2903         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2904           more docs inlined, splitted gstindex.{c,h}
2905
2906 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2907
2908         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2909           fix a leak
2910
2911 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
2912
2913         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2914           Set sync to FALSE by default.
2915
2916 2005-09-20  Wim Taymans  <wim@fluendo.com>
2917
2918         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2919         (gst_base_sink_init):
2920         Make sync property settable from subclass.
2921
2922         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
2923         (gst_fake_sink_change_state):
2924         Set sync to FALSE by default.
2925
2926 2005-09-20  Wim Taymans  <wim@fluendo.com>
2927
2928         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
2929         * tools/gst-launch.c: (main):
2930         The timeout handler should have lower priority than the source
2931         so we don't timeout before popping a message with 0 timeout.
2932         Dump error messages after failed state change.
2933
2934 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
2935
2936         * tools/gst-inspect.c: (print_element_properties_info):
2937           Fix two typos.
2938
2939 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2940
2941         * check/gst/gstevent.c:
2942         * gst/elements/gstfakesink.c:
2943         * gst/elements/gstfakesink.h:
2944           remove the sync property from fakesink.
2945           has the side effect of setting sync TRUE
2946           for fakesink, which is a change.  Anyone who knows how
2947           to fix this nicely in a GObject-y way, feel free.
2948
2949 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
2950
2951         * docs/gst/gstreamer-docs.sgml:
2952           remove probe refsection
2953
2954 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
2955
2956         * check/Makefile.am:
2957           disable valgrinding the controller test again
2958         * docs/gst/gstreamer-sections.txt:
2959           update for api-changes
2960
2961 2005-09-20  Wim Taymans  <wim@fluendo.com>
2962
2963         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2964         (gst_base_sink_set_property), (gst_base_sink_get_property),
2965         (gst_base_sink_do_sync):
2966         * gst/base/gstbasesink.h:
2967         Added sync property to basesink to disable clock sync.
2968
2969 2005-09-20  Andy Wingo  <wingo@pobox.com>
2970
2971         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
2972         eating the caller's refcount.
2973
2974         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
2975         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
2976         refcount.
2977
2978         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
2979         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
2980         of GLib 2.8 public, so we can know which refcount to check in
2981         tests.
2982
2983         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
2984         (gst_object_init): Only set the gst refcount if we're going ahead
2985         with the refcount hack.
2986
2987 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
2988
2989         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
2990         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2991           more leaks plumbed, added more debug-logging
2992         * gst/gstmacros.h:
2993           whitespace fix
2994
2995 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2996
2997         * gst/gstmessage.c:
2998           remove include of gstmemchunk.h
2999
3000 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3001
3002         * gst/gstclock.c: (_gst_clock_id_free):
3003           Commit from the Political Party For More Atomic CVS Commits,
3004           so that people don't waste too much of their day fishing
3005           out obvious leaks out of massive commits.
3006           Oh, and fix a pretty damn obvious leak in the memchunk
3007           removal code.
3008
3009 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
3010
3011         * check/Makefile.am:
3012         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
3013           plug mem-leak, re-add to valgrindable tests
3014
3015 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3016
3017         * gst/gstplugin.h:
3018           unbreak the build for those who have chronic arthritis
3019           and typing "make check" is just too taxing on the hands
3020
3021 2005-09-20  Andy Wingo  <wingo@pobox.com>
3022
3023         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
3024         really want it out, you should fix plugins at the same time.
3025
3026 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
3027
3028         * configure.ac:
3029         * docs/gst/gstreamer-sections.txt:
3030         * gst/gstobject.c:
3031           added missing symbols to api docs
3032           disable ref-count hack if we have glib >= 2.8
3033
3034 2005-09-19  David Schleef  <ds@schleef.org>
3035
3036         * docs/gst/Makefile.am: Ignore a few more internal headers
3037         * docs/gst/gstreamer-docs.sgml: Remove old sections
3038         * docs/gst/gstreamer-sections.txt: Remove old sections
3039         * docs/gst/tmpl/gstobject.sgml: update
3040         * docs/gst/tmpl/gstplugin.sgml: update
3041         * docs/gst/tmpl/gstpluginfeature.sgml: update
3042         * docs/random/ds/0.9-suggested-changes: update.
3043         * gst/Makefile.am: remove memchunk and trashstack, since they're
3044           not used.
3045         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
3046         * gst/gst.h: don't include some headers
3047         * gst/gstchildproxy.c: add gstmarshal.h
3048         * gst/gstclock.c: Don't use memchunks
3049         * gst/gstminiobject.c: Add some docs
3050         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
3051         * gst/gstobject.h: same
3052         * gst/gstplugin.c: include gstmacros.h
3053         * gst/gstplugin.h: don't include gstmacros.h, since it's private
3054         * gst/gstquery.c: don't use memchunks
3055         * gst/gstregistry.c: rename gst_registry_deinit()
3056         * gst/gstregistry.h: same
3057
3058 2005-09-19  David Schleef  <ds@schleef.org>
3059
3060         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
3061         * docs/libs/gstreamer-libs-sections.txt:
3062         * docs/libs/tmpl/gstgetbits.sgml:
3063         * docs/libs/tmpl/gstputbits.sgml:
3064
3065 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
3066
3067         * win32/gstenumtypes.c:
3068         * win32/gstenumtypes.h:
3069           Update.
3070
3071 2005-09-19  Wim Taymans  <wim@fluendo.com>
3072
3073         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
3074         Automatically PAUSE and RESUME a pipeline when a flushing seek
3075         is performed.
3076
3077 2005-09-19  Andy Wingo  <wingo@pobox.com>
3078
3079         * gst/gstregistry.h: Spacing fixen.
3080
3081 2005-09-19  Wim Taymans  <wim@fluendo.com>
3082
3083         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
3084         Handle state change failure more correctly.
3085
3086 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3087
3088         * check/Makefile.am:
3089         * check/pipelines/cleanup.c: (run_pipeline):
3090         * check/pipelines/simple_launch_lines.c: (run_pipeline),
3091         (GST_START_TEST):
3092           enable cleanup again after fixing the leak
3093         * docs/README:
3094           some more info on docs
3095
3096 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3097
3098         * check/Makefile.am:
3099           re-enable tests now that leaks are plugged
3100         * check/gst/gst.c:
3101         * check/gst/gstbin.c:
3102         * check/gst/gstpipeline.c:
3103           add some more tests while fixing leaks
3104         * common/check.mak:
3105           make sure binaries are uptodate when valgrinding/gdbing
3106         * gst/gst.c:
3107         * gst/gstelementfactory.c:
3108           remove a ref too many, and add a FIXME for when we get
3109           round to disposing of classes
3110         * gst/gstplugin.c:
3111           fix the refcounting when loading a plugin from a file and
3112           the code pretends that the pointer is the same even though
3113           of course it can change
3114         * gst/gstpluginfeature.c:
3115           unref plugins marked cached (a bit confusing as a name)
3116           as the docs state should be done
3117           various doc additions to explain refcounting
3118         * gst/gstregistry.c:
3119         * gst/gstregistryxml.c:
3120           debugging
3121
3122 2005-09-19  Wim Taymans  <wim@fluendo.com>
3123
3124         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
3125         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
3126         (send_messages), (GST_START_TEST), (gstbus_suite):
3127         * check/gst/gstpipeline.c: (GST_START_TEST):
3128         * check/pipelines/cleanup.c: (run_pipeline):
3129         * check/pipelines/simple_launch_lines.c: (run_pipeline),
3130         (GST_START_TEST):
3131         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
3132         (gst_bus_source_check), (gst_bus_source_dispatch),
3133         (gst_bus_create_watch), (gst_bus_add_watch_full),
3134         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
3135         * gst/gstbus.h:
3136         * tools/gst-launch.c: (event_loop):
3137         * tools/gst-md5sum.c: (event_loop):
3138         GstBusHandler -> GstBusFunc, return value has the same meaning as
3139         any other GSource (FALSE == remove source).
3140         _add_watch() and _add_watch_full() now take a MessageType mask to
3141         only handle specific types of messages.
3142         _poll() returns the GstMessage instead of the message type to avoid
3143         race conditions.
3144         _have_pending() takes a MessageType mask now too.
3145         Added testsuite for multiple bus watches.
3146         Fix testsuites and applications for new bus API.
3147
3148 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3149
3150         * check/Makefile.am:
3151           mark a bunch of the tests as to fix until we fix them
3152
3153 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3154
3155         * common/check.mak:
3156           use GST_PLUGIN settings for valgrind tests as well, so we're
3157           valgrinding the correct thing
3158         * gst/gst.c: (init_post):
3159           plug another leak
3160
3161 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3162
3163         * gst/gst.c: (init_post), (gst_deinit):
3164         * gst/gstelementfactory.c: (gst_element_factory_class_init),
3165         (gst_element_factory_finalize), (gst_element_factory_cleanup):
3166         * gst/gstindex.c: (gst_index_factory_class_init),
3167         (gst_index_factory_finalize):
3168         * gst/gstobject.c: (gst_object_dispose):
3169         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
3170         (gst_plugin_load_file), (gst_plugin_desc_free):
3171         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
3172         (gst_plugin_feature_finalize):
3173         * gst/gstregistry.c: (gst_registry_class_init),
3174         (gst_registry_init), (gst_registry_finalize),
3175         (gst_registry_get_default), (gst_registry_deinit):
3176         * gst/gstregistry.h:
3177         * gst/gstregistryxml.c: (load_feature), (load_plugin):
3178           various cleanups and memleak plugging.  make valgrind is happy now.
3179
3180 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3181
3182         * common/check.mak:
3183           add a check-valgrind target
3184
3185 2005-09-18  David Schleef  <ds@schleef.org>
3186
3187         * tools/gst-inspect.c: Revert the GOption code.
3188
3189 2005-09-17  David Schleef  <ds@schleef.org>
3190
3191         * check/Makefile.am: Fix environment variables.
3192         * check/gst/gstplugin.c: Fix for API changes.
3193         * tools/gst-inspect.c: Fix for API changes.
3194         * tools/gst-xmlinspect.c: Fix for API changes.
3195         * gst/gstelementfactory.c:
3196         * gst/gstplugin.c:
3197         * gst/gstplugin.h:
3198         * gst/gstpluginfeature.c:
3199         * gst/gstpluginfeature.h:
3200         * gst/gstregistry.c:
3201         * gst/gstregistry.h:
3202         * gst/gstregistryxml.c:
3203         * gst/gsttypefind.c:
3204         * gst/gsttypefindfactory.c:
3205         * gst/indexers/gstfileindex.c:
3206         * gst/indexers/gstmemindex.c:
3207         * gst/schedulers/Makefile.am:
3208           Change registry to keep track of both plugins and features,
3209           removing the feature tracking from plugins themselves.
3210
3211 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3212
3213         * check/Makefile.am:
3214         * tools/gst-register.1.in:
3215           remove gst-register
3216
3217 2005-09-15  David Schleef  <ds@schleef.org>
3218
3219         * check/gst/gstplugin.c:
3220         * gst/gstelementfactory.c:
3221         * gst/gstplugin.c:
3222         * gst/gstpluginfeature.c:
3223         * gst/gstregistry.c:
3224           Getting tired of debugging.  Disabled all the unreffing of
3225           plugins and features, which fixes the segfaults, but of
3226           course leaks like crazy.  At least playbin works.
3227
3228 2005-09-15  David Schleef  <ds@schleef.org>
3229
3230         * check/gst/gstplugin.c: (register_check_elements),
3231         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
3232         More testing
3233         * gst/elements/gsttypefindelement.c: Fix refcounting.
3234         * gst/gsttypefind.c:
3235         * gst/gsttypefindfactory.c:
3236         * gst/gsttypefindfactory.h:
3237
3238 2005-09-15  David Schleef  <ds@schleef.org>
3239
3240         * gst/gstindex.c: get refcounting correct.
3241         * gst/gstregistry.c: Handle the case where a feature/plugin is
3242           not found.
3243
3244 2005-09-15  David Schleef  <ds@schleef.org>
3245
3246         * check/Makefile.am:
3247         * check/gst/gstplugin.c: Add test
3248         * gst/gstplugin.c: Fix problems noticed by testsuite
3249         * gst/gstplugin.h:
3250         * gst/gstregistry.c: 
3251         * gst/gstregistry.h:
3252
3253 2005-09-15  David Schleef  <ds@schleef.org>
3254
3255         * gst/gstplugin.c: Implement semi-decent recounting and locking
3256           in plugins and plugin features.
3257         * gst/gstplugin.h:
3258         * gst/gstpluginfeature.c:
3259         * gst/gstpluginfeature.h:
3260         * gst/gstregistry.c:
3261
3262 2005-09-15  Michael Smith <msmith@fluendo.com>
3263
3264         * gst/gstregistry.c: (gst_registry_get_feature_list):
3265           Implement this. Makes oggdemux work; decodebin still broken.
3266
3267 2005-09-14  David Schleef  <ds@schleef.org>
3268
3269         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
3270           #316076)
3271         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
3272         * gst/check/Makefile.am:
3273         * libs/gst/controller/Makefile.am:
3274         * libs/gst/dataprotocol/Makefile.am:
3275
3276 2005-09-14  David Schleef  <ds@schleef.org>
3277
3278         * configure.ac: Remove getbits library.  Nothing uses it, and
3279           it should be in something like liboil if someone did want
3280           to use it.
3281         * libs/gst/Makefile.am:
3282         * libs/gst/getbits/Makefile.am:
3283         * libs/gst/getbits/gbtest.c:
3284         * libs/gst/getbits/getbits.c:
3285         * libs/gst/getbits/getbits.h:
3286         * libs/gst/getbits/gstgetbits_generic.c:
3287         * libs/gst/getbits/gstgetbits_i386.s:
3288         * libs/gst/getbits/gstgetbits_inl.h:
3289
3290 2005-09-14  David Schleef  <ds@schleef.org>
3291
3292         * gst/Makefile.am: Dist glib-compat.h
3293
3294 2005-09-14  David Schleef  <ds@schleef.org>
3295
3296         * configure.ac: Remove gst/registries, since it's no longer used.
3297         * gst/registries/Makefile.am:
3298         * gst/registries/gstlibxmlregistry.c:
3299         * gst/registries/gstlibxmlregistry.h:
3300         * gst/registries/gstxmlregistry.c:
3301         * gst/registries/gstxmlregistry.h:
3302         * gst/registries/registrytest.c:
3303
3304 2005-09-14  David Schleef  <ds@schleef.org>
3305
3306         * gst/glib-compat.h:
3307         * gst/gstregistryxml.c:
3308           Convergence is near.  Seriously.
3309
3310 2005-09-14  David Schleef  <ds@schleef.org>
3311
3312         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3313         * gst/glib-compat.h:
3314           Attempt #4 to appease the buildbots.
3315
3316 2005-09-14  David Schleef  <ds@schleef.org>
3317
3318         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3319           Attempt #3.
3320
3321 2005-09-14  David Schleef  <ds@schleef.org>
3322
3323         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3324         Attempt #2.
3325
3326 2005-09-14  David Schleef  <ds@schleef.org>
3327
3328         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
3329           the new functions.
3330
3331 2005-09-14  David Schleef  <ds@schleef.org>
3332
3333         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3334         * gst/glib-compat.h: Add some functions that are in newer versions
3335           of glib than we care to require.
3336         * gst/gstregistryxml.c: Use them.
3337
3338 2005-09-14  David Schleef  <ds@schleef.org>
3339
3340         * po/POTFILES.in: remove gst-register.c
3341
3342 2005-09-14  David Schleef  <ds@schleef.org>
3343
3344         * docs/gst/gstreamer-docs.sgml:
3345         * docs/gst/gstreamer-sections.txt:
3346         * docs/gst/gstreamer.types:
3347         * docs/gst/tmpl/gstelement.sgml:
3348         * docs/gst/tmpl/gstplugin.sgml:
3349         * docs/gst/tmpl/gstpluginfeature.sgml:
3350           Documentation updates for registry changes.
3351
3352 2005-09-14  David Schleef  <ds@schleef.org>
3353
3354         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
3355           because we don't require glib-2.8.
3356
3357 2005-09-14  David Schleef  <ds@schleef.org>
3358
3359         * gst/gstregistryxml.c: Added.  Essentially moved out of the
3360           registries directory.
3361
3362 2005-09-14  David Schleef  <ds@schleef.org>
3363
3364         * check/Makefile.am:
3365         * check/generic/states.c:
3366         * gst/Makefile.am:
3367         * gst/gst.c:
3368         * gst/gst.h:
3369         * gst/gst_private.h:
3370         * gst/gstelementfactory.c:
3371         * gst/gstindex.c:
3372         * gst/gstinfo.c:
3373         * gst/gstplugin.c:
3374         * gst/gstplugin.h:
3375         * gst/gstpluginfeature.c:
3376         * gst/gstpluginfeature.h:
3377         * gst/gstregistry.c:
3378         * gst/gstregistry.h:
3379         * gst/gstregistrypool.c: remove
3380         * gst/gstregistrypool.h: remove
3381         * gst/gsttypefind.c:
3382         * gst/gsttypefindfactory.c:
3383         * gst/gsturi.c:
3384         * tools/Makefile.am:
3385         * tools/gst-compprep.c:
3386         * tools/gst-inspect.c:
3387         * tools/gst-register.c: remove
3388         * tools/gst-xmlinspect.c:
3389           Registry rewrite.  Changes registry from being a file created
3390           by a tool into a simple cache file created automatically by 
3391           libgstreamer.  Removed gst-register (because it's no longer
3392           needed).  Remove registry pools, because we only have one
3393           registry implementation (XML).  Fix up other subsystems as
3394           necessary.
3395
3396 2005-09-13  Michael Smith <msmith@fluendo.com>
3397
3398         * gst/gstconfig.h.in:
3399           Don't Use windows linking attributes for MinGW. Fixes #316157
3400
3401 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3402
3403         * gst/gstutils.c: (set_state_async_thread_func),
3404         (gst_element_set_state_async):
3405           Apparently people think it's better if this function doesn't
3406           try to set the state to whatever state was asked for on the first
3407           call to this function for any object.  Seriously.
3408
3409 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3410
3411         * check/gst/gstpipeline.c: (GST_START_TEST):
3412         * docs/gst/gstreamer-sections.txt:
3413         * gst/gstutils.c: (set_state_async_thread_func),
3414         (gst_element_set_state_async):
3415         * gst/gstutils.h:
3416           add a "gst_element_set_state_async" method that
3417           sets the state and starts a thread to make sure the state
3418           change completes as best as it can
3419
3420 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3421
3422         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3423           codify design+behaviour in testsuite after discussion
3424
3425 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3426
3427         * docs/gst/tmpl/gstelement.sgml:
3428         * docs/manual/appendix-quotes.xml:
3429           add a quote
3430         * gst/gstelement.c: (gst_element_set_state):
3431           add some debug
3432
3433 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
3434
3435         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3436         (gst_base_transform_prepare_output_buf),
3437         (gst_base_transform_handle_buffer):
3438         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
3439         (gst_capsfilter_prepare_buf):
3440           Remove the requirement for sub-classes to call the parent
3441           implementation of prepare_output_buffer with a wrapper function.
3442           
3443         * gst/gsttaglist.h:
3444         * gst/gsttagsetter.h:
3445           Fix #define wrapper
3446
3447 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
3448
3449         * docs/gst/gstreamer-sections.txt:
3450           more doc cleanups
3451
3452 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3453
3454         * docs/gst/gstreamer-sections.txt:
3455         * docs/gst/tmpl/gstelement.sgml:
3456         * docs/gst/tmpl/gstplugin.sgml:
3457         * gst/gstminiobject.c:
3458         * gst/gstvalue.h:
3459           docs now stop throwing warnings
3460
3461 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3462
3463         * docs/gst/gstreamer-sections.txt:
3464         * docs/gst/gstreamer.types:
3465         * docs/gst/tmpl/gstpad.sgml:
3466         * docs/gst/tmpl/gsttypes.sgml:
3467         * gst/base/gstadapter.h:
3468         * gst/base/gstbasesink.h:
3469         * gst/base/gstbasesrc.h:
3470         * gst/gstbin.h:
3471         * gst/gstbuffer.h:
3472         * gst/gstbus.h:
3473         * gst/gstcaps.h:
3474         * gst/gstclock.h:
3475         * gst/gstelement.h:
3476         * gst/gstevent.h:
3477         * gst/gstmessage.h:
3478         * gst/gstpad.h:
3479         * gst/gststructure.c:
3480         * gst/registries/gstlibxmlregistry.h:
3481           various documentation fixes
3482
3483 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3484
3485         * docs/gst/gstreamer-sections.txt:
3486         * docs/gst/tmpl/gstvalue.sgml:
3487           rearrange gstvalue section
3488         * gst/gstutils.c: (gst_element_state_get_name):
3489           NONE -> VOID
3490         * gst/gstvalue.c: (_gst_value_initialize):
3491         * gst/gstvalue.h:
3492           doc updates
3493
3494 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
3495
3496         * check/gst-libs/controller.c:
3497           Header include fix.
3498         * gst/base/gstbasetransform.c:
3499         (gst_base_transform_default_prepare_buf),
3500         (gst_base_transform_handle_buffer):
3501         * gst/base/gstbasetransform.h:
3502           Some more basetransform changes and fixes to enable sub-classes
3503           that modify buffer metadata only.
3504         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3505         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
3506         (gst_capsfilter_prepare_buf):
3507           If the output pad has fixed allowed caps and input buffers 
3508           don't have any, set the fixed caps on outgoing buffers.
3509
3510 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
3511         * check/elements/identity.c: (GST_START_TEST):
3512           Make the error a little clearer when the test fails because
3513           identity made a copy of the buffer.
3514         * docs/gst/gstreamer-sections.txt:
3515           New symbols in gstbasetransform.h
3516         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3517         (gst_base_transform_init), (gst_base_transform_transform_size),
3518         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3519         (gst_base_transform_default_prepare_buf),
3520         (gst_base_transform_get_unit_size),
3521         (gst_base_transform_buffer_alloc),
3522         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3523         (gst_base_transform_change_state),
3524         (gst_base_transform_set_passthrough),
3525         (gst_base_transform_set_in_place),
3526         (gst_base_transform_is_in_place):
3527         * gst/base/gstbasetransform.h:
3528           Change BaseTransform to separate in_place operate from same_caps
3529           output. in_place implies that the element can perform the transform
3530           on incoming buffers in-place, even if the caps on the output are
3531           different.
3532           Sub-class elements can now implement special buffer allocation
3533           methods for outgoing buffers if they wish to.
3534           Big documentation addition.
3535         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
3536         * gst/elements/gstelements.c:
3537           Changes for basetransform modifications.
3538         * gst/elements/Makefile.am:
3539         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
3540           Compile fix. Extra debug output.
3541
3542 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3543
3544         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
3545         (gst_pad_suite):
3546           add tests for valid pad naming
3547         * gst/check/gstcheck.c: (gst_check_log_message_func),
3548         (gst_check_log_critical_func):
3549           add ASSERT_WARNING
3550           remove printing of code, it is fragile when the code contains
3551           % and the line number is enough info
3552         * gst/check/gstcheck.h:
3553         * gst/gstpad.c: (gst_pad_template_new):
3554           fix memleaks
3555
3556 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3557
3558         * configure.ac:
3559           say what CHECK flags we use
3560         * docs/libs/gstreamer-libs.types:
3561         * libs/gst/controller/Makefile.am:
3562         * libs/gst/controller/gst-controller.c:
3563         * libs/gst/controller/gst-controller.h:
3564         * libs/gst/controller/gst-helper.c:
3565         * libs/gst/controller/gst-interpolation.c:
3566         * libs/gst/controller/gstcontroller.c:
3567         * libs/gst/controller/gsthelper.c:
3568         * libs/gst/controller/gstinterpolation.c:
3569         * tools/gst-inspect.c: (print_plugin_info):
3570           we don't use dashes in header names
3571
3572 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3573
3574         * check/Makefile.am:
3575         * check/gst/.cvsignore:
3576         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
3577         (gst_pipeline_suite), (main):
3578           adding a test for pipelines and state changes
3579         * gst/gstutils.c: (get_state_func):
3580           add some debugging
3581         * gstreamer.spec.in:
3582           fix up spec file
3583
3584 2005-09-08  Michael Smith <msmith@fluendo.com>
3585
3586         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
3587         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
3588         (gst_file_src_is_seekable), (gst_file_src_get_size),
3589         (gst_file_src_start):
3590         * gst/elements/gstfilesrc.h:
3591           Various fixes for unseekable, unmmapable, and non-normal files, so
3592           that fallback to read() rather than mmap() works.
3593         * gst/gstevent.c: (gst_event_new_newsegment):
3594           Allow newsegment events with segment_start == segment_end, as will
3595           correctly happen if you use filesrc on a zero-size file, for
3596           example.
3597
3598 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
3599
3600         * gst/gstplugin.c: (gst_plugin_load_file):
3601           Call g_module_close when we don't load the module
3602
3603         * gst/registries/gstlibxmlregistry.c:
3604         (gst_xml_registry_get_property):
3605           Port leak fix from 0.8
3606
3607 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
3608
3609         * docs/gst/gstreamer-docs.sgml:
3610         * docs/gst/tmpl/.cvsignore:
3611         * docs/gst/tmpl/gsttrace.sgml:
3612         * docs/gst/tmpl/gsttrashstack.sgml:
3613         * gst/Makefile.am:
3614         * gst/gst.h:
3615         * gst/gstelement.h:
3616         * gst/gstevent.h:
3617         * gst/gstmessage.c:
3618         * gst/gstmessage.h:
3619         * gst/gsttag.c:
3620         * gst/gsttag.h:
3621         * gst/gsttaginterface.c:
3622         * gst/gsttaginterface.h:
3623         * gst/gsttaglist.c:
3624         * gst/gsttaglist.h:
3625         * gst/gsttagsetter.c:
3626         * gst/gsttagsetter.h:
3627         * gst/gsttrace.c:
3628         * gst/gsttrace.h:
3629         * gst/gsttrashstack.c:
3630           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
3631           inlined docs for gsttrace, gsttrashstack
3632
3633 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
3634
3635         * gst/Makefile.am:
3636         * gst/elements/gstbufferstore.h:
3637         * gst/elements/gsttypefindelement.c:
3638         * gst/elements/gsttypefindelement.h:
3639         * gst/gst.h:
3640         * gst/gsttypefind.c:
3641         * gst/gsttypefind.h:
3642         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
3643         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
3644         (gst_type_find_factory_dispose),
3645         (gst_type_find_factory_unload_thyself),
3646         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
3647         (gst_type_find_factory_get_caps),
3648         (gst_type_find_factory_get_extensions),
3649         (gst_type_find_factory_call_function):
3650         * gst/gsttypefindfactory.h:
3651         * gst/registries/gstlibxmlregistry.c:
3652         * gst/registries/gstxmlregistry.c:
3653           splitted gsttypefind into gsttypefind, gsttypefindfactory
3654
3655 2005-09-07  Andy Wingo  <wingo@pobox.com>
3656
3657         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
3658         condition whereby the pad's task function is entered before the
3659         pad_mode variable was set.
3660
3661 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
3662
3663         * gst/gstpad.c: (gst_pad_alloc_buffer):
3664           Catch misbehaving pad_alloc functions that don't
3665           set up caps and do it for them.
3666
3667 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
3668
3669         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3670           test for pipe!=NULL
3671         * docs/gst/tmpl/.cvsignore:
3672         * docs/gst/tmpl/gstmemchunk.sgml:
3673         * docs/gst/tmpl/gstparse.sgml:
3674         * docs/gst/tmpl/gsttaglist.sgml:
3675         * docs/gst/tmpl/gsttagsetter.sgml:
3676         * docs/gst/tmpl/gsttypefind.sgml:
3677         * docs/gst/tmpl/gsttypefindfactory.sgml:
3678         * gst/gstmemchunk.c:
3679         * gst/gstparse.c:
3680         * gst/gsttag.c:
3681         * gst/gsttaginterface.c:
3682         * gst/gsttypefind.c:
3683         * gst/gsttypefind.h:
3684           inlined more docs
3685
3686 === release 0.9.2 ===
3687
3688 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3689
3690         * NEWS:
3691         * RELEASE:
3692         * configure.ac:
3693           releasing 0.9.2, "South"
3694
3695 2005-09-05  Andy Wingo  <wingo@pobox.com>
3696
3697         * gst/registries/gstxmlregistry.h:
3698         * gst/registries/gstxmlregistry.c: Um... resurrect...
3699         
3700         * gst/registries/gstxmlregistry.h:
3701         * gst/registries/gstxmlregistry.c: and update to newer API.
3702         Incidentally they should be a bit faster now that they don't have
3703         to parse the caps.
3704         
3705 2005-09-05  Andy Wingo  <wingo@pobox.com>
3706
3707         * gst/registries/gstxmlregistry.h:
3708         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
3709         replaced by the libxml registry a while back
3710
3711 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3712
3713         * docs/gst/tmpl/gstplugin.sgml:
3714         * gst/elements/gstelements.c:
3715         * gst/gst.c:
3716         * gst/gstplugin.c: (gst_plugin_register_func),
3717         (gst_plugin_desc_copy), (gst_plugin_desc_free),
3718         (gst_plugin_get_source):
3719         * gst/gstplugin.h:
3720         * gst/registries/gstlibxmlregistry.c: (load_plugin),
3721         (gst_xml_registry_save_plugin):
3722         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
3723         (gst_xml_registry_save_plugin):
3724         * tools/gst-inspect.c: (print_plugin_info):
3725           add a "source" plugin description field, to represent the source
3726           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
3727           will set it to PACKAGE, which is automake's idea of the name of
3728           the source project.
3729
3730 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3731
3732         * Makefile.am:
3733         * autogen.sh:
3734         * configure.ac:
3735         * docs/Makefile.am:
3736         * docs/faq/Makefile.am:
3737         * docs/gst/tmpl/gstelement.sgml:
3738         * docs/gst/tmpl/gsttypes.sgml:
3739         * docs/htmlinstall.mak:
3740         * docs/manual/Makefile.am:
3741         * docs/pwg/Makefile.am:
3742           reorganize doc build a little
3743           split out docbook and gtk-doc stuff
3744           have two separate --enable's and enable them through autogen
3745           but disable by default in configure (to be similar to other
3746           projects)
3747         * gstreamer.spec.in:
3748           clean up docs install
3749         * po/af.po:
3750         * po/az.po:
3751         * po/ca.po:
3752         * po/cs.po:
3753         * po/de.po:
3754         * po/en_GB.po:
3755         * po/fr.po:
3756         * po/it.po:
3757         * po/nb.po:
3758         * po/nl.po:
3759         * po/ru.po:
3760         * po/sq.po:
3761         * po/sr.po:
3762         * po/sv.po:
3763         * po/tr.po:
3764         * po/uk.po:
3765         * po/vi.po:
3766           translation updates
3767
3768 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3769
3770         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
3771           Add comment.
3772           
3773         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
3774         (gst_fake_sink_change_state):
3775           Make state change function thread-safe.
3776           
3777         * gst/gstpad.c: (gst_pad_alloc_buffer):
3778           Set offset on generic buffer allocated by fallback.
3779
3780 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
3781
3782         * docs/gst/gstreamer-sections.txt:
3783         * docs/gst/tmpl/gstelement.sgml:
3784         * gst/gstpad.c:
3785         * libs/gst/controller/gst-controller.c:
3786         (gst_controlled_property_set_interpolation_mode),
3787         (gst_controlled_property_new),
3788         (gst_controller_find_controlled_property):
3789          run the wingo-magic script against the docs
3790
3791 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
3792
3793         * docs/gst/gstreamer-docs.sgml:
3794         * docs/gst/gstreamer-sections.txt:
3795         * docs/gst/tmpl/.cvsignore:
3796         * docs/gst/tmpl/gstelementdetails.sgml:
3797         * docs/gst/tmpl/gstelementfactory.sgml:
3798         * gst/gst.c:
3799         * gst/gstbus.c:
3800         * gst/gstelementfactory.c:
3801         * gst/gstelementfactory.h:
3802           merged elementdetails docs into elementfactory docs
3803           inlined both
3804
3805 2005-09-02  Andy Wingo  <wingo@pobox.com>
3806
3807         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
3808         consider this enum an enum and not a flags.
3809
3810 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
3811
3812         * docs/gst/gstreamer-docs.sgml:
3813         * docs/gst/tmpl/.cvsignore:
3814         * docs/gst/tmpl/gstghostpad.sgml:
3815         * docs/gst/tmpl/gstiterator.sgml:
3816         * docs/gst/tmpl/gstmacros.sgml:
3817         * docs/gst/tmpl/gstrealpad.sgml:
3818         * docs/gst/tmpl/gstregistry.sgml:
3819         * docs/gst/tmpl/gstregistrypool.sgml:
3820         * docs/gst/tmpl/gststructure.sgml:
3821         * docs/gst/tmpl/gstsystemclock.sgml:
3822         * docs/gst/tmpl/gsttrace.sgml:
3823         * gst/gstghostpad.c:
3824         * gst/gstmacros.h:
3825         * gst/gstmemchunk.c:
3826         * gst/gstmemchunk.h:
3827         * gst/gstqueue.c:
3828         * gst/gstregistry.c:
3829         * gst/gstregistrypool.c:
3830         * gst/gststructure.c:
3831         * gst/gstsystemclock.c:
3832           more docs inlined
3833
3834 2005-09-02  Andy Wingo  <wingo@pobox.com>
3835
3836         * gst/gstelement.h (GstState): Renamed from GstElementState,
3837         changed to be a normal enum instead of flags.
3838         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
3839         munged to be GST_STATE_CHANGE_*.
3840         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
3841         work with the new state representation.
3842         (GstStateChange): New enumeration of possible state transitions.
3843         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
3844         (GstElementClass::change_state): Pass the GstStateChange along as
3845         an argument. Helps language bindings, so they don't have to use
3846         tricky lock-needing macros like GST_STATE_CHANGE ().
3847
3848         * scripts/update-states (file): New script. Run it on a file to
3849         update it for state naming and API changes. Updates files in
3850         place.
3851
3852         * All files updated for the new API.
3853
3854 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3855
3856         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
3857         * gst/gstutils.c: (gst_util_set_value_from_string),
3858         (gst_util_set_object_arg):
3859           fix a bunch of unchecked return values
3860         * tools/gst-complete.c: (main):
3861         * gstreamer.spec.in:
3862           clean up a little
3863
3864 2005-09-01  Wim Taymans  <wim@fluendo.com>
3865
3866         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3867         (gst_base_sink_event), (gst_base_sink_do_sync),
3868         (gst_base_sink_handle_event):
3869         * gst/base/gstbasesink.h:
3870         Handle newsegments more correctly.
3871
3872         * gst/gstbus.c:
3873         Fix docs.
3874
3875         * gst/gstevent.c: (gst_event_new_newsegment):
3876         A newsegment cannot have a start_time of -1
3877
3878 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3879
3880         * win32/gstenumtypes.c:
3881         * win32/gstenumtypes.h:
3882           Update
3883
3884 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
3885
3886         * libs/gst/controller/gst-controller.c:
3887         (gst_controlled_property_set_interpolation_mode),
3888         (gst_controlled_property_new):
3889          fixed boolean again
3890
3891 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3892
3893         * docs/faq/gst-uninstalled:
3894           add -good
3895         * gst/gstevent.c:
3896         * gst/gstevent.h:
3897           remove wrong docs
3898         * gst/gstutils.c: (gst_element_link_filtered):
3899         * gst/gstutils.h:
3900           add gst_element_link_filtered
3901
3902 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
3903
3904         * docs/gst/gstreamer-docs.sgml:
3905         * docs/gst/gstreamer-sections.txt:
3906         * docs/gst/tmpl/.cvsignore:
3907         * docs/gst/tmpl/gsterror.sgml:
3908         * docs/gst/tmpl/gstfilter.sgml:
3909         * docs/gst/tmpl/gsturihandler.sgml:
3910         * docs/gst/tmpl/gsturitype.sgml:
3911         * docs/gst/tmpl/gstutils.sgml:
3912         * docs/gst/tmpl/gstxml.sgml:
3913         * gst/gsterror.c:
3914         * gst/gsterror.h:
3915         * gst/gstfilter.c:
3916         * gst/gsturi.c:
3917         * gst/gsturitype.c:
3918         * gst/gstutils.c:
3919         * gst/gstxml.c:
3920           inlined more docs, fixed double id-ref
3921
3922 2005-08-31  Wim Taymans  <wim@fluendo.com>
3923
3924         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
3925         (gst_base_transform_handle_buffer):
3926         Passthrough elements don't need the caps as they don't care.
3927
3928 2005-08-31  Wim Taymans  <wim@fluendo.com>
3929
3930         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
3931         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
3932         Don't leak refcounts on buffers.
3933
3934 2005-08-31  Wim Taymans  <wim@fluendo.com>
3935
3936         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
3937         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3938         (gst_base_transform_chain), (gst_base_transform_change_state):
3939         * gst/base/gstbasetransform.h:
3940         Handle the case where we are not negotiated more gracefully.
3941
3942 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
3943
3944         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
3945         (gst_file_src_map_region):
3946           Set READONLY flag on mmap'ed buffers, otherwise
3947           gst_buffer_make_writable() won't work properly (#314708).
3948
3949 2005-08-31  Wim Taymans  <wim@fluendo.com>
3950
3951         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
3952         passthrough elements can even do inplace on non writable
3953         buffers (as they don't touch them).
3954
3955 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
3956
3957         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
3958         (gst_test_mono_source_set_property),
3959         (gst_test_mono_source_class_init), (GST_START_TEST),
3960         (gst_controller_suite):
3961           more tests (hehe I have the most)
3962         * gst/gstbus.c:
3963           describe popping messages whenusing mulltiple sources
3964         * libs/gst/controller/gst-controller.c:
3965         (gst_controlled_property_set_interpolation_mode),
3966         (gst_controlled_property_new):
3967         * libs/gst/controller/gst-controller.h:
3968         * libs/gst/controller/gst-interpolation.c:
3969           implement boolean properties
3970
3971 2005-08-31  Wim Taymans  <wim@fluendo.com>
3972
3973         * gst/gstminiobject.c: (gst_mini_object_ref):
3974         Cannot assert that the refcount has to be positive
3975         since a disposed object can be resurrected.
3976
3977 2005-08-31  Wim Taymans  <wim@fluendo.com>
3978
3979         * gst/gstpad.c: (gst_pad_init):
3980         Revert change, need to first fix badly behaving 
3981         apps.
3982
3983 2005-08-30  Wim Taymans  <wim@fluendo.com>
3984
3985         * check/elements/fakesrc.c: (setup_fakesrc):
3986         * check/elements/identity.c: (setup_identity):
3987         Activate pads before using them.
3988
3989 2005-08-30  Wim Taymans  <wim@fluendo.com>
3990
3991         * gst/base/gstadapter.c: (gst_adapter_flush):
3992         Flushing out 0 bytes is ok for this function.
3993
3994         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3995         no newsegment gives a warning and sets the start/stop to 
3996         invalid.
3997
3998         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
3999         (gst_base_transform_set_passthrough):
4000         Some debug info.
4001
4002         * gst/gstminiobject.c: (gst_mini_object_ref):
4003         Check refcount here too.
4004
4005         * gst/gstpad.c: (gst_pad_init):
4006         Pads are initially flushing and refusing data.
4007
4008         * gst/gstutils.c: (gst_element_link_pads_filtered):
4009         When adding a capsfilter element make sure it has the
4010         same state as the parent bin.
4011
4012 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4013
4014         * docs/gst/tmpl/.cvsignore:
4015         * docs/gst/tmpl/gstformat.sgml:
4016         * docs/gst/tmpl/gstversion.sgml:
4017         * gst/gstbus.h:
4018         * gst/gstformat.c:
4019         * gst/gstformat.h:
4020         * gst/gstversion.h.in:
4021           more docs and two more inlined
4022
4023 2005-08-30  Wim Taymans  <wim@fluendo.com>
4024
4025         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
4026         Don't sync to clock.
4027
4028 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4029
4030         * docs/gst/gstreamer-sections.txt:
4031           ultral33t func10ns deserve to appear in the docs actually
4032         * docs/gst/tmpl/.cvsignore:
4033         * docs/gst/tmpl/gstcompat.sgml:
4034         * docs/gst/tmpl/gstconfig.sgml:
4035         * gst/check/gstcheck.c:
4036         * gst/gstcompat.h:
4037         * gst/gstconfig.h.in:
4038           inlined more docs
4039
4040 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4041
4042         * docs/gst/tmpl/.cvsignore:
4043         * docs/gst/tmpl/gstquery.sgml:
4044         * docs/gst/tmpl/gstutils.sgml:
4045         * gst/gstquery.c:
4046         * gst/gstquery.h:
4047           inlined and extended docs
4048
4049 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4050
4051         * check/gst-libs/controller.c: (GST_START_TEST),
4052         (gst_controller_suite):
4053           more tests
4054         * docs/gst/tmpl/gstutils.sgml:
4055         * docs/libs/gstreamer-libs-sections.txt:
4056         * docs/libs/tmpl/gstdataprotocol.sgml:
4057           include path fixes
4058         * examples/controller/audio-example.c: (main):
4059           controller example works now
4060         * gst/gstclock.h:
4061           doc fixes
4062         * tools/gst-inspect.c: (print_element_properties_info):
4063           show param spec flags
4064
4065 2005-08-29  Andy Wingo  <wingo@pobox.com>
4066
4067         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
4068
4069 2005-08-28  Andy Wingo  <wingo@pobox.com>
4070
4071         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
4072         as having two arguments instead of just one. Allows superclasses
4073         to access information on subclasses -- see the terrible for() loop
4074         in gtype.c:g_type_create_instance for the reason why. All callers
4075         changed.
4076
4077 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
4078
4079         * docs/design/part-messages.txt:
4080           update info
4081         * docs/gst/tmpl/.cvsignore:
4082         * docs/gst/tmpl/gstcaps.sgml:
4083         * docs/gst/tmpl/gstclock.sgml:
4084         * gst/gstbus.c:
4085         * gst/gstcaps.c:
4086         * gst/gstcaps.h:
4087         * gst/gstclock.c:
4088         * gst/gstclock.h:
4089         * gst/gstmessage.c:
4090           added descriptions for bus and message
4091           inline caps and clock docs
4092
4093 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
4094
4095         * gst/gstmessage.c:
4096         * gst/gstmessage.h:
4097           doc fixes
4098
4099 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
4100
4101         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4102           fix div-by-zero
4103
4104 2005-08-26  Andy Wingo  <wingo@pobox.com>
4105
4106         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
4107         element_set_state's return val.
4108         (test_2_elements): Add test that's been disabled for months.
4109
4110         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
4111         can-activate-pull properties.
4112
4113         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
4114         can-activate-pull properties. Implement is_seekable so fakesrc can
4115         operate in pull mode.
4116
4117         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
4118         properties.
4119         (gst_base_sink_activate, gst_base_sink_activate_pull)
4120         (gst_base_sink_activate_push): Make activation mode choosing work.
4121         Cleanups.
4122         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
4123         is right. Make pull mode work. Post an eos before pausing in pull
4124         mode.
4125         (gst_base_sink_change_state): Pay attention to the core's
4126         change_state() return val.
4127         
4128         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
4129         has-getrange properties. Cleanups.
4130         
4131         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
4132         has_getrange and replace with can_activate_pull and
4133         can_activate_push.
4134
4135         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
4136         locking comments. Remove has_loop, has_chain and replace with
4137         can_activate_pull and can_activate_push.
4138
4139 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
4140
4141         * configure.ac:
4142         * examples/Makefile.am:
4143         * examples/metadata/Makefile.am:
4144         * examples/metadata/read-metadata.c: (message_loop),
4145         (have_pad_handler), (make_pipeline), (print_tag), (main):
4146           Add metadata reading example that loops over a list of filenames,
4147           dumping any tags found.
4148
4149         * gst/gstbus.c: (gst_bus_dispose):
4150         * gst/gstelement.c: (gst_element_dispose):
4151           Release a few potentially-held references in dispose.
4152
4153 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
4154
4155         * docs/gst/tmpl/gstminiobject.sgml:
4156           do *not* add tmpl/*.sgml files to CVS!
4157
4158 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
4159
4160         * libs/gst/bytestream/.cvsignore:
4161         * libs/gst/bytestream/Makefile.am:
4162         * libs/gst/bytestream/adapter.c:
4163         * libs/gst/bytestream/adapter.h:
4164         * libs/gst/bytestream/bytestream.c:
4165         * libs/gst/bytestream/bytestream.h:
4166         * libs/gst/bytestream/filepad.c:
4167         * libs/gst/bytestream/filepad.h:
4168           removing obsolete files
4169
4170 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
4171
4172         * docs/gst/gstreamer-docs.sgml:
4173         * docs/libs/gstreamer-libs-docs.sgml:
4174           disabed additional index entries again, as this makes docs-gen just
4175           slow and they aren't useful yet
4176         * docs/libs/gstreamer-libs-sections.txt:
4177           little -section.txt cleanup for libs
4178
4179 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4180
4181         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4182         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
4183           fix up some debugging
4184         (gst_base_transform_get_unit_size),
4185         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
4186         (gst_base_transform_handle_buffer):
4187         * gst/base/gstbasetransform.h:
4188           handle and store timed NEWSEGMENT events so that subclasses that
4189           calculate time by counting samples have a segment_start time they
4190           need to add to their timestamps - see audioresample
4191
4192 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
4193
4194         * gst/gstbin.h:
4195           removed ';' from the end of macro defs
4196         * docs/gst/gstreamer-docs.sgml:
4197         * docs/gst/gstreamer-sections.txt:
4198         * docs/gst/tmpl/.cvsignore:
4199         * gst/gstbus.h:
4200         * gst/gstelement.c: (gst_element_class_init),
4201         (gst_element_set_state), (activate_pads),
4202         (gst_element_save_thyself):
4203         * gst/gstevent.c: (gst_event_new_newsegment):
4204         * gst/gstevent.h:
4205         * gst/gstiterator.c:
4206         * gst/gstiterator.h:
4207         * gst/gstpad.c:
4208         * gst/gstprobe.h:
4209         * gst/gstutils.c: (gst_pad_query_convert):
4210         * gst/gstutils.h:
4211           fixed parameter name mismatches between source, header and docs
4212           added some more docs, resolved the last batch of unused elements in
4213           docs (now someone needs to doc them)
4214
4215 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4216
4217         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
4218         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
4219           don't walk through the plugins backwards.  Where is all this
4220           reversed logic coming from ?
4221
4222 2005-08-25  Wim Taymans  <wim@fluendo.com>
4223
4224         * gst/base/gstbasetransform.c: (gst_base_transform_init),
4225         (gst_base_transform_transform_size),
4226         (gst_base_transform_configure_caps),
4227         (gst_base_transform_get_unit_size),
4228         (gst_base_transform_buffer_alloc),
4229         (gst_base_transform_change_state):
4230         * gst/base/gstbasetransform.h:
4231         Cache caps unit_size.
4232         Make sure we cannot negotiate up and downstream at the
4233         same time.
4234
4235 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4236
4237         * gst/gst.c: (init_pre), (init_post):
4238           register the installed plugin path after the env var
4239         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
4240         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
4241           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
4242           directories, so the tests can prefer uninstalled over installed
4243
4244 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4245
4246         * gst/base/gstbasetransform.h:
4247           comment
4248         * gst/gstpad.c:
4249           add to docs
4250
4251 2005-08-25  Wim Taymans  <wim@fluendo.com>
4252
4253         * gst/gstbin.c: (bin_bus_handler):
4254         Be a bit more conservative about the posted message.
4255         
4256         * gst/gstbus.c: (gst_bus_post):
4257         Some cleanups, warn wrong return values.
4258
4259 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
4260
4261         * check/gst/gstbin.c: (GST_START_TEST):
4262         * gst/gstbin.c: (bin_bus_handler):
4263         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
4264         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
4265         (gst_message_new_warning), (gst_message_new_tag),
4266         (gst_message_new_state_changed), (gst_message_new_segment_start),
4267         (gst_message_new_segment_done), (gst_message_new_custom):
4268         * gst/gstmessage.h:
4269         * tools/gst-launch.c: (event_loop):
4270         * tools/gst-md5sum.c: (event_loop):
4271           Revert unpopular change for GST_MESSAGE_SRC to GObject.
4272
4273 2005-08-25  Wim Taymans  <wim@fluendo.com>
4274
4275         * check/generic/states.c: (GST_START_TEST):
4276         Cleanup can be done at the end.
4277
4278         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
4279         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
4280         (gst_task_get_state), (gst_task_start), (gst_task_pause):
4281         Oh boy.. Thanks for finding this, Thomas. 
4282
4283 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
4284
4285         * docs/gst/gstreamer.types:
4286           added missing types
4287
4288 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
4289
4290         * docs/gst/gstreamer-docs.sgml:
4291         * docs/gst/gstreamer-sections.txt:
4292         * docs/gst/tmpl/.cvsignore:
4293         * gst/gstbin.c:
4294         * gst/gstiterator.c:
4295         * gst/gstutils.c:
4296         * gst/registries/gstxmlregistry.h:
4297           added missing classes and symbols (123 more to go)
4298           removed removed symbols from section file
4299           fixed many doc-comments
4300
4301 2005-08-24  Wim Taymans  <wim@fluendo.com>
4302
4303         * check/generic/states.c: (GST_START_TEST):
4304         Make sure all tasks are stopped.
4305
4306         * check/gst/gstbin.c: (GST_START_TEST):
4307         Unref after usage for proper valgrinding.
4308
4309         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
4310         Really wait for the task to stop before destroying the
4311         mutex.
4312
4313         * gst/gstqueue.c: (gst_queue_sink_activate_push),
4314         (gst_queue_src_activate_push):
4315         Small cleanups. Don't stop the task when we did not start
4316         it.
4317
4318         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
4319         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
4320         (gst_task_get_state), (gst_task_start), (gst_task_pause),
4321         (gst_task_join):
4322         * gst/gsttask.h:
4323         Protect the stream lock with the object lock.
4324         Disallow setting the stream lock when running.
4325         Add cleanup_all to wait for the threadpool to finish.
4326         Remove code to autoallocate a mutex if none was provided.
4327         Add _join() to wait for a task to stop.
4328         Protect the thread pool with a global lock.
4329
4330 2005-08-24  Wim Taymans  <wim@fluendo.com>
4331
4332         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4333         (gst_base_sink_get_times), (gst_base_sink_do_sync),
4334         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
4335         * gst/base/gstbasesink.h:
4336         Handle newsegment events correctly.
4337         Drop buffers out of the segment range.
4338
4339 2005-08-22  Andy Wingo  <wingo@pobox.com>
4340
4341         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
4342         macro, implements an interface and gstimplementsinterface for a
4343         new type.
4344
4345 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4346
4347         * check/Makefile.am:
4348         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
4349           add a test that does a bunch of state changes on elements
4350           needs some fixing for valgrind
4351         * check/states/sinks.c: (gst_object_suite):
4352           whitespace
4353         * gst/gstcaps.h:
4354           add prototype for gst_caps_is_equal_fixed
4355         * gst/gstplugin.c:
4356         * gst/gstregistrypool.c:
4357           doc fixes
4358
4359 2005-08-24  Andy Wingo  <wingo@pobox.com>
4360
4361         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
4362         convert a negative value. Doesn't make much sense. Mostly this is
4363         here to force callers to ensure -1 maps to -1.
4364
4365 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4366
4367         * docs/pwg/advanced-types.xml:
4368           Well done to Michael for catching my deliberate introduction
4369           of this spelling mistake. 
4370         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
4371         * gst/gstelement.h:
4372           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
4373           unlink pads before removing the element from the bin.
4374
4375 2005-08-24  Andy Wingo  <wingo@pobox.com>
4376
4377         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
4378         the same thing as GST_DEBUG=*:4.
4379         (parse_debug_level, parse_debug_category): New helper parsers.
4380
4381 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4382
4383         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
4384         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
4385         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
4386         (gst_base_transform_buffer_alloc),
4387         (gst_base_transform_handle_buffer):
4388           use gboolean return values and pointers to size so we can use the
4389           full GST_BUFFER_SIZE range (guint) for buffer sizes
4390           use GstPadDirection for transform_caps
4391         * gst/base/gstbasetransform.h:
4392           rename get_size to get_unit_size since that's what it is
4393         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
4394           use GstPadDirection for transform_caps
4395         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
4396         * gst/gstutils.h:
4397           cleanup and debugging
4398
4399 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
4400
4401         * gst/gstelement.c: (gst_element_class_init),
4402         (gst_element_set_state), (activate_pads),
4403         (gst_element_save_thyself):
4404         * tools/gst-compprep.c: (main):
4405         * tools/gst-inspect.c: (print_element_properties_info):
4406         * tools/gst-xmlinspect.c: (print_element_properties):
4407           Fixed long standing mem-leak
4408
4409 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4410
4411         * check/gst/gstbin.c: (GST_START_TEST):
4412         * gst/gstbin.c: (bin_bus_handler):
4413         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
4414         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
4415         (gst_message_new_warning), (gst_message_new_tag),
4416         (gst_message_new_state_changed), (gst_message_new_segment_start),
4417         (gst_message_new_segment_done), (gst_message_new_custom):
4418         * gst/gstmessage.h:
4419         * tools/gst-launch.c: (event_loop):
4420         * tools/gst-md5sum.c: (event_loop):
4421           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
4422           that applications can sensibly post custom messages with references
4423           to their own objects.
4424
4425 2005-08-24  Andy Wingo  <wingo@pobox.com>
4426
4427         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
4428         already.
4429
4430 2005-08-24  Wim Taymans  <wim@fluendo.com>
4431
4432         * gst/base/gstbasetransform.c: (gst_base_transform_init),
4433         (gst_base_transform_transform_caps),
4434         (gst_base_transform_transform_size),
4435         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4436         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
4437         (gst_base_transform_handle_buffer):
4438         * gst/base/gstbasetransform.h:
4439         Many fixes and new features added by Thomas. Can now also do
4440         transforms with variable sizes and a custom fixate_caps function.
4441
4442 2005-08-24  Wim Taymans  <wim@fluendo.com>
4443
4444         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
4445         Some debugging.
4446
4447         * gst/gstclock.h:
4448         Cast to ClockTime before formatting to time.
4449
4450         * gst/gstutils.h:
4451         Cleanups.
4452
4453 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
4454
4455         * check/gst-libs/controller.c: (GST_START_TEST),
4456         (gst_controller_suite):
4457         * docs/gst/tmpl/gstcaps.sgml:
4458         * docs/gst/tmpl/gstghostpad.sgml:
4459         * docs/gst/tmpl/gstquery.sgml:
4460         * docs/gst/tmpl/gstutils.sgml:
4461         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
4462         (gst_object_sink_values), (gst_object_get_value_arrays),
4463         (gst_object_get_value_array):
4464           gracefully handle helper method calls to objects that are not beeing
4465           controlled, added test case for that          
4466
4467 2005-08-23  Wim Taymans  <wim@fluendo.com>
4468
4469         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
4470         (gst_event_new_newsegment), (gst_event_parse_newsegment),
4471         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
4472         (gst_event_parse_qos), (gst_event_new_seek),
4473         (gst_event_parse_seek):
4474         * gst/gstevent.h:
4475         Some more debugging output and doc cleanups.
4476
4477         * gst/gstqueue.c: (gst_queue_handle_sink_event):
4478         Fix possible deadlock.
4479
4480 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
4481
4482         * docs/gst/gstreamer-docs.sgml:
4483         * docs/gst/gstreamer-sections.txt:
4484         * docs/gst/gstreamer.types:
4485         * docs/gst/tmpl/.cvsignore:
4486         * gst/gstbin.h:
4487         * gst/gstbus.c:
4488         * gst/gstelement.c:
4489         * gst/gstevent.h:
4490           added 100 symbols from gstreamer-unused.txt to the right sections
4491           fixed more broken comments
4492           added GstBus to docs
4493
4494 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
4495
4496         * docs/gst/gstreamer-sections.txt:
4497         * docs/gst/tmpl/.cvsignore:
4498         * docs/gst/tmpl/gstbin.sgml:
4499         * docs/gst/tmpl/gstbuffer.sgml:
4500         * gst/base/gstbasesrc.c:
4501         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4502         * gst/gstbuffer.c:
4503         * gst/gstbuffer.h:
4504         * tools/gst-launch.1.in:
4505           inlined more doc comments, added missing comments and fixed comments
4506           fixed typos
4507
4508 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4509
4510         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
4511           some debugging
4512         * gst/gstcaps.h:
4513           whitespace fixes
4514         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
4515           more debugging
4516         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
4517         * gst/gststructure.h:
4518           add a fixate function for booleans; add a FIXME that these func
4519           names should probably be gst_structure_fixate_*
4520
4521 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
4522
4523         * docs/gst/gstreamer-docs.sgml:
4524         * docs/gst/gstreamer-sections.txt:
4525         * gst/Makefile.am:
4526         * gst/gstbin.c: (gst_bin_get_type),
4527         (gst_bin_child_proxy_get_child_by_index),
4528         (gst_bin_child_proxy_get_children_count),
4529         (gst_bin_child_proxy_init):
4530         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4531         (gst_child_proxy_get_child_by_index),
4532         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
4533         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
4534         (gst_child_proxy_get), (gst_child_proxy_set_property),
4535         (gst_child_proxy_set_valist), (gst_child_proxy_set),
4536         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
4537         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
4538         * gst/gstchildproxy.h:
4539         * gst/parse/grammar.y:
4540         * tools/gst-inspect.c: (print_interfaces),
4541         (print_element_properties_info), (print_element_info):
4542           ported gstchildproxy over from 0.8
4543           ported gst-inspect fixes and enhancements over from 0.8
4544
4545 2005-08-22  Wim Taymans  <wim@fluendo.com>
4546
4547         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
4548         (gst_base_transform_handle_buffer):
4549         Also call the transform function if we have ANY caps.
4550
4551         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
4552         Fix debug info.
4553
4554 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
4555
4556         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
4557           Don't pretend to handle seek events if the source is not seekable
4558
4559 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
4560
4561         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4562           Remove extra parameter to debug output
4563
4564         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
4565         (gst_base_src_do_seek), (gst_base_src_activate_push):
4566           Fix seek event handling.
4567
4568         * gst/gstpipeline.c: (gst_pipeline_change_state):
4569         * gst/gstqueue.c: (gst_queue_handle_sink_event),
4570         (gst_queue_src_activate_push):
4571           Don't start the src pad task on FLUSH_STOP if the pad
4572           isn't linked.
4573           Debug changes.
4574
4575 2005-08-22  Wim Taymans  <wim@fluendo.com>
4576
4577         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4578         Added check for gst_static_caps_get() refcounting.
4579
4580 2005-08-22  Wim Taymans  <wim@fluendo.com>
4581
4582         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
4583         Make _static_caps_get() refcounting sane.
4584         
4585         * gst/gstelement.c: (gst_element_set_state):
4586         Add g_return_val_if_fail() to protect against segfaults.
4587
4588 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
4589
4590         * docs/gst/tmpl/gstevent.sgml:
4591         * gst/gstevent.c:
4592         * gst/gstevent.h:
4593           inlined remaining docs, added missing doc comments
4594
4595 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4596
4597         * check/gst/gstbin.c: (GST_START_TEST):
4598           since we don't know when preroll is done, use refcount range
4599           check for the sink
4600         * gst/check/gstcheck.h:
4601           add macro for checking refcount range
4602
4603 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4604
4605         * check/Makefile.am:
4606           clean up environment for when registry gets built versus
4607           when actual tests are run; valgrind seems to not report
4608           leaks if GST_PLUGIN_PATH is set to some specific values
4609         * check/gst/gstbin.c: (GST_START_TEST):
4610           add more refcounting checks; maybe this exposes a
4611           preroll lock bug ?
4612         * common/check.mak:
4613         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4614         * gst/check/gstcheck.h:
4615         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
4616         (gst_bin_change_state):
4617         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
4618           add/fix debugging/whitespace
4619
4620 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
4621
4622         * check/gst/gstevent.c: (event_probe), (test_event),
4623         (GST_START_TEST):
4624          Er, don't call gst_bin_watch_for_state_change you idiot.
4625
4626 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
4627
4628         * check/Makefile.am:
4629           Use CHECK_CFLAGS and CHECK_LIBS
4630         * check/gst/gstevent.c: (event_probe), (test_event),
4631         (GST_START_TEST):
4632           Don't leak events.
4633         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
4634         (gst_base_src_start), (gst_base_src_stop),
4635         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4636         (gst_base_src_change_state):
4637           Sprinkle gst_base_src_stop liberally around error paths to fix
4638           problems reusing a source after failed state changes.
4639         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4640         (helper_find_suggest), (gst_type_find_helper):
4641           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
4642         * gst/gstevent.h:
4643         * docs/gst/tmpl/gstevent.sgml:
4644           Migrate part of the docs from the SGML file. Wait for ensonic to
4645           tell me how I did it wrong ;)
4646         * tools/gst-typefind.c: (main):
4647           Extra robustness to state changes between files.
4648
4649 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4650
4651         * check/Makefile.am:
4652           don't valgrind the controller test - it's leaking - Stefan, HELP
4653         * gst/check/gstcheck.c: (gst_check_message_error),
4654         (gst_check_chain_func), (gst_check_setup_element),
4655         (gst_check_teardown_element), (gst_check_setup_src_pad),
4656         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4657         (gst_check_teardown_sink_pad):
4658         * gst/check/gstcheck.h:
4659           add a bunch of methods to set up elements, and src and sink pads
4660         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
4661         * check/elements/identity.c: (setup_identity), (cleanup_identity),
4662         (GST_START_TEST):
4663           use them
4664         * gst/gstmessage.c:
4665         * gst/gsttag.h:
4666           whitespace/doc fixes
4667
4668 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4669
4670         * gst/gstelement.h:
4671           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
4672           be handled by the application and not always printed as well
4673
4674 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4675
4676         * check/Makefile.am:
4677           set GST_TOOLS_DIR
4678         * gst/check/gstcheck.c: (gst_check_message_error):
4679         * gst/check/gstcheck.h:
4680           add a fail_unless_equals_int
4681           add fail_unless for error messages
4682
4683 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4684
4685         * check/Makefile.am:
4686         * check/gst.supp:
4687         * common/Makefile.am:
4688         * common/check.mak:
4689         * common/gst.supp:
4690           factor out some of the common stuff so we can use it
4691
4692 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4693
4694         * check/Makefile.am:
4695         * check/gst/gstiterator.c: (GST_START_TEST):
4696         * check/gst/gstsystemclock.c: (GST_START_TEST),
4697         (gst_systemclock_suite):
4698         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4699         * gst/gstclock.c:
4700           valgrind more tests
4701
4702 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4703
4704         * check/elements/.cvsignore:
4705         * check/elements/gstfakesrc.c:
4706           rename to name of element
4707         * check/elements/identity.c: (chain_func), (event_func),
4708         (setup_identity), (cleanup_identity), (GST_START_TEST),
4709         (identity_suite), (main):
4710           add a test for identity
4711         * check/Makefile.am:
4712         * pkgconfig/Makefile.am:
4713         * pkgconfig/gstreamer-check.pc.in:
4714         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4715         * gst/check:
4716         * gst/Makefile.am:
4717         * configure.ac:
4718           move the check stuff to a library that gets installed
4719         * check/gst-libs/controller.c: (GST_START_TEST):
4720         * check/gst-libs/gdp.c:
4721         * check/gst/gst.c: (GST_START_TEST):
4722         * check/gst/gstbin.c:
4723         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4724         * check/gst/gstbus.c:
4725         * check/gst/gstcaps.c: (GST_START_TEST):
4726         * check/gst/gstelement.c:
4727         * check/gst/gstghostpad.c:
4728         * check/gst/gstiterator.c:
4729         * check/gst/gstmessage.c:
4730         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
4731         * check/gst/gstobject.c:
4732         * check/gst/gstpad.c: (GST_START_TEST):
4733         * check/gst/gststructure.c: (GST_START_TEST):
4734         * check/gst/gstsystemclock.c: (GST_START_TEST),
4735         (gst_systemclock_suite):
4736         * check/gst/gsttag.c: (gst_tag_suite):
4737         * check/gst/gstvalue.c:
4738         * check/pipelines/cleanup.c:
4739         * check/pipelines/simple_launch_lines.c:
4740         * check/states/sinks.c:
4741           change include statement
4742
4743         * docs/gst/gstreamer-sections.txt:
4744         * docs/gst/tmpl/gstpad.sgml:
4745           document more pad stuff
4746         * gst/gstminiobject.c: (gst_mini_object_ref),
4747         (gst_mini_object_unref):
4748           debug refcounting
4749
4750 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
4751
4752         * docs/gst/tmpl/gst.sgml:
4753         * gst/gst.c:
4754           eliminate another tmpl file, fix spelling in the long-description
4755
4756 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4757
4758         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4759         (test_event), (timediff), (gstevents_suite):
4760           Should fix build on 64-bit arch's
4761
4762 2005-08-18  Andy Wingo  <wingo@pobox.com>
4763
4764         Make sure that when a pipeline goes to PLAYING, that data has
4765         actually hit the sink.
4766
4767         * check/states/sinks.c (test_sink): A sink that doesn't get any
4768         data shouldn't return SUCCESS for going to either PLAYING or
4769         PAUSED. Test also the return values on the way back down.
4770
4771         * gst/gstelement.c (gst_element_set_state): When changing the
4772         state of an element currently changing state asynchronously, go to
4773         lost-state after commiting the pending state. Makes future calls
4774         to get_state continue to return ASYNC.
4775
4776         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
4777         ASYNC when going to PLAYING if we still don't have preroll, as can
4778         happen with live sources.
4779
4780 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4781
4782         * docs/pwg/advanced-types.xml:
4783           Hack long paragraph into 2 chunks as a workaround for buggy
4784           jadetex version in sid and breezy that loops infinitely and
4785           eats all RAM.
4786
4787 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4788
4789         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4790         (test_event), (timediff), (gstevents_suite):
4791           Provide more error margin in clock measurements to allow for 
4792           g_get_current_time inaccuracies.
4793
4794 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4795
4796         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4797         (test_event), (timediff), (gstevents_suite):
4798            Fix error message output so I might be able to tell why the
4799            test works here but fails on the build farm.
4800
4801 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4802
4803         * check/Makefile.am:
4804         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4805         (test_event), (timediff), (gstevents_suite), (main):
4806           I wrote a test!
4807
4808         * docs/design/part-seeking.txt:
4809           Spelling correction
4810
4811         * docs/gst/tmpl/gstevent.sgml:
4812         * docs/gst/tmpl/gstfakesrc.sgml:
4813           Docs updates.
4814
4815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4816           Treat a buffer-without-newsegment the same as a receiving 
4817           a newsegment not in time format, and disable syncing to the clock
4818           with a warning.
4819
4820         * gst/gstbus.c: (gst_bus_set_sync_handler):
4821           Assert if anyone tries to replace the existing sync_handler for bus, 
4822           as only the owner should be setting it.
4823
4824         * gst/gstevent.h:
4825           Have a fixed set of custom event enums with events identified by
4826           their structure name (as in 0.8), rather than a free-for-all
4827           allowing collisions between enum values from different plugins.
4828
4829         * gst/gstpad.c: (gst_pad_class_init):
4830           Docs change.
4831           
4832         * gst/gstqueue.c: (gst_queue_handle_sink_event):
4833           Handle out-of-band downstream events from the sending thread.
4834
4835 2005-08-17  Andy Wingo  <wingo@pobox.com>
4836
4837         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
4838         play-timeout==0 to mean no timeout at all. In that case, don't
4839         bother with a get_state or a warning, just return directly, even
4840         if it's ASYNC.
4841
4842         * gst/base/gstbasetransform.c: Debug changes.
4843
4844         * gst/gstutils.h:
4845         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
4846         ensure bins post state change messages. A bit of a hack but I can't
4847         think of a way to avoid it.
4848
4849         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
4850
4851 2005-08-16  Andy Wingo  <wingo@pobox.com>
4852
4853         * gst/base/gstadapter.h:
4854         * gst/base/gstadapter.c (gst_adapter_take): New function, like
4855         peek() but you own the data. Not terribly efficient atm.
4856
4857 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4858
4859         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
4860         (gst_element_found_tags):
4861         * gst/gstutils.h:
4862           Add two utility functions for tag handling.
4863
4864 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4865
4866         * docs/manual/advanced-dataaccess.xml:
4867         * docs/manual/basics-helloworld.xml:
4868           Fix docs to use _bin_add() before _link(), which fixes the examples
4869           with recent core versions (reported by Madhan Raj M
4870           <raj_madan@rediffmail.com>, #313199).
4871
4872 2005-08-16  Wim Taymans  <wim@fluendo.com>
4873
4874         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4875         Added subtract checks.
4876
4877         * docs/design/part-events.txt:
4878         Some more docs about newsegment
4879
4880         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
4881         Fix FIXME
4882
4883         * gst/gstcaps.c: (gst_caps_to_string):
4884         Add comments, cleanups.
4885         
4886         * gst/gstelement.c: (gst_element_save_thyself):
4887         cleanups
4888         
4889         * gst/gstvalue.c: (gst_value_collect_int_range),
4890         (gst_string_unwrap), (gst_value_union_int_int_range),
4891         (gst_value_union_int_range_int_range),
4892         (gst_value_intersect_int_int_range),
4893         (gst_value_intersect_int_range_int_range),
4894         (gst_value_intersect_double_double_range),
4895         (gst_value_intersect_double_range_double_range),
4896         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
4897         (gst_value_subtract_int_range_int),
4898         (gst_value_subtract_double_range_double),
4899         (gst_value_subtract_double_range_double_range),
4900         (gst_value_subtract_from_list), (gst_value_subtract_list),
4901         (gst_value_can_compare), (gst_value_compare_fraction):
4902         Cleanups, add comments, remove unneeded asserts.
4903
4904 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4905
4906         * tools/gst-launch.c: (event_loop):
4907           don't convert NULL structures to strings
4908
4909 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
4910
4911         * docs/gst/gstreamer-sections.txt:
4912           made some defines private
4913         * docs/gst/tmpl/gstconfig.sgml:
4914         * docs/gst/tmpl/gstqueue.sgml:
4915         * docs/gst/tmpl/gsttaglist.sgml:
4916         * docs/gst/tmpl/gsttypes.sgml:
4917         * docs/gst/tmpl/gstutils.sgml:
4918         * docs/pwg/appendix-porting.xml:
4919         * gst/base/gstbasesink.h:
4920         * gst/base/gstbasesrc.c:
4921         * gst/base/gstbasesrc.h:
4922         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
4923         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
4924         * gst/gstelement.c: (gst_element_class_init):
4925         * gst/gstpad.c: (gst_pad_class_init):
4926         * gst/gstqueue.c: (gst_queue_class_init):
4927         * gst/gstxml.c: (gst_xml_class_init):
4928           documented all undocumented signal inline
4929         * libs/gst/controller/gst-controller.h:
4930           added padding
4931
4932 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4933
4934         * docs/pwg/appendix-porting.xml:
4935           Document _set_link_function -> _set_setcaps_function.
4936
4937 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4938
4939         * check/Makefile.am:
4940           add a .check target for running the check
4941         * check/gst-libs/controller.c: (GST_START_TEST):
4942           cosmetic fixups
4943         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4944           complete checks for gstbuffer; would be nice if I could get the
4945           gcov stuff to work so I can see if I actually completed gstbuffer.c
4946         * check/gstcheck.h:
4947           add ASSERT_BUFFER_REFCOUNT
4948
4949 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
4950
4951         * docs/gst/gstreamer-sections.txt:
4952         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
4953         * gst/gsttag.h:
4954           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
4955           spew out a warning if a tag that is already registered
4956           is re-registered, unless it is re-registered with a 
4957           different type (#308438).
4958
4959 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
4960
4961         * docs/pwg/appendix-porting.xml:
4962         * docs/pwg/building-state.xml:
4963           Add some paragraphs about state changes in 0.9 to the PWG
4964           and the porting guide, in particular about the new meaning
4965           of GST_STATE_PAUSED and how to write state change functions
4966           with concurrent access by multiple threads in mind.
4967
4968 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
4969
4970         * docs/gst/gstreamer-docs.sgml:
4971         * docs/libs/gstreamer-libs-docs.sgml:
4972           added deprecation and since indexes
4973         * libs/gst/controller/gst-controller.c:
4974         * libs/gst/controller/gst-helper.c:
4975           added since tags
4976
4977
4978 2005-08-11  Wim Taymans  <wim@fluendo.com>
4979
4980         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
4981         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
4982         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
4983         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
4984         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
4985         (gst_ghost_pad_set_target):
4986         Actually implement (re)setting the target on a ghostpad
4987         as described in the docs.
4988
4989 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
4990
4991         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
4992           Check whether GST_DEBUG_NO_COLOR environment variable is
4993           set and disable coloured debug output if that is the case.
4994
4995 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
4996
4997         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4998         (gst_type_find_helper):
4999           The memory returned by gst_type_find_peek() needs to
5000           stay valid until the end of a typefind function, and
5001           typefind functions may keep results from different 
5002           offsets around, so we can't just unref the buffer from
5003           the previous _peek(), but have to save all buffers 
5004           returned by _peek() until typefinding is done and only
5005           free them then.
5006
5007 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
5008
5009         * docs/gst/gstreamer-sections.txt:
5010         * gst/gstutils.h:
5011           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
5012
5013 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5014
5015         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5016           Fix a pretty good memleak.
5017
5018 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
5019
5020         * gst/gstiterator.h:
5021           Fix wrong include and 'make distcheck'.
5022
5023 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5024
5025         * gst/gstbin.c: (bin_bus_handler):
5026           Use gst_element_post_message() instead.
5027
5028 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
5029
5030         * gst/base/gstadapter.h:
5031         * gst/base/gstbasesink.h:
5032         * gst/base/gstbasesrc.h:
5033         * gst/base/gstbasetransform.h:
5034         * gst/base/gstcollectpads.h:
5035         * gst/base/gstpushsrc.h:
5036         * gst/gstiterator.h:
5037           Add padding to our base elements' class and instance structs and
5038           to GstIterator (you will need to rebuild all plugins and apps!)
5039
5040 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5041
5042         * gst/gstbin.c: (bin_bus_handler):
5043           Make default message forwarding from child->bus to bin->bus
5044           threadsafe and make it not emit warnings if the parent has no bus.
5045
5046 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5047
5048         * gst/gstelement.c: (activate_pads):
5049           On paused->ready, set pad->caps to NULL, as is the documented
5050           behaviour in this state change. Fixes playback of series of
5051           media files when visualization is enabled in Totem.
5052
5053 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5054
5055         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
5056           Allow NULL as filter-caps (which means "any").
5057
5058 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
5059
5060         * docs/libs/gstreamer-libs-sections.txt:
5061         * libs/gst/controller/gst-controller.c:
5062         * libs/gst/controller/gst-controller.h:
5063         * libs/gst/controller/gst-helper.c:
5064           adding more entries to the docs and fix small doc-bugs
5065
5066 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
5067
5068         * docs/gst/gstreamer-docs.sgml:
5069         * docs/gst/gstreamer-sections.txt:
5070         * docs/gst/gstreamer.types:
5071         * docs/gst/tmpl/gstbasesink.sgml:
5072         * docs/gst/tmpl/gstbasesrc.sgml:
5073         * docs/gst/tmpl/gstbasetransform.sgml:
5074         * docs/gst/tmpl/gstfakesrc.sgml:
5075         * gst/base/gstcollectpads.c:
5076         * gst/base/gstcollectpads.h:
5077         * libs/gst/controller/gst-controller.c:
5078         * libs/gst/controller/gst-controller.h:
5079         * libs/gst/controller/gst-helper.c:
5080         * libs/gst/controller/gst-interpolation.c:
5081         * libs/gst/controller/lib.c:
5082           added long/short desc for controller docs
5083           added collectpads base class docs
5084           added correct includes to base-class docs
5085
5086 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
5087
5088         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
5089         (gst_test_mono_source_set_property),
5090         (gst_test_mono_source_class_init), (GST_START_TEST),
5091         (gst_controller_suite):
5092         * docs/gst/gstreamer-docs.sgml:
5093         * docs/gst/gstreamer-sections.txt:
5094         * docs/gst/gstreamer.types:
5095         * docs/libs/gstreamer-libs-docs.sgml:
5096         * docs/libs/gstreamer-libs-sections.txt:
5097         * gst/base/gstadapter.c:
5098         * libs/gst/controller/gst-controller.c:
5099         (gst_controlled_property_new), (gst_controlled_property_free),
5100         (gst_controller_new_valist),
5101         (gst_controller_remove_properties_valist),
5102         (gst_controller_sink_values), (_gst_controller_finalize):
5103         * libs/gst/controller/gst-controller.h:
5104         * libs/gst/controller/gst-helper.c:
5105         (gst_object_control_properties), (gst_object_uncontrol_properties),
5106         (gst_object_get_controller), (gst_object_set_controller),
5107         (gst_object_sink_values), (gst_object_get_value_arrays),
5108         (gst_object_get_value_array):
5109           more tests (and fixes) for the controller
5110           more docs for the controller
5111           integrated companies docs for the adapter 
5112
5113 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5114
5115         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
5116         (GST_START_TEST), (fakesrc_suite):
5117           add tests for sizetype
5118
5119 2005-08-04  Andy Wingo  <wingo@pobox.com>
5120
5121         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
5122         fixes buffer_alloc proxying among other things.
5123
5124         * gst/base/gstbasetransform.c:
5125         * gst/base/gstbasetransform.h:
5126         Revert patch to gstbasetransform from 7-28 removing
5127         delay_configure.
5128
5129         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
5130         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
5131         Semantics changed, should return not the size of the output buffer
5132         but the byte size of a buffer with a given caps.
5133
5134         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
5135         debug object.
5136         (gst_base_transform_configure_caps): Don't set out_size here: (in,
5137         out) are not the pad caps until setcaps finishes.
5138         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
5139         not-in-place case as well. Deal with changing from in-place to
5140         not-in-place within calling pad_alloc_buffer. Still a bit
5141         concerned about the overhead here...
5142
5143 2005-08-03  Andy Wingo  <wingo@pobox.com>
5144
5145         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
5146         fixating is an error.
5147
5148 2005-08-04  Edward Hervey  <edward@fluendo.com>
5149
5150         * gst/base/gstadapter.h: 
5151         Added gst_adapter_get_type() to the header
5152
5153 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
5154
5155         * check/Makefile.am:
5156         * check/gst-libs/controller.c:
5157         * libs/gst/controller/gst-controller.c:
5158         (gst_controller_new_valist):
5159           added check test suite for the controller
5160         * gst/base/gstpushsrc.c:
5161           fixed a doc typo
5162
5163 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
5164
5165         * docs/gst/Makefile.am:
5166         * docs/gst/gstreamer-docs.sgml:
5167         * docs/gst/gstreamer-sections.txt:
5168         * docs/gst/gstreamer.types:
5169         * docs/gst/tmpl/gstfakesrc.sgml:
5170         * gst/base/README:
5171         * gst/base/gstbasesink.c:
5172         * gst/base/gstbasesink.h:
5173         * gst/base/gstbasesrc.c:
5174         * gst/base/gstbasesrc.h:
5175         * gst/base/gstbasetransform.c:
5176         * gst/base/gstpushsrc.c:
5177         * gst/base/gstpushsrc.h:
5178           add short/long description docs to base classes
5179           add pushsrc to the docs
5180           remove consolidated doc fragments
5181
5182 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
5183
5184         * configure.ac:
5185         * docs/libs/Makefile.am:
5186         * docs/libs/gstreamer-libs-docs.sgml:
5187         * docs/libs/gstreamer-libs-sections.txt:
5188         * docs/libs/gstreamer-libs.types:
5189         * examples/Makefile.am:
5190         * examples/controller/.cvsignore:
5191         * examples/controller/Makefile.am:
5192         * examples/controller/audio-example.c: (main):
5193         * libs/gst/Makefile.am:
5194         * libs/gst/controller/.cvsignore:
5195         * libs/gst/controller/Makefile.am:
5196         * libs/gst/controller/gst-controller.c:
5197         (on_object_controlled_property_changed), (gst_timed_value_compare),
5198         (gst_timed_value_find),
5199         (gst_controlled_property_set_interpolation_mode),
5200         (gst_controlled_property_new), (gst_controlled_property_free),
5201         (gst_controller_find_controlled_property),
5202         (gst_controller_new_valist), (gst_controller_new),
5203         (gst_controller_remove_properties_valist),
5204         (gst_controller_remove_properties), (gst_controller_set),
5205         (gst_controller_set_from_list), (gst_controller_unset),
5206         (gst_controller_get), (gst_controller_get_all),
5207         (gst_controller_sink_values), (gst_controller_get_value_arrays),
5208         (gst_controller_get_value_array),
5209         (gst_controller_set_interpolation_mode),
5210         (_gst_controller_finalize), (_gst_controller_init),
5211         (_gst_controller_class_init), (gst_controller_get_type):
5212         * libs/gst/controller/gst-controller.h:
5213         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
5214         (g_object_uncontrol_properties), (g_object_get_controller),
5215         (g_object_set_controller), (g_object_sink_values),
5216         (g_object_get_value_arrays), (g_object_get_value_array):
5217         * libs/gst/controller/gst-interpolation.c:
5218         (gst_controlled_property_find_timed_value_node),
5219         (interpolate_none_get), (interpolate_trigger_get),
5220         (interpolate_trigger_get_value_array):
5221         * libs/gst/controller/lib.c: (gst_controller_init):
5222         * pkgconfig/Makefile.am:
5223         * pkgconfig/gstreamer-control-uninstalled.pc.in:
5224         * pkgconfig/gstreamer-control.pc.in:
5225         * testsuite/Makefile.am:
5226         * testsuite/controller/.cvsignore:
5227         * testsuite/controller/Makefile.am:
5228         * testsuite/controller/interpolator.c: (main):
5229           added controller code
5230           removed dparam pc files
5231
5232 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
5233         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
5234         (gst_collectpads_stop):
5235           Broadcast the condition when shutting down, to make sure we wake all
5236           threads up. Shut down pads on finalize, for safety.
5237
5238 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
5239         * gst/base/gstbasetransform.c: (gst_base_transform_init),
5240         (gst_base_transform_handle_buffer),
5241         (gst_base_transform_change_state):
5242           Handle PAUSED->READY->PAUSED transition after negotiation
5243           occurred already.
5244         * gst/gstmessage.c: (gst_message_init):
5245           Extra piece of debug for new messages.
5246
5247 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
5248
5249         * configure.ac:
5250         * docs/gst/tmpl/gstbasesrc.sgml:
5251         * docs/gst/tmpl/gstelement.sgml:
5252         * docs/gst/tmpl/gstevent.sgml:
5253         * docs/gst/tmpl/gstfakesrc.sgml:
5254         * docs/gst/tmpl/gstformat.sgml:
5255         * docs/gst/tmpl/gstghostpad.sgml:
5256         * docs/gst/tmpl/gstpad.sgml:
5257         * docs/gst/tmpl/gstquery.sgml:
5258         * docs/gst/tmpl/gststructure.sgml:
5259         * docs/gst/tmpl/gsttaglist.sgml:
5260         * docs/gst/tmpl/gstvalue.sgml:
5261         * docs/libs/gstreamer-libs-docs.sgml:
5262         * docs/libs/gstreamer-libs-sections.txt:
5263         * docs/libs/gstreamer-libs.types:
5264         * libs/gst/Makefile.am:
5265         * libs/gst/control/.cvsignore:
5266         * libs/gst/control/Makefile.am:
5267         * libs/gst/control/control.c:
5268         * libs/gst/control/control.h:
5269         * libs/gst/control/dparam.c:
5270         * libs/gst/control/dparam.h:
5271         * libs/gst/control/dparam_smooth.c:
5272         * libs/gst/control/dparam_smooth.h:
5273         * libs/gst/control/dparamcommon.h:
5274         * libs/gst/control/dparammanager.c:
5275         * libs/gst/control/dparammanager.h:
5276         * libs/gst/control/dplinearinterp.c:
5277         * libs/gst/control/dplinearinterp.h:
5278         * libs/gst/control/unitconvert.c:
5279         * libs/gst/control/unitconvert.h:
5280         * testsuite/Makefile.am:
5281         * testsuite/dynparams/.cvsignore:
5282         * testsuite/dynparams/Makefile.am:
5283         * testsuite/dynparams/dparamstest.c:
5284         * tools/Makefile.am:
5285         * tools/gst-inspect.c: (print_element_info), (main):
5286         * tools/gst-xmlinspect.c: (print_element_info), (main):
5287           deactivate and remove dparams (libgstcontrol)
5288
5289 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
5290
5291         * gst/elements/gsttypefindelement.c:
5292         (gst_type_find_element_have_type), (gst_type_find_element_init),
5293         (stop_typefinding), (gst_type_find_element_handle_event),
5294         (gst_type_find_element_chain), (gst_type_find_element_getrange):
5295         * gst/elements/gsttypefindelement.h:
5296           Set caps on all outgoing buffers, not just the first one.
5297
5298 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
5299
5300         * gst/elements/gsttypefindelement.c:
5301         (gst_type_find_element_have_type),
5302         (gst_type_find_element_check_set_buffer_caps),
5303         (gst_type_find_element_init), (stop_typefinding),
5304         (gst_type_find_element_handle_event),
5305         (gst_type_find_element_chain), (gst_type_find_element_getrange):
5306         * gst/elements/gsttypefindelement.h:
5307           Set caps on first outgoing buffer when we've found the type.
5308
5309 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
5310
5311         * docs/gst/gstreamer-docs.sgml:
5312         * docs/gst/gstreamer-sections.txt:
5313         * docs/gst/tmpl/gstscheduler.sgml:
5314         * docs/gst/tmpl/gstschedulerfactory.sgml:
5315           Remove some old cruft from docs.
5316
5317 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
5318
5319         * gst/gstpad.h:
5320           Fix inline docs for GstPadLinkReturn.
5321           
5322         * gst/gststructure.c: (gst_structure_has_name):
5323         * gst/gststructure.h:
5324         * docs/gst/gstreamer-sections.txt:
5325           New API: gst_structure_has_name().
5326
5327 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
5328
5329         * configure.ac:
5330           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
5331           and _LARGEFILE_SOURCE in config.h as required. Do not 
5332           export those flags in our .pc files any longer (#142209).
5333
5334           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
5335
5336         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
5337         (gst_file_sink_do_seek), (gst_file_sink_event),
5338         (gst_file_sink_get_current_offset), (gst_file_sink_render):
5339           Redo seek/tell calls with large file support in mind; add some
5340           debugging messages; add log message that tells us when large
5341           file support is unavailable or not enabled for some reason.
5342
5343         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
5344           Add log message that tells us when large file support 
5345           is unavailable or not enabled for some reason.
5346
5347 2005-07-29  Wim Taymans  <wim@fluendo.com>
5348
5349         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5350         Added test for removing an element with ghostpad from a bin.
5351         Fixed test as current implementation does the right thing.
5352
5353         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
5354         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
5355         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
5356         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
5357         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
5358         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
5359         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
5360         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
5361         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
5362         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
5363         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
5364         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
5365         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5366         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
5367         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
5368         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
5369         * gst/gstghostpad.h:
5370         Clean up ghostpads, remove properties for internal stuff.
5371         Make threadsafe.
5372         Fix refcounting.
5373         Prepare for switching targets, not all use cases work yet.
5374
5375 2005-07-29  Wim Taymans  <wim@fluendo.com>
5376
5377         * docs/design/part-gstghostpad.txt:
5378         Small update.
5379
5380         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
5381         (gst_bin_remove_func):
5382         Unlinking pads while holding the bin LOCK is not a good
5383         idea.
5384
5385         * gst/gstpad.c: (gst_pad_class_init),
5386         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
5387         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
5388         No prob setting template after creating the pad.
5389
5390 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
5391
5392         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
5393         (gst_bus_peek), (gst_bus_source_dispatch),
5394         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
5395         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
5396           gst_bus_poll may be called from other threads. Handle
5397           this nicely by not making poll_data disappear off the
5398           stack once gst_bus_poll returns.
5399           gst_bus_peek now increments the refcount on the returned
5400           message.
5401
5402 2005-07-29  Wim Taymans  <wim@fluendo.com>
5403
5404         * docs/design/part-gstghostpad.txt:
5405         Overview of current GhostPad datastructures and use
5406         cases for changing the target.
5407
5408 2005-07-28  Wim Taymans  <wim@fluendo.com>
5409
5410         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5411         Added checks for hierarchy consistency whan adding linked
5412         elements to bins.
5413
5414         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5415         Added check to test element scheduling without bin/pipeline.
5416
5417         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5418         First add elements to bin, then link.
5419         
5420         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
5421         (gst_bin_remove_func):
5422         Unlink pads from elements added/removed from bin to maintain
5423         hierarchy consistency.
5424
5425 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5426
5427         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5428         (gst_base_transform_handle_buffer):
5429         * gst/base/gstbasetransform.h:
5430           Remove broken delay_configure (fixes renegotiation of software
5431           scaling pipelines); remove some leftover printf()s.
5432
5433 2005-07-28  Wim Taymans  <wim@fluendo.com>
5434
5435         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5436         Added some more tests for wrong hierarchy
5437
5438         * docs/design/part-overview.txt:
5439         Some updates.
5440
5441         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
5442         Cleanups.
5443
5444         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
5445         (gst_element_dispose):
5446         Some more cleanups.
5447
5448         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5449         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
5450         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5451         (gst_pad_set_caps), (gst_pad_send_event):
5452         Check for correct hierarchy when linking pads. Moving to
5453         strict requirement for ghostpads when linking elements in
5454         different bins.
5455
5456         * gst/gstpad.h:
5457         Clean ups. Added WRONG_HIERARCHY return value.
5458
5459 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5460
5461         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
5462           Better debug if no transform is possible.
5463
5464 2005-07-27  Wim Taymans  <wim@fluendo.com>
5465
5466         * docs/random/wtay/network-transp:
5467         Some old doc I had.
5468
5469 2005-07-27  Wim Taymans  <wim@fluendo.com>
5470
5471         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5472         (gst_dp_event_from_packet):
5473         Fix serialization of seek events.
5474
5475 2005-07-27  Wim Taymans  <wim@fluendo.com>
5476
5477         * check/gst-libs/gdp.c: (GST_START_TEST):
5478         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5479         Fix compilation and fix event serialization.
5480
5481 2005-07-27  Wim Taymans  <wim@fluendo.com>
5482
5483         * CHANGES-0.9:
5484         * docs/design/part-TODO.txt:
5485         * docs/design/part-events.txt:
5486         Some docs updates
5487
5488         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5489         (gst_base_sink_event), (gst_base_sink_do_sync),
5490         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
5491         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5492         (gst_base_src_do_seek), (gst_base_src_event_handler),
5493         (gst_base_src_loop):
5494         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5495         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5496         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
5497         (gst_base_transform_event), (gst_base_transform_handle_buffer),
5498         (gst_base_transform_set_passthrough),
5499         (gst_base_transform_is_passthrough):
5500         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5501         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5502         Event updates.
5503
5504         * gst/gstbuffer.h:
5505         Use faster casts.
5506
5507         * gst/gstelement.c: (gst_element_seek):
5508         * gst/gstelement.h:
5509         Update gst_element_seek.
5510
5511         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
5512         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
5513         (gst_event_new_flush_start), (gst_event_new_flush_stop),
5514         (gst_event_new_eos), (gst_event_new_newsegment),
5515         (gst_event_parse_newsegment), (gst_event_new_tag),
5516         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
5517         (gst_event_parse_qos), (gst_event_new_seek),
5518         (gst_event_parse_seek), (gst_event_new_navigation):
5519         * gst/gstevent.h:
5520         Make GstEvent use GstStructure. Add parsing code, make sure the
5521         API is sufficiently generic.
5522         Mark possible directions of events and serialization.
5523
5524         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
5525         (_gst_message_copy), (gst_message_new_segment_start),
5526         (gst_message_new_segment_done), (gst_message_new_custom),
5527         (gst_message_parse_segment_start),
5528         (gst_message_parse_segment_done):
5529         Small cleanups.
5530
5531         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5532         (gst_pad_set_caps), (gst_pad_send_event):
5533         Update for new events. 
5534         Catch events sent in wrong directions.
5535
5536         * gst/gstqueue.c: (gst_queue_link_src),
5537         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
5538         (gst_queue_handle_src_query):
5539         Event updates.
5540
5541         * gst/gsttag.c:
5542         * gst/gsttag.h:
5543         Remove event code from this file.
5544
5545         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5546         (gst_dp_event_from_packet):
5547         Event updates.
5548
5549 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5550
5551         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
5552         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5553         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
5554           Make debugging actually useful.
5555
5556 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5557
5558         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
5559         (gst_pad_fixate_caps):
5560           Implement default fixation once again, so that gst_pad_fixate()
5561           actually does anything at all. This probably needs to be some
5562           sort of a last resort, and use profile-based fixation first, but
5563           since that doesn't exist yet, this is the best we have. Fixes
5564           visualization in Totem.
5565
5566 2005-07-22  Wim Taymans  <wim@fluendo.com>
5567
5568         * docs/design/part-events.txt:
5569         Small update.
5570
5571         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5572         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
5573         (gst_base_sink_activate_pull):
5574         Some more comments.
5575
5576         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
5577         (gst_fake_src_create):
5578         Fix handoff marshall.
5579
5580         * gst/elements/gstidentity.c: (gst_identity_class_init),
5581         (gst_identity_transform_ip):
5582         We're a real inplace element.
5583
5584         * gst/gstbus.c: (gst_bus_post):
5585         Added some comments.
5586
5587         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
5588         * tests/muxing/case1.c: (main):
5589         * tests/sched/dynamic-pipeline.c: (main):
5590         * tests/sched/interrupt1.c: (main):
5591         * tests/sched/interrupt2.c: (main):
5592         * tests/sched/interrupt3.c: (main):
5593         * tests/sched/runxml.c: (main):
5594         * tests/sched/sched-stress.c: (main):
5595         * tests/seeking/seeking1.c: (event_received), (main):
5596         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5597         (main):
5598         * tests/threadstate/threadstate3.c: (main):
5599         * tests/threadstate/threadstate4.c: (main):
5600         * tests/threadstate/threadstate5.c: (main):
5601         Fix the tests.
5602
5603 2005-07-21  Wim Taymans  <wim@fluendo.com>
5604
5605         * docs/design/part-seeking.txt:
5606         Some small additions.
5607
5608         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5609         (gst_base_sink_get_times), (gst_base_sink_do_sync),
5610         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
5611         * gst/base/gstbasesink.h:
5612         discont values are gint64, handle the math correctly.
5613
5614         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5615         Make the basesrc report error if the source pad is not linked.
5616
5617         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
5618         (gst_queue_loop), (gst_queue_handle_src_query),
5619         (gst_queue_src_activate_push):
5620         Make queue collect data even if the srcpad is not linked.
5621         Start pushing out data as soon as it is linked.
5622
5623         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
5624         * gst/gstutils.h:
5625         Added gst_flow_get_name() to ease error reporting.
5626
5627 2005-07-20  Wim Taymans  <wim@fluendo.com>
5628
5629         * gst/gstmessage.c: (gst_message_new_segment_start),
5630         (gst_message_new_segment_done), (gst_message_parse_segment_start),
5631         (gst_message_parse_segment_done):
5632         * gst/gstmessage.h:
5633         Added a bunch of messages for advanced seeking.
5634
5635         * gst/parse/grammar.y:
5636         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
5637         (gst_dpman_state_changed):
5638         Fix some new-pad -> pad-added signals
5639
5640 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5641
5642         * docs/manual/appendix-porting.xml:
5643         * docs/pwg/appendix-porting.xml:
5644           Document new-pad/state-change signal renames and the FixedList
5645           type rename.
5646
5647 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5648
5649         * docs/manual/advanced-autoplugging.xml:
5650         * docs/manual/basics-helloworld.xml:
5651         * docs/manual/basics-pads.xml:
5652         * docs/random/ds/0.9-suggested-changes:
5653         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
5654         * gst/gstelement.h:
5655         * gst/gstevent.h:
5656         * gst/gstformat.h:
5657         * gst/gstquery.h:
5658         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5659         (gst_structure_parse_array), (gst_structure_parse_value):
5660         * gst/gstvalue.c: (gst_type_is_fixed),
5661         (gst_value_list_prepend_value), (gst_value_list_append_value),
5662         (gst_value_list_get_size), (gst_value_list_get_value),
5663         (gst_value_transform_array_string), (gst_value_serialize_array),
5664         (gst_value_deserialize_array), (gst_value_intersect_array),
5665         (gst_value_is_fixed), (_gst_value_initialize):
5666         * gst/gstvalue.h:
5667           GstElement::new-pad -> pad-added, GstElement::state-change ->
5668           state-changed, GstValueFixedList -> GstValueArray, add format and
5669           flags as their own arguments in gst_element_seek() (should improve
5670           "bindeability"), remove function generators since they don't work
5671           under a whole bunch of compilers (they were deprecated already
5672           anyway).
5673
5674 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5675
5676         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5677         (_gst_debug_register_funcptr):
5678         * gst/gstinfo.h:
5679           Fix illegal cast on some platforms (#309253).
5680
5681 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5682
5683         * gst/gstmessage.c: (gst_message_new_custom):
5684         * gst/gstmessage.h:
5685           Add _new_custom, make _new_application a macro to _new_custom.
5686
5687 2005-07-20  Wim Taymans  <wim@fluendo.com>
5688
5689         * gst/base/gstbasesrc.c: (gst_base_src_init),
5690         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5691         * gst/base/gstbasesrc.h:
5692         Add a gboolean to decide when to push out a discont.
5693
5694         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5695         (gst_queue_loop), (gst_queue_handle_src_query),
5696         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
5697         (gst_queue_set_property), (gst_queue_get_property):
5698         Some cleanups.
5699
5700         * tests/threadstate/threadstate1.c: (main):
5701         Make a thread test compile and run... very silly..
5702
5703
5704 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5705
5706         * docs/manual/appendix-porting.xml:
5707           Mention removal of libgstgconf-0.9.la and existence of gconf
5708           elements.
5709
5710 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5711
5712         * docs/pwg/advanced-clock.xml:
5713         * docs/pwg/appendix-porting.xml:
5714         * docs/pwg/intro-preface.xml:
5715         * docs/pwg/other-base.xml:
5716         * docs/pwg/other-manager.xml:
5717         * docs/pwg/other-nton.xml:
5718         * docs/pwg/other-ntoone.xml:
5719         * docs/pwg/other-oneton.xml:
5720         * docs/pwg/pwg.xml:
5721           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
5722           demuxer), remove n-to-n (was never written), fix some code examples
5723           and links and update the porting section to include all this.
5724
5725 2005-07-19  Wim Taymans  <wim@fluendo.com>
5726
5727         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
5728         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
5729         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
5730         (gst_queue_src_activate_push), (gst_queue_change_state),
5731         (gst_queue_get_property):
5732         * gst/gstqueue.h:
5733         Propagate GstFlowReturn more intelligently upstream and output
5734         an ERROR/EOS when streaming stopped due to fatal error.
5735
5736 2005-07-19  Wim Taymans  <wim@fluendo.com>
5737
5738         * tools/gst-launch.c: (check_intr), (event_loop), (main):
5739         Don't block forever for the state change to complete, the
5740         pipeline already did with a sensible timeout.
5741
5742 2005-07-19  Wim Taymans  <wim@fluendo.com>
5743
5744         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5745         Make sure we never call the create function is we
5746         got deactivated.
5747
5748 2005-07-19  Andy Wingo  <wingo@pobox.com>
5749
5750         * gst/parse/parse.l: Attempt to solve bug #172815.
5751
5752 2005-07-19  Wim Taymans  <wim@fluendo.com>
5753
5754         * docs/design/part-clocks.txt:
5755         * docs/design/part-events.txt:
5756         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
5757         Small docs updates.
5758         Only update the seeking values when we are not
5759         busy streaming.
5760
5761 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
5762
5763         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5764           Oops, ignore the result of gst_pad_push_event here.
5765
5766 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
5767
5768         * gst/base/gstbasesrc.c: (gst_base_src_loop),
5769         (gst_base_src_activate_push):
5770           Send discont event from the loop function, as pads
5771           aren't activated yet in the activate_push handler.
5772
5773         * gst/gstbin.c: (bin_bus_handler):
5774           Don't leak element name.
5775
5776 2005-07-18  Andy Wingo  <wingo@pobox.com>
5777
5778         * configure.ac: Use AS_LIBTOOL_TAGS.
5779
5780 2005-07-18  Wim Taymans  <wim@fluendo.com>
5781
5782         * docs/gst/gstreamer.types:
5783         Remove deleted types.
5784
5785 2005-07-18  Wim Taymans  <wim@fluendo.com>
5786
5787         * check/elements/gstfakesrc.c: (GST_START_TEST):
5788         * configure.ac:
5789         * gst/Makefile.am:
5790         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
5791         (init_popt_callback):
5792         * gst/gst.h:
5793         * gst/gst_private.h:
5794         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
5795         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
5796         * gst/gstbin.h:
5797         * gst/gstbus.h:
5798         * gst/gstconfig.h.in:
5799         * gst/gstelement.c: (gst_element_class_init),
5800         (gst_element_set_base_time), (gst_element_get_base_time),
5801         (iterator_fold_with_resync), (gst_element_change_state),
5802         (gst_element_dispose), (gst_element_get_bus):
5803         * gst/gstelement.h:
5804         * gst/gstelementfactory.h:
5805         * gst/gsterror.c: (_gst_core_errors_init):
5806         * gst/gsterror.h:
5807         * gst/gstevent.h:
5808         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
5809         * gst/gstindex.c:
5810         * gst/gstinfo.c: (_gst_debug_init):
5811         * gst/gstmessage.c: (_gst_message_copy):
5812         * gst/gstmessage.h:
5813         * gst/gstminiobject.h:
5814         * gst/gstobject.c:
5815         * gst/gstobject.h:
5816         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5817         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
5818         * gst/gstpad.h:
5819         * gst/gstparse.h:
5820         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
5821         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
5822         (gst_pipeline_get_last_stream_time):
5823         * gst/gstpipeline.h:
5824         * gst/gstpluginfeature.h:
5825         * gst/gstquery.h:
5826         * gst/gstscheduler.c:
5827         * gst/gstscheduler.h:
5828         * gst/gststructure.h:
5829         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5830         (gst_task_finalize), (gst_task_func), (gst_task_create),
5831         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
5832         (gst_task_stop), (gst_task_pause):
5833         * gst/gsttask.h:
5834         * gst/gsttypefind.h:
5835         * gst/gsttypes.h:
5836         * gst/registries/gstlibxmlregistry.c: (load_feature),
5837         (gst_xml_registry_load), (gst_xml_registry_save_feature):
5838         * gst/registries/gstxmlregistry.c:
5839         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
5840         * gst/schedulers/threadscheduler.c:
5841         * libs/gst/control/dparammanager.h:
5842         * tools/gst-inspect.c: (print_element_list),
5843         (print_plugin_features), (print_element_features):
5844         * tools/gst-xmlinspect.c: (print_element_list),
5845         (print_plugin_info), (main):
5846         Removed plugable schedulers.
5847         Removed Scheduler/Manager from elements.
5848         Removed gsttypes.h, rearranged includes.
5849         Removed dependency pad<->element, element<>pipeline, and
5850         various others,  fix includes.
5851         implement gst_pad_get_parent() with gst_object_get_parent()
5852         Make GstTask sefcontained.
5853         Fix _get_state() on GstBin, it did not return ASYNC with a 0
5854         timeout.
5855         Fix endless loop in iterator_fold_with_resync.
5856
5857
5858 2005-07-18  Wim Taymans  <wim@fluendo.com>
5859
5860         * gst/Makefile.am:
5861         * gst/gstarch.h:
5862         Remove old file.
5863
5864 2005-07-18  Wim Taymans  <wim@fluendo.com>
5865
5866         * gst/Makefile.am:
5867         No more cothreads.h
5868
5869 2005-07-18  Wim Taymans  <wim@fluendo.com>
5870
5871         * gst/cothreads.c:
5872         * gst/cothreads.h:
5873         Let's remove these.
5874
5875 2005-07-18  Wim Taymans  <wim@fluendo.com>
5876
5877         * docs/design/part-dynamic.txt:
5878         * docs/design/part-events.txt:
5879         * docs/design/part-seeking.txt:
5880         Some more docs in the works.
5881
5882         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5883         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
5884         (gst_base_transform_setcaps), (gst_base_transform_get_size),
5885         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
5886         (gst_base_transform_handle_buffer),
5887         (gst_base_transform_sink_activate_push),
5888         (gst_base_transform_src_activate_pull),
5889         (gst_base_transform_set_passthrough),
5890         (gst_base_transform_is_passthrough):
5891         Refcounting fixes.
5892
5893         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
5894         Cleanups.
5895
5896         * gst/gstevent.c: (gst_event_finalize):
5897         Set SRC to NULL.
5898
5899         * gst/gstutils.c: (gst_element_unlink),
5900         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
5901         (gst_pad_proxy_setcaps):
5902         * gst/gstutils.h:
5903         Add _get_parent_element() to get a pads parent as an element.
5904
5905 2005-07-18  Wim Taymans  <wim@fluendo.com>
5906
5907         * check/gst/gstbin.c: (GST_START_TEST):
5908         Remove bogus test.
5909
5910 2005-07-18  Wim Taymans  <wim@fluendo.com>
5911
5912         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
5913         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
5914         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
5915         (gst_base_sink_event), (gst_base_sink_do_sync),
5916         (gst_base_sink_chain), (gst_base_sink_loop),
5917         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
5918         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5919         Refcounting fixes.
5920         Fix logic for returning ASYNC when not prerolled.
5921
5922 2005-07-18  Wim Taymans  <wim@fluendo.com>
5923
5924         * gst/gstqueue.c: (gst_queue_handle_sink_event):
5925         Fix nasty refcount bug.
5926
5927 2005-07-16 Philippe Khalaf <burger@speedy.org>
5928
5929         * gst/elements/gstfdsrc.c:
5930         * gst/elements/gstfdsrc.h:
5931         * gst/elements/gstelements.c:
5932         * gst/elements/Makefile.am:
5933         Ported fdsrc to 0.9.
5934
5935 2005-07-16  Wim Taymans  <wim@fluendo.com>
5936
5937         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5938         (gst_base_sink_do_sync):
5939         Fix compile error.
5940
5941 2005-07-16  Wim Taymans  <wim@fluendo.com>
5942
5943         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5944         (gst_base_sink_event), (gst_base_sink_get_times),
5945         (gst_base_sink_do_sync), (gst_base_sink_change_state):
5946         * gst/base/gstbasesink.h:
5947         Store and use discont values when syncing buffers as described
5948         in design docs.
5949         
5950         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5951         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
5952         (gst_base_src_activate_push):
5953         Push discont event when starting.
5954
5955         * gst/elements/gstidentity.c: (gst_identity_transform):
5956         Small cleanups.
5957
5958         * gst/gstbin.c: (gst_bin_change_state):
5959         Small cleanups in base_time  distribution.
5960
5961         * gst/gstelement.c: (gst_element_set_base_time),
5962         (gst_element_get_base_time), (gst_element_change_state):
5963         * gst/gstelement.h:
5964         Added methods for the base_time of the element.
5965         Some MT fixes.
5966
5967         * gst/gstpipeline.c: (gst_pipeline_send_event),
5968         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
5969         (gst_pipeline_get_last_stream_time):
5970         * gst/gstpipeline.h:
5971         MT fixes.
5972         Handle seeking as described in design doc, remove stream_time
5973         hack.
5974         Cleanups clock and stream_time selection code. Added accessors
5975         for the stream_time.
5976         
5977
5978 2005-07-16  Andy Wingo  <wingo@pobox.com>
5979
5980         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
5981         (#305291).
5982
5983 2005-07-16  Wim Taymans  <wim@fluendo.com>
5984
5985         * check/gst/gstbin.c: (GST_START_TEST):
5986         Make elements silent as the deep_notify refs the
5987         parent, which might make the test fail.
5988
5989         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
5990         Don't hold the lock for too long.
5991
5992 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
5993
5994         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5995           Don't unref the caps we passed to gst_caps_make_writable() after
5996           passing them. gst_caps_make_writable() will do that for us.
5997
5998 2005-07-15  Andy Wingo  <wingo@pobox.com>
5999
6000         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
6001         (#157311).
6002
6003         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
6004         own marshalling function for the handoff signal. Properly type the
6005         buffer as a buffer. Fixes some warnings. Should do a more general
6006         solution.
6007         (gst_identity_class_init): Plug into the right marshaller.
6008
6009 2005-07-15  Wim Taymans  <wim@fluendo.com>
6010
6011         * docs/design/part-TODO.txt:
6012         * docs/design/part-clocks.txt:
6013         * docs/design/part-element-sink.txt:
6014         * docs/design/part-events.txt:
6015         * docs/design/part-gstpipeline.txt:
6016         Updated docs, mostly DISCONT related.
6017
6018 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
6019
6020         * docs/pwg/building-pads.xml:
6021           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
6022
6023 2005-07-15  Andy Wingo  <wingo@pobox.com>
6024
6025         * tools/gst-typefind.c: Update, add copyright block.
6026
6027         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
6028         Normalize and truncate caps before fixation.
6029
6030         * gst/gstcaps.h:
6031         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
6032         discards all but the first structure from its argument.
6033
6034 2005-07-15  Wim Taymans  <wim@fluendo.com>
6035
6036         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6037         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
6038         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6039         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6040         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
6041         (gst_base_transform_chain), (gst_base_transform_change_state),
6042         (gst_base_transform_set_passthrough),
6043         (gst_base_transform_is_passthrough):
6044         * gst/base/gstbasetransform.h:
6045         Make passthrough work using the bufferpools.
6046         Changed API a bit, subclasses have to write into a buffer
6047         provided by the base class.
6048         More debug info in nego functions.
6049         
6050         * gst/elements/gstidentity.c: (gst_identity_init),
6051         (gst_identity_transform):
6052         Port to new base class.
6053
6054 2005-07-15  Wim Taymans  <wim@fluendo.com>
6055
6056         * gst/gstmessage.c: (gst_message_new_state_changed):
6057         * tools/gst-launch.c: (event_loop), (main):
6058         Totally dump messages in -launch with the -m option.
6059         Fix message name for State messages,
6060
6061 2005-07-14  Wim Taymans  <wim@fluendo.com>
6062
6063         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6064         Post error messages on errors.
6065
6066 2005-07-14  Wim Taymans  <wim@fluendo.com>
6067
6068         * gst/gstcaps.c: (gst_caps_do_simplify):
6069         Remove debug info.
6070
6071         * gst/gsterror.h:
6072         Define error for stream stopped.
6073
6074         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6075         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
6076         Do proper return values.
6077
6078         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6079         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
6080         (gst_pad_get_range):
6081         Better return values.
6082
6083         * gst/gstpad.h:
6084         Reorganise return values, add macro to check for fatal errors.
6085
6086         * gst/gstqueue.c: (gst_queue_chain):
6087         Return proper GstFlowReturn values,
6088
6089 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6090
6091         * docs/gst/gstreamer-sections.txt:
6092         * docs/gst/gstreamer.types:
6093         * docs/gst/tmpl/gst.sgml:
6094         * docs/gst/tmpl/gstbasesink.sgml:
6095         * docs/gst/tmpl/gstbasesrc.sgml:
6096         * docs/gst/tmpl/gstbasetransform.sgml:
6097         * docs/gst/tmpl/gstbin.sgml:
6098         * docs/gst/tmpl/gstbuffer.sgml:
6099         * docs/gst/tmpl/gstcaps.sgml:
6100         * docs/gst/tmpl/gstclock.sgml:
6101         * docs/gst/tmpl/gstcompat.sgml:
6102         * docs/gst/tmpl/gstconfig.sgml:
6103         * docs/gst/tmpl/gstelement.sgml:
6104         * docs/gst/tmpl/gstelementdetails.sgml:
6105         * docs/gst/tmpl/gstelementfactory.sgml:
6106         * docs/gst/tmpl/gstenumtypes.sgml:
6107         * docs/gst/tmpl/gsterror.sgml:
6108         * docs/gst/tmpl/gstevent.sgml:
6109         * docs/gst/tmpl/gstfakesink.sgml:
6110         * docs/gst/tmpl/gstfakesrc.sgml:
6111         * docs/gst/tmpl/gstfilesink.sgml:
6112         * docs/gst/tmpl/gstfilesrc.sgml:
6113         * docs/gst/tmpl/gstfilter.sgml:
6114         * docs/gst/tmpl/gstformat.sgml:
6115         * docs/gst/tmpl/gstghostpad.sgml:
6116         * docs/gst/tmpl/gstimplementsinterface.sgml:
6117         * docs/gst/tmpl/gstindex.sgml:
6118         * docs/gst/tmpl/gstindexfactory.sgml:
6119         * docs/gst/tmpl/gstinfo.sgml:
6120         * docs/gst/tmpl/gstiterator.sgml:
6121         * docs/gst/tmpl/gstmacros.sgml:
6122         * docs/gst/tmpl/gstmemchunk.sgml:
6123         * docs/gst/tmpl/gstminiobject.sgml:
6124         * docs/gst/tmpl/gstobject.sgml:
6125         * docs/gst/tmpl/gstpad.sgml:
6126         * docs/gst/tmpl/gstpadtemplate.sgml:
6127         * docs/gst/tmpl/gstparse.sgml:
6128         * docs/gst/tmpl/gstpipeline.sgml:
6129         * docs/gst/tmpl/gstplugin.sgml:
6130         * docs/gst/tmpl/gstpluginfeature.sgml:
6131         * docs/gst/tmpl/gstquery.sgml:
6132         * docs/gst/tmpl/gstqueue.sgml:
6133         * docs/gst/tmpl/gstregistry.sgml:
6134         * docs/gst/tmpl/gstregistrypool.sgml:
6135         * docs/gst/tmpl/gstscheduler.sgml:
6136         * docs/gst/tmpl/gstschedulerfactory.sgml:
6137         * docs/gst/tmpl/gststructure.sgml:
6138         * docs/gst/tmpl/gstsystemclock.sgml:
6139         * docs/gst/tmpl/gsttaglist.sgml:
6140         * docs/gst/tmpl/gsttagsetter.sgml:
6141         * docs/gst/tmpl/gsttrace.sgml:
6142         * docs/gst/tmpl/gsttrashstack.sgml:
6143         * docs/gst/tmpl/gsttypefind.sgml:
6144         * docs/gst/tmpl/gsttypefindfactory.sgml:
6145         * docs/gst/tmpl/gsttypes.sgml:
6146         * docs/gst/tmpl/gsturihandler.sgml:
6147         * docs/gst/tmpl/gsturitype.sgml:
6148         * docs/gst/tmpl/gstutils.sgml:
6149         * docs/gst/tmpl/gstvalue.sgml:
6150         * docs/gst/tmpl/gstversion.sgml:
6151         * docs/gst/tmpl/gstxml.sgml:
6152         * docs/libs/tmpl/gstcontrol.sgml:
6153         * docs/libs/tmpl/gstdataprotocol.sgml:
6154         * docs/libs/tmpl/gstdparam.sgml:
6155         * docs/libs/tmpl/gstdplinint.sgml:
6156         * docs/libs/tmpl/gstdpman.sgml:
6157         * docs/libs/tmpl/gstdpsmooth.sgml:
6158         * docs/libs/tmpl/gstgetbits.sgml:
6159         * docs/libs/tmpl/gstunitconvert.sgml:
6160         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
6161         (gst_push_src_base_init), (gst_push_src_class_init),
6162         (gst_push_src_init), (gst_push_src_create):
6163         * gst/base/gstpushsrc.h:
6164         * gst/elements/gstelements.c:
6165         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
6166         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
6167         (gst_fake_sink_init), (gst_fake_sink_set_property),
6168         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
6169         (gst_fake_sink_event), (gst_fake_sink_preroll),
6170         (gst_fake_sink_render), (gst_fake_sink_change_state):
6171         * gst/elements/gstfakesink.h:
6172         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6173         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6174         (gst_fake_src_base_init), (gst_fake_src_class_init),
6175         (gst_fake_src_init), (gst_fake_src_event_handler),
6176         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
6177         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
6178         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
6179         (gst_fake_src_create_buffer), (gst_fake_src_create),
6180         (gst_fake_src_start), (gst_fake_src_stop):
6181         * gst/elements/gstfakesrc.h:
6182         * gst/elements/gstfilesink.c: (_do_init),
6183         (gst_file_sink_base_init), (gst_file_sink_class_init),
6184         (gst_file_sink_init), (gst_file_sink_dispose),
6185         (gst_file_sink_set_location), (gst_file_sink_set_property),
6186         (gst_file_sink_get_property), (gst_file_sink_open_file),
6187         (gst_file_sink_close_file), (gst_file_sink_query),
6188         (gst_file_sink_event), (gst_file_sink_render),
6189         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
6190         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
6191         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
6192         * gst/elements/gstfilesink.h:
6193         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
6194         (gst_file_src_class_init), (gst_file_src_init),
6195         (gst_file_src_finalize), (gst_file_src_set_location),
6196         (gst_file_src_set_property), (gst_file_src_get_property),
6197         (gst_file_src_map_region), (gst_file_src_map_small_region),
6198         (gst_file_src_create_mmap), (gst_file_src_create_read),
6199         (gst_file_src_create), (gst_file_src_is_seekable),
6200         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
6201         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
6202         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
6203         (gst_file_src_uri_handler_init):
6204         * gst/elements/gstfilesrc.h:
6205           more autistic cleanliness in functions/names/defines
6206
6207 2005-07-13  Andy Wingo  <wingo@pobox.com>
6208
6209         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
6210         source couldn't negotiate.
6211
6212         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
6213         connections again.
6214
6215         * gst/gstutils.h:
6216         * gst/gstutils.c (gst_element_link_pads_filtered): New old
6217         function. I am channeling Hades. Put your boots on suckers!!!
6218
6219 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6220
6221         * testsuite/caps/Makefile.am:
6222         * testsuite/caps/value_compare.c:
6223         * testsuite/caps/value_intersect.c:
6224         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6225           move two testsuite apps over to the check dir
6226
6227 2005-07-12  Wim Taymans  <wim@fluendo.com>
6228
6229         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
6230         Added more debug info in the negotiate process.
6231
6232         * gst/gstmessage.h:
6233         Prepare for segment playback.
6234
6235         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
6236         Better debugging.
6237
6238         * gst/gstutils.c:
6239         Some more docs.
6240
6241         * tools/gst-launch.c: (main):
6242         NULL pipeline on errors.
6243
6244 2005-07-12  Andy Wingo  <wingo@pobox.com>
6245
6246         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
6247         not it comes from a malloc region. Make sure our copy gets freed.
6248
6249 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6250
6251         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6252         * check/gst/gstmessage.c: (GST_START_TEST):
6253         * check/gst/gststructure.c: (GST_START_TEST),
6254         (gst_structure_suite), (main):
6255           more testing
6256         * gst/gstelement.c: (gst_element_message_full):
6257           clean up GError and debug string now that they get copied
6258         * gst/gstmessage.c: (gst_message_new_error),
6259         (gst_message_new_warning), (gst_message_parse_error),
6260         (gst_message_parse_warning):
6261           use GST_TYPE_G_ERROR for structure_new, and take copies of
6262           arguments, so that we don't mess up refcounting
6263
6264 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6265
6266         * check/Makefile.am:
6267           add per-test valgrind targets
6268         * check/gst-libs/gdp.c: (GST_START_TEST),
6269         (gst_data_protocol_suite), (main):
6270           clean up
6271
6272 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6273
6274         * check/Makefile.am:
6275           instate more valgrindable tests
6276         * check/elements/gstfakesrc.c: (chain_func), (event_func),
6277         (GST_START_TEST), (fakesrc_suite):
6278         * check/gst/gstpad.c: (GST_START_TEST):
6279         * check/gst/gststructure.c: (GST_START_TEST):
6280           fix test leaks
6281         * docs/gst/tmpl/gstminiobject.sgml:
6282         * gst/gstpad.c: (gst_pad_finalize):
6283           fix the static mutex leak
6284
6285 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6286
6287         * check/Makefile.am:
6288           add two more tests for valgrinding
6289         * check/gst/gstvalue.c: (GST_START_TEST):
6290           test refcount of deserialized buffer, found a leak
6291         * docs/gst/gstreamer-docs.sgml:
6292         * docs/gst/gstreamer-sections.txt:
6293         * docs/gst/gstreamer.types:
6294         * docs/gst/tmpl/gstminiobject.sgml:
6295           add miniobject to docs
6296         * gst/gstminiobject.c:
6297           add some docs
6298         * gst/gstvalue.c: (gst_value_deserialize_buffer),
6299         (gst_string_unwrap):
6300           fix a hard-to-find invalid write for one of the tests
6301           fix a leak for deserialized buffers
6302
6303 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6304
6305         * docs/pwg/advanced-events.xml:
6306         * docs/pwg/advanced-request.xml:
6307         * docs/pwg/advanced-scheduling.xml:
6308         * docs/pwg/appendix-porting.xml:
6309         * docs/pwg/building-boiler.xml:
6310         * docs/pwg/intro-preface.xml:
6311         * docs/pwg/other-ntoone.xml:
6312           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
6313           of example code and explanation for pad activation, loop() and
6314           getrange() functions and a bit more. Remove old comments pointing
6315           to loop-functions.
6316         * examples/pwg/Makefile.am:
6317           Add loop/getrange examples.
6318
6319 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6320
6321         * configure.ac:
6322           check for valgrind binary + some fixes
6323         * check/gst.supp:
6324           valgrind suppressions for the tests
6325         * check/Makefile.am:
6326           add a valgrind: target that valgrinds the unit tests
6327         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
6328         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6329         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6330         * check/gst/gstghostpad.c:
6331           added some cleanup
6332         * check/gst/gstdata.c:
6333           removed
6334         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
6335         (thread_unref), (gst_mini_object_suite), (main):
6336           added
6337         * gst/gst.c: (gst_deinit):
6338         * gst/gst.h:
6339           add a method to clean up.
6340         * gst/gstsystemclock.c: (gst_system_clock_dispose),
6341         (gst_system_clock_obtain):
6342           allow for disposing the system clock.
6343         * tools/gst-launch.c: (main):
6344           deinit
6345
6346 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6347
6348         * docs/gst/tmpl/gstbasesrc.sgml:
6349         * docs/gst/tmpl/gstfakesrc.sgml:
6350         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6351         (gst_base_src_init), (gst_base_src_set_property),
6352         (gst_base_src_get_property), (gst_base_src_get_range),
6353         (gst_base_src_start):
6354         * gst/base/gstbasesrc.h:
6355           add num-buffers property
6356         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6357         (gst_fakesrc_init), (gst_fakesrc_set_property),
6358         (gst_fakesrc_get_property), (gst_fakesrc_create),
6359         (gst_fakesrc_start):
6360           remove num-buffers property
6361
6362 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6363
6364         * docs/gst/gstreamer-sections.txt:
6365         * docs/gst/tmpl/gstbasesink.sgml:
6366         * docs/gst/tmpl/gstbasesrc.sgml:
6367         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
6368         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
6369         (gst_base_sink_finalize), (gst_base_sink_set_clock),
6370         (gst_base_sink_set_property), (gst_base_sink_get_property),
6371         (gst_base_sink_handle_object), (gst_base_sink_event),
6372         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
6373         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
6374         (gst_base_sink_loop), (gst_base_sink_deactivate),
6375         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
6376         (gst_base_sink_change_state):
6377         * gst/base/gstbasesink.h:
6378         * gst/base/gstbasesrc.h:
6379         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
6380         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
6381         (gst_filesink_init):
6382           more macro splitting
6383
6384 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6385
6386         * gst/gstelement.c: (gst_element_get_bus):
6387           add debug
6388         * tools/gst-launch.c: (check_intr), (event_loop):
6389           fix bus leaks
6390
6391 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6392
6393         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
6394           fix a caps leak
6395
6396 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6397
6398         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6399         (gst_base_src_finalize):
6400           add finalize method and clean up properly
6401         * gst/gstpipeline.c: (gst_pipeline_dispose):
6402           add debug
6403
6404 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6405
6406         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
6407         (gst_bin_suite):
6408           add more things to check
6409         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6410         * gst/gstelement.c:
6411           more debug
6412
6413 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6414
6415         * check/elements/gstfakesrc.c: (chain_func), (event_func),
6416         (GST_START_TEST), (fakesrc_suite):
6417         * check/gst-libs/gdp.c: (GST_START_TEST):
6418         * check/gst/gst.c: (GST_START_TEST):
6419         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6420         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6421         * check/gst/gstbus.c: (GST_START_TEST):
6422         * check/gst/gstcaps.c: (GST_START_TEST):
6423         * check/gst/gstdata.c: (GST_START_TEST):
6424         * check/gst/gstelement.c: (GST_START_TEST):
6425         * check/gst/gstghostpad.c: (GST_START_TEST):
6426         * check/gst/gstiterator.c: (GST_START_TEST):
6427         * check/gst/gstmessage.c: (GST_START_TEST):
6428         * check/gst/gstobject.c: (GST_START_TEST):
6429         * check/gst/gstpad.c: (GST_START_TEST):
6430         * check/gst/gststructure.c: (GST_START_TEST):
6431         * check/gst/gstsystemclock.c: (GST_START_TEST),
6432         (gst_systemclock_suite):
6433         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6434         * check/gst/gstvalue.c: (GST_START_TEST):
6435         * check/pipelines/cleanup.c: (GST_START_TEST):
6436         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6437         * check/states/sinks.c: (GST_START_TEST):
6438         * check/gstcheck.c: (gst_check_init):
6439         * check/gstcheck.h:
6440           add debugging category
6441           use GST_START_TEST now, so we add a debug line
6442
6443 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6444
6445         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
6446           add test for state change message on a bin
6447         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
6448           add another test
6449         * gst/gstbin.c: (gst_bin_init):
6450         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
6451         * gst/gstelement.c: (gst_element_post_message),
6452         (gst_element_set_state):
6453         * gst/gstelementfactory.c: (gst_element_factory_create):
6454         * gst/gstmessage.c: (gst_message_new):
6455         * gst/gstscheduler.c:
6456           various debugging additions and cleanups
6457
6458 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6459
6460         * check/Makefile.am:
6461         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
6462         (main):
6463           adding tests for elements
6464         * gst/gstelement.c: (gst_element_dispose):
6465
6466 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6467
6468         * gst/registries/gstlibxmlregistry.c: (load_feature):
6469           plug more leaks.  A simple gst_init() now is leakfree, yay.
6470
6471 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6472
6473         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
6474         (gst_xml_registry_load):
6475           plug another memleak
6476
6477 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6478
6479         * configure.ac:
6480           use GST_SET_ERROR_CFLAGS
6481         * docs/faq/cvs.xml:
6482           change to ERROR_CFLAGS
6483
6484 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6485
6486         * configure.ac:
6487           make GST_ERROR_CFLAGS overridable and re-enable Werror
6488         * docs/faq/cvs.xml:
6489           add a note about error CFLAGS
6490         * docs/gst/tmpl/gstfakesrc.sgml:
6491         * gst/elements/gstfakesrc.c:
6492           comment out some unused code
6493         * gst/gst.c: (split_and_iterate):
6494         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
6495         (load_feature):
6496           plug some memleaks
6497
6498 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6499
6500         * common/Makefile.am:
6501         * common/gtk-doc.mak:
6502         * docs/gst/Makefile.am:
6503           factor out gtk-doc.mak
6504
6505 2005-07-07  Wim Taymans  <wim@fluendo.com>
6506
6507         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
6508         (gst_thread_scheduler_dispose):
6509         Unlock the STREAM_LOCK completely.
6510
6511 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6512
6513         * check/Makefile.am:
6514         * check/elements/.cvsignore:
6515         * check/elements/gstfakesrc.c: (chain_func), (event_func),
6516         (START_TEST), (fakesrc_suite), (main):
6517         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6518         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6519         (gst_fakesrc_create), (gst_fakesrc_start):
6520         * gst/elements/gstfakesrc.h:
6521           adding a first element test
6522
6523 2005-07-07  Andy Wingo  <wingo@pobox.com>
6524
6525         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
6526         debug message.
6527
6528 2005-07-07  Wim Taymans  <wim@fluendo.com>
6529
6530         * gst/gstquery.c:
6531         * gst/gstquery.h:
6532         Remove old types
6533
6534 2005-07-07  Wim Taymans  <wim@fluendo.com>
6535
6536         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6537         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
6538         Allow subclasses to implement their own negotiation.
6539
6540 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
6541
6542         * docs/design/part-gstbin.txt:
6543         * docs/design/part-gstpipeline.txt:
6544           Update design notes to reflect the movement of
6545           responsibility for bus handling from GstPipeline to
6546           GstBin
6547
6548 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
6549
6550         * configure.ac:
6551           Remove unnecessary queue2/3/4 examples.
6552
6553 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
6554
6555         * examples/Makefile.am:
6556         * examples/helloworld/helloworld.c: (event_loop), (main):
6557         * examples/queue/queue.c: (event_loop), (main):
6558         * examples/queue2/queue2.c: (main):
6559           Update a couple of the examples to work again.
6560
6561         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6562         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
6563          Spelling corrections and extra debug.
6564         
6565         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
6566         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
6567         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
6568         * gst/gstbin.h:
6569         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
6570         (gst_pipeline_change_state):
6571         * gst/gstpipeline.h:
6572           Move the bus handler for children to the GstBin, and create a
6573           separate bus for receiving messages from children to the one the
6574           bus sends 'upwards' on.
6575
6576 2005-07-06  Wim Taymans  <wim@fluendo.com>
6577
6578         * gst/base/README:
6579         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6580         (gst_base_sink_handle_object), (gst_base_sink_loop),
6581         (gst_base_sink_change_state):
6582         * gst/base/gstbasesink.h:
6583         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6584         (gst_base_src_init), (gst_base_src_setcaps),
6585         (gst_base_src_getcaps), (gst_base_src_loop),
6586         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
6587         (gst_base_src_start), (gst_base_src_change_state):
6588         * gst/base/gstbasesrc.h:
6589         Make basesrc negotiate.
6590         Handle the case where preroll fails in basesink.
6591         Update README.
6592
6593 2005-07-06  Wim Taymans  <wim@fluendo.com>
6594
6595         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
6596         Implement the fixate function.
6597         Clean up acceptcaps.
6598
6599 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6600
6601         * docs/pwg/building-filterfactory.xml:
6602         * docs/pwg/pwg.xml:
6603           Remove never-written filter-factory chapter; I'll add the various
6604           base classes to part 4 ("other element types") later on.
6605
6606 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6607
6608         * docs/pwg/advanced-negotiation.xml:
6609         * docs/pwg/building-boiler.xml:
6610         * docs/pwg/building-pads.xml:
6611         * docs/pwg/pwg.xml:
6612         * examples/pwg/Makefile.am:
6613           Add a chapter on caps negotiation, simplify the original code
6614           samples a bit w.r.t. caps negotiation, add link to the advanced
6615           section. Add a bunch of examples showing different use cases of
6616           different types of caps negotiation. Upstream renegotiation isn't
6617           fully documented yet since nobody knows how that works.
6618
6619 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6620
6621         * check/gst/gstpad.c:
6622         * check/gstcheck.c:
6623         * gst/gstpad.c: (gst_pad_get_internal_links_default):
6624           if pad has no parent, return NULL as list of internal links
6625
6626 2005-07-05  Andy Wingo  <wingo@pobox.com>
6627
6628         * gst/elements/gstfilesrc.c:
6629         * gst/elements/gstfakesrc.c: 
6630         * gst/base/gstpushsrc.c:
6631         * gst/base/gstbasesrc.h: 
6632         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
6633         
6634 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
6635
6636         * Makefile.am:
6637           better report generation target (lcov needs a patch)
6638
6639 2005-07-05  Andy Wingo  <wingo@pobox.com>
6640
6641         * gst/elements, testsuite: Null if we got it...
6642
6643 2005-07-05  Wim Taymans  <wim@fluendo.com>
6644
6645         * configure.ac:
6646         * libs/gst/dataprotocol/Makefile.am:
6647         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
6648         * libs/gst/dataprotocol/dataprotocol.h:
6649         * pkgconfig/Makefile.am:
6650         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
6651         * pkgconfig/gstreamer-dataprotocol.pc.in:
6652         Ported dataprotol to 0.9. 
6653         Added pkgconfig files.
6654
6655 2005-07-05  Andy Wingo  <wingo@pobox.com>
6656
6657         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
6658         Default to returning TRUE for the case when tranform_caps returns
6659         a fixed caps, like for identity or volume.
6660
6661         * check/gst/gstbus.c (pound_bus_with_messages): 
6662         * check/gst/gstmessage.c (START_TEST): 
6663         * check/pipelines/simple_launch_lines.c (got_handoff): Application
6664         message API change.
6665
6666         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
6667         logic weaks here: always run transform_caps, trying passthrough
6668         operation only if the original caps intersects with the transform.
6669
6670         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
6671         source and sink caps.
6672
6673         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
6674         Intersect the peer caps with the pad template before going into
6675         transform_caps.
6676         (gst_base_transform_transform_caps): More debugging.
6677
6678         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
6679         src argument.
6680
6681 2005-07-04  Edward Hervey  <edward@fluendo.com>
6682
6683         * gst/gstutils.c:
6684         * gst/gstutils.h:
6685         (gst_pad_add_*_probe): now returns the signal id for better wrapping
6686         in bindings.
6687
6688 2005-07-04  Andy Wingo  <wingo@pobox.com>
6689
6690         * check/gst/gstpad.c: Only set explicit caps on pads.
6691
6692 2005-07-01  Andy Wingo  <wingo@pobox.com>
6693
6694         * tests/network-clock.scm: Commentary update.
6695
6696         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
6697         Didn't really make sense, not implementable with basetransform,
6698         etc.
6699         (gst_identity_transform): Unref inbuf via make_writable. Feeble
6700         attempt at implementing the sync property, needs an unlock method.
6701
6702         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
6703         New func, by default returns the same caps (the identity
6704         transformation).
6705         (gst_base_transform_getcaps): Uses transform_caps to return
6706         something sensible.
6707         (gst_base_transform_setcaps): Complicated logic to get caps on
6708         both pads, even if they are different, and to call set_caps once
6709         for every time both pads get their caps set.
6710         (gst_base_transform_handle_buffer): Give the ref to the transform
6711         function. Allows in-place modification of the buffer.
6712
6713         * gst/base/gstbasetransform.h (transform_caps): New class method.
6714         Given caps on one side, what can I do on the other.
6715         (set_caps): Take two caps, one for each side of the element.
6716
6717         * gst/gstpad.h:
6718         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
6719         caps in place. This is safe because we can check the mutability of
6720         the caps, and a good idea because fixate functions are just called
6721         as a matter of last resort. (Not actually implemented.)
6722         (gst_pad_set_caps): If the caps we're setting is actually the same
6723         as the existing pad caps, just update the pointer without calling
6724         setcaps. Assert that caps is either NULL or fixed, as per the
6725         docs.
6726
6727         * gst/gstghostpad.c: Update for fixate changes.
6728
6729 2005-07-02  Andy Wingo  <wingo@pobox.com>
6730
6731         * gst/gstcaps.c:
6732         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
6733         two refcounts makes it immutable, which is enough. Doc more.
6734
6735 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
6736
6737         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
6738           Put the mini_object into GValue as a mini_object,
6739           not a gpointer, since that's how we declared
6740           the signal.
6741
6742 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6743
6744         * examples/pwg/Makefile.am:
6745           Fix buildbot again.
6746
6747 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6748
6749         * docs/pwg/building-testapp.xml:
6750           Add extra check.
6751         * examples/pwg/Makefile.am:
6752           Fix buildbot.
6753
6754 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6755
6756         * configure.ac:
6757         * examples/Makefile.am:
6758         * examples/pwg/Makefile.am:
6759         * examples/pwg/extract.pl:
6760           Enable building the PWG examples.
6761         * docs/pwg/advanced-interfaces.xml:
6762           Add URI interface stub.
6763         * docs/pwg/advanced-types.xml:
6764         * docs/pwg/other-autoplugger.xml:
6765         * docs/pwg/appendix-porting.xml:
6766         * docs/pwg/pwg.xml:
6767           Add porting guide (mostly stubs), remove autoplugging (see ADM).
6768         * docs/pwg/building-boiler.xml:
6769         * docs/pwg/building-chainfn.xml:
6770         * docs/pwg/building-pads.xml:
6771         * docs/pwg/building-props.xml:
6772         * docs/pwg/building-state.xml:
6773         * docs/pwg/building-testapp.xml:
6774           Update the building-*.xml parts for 0.9 changes. All examples
6775           code blocks compile in examples/pwg/*.
6776
6777 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6778
6779         * docs/manual/advanced-autoplugging.xml:
6780         * docs/manual/appendix-checklist.xml:
6781         * docs/manual/appendix-integration.xml:
6782         * docs/manual/highlevel-components.xml:
6783           Fix playbin/decodebin examples, update docs a bit, mention bus
6784           instead of signals in various places, mention kmplayer and
6785           kaffeine since they have a working GStreamer backend in the KDE
6786           section.
6787
6788 2005-06-30  Wim Taymans  <wim@fluendo.com>
6789
6790         * CHANGES-0.9:
6791         * docs/design/draft-ghostpads.txt:
6792         * docs/design/draft-push-pull.txt:
6793         * docs/design/draft-query.txt:
6794         * docs/design/part-TODO.txt:
6795         * docs/design/part-query.txt:
6796         Added CHANGES-0.9 doc, updated status of other docs.
6797         
6798         * gst/gstquery.h:
6799         Remove "hmm" macro
6800
6801 2005-06-30  Wim Taymans  <wim@fluendo.com>
6802
6803         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6804         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
6805         (gst_base_sink_change_state):
6806         * gst/base/gstbasesink.h:
6807         Some tweaks, only EOS and a buffer complete a preroll.
6808
6809 2005-06-30  Andy Wingo  <wingo@pobox.com>
6810
6811         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
6812         activate_push down to the internal pad as well.
6813
6814 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
6815
6816         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6817
6818         * gst/gsttaginterface.c:
6819           Some documentation fixes (#307394 and #307397).
6820
6821 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
6822
6823         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6824
6825         * gst/gstvalue.c: (gst_value_intersect_list):
6826           Fix memleak (#309125).
6827
6828 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6829
6830         * docs/manual/advanced-dataaccess.xml:
6831           Fix fakesrc example to compile; doesn't work, bug somewhere...?
6832         * docs/manual/basics-pads.xml:
6833           Add reference for filtered caps to above chapter.
6834
6835 2005-06-30  Wim Taymans  <wim@fluendo.com>
6836
6837         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
6838         (gst_bin_change_state):
6839         Probes are gone.
6840         Lame attempt at making the state change function a bit
6841         more readable.
6842
6843 2005-06-30  Wim Taymans  <wim@fluendo.com>
6844
6845         * docs/design/part-clocks.txt:
6846         * docs/design/part-element-sink.txt:
6847         * docs/design/part-events.txt:
6848         * docs/design/part-preroll.txt:
6849         * docs/design/part-states.txt:
6850         Some more tweeks and additions to the docs.
6851
6852 2005-06-30  Wim Taymans  <wim@fluendo.com>
6853
6854         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6855         (default_have_data), (gst_pad_class_init), (gst_pad_init),
6856         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
6857         (gst_pad_check_pull_range), (gst_pad_get_range),
6858         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
6859         * gst/gstpad.h:
6860         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
6861         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6862         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6863         (gst_pad_remove_buffer_probe):
6864         Removed atomic operations, use existing LOCK.
6865         Move exception handling out of main code path.
6866
6867 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6868
6869         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6870         (silly_return_true_function), (gst_pad_class_init),
6871         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
6872         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
6873         (gst_pad_send_event):
6874           Fix accumulator, add default value by using _emitv() instead
6875           of _emit() for signal emission.
6876
6877 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6878
6879         * docs/manual/advanced-dataaccess.xml:
6880         * examples/manual/Makefile.am:
6881           Add probe example.
6882         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
6883           Make work (??).
6884
6885 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
6886
6887         * gst/elements/gstfilesink.c: (gst_filesink_render):
6888           Simplify code so that we don't have to handle short
6889           writes and return GST_FLOW_ERROR if an error occured.
6890
6891 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6892
6893         * docs/gst/gstreamer-docs.sgml:
6894           Remove probes more.
6895
6896 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6897
6898         * docs/gst/gstreamer-sections.txt:
6899         * docs/gst/tmpl/gstpad.sgml:
6900         * docs/gst/tmpl/gstprobe.sgml:
6901         * gst/Makefile.am:
6902         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6903         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
6904         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
6905         (gst_pad_push_event), (gst_pad_send_event):
6906         * gst/gstpad.h:
6907         * gst/gstutils.c: (gst_pad_add_data_probe),
6908         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6909         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6910         (gst_pad_remove_buffer_probe):
6911         * gst/gstutils.h:
6912           Remove old probes, add new g-signal-based probes and some utility
6913           functions.
6914
6915 2005-06-29  Edward Hervey  <edward@fluendo.com>
6916
6917         * gst/gstelementfactory.c:
6918         * gst/gstutils.h:
6919         * gst/gstutils.c:
6920         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
6921         the definition to the header file.
6922
6923 2005-06-29  Andy Wingo  <wingo@pobox.com>
6924
6925         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
6926         plugins from the source directory.
6927
6928 2005-06-29  Wim Taymans  <wim@fluendo.com>
6929
6930         * docs/gst/tmpl/gstbuffer.sgml:
6931         * docs/gst/tmpl/gstclock.sgml:
6932         Some fixings for blantently wrong text.
6933
6934 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6935
6936         * check/Makefile.am:
6937         * gst/gst.c: (add_path_func), (init_pre):
6938         * gst/gstregistry.c: (gst_registry_add_path):
6939           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
6940           only scan the GST_PLUGIN_PATH locations, and not add
6941           system locations
6942
6943 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6944
6945         * docs/gst/gstreamer-sections.txt:
6946         * docs/gst/tmpl/gstbasesrc.sgml:
6947         * gst/gstelement.c:
6948         * gst/gstelement.h:
6949         * gst/gstevent.c:
6950         * gst/gstutils.c:
6951           doc fixes
6952
6953 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6954
6955         * docs/manual/advanced-autoplugging.xml:
6956           Fix autoplugging example.
6957
6958 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6959
6960         * docs/manual/advanced-autoplugging.xml:
6961         * docs/manual/mime-world.fig:
6962           Try to get autoplugging working, fix type detection. Fix text
6963           in hello-world image.
6964
6965 2005-06-29  Wim Taymans  <wim@fluendo.com>
6966
6967         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6968         (gst_base_sink_change_state):
6969         Small debug line.
6970
6971         * gst/gstclock.h:
6972         map SIGNAL and BROADCAST to the right function.
6973
6974         * gst/gstobject.h:
6975         Remove redundant braces.
6976
6977         * gst/gstpad.c: (gst_pad_set_caps):
6978         Don't call setcaps function when reseting caps to NULL.
6979
6980         * gst/gstsystemclock.c: (gst_system_clock_dispose),
6981         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
6982         (gst_system_clock_id_unschedule):
6983         Use BROADCAST as this is what we do.
6984
6985 2005-06-29  Wim Taymans  <wim@fluendo.com>
6986
6987         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6988         We are actually prerolling before commiting the state
6989         change. 
6990
6991 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6992
6993         * docs/manual/advanced-clocks.xml:
6994         * docs/manual/advanced-interfaces.xml:
6995         * docs/manual/advanced-metadata.xml:
6996         * docs/manual/advanced-position.xml:
6997         * docs/manual/advanced-schedulers.xml:
6998         * docs/manual/advanced-threads.xml:
6999         * docs/manual/appendix-porting.xml:
7000         * docs/manual/basics-bins.xml:
7001         * docs/manual/basics-bus.xml:
7002         * docs/manual/basics-elements.xml:
7003         * docs/manual/basics-helloworld.xml:
7004         * docs/manual/basics-pads.xml:
7005         * docs/manual/highlevel-components.xml:
7006         * docs/manual/manual.xml:
7007         * docs/manual/thread.fig:
7008           Update (until threads/scheduling) Application Development Manual;
7009           remove GstThread, add GstBus, add simple porting checklist, add
7010           documentation for tag writing, clocks, make all examples until this
7011           part compile and run.
7012         * examples/manual/Makefile.am:
7013           Update from changes to Application Development Manual; add bus
7014           example, remove thread example.
7015
7016 2005-06-28  Wim Taymans  <wim@fluendo.com>
7017
7018         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
7019         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
7020         (gst_bus_source_dispatch):
7021         Add debugging messages.
7022         Make internal methods static.
7023         Handle the case where the bus is flushed in the handler.
7024         
7025         * gst/gstelement.c: (gst_element_get_bus):
7026         Fix refcount in _get_bus();
7027
7028         * gst/gstpipeline.c: (gst_pipeline_change_state),
7029         (gst_pipeline_get_clock_func):
7030         Clock refcounting fixes.
7031         Handle the case where preroll timed out more gracefully.
7032         
7033         * gst/gstsystemclock.c: (gst_system_clock_dispose):
7034         Clean up the internal thread in dispose. This is needed
7035         for subclasses that actually get disposed.
7036         
7037         * gst/schedulers/threadscheduler.c:
7038         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
7039         (gst_thread_scheduler_dispose):
7040         Free thread pool in dispose.
7041
7042 2005-06-28  Andy Wingo  <wingo@pobox.com>
7043
7044         * tests/network-clock-utils.scm (debug, print-event): New utils.
7045
7046         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
7047         (*packet-loss*): Unified loss probability.
7048         (network-time): Report out-of-band events.
7049
7050         * tests/plot-data: Add support for out-of-band events. Hack it
7051         into this script instead of passing it down the pipe; should fix
7052         this later.
7053
7054 2005-06-28  Wim Taymans  <wim@fluendo.com>
7055
7056         * docs/gst/gstreamer.types:
7057         * docs/gst/tmpl/gstbasesrc.sgml:
7058         * docs/gst/tmpl/gstpad.sgml:
7059         Docs fixes.
7060
7061 2005-06-28  Wim Taymans  <wim@fluendo.com>
7062
7063         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7064         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
7065         (gst_proxy_pad_do_fixatecaps):
7066         Correctly proxy the check_pull_range function.
7067
7068 2005-06-28  Andy Wingo  <wingo@pobox.com>
7069
7070         * tests/network-clock.scm: Removed need for slib.
7071         
7072 2005-06-28  Wim Taymans  <wim@fluendo.com>
7073
7074         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
7075         (gst_basesink_preroll_queue_flush):
7076         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
7077         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
7078         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7079         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7080         (gst_proxy_pad_set_property):
7081         * gst/gstpad.c:
7082         * gst/gstpad.h:
7083         * gst/gstqueue.c: (gst_queue_init):
7084         The deprecated pad loop function is removed now.
7085
7086 2005-06-28  Andy Wingo  <wingo@pobox.com>
7087
7088         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
7089         New parameters, simulate network packet loss.
7090
7091         * tests/network-clock-utils.scm: Initialize the RNG.
7092
7093 2005-06-28  Wim Taymans  <wim@fluendo.com>
7094
7095         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
7096         (gst_basesink_event), (gst_basesink_deactivate):
7097         Flushing the preroll queue always needs to unlock the waiters.
7098
7099 2005-06-28  Edward Hervey  <edward@fluendo.com>
7100
7101         * gst/gstpipeline.c: (gst_pipeline_send_event): 
7102         Wheen a seek was successful on a pipeline, set the stream_time to the
7103         seek offset in order to have a synchronized stream_time.
7104
7105 2005-06-28  Wim Taymans  <wim@fluendo.com>
7106
7107         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7108         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
7109         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
7110         (gst_proxy_pad_do_fixatecaps):
7111         Call wrapper function instead of just calling the function
7112         pointers. This takes care of any locking and whatmore.
7113
7114 2005-06-28  Wim Taymans  <wim@fluendo.com>
7115
7116         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
7117         (gst_pad_pull_range):
7118         * gst/gstpad.h:
7119         CONNECTED -> LINKED.
7120
7121 2005-06-28  Andy Wingo  <wingo@pobox.com>
7122
7123         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
7124         source-munging commit!!!
7125
7126         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
7127         (gst_object_sink): Take gpointer arguments, not GstObject --
7128         avoids casts. Like GLib.
7129
7130         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
7131         activate.
7132
7133 2005-06-27  Andy Wingo  <wingo@pobox.com>
7134
7135         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
7136         remaining buffer.
7137
7138         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
7139         returns a sorted copy of the trace list.
7140         (gst_alloc_trace_print_live): New API, only prints traces with
7141         live objects. Sort the list.
7142         (gst_alloc_trace_print_all): Sort the list.
7143         (gst_alloc_trace_print): Align columns.
7144
7145         * gst/elements/gstttypefindelement.c:
7146         * gst/elements/gsttee.c:
7147         * gst/base/gstbasesrc.c:
7148         * gst/base/gstbasesink.c:
7149         * gst/base/gstbasetransform.c:
7150         * gst/gstqueue.c: Adapt for pad activation changes.
7151
7152         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
7153         sched.
7154         (gst_pipeline_dispose): Drop ref on sched.
7155
7156         * gst/gstpad.c (gst_pad_init): Set the default activate func.
7157         (gst_pad_activate_default): Push mode by default.
7158         (pre_activate_switch, post_activate_switch): New stubs, things to
7159         do before and after switching activation modes on pads.
7160         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
7161         the pad's activate function to choose which mode to activate.
7162         Shortcut on deactivation and call the right function directly.
7163         (gst_pad_activate_pull): New API, (de)activates a pad in pull
7164         mode.
7165         (gst_pad_activate_push): New API, same for push mode.
7166         (gst_pad_set_activate_function) 
7167         (gst_pad_set_activatepull_function) 
7168         (gst_pad_set_activatepush_function): Setters for new API.
7169
7170         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
7171         Trace all miniobjects.
7172         (gst_mini_object_make_writable): Unref the arg if we copy, like
7173         gst_caps_make_writable.
7174
7175         * gst/gstmessage.c (_gst_message_initialize): No trace init.
7176
7177         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
7178         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
7179         Adapt for new pad API.
7180
7181         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
7182
7183         * gst/gstelement.h:
7184         * gst/gstelement.c (gst_element_iterate_src_pads) 
7185         (gst_element_iterate_sink_pads): New API functions.
7186         
7187         * gst/gstelement.c (iterator_fold_with_resync): New utility,
7188         should fold into gstiterator.c in some form.
7189         (gst_element_pads_activate): Simplified via use of fold and
7190         delegation of decisions to gstpad->activate.
7191
7192         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
7193         help in debugging.
7194
7195         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
7196         class once in init, like gstmessage. Didn't run into this issue
7197         but it seems correct. Don't initialize a trace, gstminiobject does
7198         that.
7199
7200         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
7201         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
7202         to the bus.
7203         (assert_live_count): New util function, uses alloc traces to check
7204         cleanup.
7205
7206         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
7207         To be modified when unlink drops the internal pad.
7208
7209 2005-06-27  Wim Taymans  <wim@fluendo.com>
7210
7211         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
7212         (gst_bin_change_state):
7213         Cleanup the get_state() function a little, make sure it
7214         iterates the same set of elements.
7215         Added stub iterate_state_order().
7216
7217 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7218
7219         * docs/gst/gstreamer-docs.sgml:
7220         * docs/gst/gstreamer-sections.txt:
7221         * docs/gst/gstreamer.types:
7222         * docs/gst/tmpl/gstbasesink.sgml:
7223         * docs/gst/tmpl/gstbasesrc.sgml:
7224         * docs/gst/tmpl/gstbasetransform.sgml:
7225         * docs/gst/tmpl/gstelement.sgml:
7226         * docs/gst/tmpl/gstiterator.sgml:
7227         * gst/base/gstbasesrc.c:
7228         * gst/base/gstbasesrc.h:
7229         * gst/base/gstbasetransform.h:
7230         * gst/gstelement.c:
7231         * gst/gstiterator.h:
7232           adding basetransform and iterator docs
7233
7234 2005-06-27  Andy Wingo  <wingo@pobox.com>
7235
7236         * docs/design/part-activation.txt: Notes on how activation should
7237         work -- not quite implemented yet.
7238
7239 2005-06-25  Wim Taymans  <wim@fluendo.com>
7240
7241         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
7242         At least get the chain function correct, needs more
7243         fixing.
7244
7245 2005-06-25  Wim Taymans  <wim@fluendo.com>
7246
7247         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
7248         (gst_basesink_handle_object), (gst_basesink_event),
7249         (gst_basesink_do_sync), (gst_basesink_handle_event),
7250         (gst_basesink_change_state):
7251         * gst/gsttask.h:
7252         Right, two problems here: ghostpads don't take locks and
7253         glib _rec_mutex_lock_full() with depth==0 still locks.
7254         Catch illegal locking and g_warn them.
7255
7256 2005-06-25  Wim Taymans  <wim@fluendo.com>
7257
7258         * check/states/sinks.c: (START_TEST), (gst_object_suite):
7259         Have to check for completion now...
7260
7261 2005-06-25  Wim Taymans  <wim@fluendo.com>
7262
7263         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
7264         (gst_basesink_handle_object), (gst_basesink_event),
7265         (gst_basesink_do_sync), (gst_basesink_handle_event),
7266         (gst_basesink_change_state):
7267         * gst/gstpad.h:
7268         Unlock STREAM_LOCK whatever the recursion was.
7269
7270 2005-06-25  Wim Taymans  <wim@fluendo.com>
7271
7272         * gst/base/gstbasesink.c: (gst_basesink_set_property),
7273         (gst_basesink_preroll_queue_empty),
7274         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
7275         (gst_basesink_event), (gst_basesink_do_sync),
7276         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
7277         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
7278         (gst_basesink_change_state):
7279         Reworked the base sink, handle event and buffer serialisation
7280         correctly and removed possible deadlock.
7281         Handle EOS correctly.
7282
7283 2005-06-25  Wim Taymans  <wim@fluendo.com>
7284
7285         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
7286         (gst_pipeline_change_state):
7287         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7288         Allow elements to post EOS in the state change function.
7289         Fix up -launch, make it exit the poll loop when the
7290         pipeline actually changed state.
7291         Fix up warning parsing in -launch.
7292
7293 2005-06-25  Wim Taymans  <wim@fluendo.com>
7294
7295         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
7296         (gst_tee_sink_activate):
7297         Core takes STREAM_LOCK for us now.
7298
7299 2005-06-25  Wim Taymans  <wim@fluendo.com>
7300
7301         * gst/gstelement.c: (gst_element_get_state_func),
7302         (gst_element_set_state):
7303         * gst/gstelement.h:
7304         * gst/gstmessage.c: (gst_message_parse_error),
7305         (gst_message_parse_warning):
7306         Keep track of current target state while performing a state
7307         change so that subclasses can do something interesting.
7308         Fix parsing of warning/error messages when GError is NULL.
7309
7310 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7311
7312         * docs/gst/Makefile.am:
7313         * docs/gst/gstreamer-docs.sgml:
7314         * docs/gst/gstreamer-sections.txt:
7315         * docs/gst/gstreamer.types:
7316         * docs/gst/tmpl/gstbasesink.sgml:
7317         * docs/gst/tmpl/gstbasesrc.sgml:
7318         * docs/gst/tmpl/gstbin.sgml:
7319         * docs/gst/tmpl/gstcompat.sgml:
7320         * docs/gst/tmpl/gstfakesink.sgml:
7321         * docs/gst/tmpl/gstfakesrc.sgml:
7322         * docs/gst/tmpl/gstfilesink.sgml:
7323         * docs/gst/tmpl/gstfilesrc.sgml:
7324         * docs/gst/tmpl/gstindex.sgml:
7325         * docs/manual/appendix-quotes.xml:
7326         * gst/base/gstbasesrc.h:
7327         * gst/elements/gstfakesrc.h:
7328         * gst/gstmessage.h:
7329           start pulling in base classes and elements in our docs
7330
7331 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
7332
7333         * docs/gst/Makefile.am:
7334         * docs/libs/Makefile.am:
7335           fixed make distcheck with gtk-doc 1.3
7336
7337 2005-06-23  Wim Taymans  <wim@fluendo.com>
7338
7339         * gst/gstelement.c: (gst_element_get_state_func),
7340         (gst_element_set_state), (gst_element_change_state):
7341         When the state did not change, also report NO_PREROLL
7342         when it matters.
7343
7344 2005-06-23  Wim Taymans  <wim@fluendo.com>
7345
7346         * gst/gstpad.c: (gst_pad_event_default):
7347         * gst/gstqueue.c: (gst_queue_loop):
7348         No unsafe task pausing please.
7349
7350 2005-06-23  Wim Taymans  <wim@fluendo.com>
7351
7352         * gst/schedulers/threadscheduler.c:
7353         (gst_thread_scheduler_task_start),
7354         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
7355         Ref the task before pushing it on the threadpool. This
7356         makes sure that we have a ref when the threadfunction is
7357         actually called.
7358
7359 2005-06-23  Andy Wingo  <wingo@pobox.com>
7360
7361         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
7362         offset is greater than the file's size.
7363
7364         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
7365         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
7366         * gst/gstobject.c (gst_object_class_init): Make the class lock
7367         recursive. Wim won't let me drop deep_notify. Decodebin works
7368         again, whoopdy doo.
7369
7370         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
7371         internal pad, and hacks accordingly. Doesn't do it on the target
7372         pad because we change its caps. Probably catches all cases of
7373         interest tho.
7374         (gst_ghost_pad_set_property): Connect to notify::caps as
7375         appropritate.
7376
7377         * tests/network-clock.scm (plot-simulation): Pipe data to the
7378         elite python skript.
7379
7380         * tests/network-clock-utils.scm (define-parameter): New macro,
7381         defines a parameter that can be set via the command line.
7382         (set-parameter!, parse-parameter-arguments): Command line args
7383         parser.
7384
7385         * tests/plot-data: Simple matplotlib-based plotter, takes input on
7386         stdin.
7387
7388 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
7389
7390         * gst/elements/gsttypefindelement.c:
7391         (gst_type_find_element_handle_event):
7392           Don't restart typefinding on a discont.
7393         * gst/gstelement.c: (gst_element_set_state):
7394           Debug spelling fix.
7395         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
7396           Allow changing mode of an active pad.
7397           Debug output fixes.
7398         * gst/registries/gstlibxmlregistry.c: (load_feature):
7399           Don't cast a static pad template to a normal pad template.
7400
7401 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7402
7403         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
7404         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7405           remove gst_strtoll completely, since it didn't actually do
7406           anything more than what g_ascii_strtoull already does.
7407           check for range errors when deserializing
7408           do a cast for the unsigned cases; but further fixing needs
7409           a decision on what the interpretation of "(int)" and
7410           deserialization should be for values that fall outside the
7411           type's boundaries (ie, refuse, or interpret as casting)
7412
7413 2005-06-23  Wim Taymans  <wim@fluendo.com>
7414
7415         * check/Makefile.am:
7416         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
7417         * docs/design/part-live-source.txt:
7418         * docs/design/part-states.txt:
7419         * gst/base/gstbasesrc.c: (gst_basesrc_init),
7420         (gst_basesrc_set_live), (gst_basesrc_is_live),
7421         (gst_basesrc_get_range), (gst_basesrc_activate),
7422         (gst_basesrc_change_state):
7423         * gst/base/gstbasesrc.h:
7424         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7425         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
7426         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
7427         * gst/gstelement.c: (gst_element_get_state_func),
7428         (gst_element_set_state):
7429         * gst/gstelement.h:
7430         * gst/gsttypes.h:
7431         * tools/gst-launch.c: (event_loop), (main):
7432         Added support for live sources and other elements that
7433         cannot do preroll.
7434         Updated design docs, added live-source design doc.
7435         Implemented live source functionality in basesrc
7436         Fix error condition in _bin_get_state()
7437         Implement live source handling in -launch.
7438         Added check for live sources.
7439         Fixed case in GstBin where elements were changed state
7440         multiple times.
7441
7442
7443 2005-06-23  Andy Wingo  <wingo@pobox.com>
7444
7445         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
7446         borken refcounting.
7447
7448         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
7449         gst_caps_replace takes care of this for us.
7450
7451         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
7452         gst_pad_set_caps on the target, not just its setcaps() function.
7453
7454         * tests/network-clock.scm: 
7455         * tests/network-clock-utils.scm: A network clock simulator.
7456         Something of an algorithmic testbed before doing something in C.
7457
7458 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7459
7460         * check/Makefile.am:
7461         * check/gst/capslist.h:
7462           copy over from 0.8, and add two with bitmasks specified with
7463           (int) 0xFF...
7464         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
7465           add test to parse everything from capslist.h
7466         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
7467         (main):
7468           add test for structure deserialization
7469         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
7470           add tests for deserialization of strings to int types
7471         * gst/gststructure.c: (gst_structure_nth_field_name):
7472         * gst/gststructure.h:
7473           add a way to get the name of a field referenced by index
7474         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7475           instead of checking if the resulting long long lies between
7476           min and max, we check if the long long would fit into
7477           a number of bytes for the final type.
7478           This fixes cases where a string represents 2^32 - 1, which
7479           when cast to int would be the (valid) -1, but is bigger than
7480           G_MAXINT
7481
7482 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7483
7484         * gst/parse/grammar.y:
7485           add a log line for type deserialization
7486
7487 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7488
7489         * check/gst/gstvalue.c: (START_TEST):
7490         * gst/gstvalue.c: (gst_value_deserialize):
7491           return long long, not int, so gint64 deserialization actually
7492           works.  Is there any flag that makes the compiler check this ?
7493           Fixes #308559
7494
7495 2005-06-22  Wim Taymans  <wim@fluendo.com>
7496
7497         * gst/gstbuffer.h:
7498         Added convenience macros for setting buffers in GValue.
7499
7500 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7501
7502         * check/gst/.cvsignore:
7503         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
7504           add a test deserializing int64, and comment part out because
7505           it fails, yay !
7506
7507 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7508
7509         * check/Makefile.am:
7510         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
7511         * testsuite/Makefile.am:
7512         * testsuite/caps/Makefile.am:
7513         * testsuite/caps/value_serialize.c:
7514         * testsuite/test_gst_init.c:
7515           move a value_serialize test over
7516
7517 2005-06-20  Wim Taymans  <wim@fluendo.com>
7518
7519         * gst/gstpad.c:
7520         Small doc updates.
7521         
7522         * gst/gstvalue.c: (gst_value_compare_buffer),
7523         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
7524         (gst_value_compare_flags), (gst_value_serialize_flags),
7525         (gst_value_deserialize_flags), (_gst_value_initialize):
7526         Fix serialisation of buffers, they are not boxed types anymore
7527
7528 2005-06-20  Wim Taymans  <wim@fluendo.com>
7529
7530         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
7531         Testcase to show error in buffer-on-caps serialisation.
7532
7533 2005-06-20  Andy Wingo  <wingo@pobox.com>
7534
7535         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
7536         will be adding to later.
7537
7538         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
7539         if its socks fill with rocks.
7540         (gst_system_clock_obtain): Set the name on object construction.
7541         Avoid double-checked locking.
7542
7543 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
7544
7545         * gst/gsturi.c: (gst_element_make_from_uri):
7546           Fix potential endless loop.
7547
7548 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7549
7550         * check/Makefile.am:
7551           add gsttag
7552         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
7553         (main):
7554           move over from testsuite dir and clean up
7555         * configure.ac:
7556         * gst/gsttag.c:
7557         * testsuite/Makefile.am:
7558         * testsuite/tags/.cvsignore:
7559         * testsuite/tags/Makefile.am:
7560         * testsuite/tags/merge.c:
7561           remove testsuite/tags
7562
7563 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7564
7565         * docs/gst/gstreamer-sections.txt:
7566         * docs/gst/tmpl/gstenumtypes.sgml:
7567         * win32/gstenumtypes.c:
7568           clean up documentation build a little
7569
7570 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7571
7572         * check/gstcheck.h:
7573           add macros for checking refcounts on objects and caps
7574         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
7575           add some more unit tests
7576         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7577         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
7578           fix leaked refcounts (I hope :)) so unittest works
7579         * gst/gstpad.h:
7580           whitespace removal
7581
7582 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7583
7584         * configure.ac: back to HEAD
7585
7586 === release 0.9.1 ===
7587
7588 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7589
7590         * NEWS:
7591         * RELEASE:
7592           updated
7593
7594 2005-06-17  Andy Wingo  <wingo@pobox.com>
7595
7596         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
7597         assert; it's always possible that the pad gets deactivated in
7598         between the checks in gstpad.c and the implementation. Rely on
7599         finish_preroll() to return a FLUSHING or similar instead of on the
7600         assert.
7601         
7602         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
7603         clock and post an EOS message if we come out of finish_preroll in
7604         the playing state.
7605
7606 2005-06-16  David Schleef  <ds@schleef.org>
7607
7608         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7609         (gst_capsfilter_set_property): Allow NULL as possible value
7610         for filter_caps property, indicating GST_CAPS_ANY.
7611
7612 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7613
7614         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
7615           fix debug output
7616         * gst/schedulers/Makefile.am:
7617           use libgst prefix
7618         * gstreamer.spec.in:
7619           fix spec for it
7620
7621 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7622
7623         * gstreamer.spec.in:
7624           clean up
7625
7626 2005-06-08  Andy Wingo  <wingo@pobox.com>
7627
7628         * gst/gstutils.c: RPAD fixes all around.
7629         (gst_element_link_pads): Refcounting fixes.
7630
7631         * tools/gst-inspect.c:
7632         * tools/gst-xmlinspect.c:
7633         * parse/grammar.y:
7634         * gst/base/gsttypefindhelper.c:
7635         * gst/base/gstbasesink.c:
7636         * gst/gstqueue.c: RPAD fixes.
7637
7638         * gst/gstghostpad.h:
7639         * gst/gstghostpad.c: New ghost pad implementation as full proxy
7640         pads. The tricky thing is they provide both source and sink
7641         interfaces, since they proxy the internal pad for the external
7642         pad, and vice versa. Implement with lower-level ProxyPad objects,
7643         with the interior proxy pad as a child of the exterior ghost pad.
7644         Should write a doc on this.
7645         
7646         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
7647         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
7648         gst_object API.
7649         
7650         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
7651         pads are real pads. No ghost pads in this file. Not documenting
7652         the myriad s/RPAD/PAD/ and REALIZE fixes.
7653         (gst_pad_class_init): Add properties for "direction" and
7654         "template". Both are construct-only, so they can't change during
7655         the life of the pad. Fixes properly deriving from GstPad.
7656         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
7657         derived objects, just set properties when creating the objects via
7658         g_object_new.
7659         (gst_pad_get_parent): Implement as a function, return NULL if the
7660         parent is not an element.
7661         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
7662         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
7663         
7664         * gst/gstobject.c (gst_object_class_init): Make name a construct
7665         property. Don't set it in the object init.
7666
7667         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
7668         with UNKNOWN direction.
7669         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
7670         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
7671         (gst_element_remove_pad): Remove ghost-pad special cases.
7672         (gst_element_pads_activate): Remove rpad cruft.
7673
7674         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
7675         catch the pad's-parent-not-an-element case.
7676
7677         * gst/gst.h: Include gstghostpad.h.
7678
7679         * gst/gst.c (init_post): No more real, ghost pads.
7680
7681         * gst/Makefile.am: Add gstghostpad.[ch].
7682
7683         * check/Makefile.am:
7684         * check/gst/gstbin.c:
7685         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
7686         into a bin creates ghost pads, and that the refcounts are right.
7687         Partly moved from gstbin.c.
7688
7689 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7690
7691         * check/gst-libs/.cvsignore:
7692         * check/gst/.cvsignore:
7693         * check/pipelines/.cvsignore:
7694           ignore more
7695         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
7696         (START_TEST), (cleanup_suite), (main):
7697           add some tests related to cleanup after running pipelines
7698
7699 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7700
7701         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
7702           add a testsuite for GstBuffer
7703
7704 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7705
7706         * gst/gstminiobject.h:
7707           add defines for accessing the refcount
7708
7709 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
7710
7711         * Makefile.am: added support for html unit test coverage reports
7712
7713 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
7714
7715         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7716           Free existing caps if the capsfilter changes. Add a FIXME about
7717           setting those caps on the pads.
7718
7719         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
7720           Before adding a ghost pad to a parent bin, check that there isn't
7721           already one for the element on the bin. Prevents infinite recursion
7722           when using decodebin in parse pipelines. Andy says he'll rewrite the
7723           way this works anyway, so ignore the hack.
7724
7725 2005-06-02  Andy Wingo  <wingo@pobox.com>
7726
7727         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
7728         file size, pass it on to the type find helper.
7729
7730         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
7731         segment_start and segment_end properly according to the seek
7732         method. Segment_end is still a bit flaky because offset can be
7733         negative for CUR and END cases, but it takes -1 as an "unset"
7734         value.
7735
7736 2005-06-02  Wim Taymans  <wim@fluendo.com>
7737
7738         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
7739         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
7740         (gst_basesink_activate):
7741         * gst/base/gstbasesink.h:
7742         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7743         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
7744         (gst_pad_query), (gst_pad_start_task):
7745         * gst/gstpad.h:
7746         * gst/gstqueue.c: (gst_queue_bufferalloc),
7747         (gst_queue_handle_sink_event), (gst_queue_chain):
7748         Bufferalloc: return GstFlowReturn to more accuratly report
7749         why allocation failed.
7750
7751 2005-06-02  Wim Taymans  <wim@fluendo.com>
7752
7753         * gst/gstpipeline.c: (gst_pipeline_send_event):
7754         Take snapshot of state without blocking.
7755
7756 2005-06-02  Wim Taymans  <wim@fluendo.com>
7757
7758         * docs/design/part-TODO.txt:
7759         * docs/design/part-caps.txt:
7760         * docs/design/part-clocks.txt:
7761         * docs/design/part-negotiation.txt:
7762         * docs/design/part-preroll.txt:
7763         Small doc updates 
7764
7765 2005-05-30  Wim Taymans  <wim@fluendo.com>
7766
7767         * gst/elements/gstidentity.c: (gst_identity_event),
7768         (gst_identity_transform), (gst_identity_get_property):
7769         Protect last_message property as it is accessed from
7770         multiple threads.
7771
7772 2005-05-30  Wim Taymans  <wim@fluendo.com>
7773
7774         * gst/gstelement.c: (gst_element_init),
7775         (gst_element_pads_activate), (gst_element_change_state):
7776         Slicker pad activation code.
7777
7778 2005-05-30  Wim Taymans  <wim@fluendo.com>
7779
7780         * gst/Makefile.am:
7781         * gst/gstelement.h:
7782         * gst/gstelementfactory.h:
7783         * gst/gsttypes.h:
7784         Move elementfactory methods to separate .h file.
7785
7786 2005-05-30  Wim Taymans  <wim@fluendo.com>
7787
7788         * docs/design/part-overview.txt:
7789         * gst/gstsystemclock.h:
7790         Small typo fixes, doc updates.
7791
7792 2005-05-30  Wim Taymans  <wim@fluendo.com>
7793
7794         * gst/gst.c: (gst_init_get_popt_table), (init_post),
7795         (init_popt_callback):
7796         Remove cpu-opt flag.
7797
7798 2005-05-30  Wim Taymans  <wim@fluendo.com>
7799
7800         * gst/gstbuffer.c: (gst_subbuffer_finalize),
7801         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
7802         * gst/gstbuffer.h:
7803         Avoid typechecking in places where not needed.
7804         Added accessor for malloc_data.
7805
7806 2005-05-30  Wim Taymans  <wim@fluendo.com>
7807
7808         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
7809         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
7810         (gst_pad_configure_sink), (gst_pad_configure_src),
7811         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
7812         (gst_pad_start_task):
7813         Propagate errors from _set_caps() in configure_src/sink
7814         functions instead of returning TRUE.
7815         FLUSH events can travel up and downstream
7816
7817
7818 2005-05-30  Wim Taymans  <wim@fluendo.com>
7819
7820         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
7821         (gst_basesink_activate):
7822         Handle EOS in preroll.
7823
7824 2005-05-30  Wim Taymans  <wim@fluendo.com>
7825
7826         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7827         (gst_queue_loop), (gst_queue_handle_src_event):
7828         Remove old pieces of code
7829         Flushing the queue in an upstream event is a very bad idea.
7830
7831 2005-05-26  Andy Wingo  <wingo@pobox.com>
7832
7833         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
7834         gst_value_set_mini_object so as to add a ref on the object (which
7835         will be removed when the value is unset).
7836
7837         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
7838         arg type in ::handoff.
7839
7840         * gst/gstelement.c (gst_element_change_state): Also deactivate
7841         pads in READY->NULL, just in case the element didn't make it to
7842         PAUSED. Wingo tested, Wim approved.
7843
7844 2005-05-26  Wim Taymans  <wim@fluendo.com>
7845
7846         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7847         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
7848         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
7849         A flushing pad cannot be used to alloc_buffer from.
7850
7851 2005-05-26  Wim Taymans  <wim@fluendo.com>
7852
7853         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
7854         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
7855         (gst_bus_source_dispatch), (gst_bus_source_finalize),
7856         (gst_bus_create_watch), (gst_bus_add_watch_full):
7857         * gst/gstbus.h:
7858         Implement a real GSource and use g_main_context_wakeup() to
7859         signal new messages instead of the socketpair.
7860
7861 2005-05-25  Wim Taymans  <wim@fluendo.com>
7862
7863         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
7864         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
7865         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7866         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
7867         (gst_pad_send_event), (gst_pad_start_task):
7868         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
7869         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7870         (gst_queue_sink_activate), (gst_queue_src_activate),
7871         (gst_queue_change_state):
7872         * gst/gstqueue.h:
7873         Fix state changes for non sinks. We now change sinks, then elements
7874         with unconnected srcpads, then the rest.
7875         More efficient queue unlocking in flush and state changes.
7876         Set the pad activate mode even if it does not have an activate
7877         function.
7878
7879 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7880
7881         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
7882           Don't go in pull mode for non-seekable sources.
7883         * gst/elements/gsttypefindelement.h:
7884         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7885         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
7886         (free_entry), (stop_typefinding),
7887         (gst_type_find_element_handle_event), (find_peek),
7888         (gst_type_find_element_chain), (do_pull_typefind),
7889         (gst_type_find_element_change_state):
7890           Allow typefinding (w/o seeking) in push-mode, simplified version
7891           of what was in 0.8.
7892         * gst/gstutils.c: (gst_buffer_join):
7893         * gst/gstutils.h:
7894           gst_buffer_join() from 0.8.
7895
7896 2005-05-25  Wim Taymans  <wim@fluendo.com>
7897
7898         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7899         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
7900         (gst_pad_send_event), (gst_pad_start_task):
7901         Disable attempt at mode switching until it is figured out.
7902
7903 2005-05-25  Wim Taymans  <wim@fluendo.com>
7904
7905         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
7906         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
7907         (gst_basesink_finish_preroll), (gst_basesink_chain),
7908         (gst_basesink_loop), (gst_basesink_activate),
7909         (gst_basesink_change_state):
7910         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
7911         (gst_basesrc_get_range), (gst_basesrc_loop),
7912         (gst_basesrc_activate):
7913         * gst/elements/gsttee.c: (gst_tee_sink_activate):
7914         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
7915         (gst_real_pad_init), (gst_real_pad_set_property),
7916         (gst_real_pad_get_property), (gst_pad_set_active),
7917         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
7918         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
7919         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
7920         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
7921         (gst_pad_event_default_dispatch), (gst_pad_event_default),
7922         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
7923         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
7924         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
7925         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
7926         (gst_pad_stop_task):
7927         * gst/gstpad.h:
7928         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7929         (gst_queue_loop), (gst_queue_src_activate):
7930         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
7931         (gst_task_get_state):
7932         * gst/gsttask.h:
7933         * gst/schedulers/threadscheduler.c:
7934         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
7935         Implement gst_pad_pause/start/stop_task(), take STREAM lock
7936         in task function.
7937         Remove ACTIVE pad flag, use FLUSHING everywhere
7938         Added _pad_chain(), _pad_get_range() to call chain/getrange 
7939         functions.
7940         Add locks around IS_FLUSHING when reading.
7941         Take STREAM lock in chain(), get_range() functions so plugins
7942         don't need to take it anymore.
7943         
7944
7945
7946 2005-05-25  Wim Taymans  <wim@fluendo.com>
7947
7948         * tools/gst-launch.c: (event_loop):
7949         Unref message after using its contents instead of
7950         before.
7951
7952 2005-05-24  Wim Taymans  <wim@fluendo.com>
7953
7954         * docs/design/draft-ghostpads.txt:
7955         * docs/design/draft-push-pull.txt:
7956         * docs/design/draft-query.txt:
7957         * docs/design/part-overview.txt:
7958         Docs updates, added general overview doc.
7959
7960 2005-05-21  David Schleef  <ds@schleef.org>
7961
7962         * docs/gst/tmpl/old/GstBin.sgml:
7963         * docs/gst/tmpl/old/GstBuffer.sgml:
7964         * docs/gst/tmpl/old/GstCaps.sgml:
7965         * docs/gst/tmpl/old/GstClock.sgml:
7966         * docs/gst/tmpl/old/GstCompat.sgml:
7967         * docs/gst/tmpl/old/GstData.sgml:
7968         * docs/gst/tmpl/old/GstElement.sgml:
7969         * docs/gst/tmpl/old/GstEvent.sgml:
7970         * docs/gst/tmpl/old/GstIndex.sgml:
7971         * docs/gst/tmpl/old/GstStructure.sgml:
7972         * docs/gst/tmpl/old/GstTag.sgml:
7973         * docs/gst/tmpl/old/cothreads.sgml:
7974         * docs/gst/tmpl/old/cothreads_compat.sgml:
7975         * docs/gst/tmpl/old/gettext.sgml:
7976         * docs/gst/tmpl/old/gobject2gtk.sgml:
7977         * docs/gst/tmpl/old/grammar.tab.sgml:
7978         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7979         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7980         * docs/gst/tmpl/old/gst_private.sgml:
7981         * docs/gst/tmpl/old/gstaggregator.sgml:
7982         * docs/gst/tmpl/old/gstarch.sgml:
7983         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7984         * docs/gst/tmpl/old/gstbufferstore.sgml:
7985         * docs/gst/tmpl/old/gstdata_private.sgml:
7986         * docs/gst/tmpl/old/gstdisksink.sgml:
7987         * docs/gst/tmpl/old/gstdisksrc.sgml:
7988         * docs/gst/tmpl/old/gstelementfactory.sgml:
7989         * docs/gst/tmpl/old/gstextratypes.sgml:
7990         * docs/gst/tmpl/old/gstfakesink.sgml:
7991         * docs/gst/tmpl/old/gstfakesrc.sgml:
7992         * docs/gst/tmpl/old/gstfdsink.sgml:
7993         * docs/gst/tmpl/old/gstfdsrc.sgml:
7994         * docs/gst/tmpl/old/gstfilesink.sgml:
7995         * docs/gst/tmpl/old/gstfilesrc.sgml:
7996         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7997         * docs/gst/tmpl/old/gstidentity.sgml:
7998         * docs/gst/tmpl/old/gstindexfactory.sgml:
7999         * docs/gst/tmpl/old/gstmarshal.sgml:
8000         * docs/gst/tmpl/old/gstmd5sink.sgml:
8001         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8002         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8003         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8004         * docs/gst/tmpl/old/gstpipefilter.sgml:
8005         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8006         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8007         * docs/gst/tmpl/old/gstshaper.sgml:
8008         * docs/gst/tmpl/old/gstspider.sgml:
8009         * docs/gst/tmpl/old/gstspideridentity.sgml:
8010         * docs/gst/tmpl/old/gststatistics.sgml:
8011         * docs/gst/tmpl/old/gsttee.sgml:
8012         * docs/gst/tmpl/old/gsttimecache.sgml:
8013         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8014         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8015         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8016         * docs/gst/tmpl/old/types.sgml:
8017           I didn't intend to add these or check them in.
8018
8019 2005-05-19  David Schleef  <ds@schleef.org>
8020
8021         * configure.ac: Use -no-common everywhere.  In a sane world, it
8022           would be the default in libtool, because without it, you can't
8023           build DLLs on Windows.
8024         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
8025         * docs/gst/gstreamer-sections.txt:
8026         * docs/gst/tmpl/gstcpu.sgml:
8027         * docs/gst/tmpl/gstdata.sgml:
8028         * docs/gst/tmpl/gstthread.sgml:
8029
8030 2005-05-19  David Schleef  <ds@schleef.org>
8031
8032         * gst/gstminiobject.c: (gst_value_set_mini_object),
8033         (gst_value_take_mini_object), (gst_value_get_mini_object):
8034         * gst/gstminiobject.h: Add GValue set/get functions.
8035
8036 2005-05-19  Wim Taymans  <wim@fluendo.com>
8037
8038         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
8039         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
8040         (gst_subbuffer_init), (gst_buffer_is_span_fast):
8041         * gst/gstbuffer.h:
8042         * gst/gstbus.c: (gst_bus_post):
8043         * gst/gstelement.c: (gst_element_get_random_pad):
8044         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
8045         Make subbufer unref the parent in finalize.
8046         some more debugging info.
8047
8048
8049 2005-05-19  Wim Taymans  <wim@fluendo.com>
8050
8051         * gst/base/gstbasesink.c: (gst_basesink_class_init),
8052         (gst_basesink_init), (gst_basesink_finalize),
8053         (gst_basesink_activate), (gst_basesink_change_state):
8054         Don't free preroll queue too early.
8055
8056 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8057
8058         * gst/Makefile.am:
8059         * gst/ROADMAP:
8060           Hi, I'm outdated. Please shoot me.
8061
8062 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8063
8064         * gst/gstpipeline.c: (gst_pipeline_send_event):
8065           Do not access variables after they have been deleted.
8066
8067 2005-05-19  Wim Taymans  <wim@fluendo.com>
8068
8069         * tools/gst-inspect.c: (print_plugin_features):
8070         A plugin feature does unfortunatly not use the
8071         object name yet...
8072
8073 2005-05-18  Wim Taymans  <wim@fluendo.com>
8074
8075         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
8076         Port _span() functions to new subbuffers.
8077
8078 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8079
8080         * gst/gstbin.c: (gst_bin_add_func):
8081           Fix clock settery in bins when adding kids after the clock has
8082           been selected.
8083
8084 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8085
8086         * gst/elements/gstidentity.c: (gst_identity_class_init):
8087           Workaround until signals support GstMiniObject.
8088
8089 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
8090
8091         * gst/gstbuffer.c:
8092         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
8093
8094 2005-05-18  Wim Taymans  <wim@fluendo.com>
8095
8096         * gst/base/Makefile.am:
8097         * gst/base/gstadapter.c: (gst_adapter_base_init),
8098         (gst_adapter_class_init), (gst_adapter_init),
8099         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
8100         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
8101         (gst_adapter_flush), (gst_adapter_available),
8102         (gst_adapter_available_fast):
8103         * gst/base/gstadapter.h:
8104         Ported and added adapter to the base classes.
8105
8106 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8107
8108         * gst/gst.c:
8109         * gst/gstmessage.c:
8110           Make sure the class is reffed/unreffed once before threads can be
8111           used.  Fixes #304551.
8112
8113 2005-05-17  Wim Taymans  <wim@fluendo.com>
8114
8115         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
8116         (gst_basesink_chain_unlocked), (gst_basesink_activate):
8117         * gst/gstminiobject.c: (gst_mini_object_get_type),
8118         (gst_mini_object_free):
8119         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
8120         (gst_pad_push), (gst_pad_push_event):
8121         * gst/gstqueue.c: (gst_queue_change_state):
8122         Don't queue buffers in basesink when we are flushing.
8123         Unref buffer when flushing in basesink.
8124         Flush queue when going to READY
8125         Unref buffer when _push() returns an error.
8126         Don't free MiniObject instance when refcount is incremented
8127         in _finalize() so that we can recover objects.
8128
8129 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8130
8131         * docs/manual/advanced-schedulers.xml:
8132         * docs/manual/appendix-checklist.xml:
8133         * docs/pwg/advanced-clock.xml:
8134         * docs/pwg/advanced-interfaces.xml:
8135         * docs/pwg/advanced-request.xml:
8136         * docs/pwg/advanced-types.xml:
8137         * docs/pwg/intro-preface.xml:
8138         * examples/plugins/example.c: (gst_example_get_type),
8139         (gst_example_class_init), (gst_example_chain),
8140         (gst_example_set_property), (gst_example_get_property),
8141         (gst_example_change_state), (plugin_init):
8142         * examples/plugins/example.h:
8143           small doc fixes
8144
8145 2005-05-17  Wim Taymans  <wim@fluendo.com>
8146
8147         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
8148         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
8149         * gst/gstqueue.c: (gst_queue_change_state):
8150         Clear queue when going to READY.
8151         Remove IN_SETCAPS flag too.
8152
8153 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
8154
8155         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
8156           Remove implicit cast from gboolean to GstElementStateReturn;
8157           make sure we still return failure in paused => ready case if
8158           the parent class fails to change state and our own stop 
8159           vfunc succeeds.
8160
8161 2005-05-17  Wim Taymans  <wim@fluendo.com>
8162
8163         * tools/gst-launch.c: (event_loop):
8164         Message was unreffed too soon.
8165
8166 2005-05-16  Andy Wingo  <wingo@pobox.com>
8167
8168         * gst/gstbin.c (sink_iterator_filter): Err... um...
8169
8170         * check/gst/gstbin.c (test_ghost_pads): New test for the
8171         ghosting-if-elements-not-in-same-bin behavior.
8172
8173 2005-05-16  David Schleef  <ds@schleef.org>
8174
8175         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
8176         accessing refcount directly.
8177
8178 2005-05-15  David Schleef  <ds@schleef.org>
8179
8180         * check/Makefile.am: remove GstData checks
8181         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
8182         * gst/Makefile.am: add miniobject, remove data
8183         * gst/gst.h: add miniobject, remove data
8184         * gst/gstdata.c: remove
8185         * gst/gstdata.h: remove
8186         * gst/gstdata_private.h: remove
8187         * gst/gsttypes.h: remove GstEvent and GstMessage
8188         * gst/gstelement.c: (gst_element_post_message): fix for API changes
8189         * gst/gstmarshal.list: change BOXED -> OBJECT
8190
8191         Implement GstMiniObject.
8192         * gst/gstminiobject.c:
8193         * gst/gstminiobject.h:
8194
8195         Modify to be subclasses of GstMiniObject.
8196         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
8197         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
8198         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
8199         (gst_subbuffer_get_type), (gst_subbuffer_init),
8200         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
8201         (gst_buffer_span):
8202         * gst/gstbuffer.h:
8203         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
8204         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
8205         (_gst_event_copy), (gst_event_new):
8206         * gst/gstevent.h:
8207         * gst/gstmessage.c: (_gst_message_initialize),
8208         (gst_message_get_type), (gst_message_class_init),
8209         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
8210         (gst_message_new), (gst_message_new_error),
8211         (gst_message_new_warning), (gst_message_new_tag),
8212         (gst_message_new_state_changed), (gst_message_new_application):
8213         * gst/gstmessage.h:
8214         * gst/gstprobe.c: (gst_probe_perform),
8215         (gst_probe_dispatcher_dispatch):
8216         * gst/gstprobe.h:
8217         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
8218         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
8219         (_gst_query_copy), (gst_query_new):
8220
8221         Update elements for GstData -> GstMiniObject changes
8222         * gst/gstquery.h:
8223         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
8224         (gst_queue_chain), (gst_queue_loop):
8225         * gst/elements/gstbufferstore.c:
8226         (gst_buffer_store_add_buffer_func),
8227         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
8228         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
8229         (gst_fakesink_render):
8230         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8231         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
8232         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
8233         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
8234         (gst_filesrc_create_read):
8235         * gst/elements/gstidentity.c: (gst_identity_class_init):
8236         * gst/elements/gsttypefindelement.c:
8237         (gst_type_find_element_src_event), (free_entry_buffers),
8238         (gst_type_find_element_handle_event):
8239         * libs/gst/dataprotocol/dataprotocol.c:
8240         (gst_dp_header_from_buffer):
8241         * libs/gst/dataprotocol/dataprotocol.h:
8242         * libs/gst/dataprotocol/dp-private.h:
8243
8244 2005-05-15  David Schleef  <ds@schleef.org>
8245
8246         * gst/elements/gstelements.c: Don't include headers that were
8247         just removed.
8248
8249 2005-05-15  David Schleef  <ds@schleef.org>
8250
8251         * gst/elements/Makefile.am: Remove some elements that don't
8252         need to be in the core (or even exist at all).
8253         * gst/elements/gstaggregator.c:
8254         * gst/elements/gstaggregator.h:
8255         * gst/elements/gstmd5sink.c:
8256         * gst/elements/gstmd5sink.h:
8257         * gst/elements/gstmultifilesrc.c:
8258         * gst/elements/gstmultifilesrc.h:
8259         * gst/elements/gstpipefilter.c:
8260         * gst/elements/gstpipefilter.h:
8261         * gst/elements/gstshaper.c:
8262         * gst/elements/gstshaper.h:
8263         * gst/elements/gststatistics.c:
8264         * gst/elements/gststatistics.h:
8265         * po/POTFILES.in: Remove above files.
8266
8267 2005-05-14  Andy Wingo  <wingo@pobox.com>
8268
8269         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
8270         so as to get the refs right.
8271         (sink_iterator_filter): New function, wraps bin_element_is_sink,
8272         unreffing objects that don't pass the filter.
8273
8274         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
8275         gst_element_set_bus.
8276         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
8277         normal cases, this will destroy the bus.
8278
8279         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
8280         object.
8281
8282         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
8283         has no sinks.
8284
8285 2005-05-13  Andy Wingo  <wingo@pobox.com>
8286
8287         * gst/gstutils.c (gst_element_link_pads): Instead of calling
8288         gst_pad_link, call pad_link_maybe_ghosting,
8289         (pad_link_maybe_ghosting): Links pads, making sure that the
8290         elements being linked are in the same bin.
8291         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
8292         Helpers for pad_link_maybe_ghosting.
8293
8294 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
8295
8296         * configure.ac:
8297           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
8298
8299 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
8300
8301         * docs/design/part-element-source.txt:
8302           Mention GstPushSrc
8303
8304 2005-05-12  Wim Taymans  <wim@fluendo.com>
8305
8306         * gst/base/gstbasesink.c: (gst_basesink_init),
8307         (gst_basesink_activate):
8308         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
8309         (gst_basesrc_is_seekable):
8310         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8311         (bin_element_is_sink), (gst_bin_change_state):
8312         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
8313         * gst/gstelement.h:
8314         Identify sinks by their flag to avoid overly complicated
8315         checks (fow now).
8316         Do state changes even for elements not reachable from the
8317         sinks.
8318         BaseSink is a sink now :)
8319         Some more debugging info in the basesrc.
8320
8321
8322 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8323
8324         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
8325           Implement _query on a bin, similar to _send_event.
8326
8327 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
8328
8329         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
8330           Discont event offset format should be GST_FORMAT_BYTES,
8331           not GST_FORMAT_TIME.
8332
8333 2005-05-12  Wim Taymans  <wim@fluendo.com>
8334
8335         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
8336         Same fix as Ronald's but without the signal. 
8337
8338 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8339
8340         * gst/gstutils.c: (gst_element_query_position):
8341           No, an element is not a pad.
8342
8343 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8344
8345         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
8346         (gst_bin_get_state):
8347           If a child is removed from a bin while we remove the child from
8348           the bin and while we're retrieving its state, signal this to the
8349           get_state function so we abort the wait (instead of waiting for
8350           a timeout) and can immediately re-iterate over all other elements.
8351
8352 2005-05-12  Wim Taymans  <wim@fluendo.com>
8353
8354         * gst/base/Makefile.am:
8355         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
8356         (gst_basesrc_start):
8357         * gst/base/gstbasesrc.h:
8358         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
8359         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
8360         (gst_pushsrc_init), (gst_pushsrc_create):
8361         * gst/base/gstpushsrc.h:
8362         Added is_seekable to BaseSrc
8363         Added simple PushSrc.
8364
8365 2005-05-11  Wim Taymans  <wim@fluendo.com>
8366
8367         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
8368         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8369         (gst_element_link_pads), (gst_element_query_position),
8370         (gst_element_query_convert), (intersect_caps_func),
8371         (gst_pad_query_position), (gst_pad_query_convert):
8372         Fix refcounting in utils function.
8373         No point in trying to activate a pad when it's added, it could
8374         be added from the state change function and then we deadlock, the
8375         element has to decide what to do.
8376
8377 2005-05-10  Andy Wingo  <wingo@pobox.com>
8378
8379         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
8380         *all* the arguments.
8381
8382         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
8383         stream lock if it's a FLUSH_DONE; normal flushes don't get the
8384         lock (according to the docs -- if this is wrong change the docs).
8385
8386         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
8387         flush messages in the NULL state.
8388
8389         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
8390         message immediately and return.
8391         (gst_bus_set_flushing): New function. If a bus is flushing, it
8392         flushes out any queued messages and immediately unrefs new
8393         messages. This is so when an element goes to NULL, all of the
8394         unhandled messages coming from it can be freed, and their
8395         references to the element dropped. In other words: message source
8396         ref considered harmful :P
8397
8398         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
8399         we're finished with it.
8400
8401         * gst/gstmessage.c (gst_message_new_state_changed): 
8402
8403 2005-05-10  Wim Taymans  <wim@fluendo.com>
8404
8405         * gst/gstvalue.c: (gst_value_compare_flags),
8406         (gst_value_serialize_flags), (gst_value_deserialize_flags),
8407         (_gst_value_initialize):
8408         Added flags serialize/deserialize/compare code.
8409
8410 2005-05-09  Andy Wingo  <wingo@pobox.com>
8411
8412         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
8413         Intersect the peer's caps with our caps.
8414
8415 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8416
8417         * gst/base/gsttypefindhelper.c: (helper_find_peek):
8418         * gst/elements/gsttypefindelement.c: (find_peek):
8419           Handle negative offsets better. Fixes decodebin.
8420
8421 2005-05-09  Wim Taymans  <wim@fluendo.com>
8422
8423         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
8424         (gst_base_transform_event):
8425         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
8426         Implement accept_caps.
8427         Fix silly lock/unlock mismatch in base class.
8428
8429 2005-05-09  Wim Taymans  <wim@fluendo.com>
8430
8431         * docs/design/draft-push-pull.txt:
8432         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
8433         * gst/elements/gstfilesink.c: (gst_filesink_init),
8434         (gst_filesink_query):
8435         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
8436         (gst_type_find_handle_src_query), (find_element_get_length):
8437         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
8438         * gst/gstelement.h:
8439         * gst/gstmessage.c:
8440         * gst/gstmessage.h:
8441         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
8442         (gst_real_pad_get_caps_unlocked),
8443         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
8444         (gst_pad_event_default_dispatch), (gst_pad_event_default),
8445         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
8446         (gst_real_pad_dispose), (gst_real_pad_finalize),
8447         (gst_pad_load_and_link), (gst_pad_save_thyself),
8448         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
8449         (gst_pad_check_pull_range), (gst_pad_pull_range),
8450         (gst_pad_template_get_type), (gst_pad_template_class_init),
8451         (gst_pad_template_init), (gst_pad_template_dispose),
8452         (name_is_valid), (gst_static_pad_template_get),
8453         (gst_pad_template_new), (gst_static_pad_template_get_caps),
8454         (gst_pad_template_get_caps), (gst_pad_set_element_private),
8455         (gst_pad_get_element_private), (gst_pad_start_task),
8456         (gst_pad_pause_task), (gst_pad_stop_task),
8457         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
8458         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
8459         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
8460         (gst_ghost_pad_new):
8461         * gst/gstpad.h:
8462         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
8463         (gst_query_new_position), (gst_query_set_position),
8464         (gst_query_parse_position), (gst_query_new_convert),
8465         (gst_query_set_convert), (gst_query_parse_convert):
8466         * gst/gstquery.h:
8467         * gst/gstqueryutils.c:
8468         * gst/gstqueryutils.h:
8469         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
8470         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
8471         (gst_queue_handle_src_query):
8472         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8473         (gst_element_query_position), (gst_element_query_convert),
8474         (intersect_caps_func), (gst_pad_query_position),
8475         (gst_pad_query_convert):
8476         * gst/gstutils.h:
8477         * tools/gst-inspect.c: (print_pad_info):
8478         * tools/gst-xmlinspect.c: (print_element_info):
8479         Remove old query functions. Ported old code.
8480         Added position/convert helper functions to gstutils.
8481         Reordered gstpad.c code, grouping relevant things.
8482         Remove gst_message_new(), always need to speficy a specific
8483         message.
8484
8485
8486 2005-05-09  Andy Wingo  <wingo@pobox.com>
8487
8488         * gst/gstiterator.h: Add some includes.
8489
8490         * gst/gstqueryutils.h: Include more headers.
8491
8492         * gst/gstpad.h:
8493         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
8494         some uses of gst_pad_query.
8495
8496         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
8497         NULL out parameters.
8498         (gst_query_new_position): New proc, allocates a new position
8499         query.
8500
8501         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
8502         gstqueryutils.c to the build.
8503
8504         * gst/gststructure.c (gst_structure_set_valist): Implement with
8505         the generic G_VALUE_COLLECT.
8506         
8507 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
8508
8509         * gst/Makefile.am: (gst_headers):
8510         Added gstqueryutils.h to the list of headers to install, that was
8511         a 'nachty' move wingo :)
8512
8513 2005-05-06  Andy Wingo  <wingo@pobox.com>
8514
8515         * gst/gstquery.h
8516         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
8517         GstData, init a memchunk.
8518         (standard_definitions): Add a few query types, deprecate a few.
8519         (gst_query_get_type): New proc.
8520         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
8521         implementation.
8522         (gst_query_new_application, gst_query_get_structure): New public
8523         procs.
8524
8525         * docs/design/draft-query.txt: Removed LINKS from the query types,
8526         because all the rest can be dispatched to other pads -- seemed
8527         ugly to have a query that couldn't be dispatched. internal_links
8528         is fine as a pad method.
8529
8530         * gst/gstpad.h: Add query2 as a pad method, add the new functions
8531         in gstpad.c, but maintain binary compatibility for the moment.
8532         Will fix before 0.9 is out.
8533
8534         * gst/gstqueryutils.c: 
8535         * gst/gstqueryutils.h: New files, implement 3 methods for each
8536         query type: parse_query, parse_response, and set. Probably need an
8537         allocator as well.
8538
8539         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
8540
8541         * gst/elements/gstfilesink.c (gst_filesink_query2):
8542         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
8543         query_types, and formats methods.
8544
8545         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
8546         (gst_pad_set_query2_function): New functions.
8547         (gst_real_pad_init): Set query2_default as the default query2
8548         function. Basically just dispatches to internally linked pads.
8549
8550         Needs review!
8551         
8552         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
8553         without using the atomic operations. Only one thread can possibly
8554         be accessing the data at this point. Changed so as to avoid
8555         gst_atomic operations.
8556
8557 2005-05-06  Wim Taymans  <wim@fluendo.com>
8558
8559         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
8560         Also set caps if we use the fallback buffer alloc.
8561
8562 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
8563
8564         * docs/gst/Makefile.am:
8565         * docs/gst/gstreamer-docs.sgml:
8566         * docs/gst/gstreamer-sections.txt:
8567         * docs/gst/tmpl/gstatomic.sgml:
8568         * docs/gst/tmpl/gstmemchunk.sgml:
8569         * testsuite/elements/struct_i386.h:
8570         * win32/GStreamer.vcproj:
8571         * win32/Makefile:
8572           Purge GstAtomic stuff from docs and win32 makefiles as well
8573
8574 2005-05-06  Wim Taymans  <wim@fluendo.com>
8575
8576         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
8577         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
8578         * gst/gstpad.c: (gst_pad_peer_get_caps):
8579         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
8580         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
8581         (gst_queue_src_activate), (gst_queue_change_state):
8582         * gst/gstqueue.h:
8583         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8584         (intersect_caps_func):
8585         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
8586         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
8587         Some fixes for the peer_get_caps() change.
8588
8589 2005-05-06  Wim Taymans  <wim@fluendo.com>
8590
8591         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
8592         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
8593         (gst_basesink_activate):
8594         Actually do something with error codes returned from the push
8595         functions.
8596
8597 2005-05-06  Wim Taymans  <wim@fluendo.com>
8598
8599         * docs/design/part-element-sink.txt:
8600         * docs/design/part-element-source.txt:
8601         * gst/base/gstbasesink.c: (gst_basesink_class_init),
8602         (gst_basesink_event), (gst_basesink_activate):
8603         * gst/base/gstbasesink.h:
8604         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
8605         (gst_basesrc_activate):
8606         * gst/base/gstbasesrc.h:
8607         * gst/gstelement.c: (gst_element_pads_activate):
8608         Some more documentation.
8609         Fixed scheduling decision in _pads_activate().
8610
8611 2005-05-05  Andy Wingo  <wingo@pobox.com>
8612
8613         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
8614         the test suite.
8615
8616 2005-05-05  Wim Taymans  <wim@fluendo.com>
8617
8618         * gst/base/Makefile.am:
8619         * gst/base/gstbasesink.h:
8620         * gst/base/gstbasesrc.c: (gst_basesrc_init),
8621         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
8622         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
8623         (gst_collectpads_class_init), (gst_collectpads_init),
8624         (gst_collectpads_finalize), (gst_collectpads_new),
8625         (gst_collectpads_set_function), (gst_collectpads_add_pad),
8626         (find_pad), (gst_collectpads_remove_pad),
8627         (gst_collectpads_is_active), (gst_collectpads_collect),
8628         (gst_collectpads_collect_range), (gst_collectpads_start),
8629         (gst_collectpads_stop), (gst_collectpads_peek),
8630         (gst_collectpads_pop), (gst_collectpads_available),
8631         (gst_collectpads_read), (gst_collectpads_flush),
8632         (gst_collectpads_chain):
8633         * gst/base/gstcollectpads.h:
8634         * gst/elements/Makefile.am:
8635         * gst/elements/gstelements.c:
8636         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
8637         (gst_fakesink_get_times), (gst_fakesink_event),
8638         (gst_fakesink_preroll), (gst_fakesink_render):
8639         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8640         (gst_filesink_init), (gst_filesink_set_location),
8641         (gst_filesink_open_file), (gst_filesink_close_file),
8642         (gst_filesink_pad_query), (gst_filesink_event),
8643         (gst_filesink_render), (gst_filesink_change_state):
8644         * gst/elements/gstfilesink.h:
8645         Added object to help in making collect pad based elements.
8646         Ported filesink.
8647         Make event function in sink baseclass return gboolean.
8648
8649 2005-05-05  Wim Taymans  <wim@fluendo.com>
8650
8651         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
8652         (gst_bin_get_by_name):
8653         * gst/gstbuffer.h:
8654         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
8655         (gst_clock_finalize):
8656         * gst/gstdata.c: (gst_data_replace):
8657         * gst/gstdata.h:
8658         * gst/gstelement.c: (gst_element_request_pad),
8659         (gst_element_pads_activate):
8660         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
8661         (gst_object_unref):
8662         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8663         (gst_pad_set_checkgetrange_function),
8664         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
8665         (gst_pad_check_pull_range), (gst_pad_pull_range),
8666         (gst_static_pad_template_get_caps), (gst_pad_start_task),
8667         (gst_pad_pause_task), (gst_pad_stop_task):
8668         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8669         (gst_element_request_pad), (gst_pad_proxy_getcaps):
8670         Fix name lookup in GstBin.
8671         Added _data_replace() function and _buffer_replace()
8672         Use finalize method to clean up clock.
8673         Fix refcounting on request pads.
8674         Fix pad schedule mode error.
8675         Some more object refcounting debug info,
8676
8677
8678 2005-05-04  Andy Wingo <wingo@pobox.com>
8679
8680         * check/Makefile.am:
8681         * docs/gst/tmpl/gstatomic.sgml:
8682         * docs/gst/tmpl/gstplugin.sgml:
8683         * gst/base/gstbasesink.c: (gst_basesink_activate):
8684         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
8685         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
8686         (gst_basesrc_query), (gst_basesrc_set_property),
8687         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
8688         (gst_basesrc_activate):
8689         * gst/base/gstbasesrc.h:
8690         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
8691         (gst_base_transform_src_activate):
8692         * gst/elements/gstelements.c:
8693         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8694         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
8695         * gst/elements/gsttee.c: (gst_tee_sink_activate):
8696         * gst/elements/gsttypefindelement.c: (find_element_get_length),
8697         (gst_type_find_element_checkgetrange),
8698         (gst_type_find_element_activate):
8699         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
8700         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
8701         (gst_caps_load_thyself):
8702         * gst/gstelement.c: (gst_element_pads_activate),
8703         (gst_element_save_thyself), (gst_element_restore_thyself):
8704         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
8705         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
8706         * gst/gstpad.h:
8707         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
8708         (gst_xml_parse_file), (gst_xml_parse_memory),
8709         (gst_xml_get_element), (gst_xml_make_element):
8710         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8711         (_file_index_id_save_xml), (gst_file_index_commit):
8712         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
8713         (read_enum), (load_pad_template), (load_feature), (load_plugin),
8714         (load_paths):
8715         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
8716         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
8717         * tools/gst-complete.c: (main):
8718         * tools/gst-compprep.c: (main):
8719         * tools/gst-inspect.c: (print_element_properties_info):
8720         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
8721         * tools/gst-xmlinspect.c: (print_element_properties):
8722         GCC 4 fixen.
8723         
8724 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8725
8726         * gst/gstplugin.c: (gst_plugin_check_module),
8727         (gst_plugin_check_file), (gst_plugin_load_file):
8728             apply patch from #172526 to make register work on MacOSX
8729
8730 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8731
8732         * docs/gst/tmpl/gstconfig.sgml:
8733         * gst/gstconfig.h.in:
8734           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
8735         * testsuite/debug/printf_extension.c: (main):
8736           Do not use GST_PTR_FORMAT on pointers to types with
8737           sizeof < sizeof(gpointer).  Fixes test on 64-bit
8738         * testsuite/elements/property.h:
8739           use correct printf format
8740
8741 2005-05-02  Wim Taymans  <wim@fluendo.com>
8742
8743         * docs/design/draft-push-pull.txt:
8744         * docs/design/draft-query.txt:
8745         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
8746         (gst_basesrc_start):
8747         Added draft for new query API.
8748         Added draft for better selecting scheduling methods.
8749         Make basesrc ignore length if the subclass does not support
8750         it.
8751
8752 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8753
8754         * gst/Makefile.am:
8755           possible fixes for automake-1.5 - _LIBADD is reserved
8756
8757 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8758
8759         * docs/faq/Makefile.am:
8760         * docs/manual/Makefile.am:
8761         * docs/manuals.mak:
8762         * docs/pwg/Makefile.am:
8763         * gst/Makefile.am:
8764           possible fixes for automake-1.5
8765
8766 2005-04-28  Wim Taymans  <wim@fluendo.com>
8767
8768         * gst/base/gstbasesink.c: (gst_basesink_base_init),
8769         (gst_basesink_pad_getcaps), (gst_basesink_init),
8770         (gst_basesink_do_sync):
8771         * gst/gstclock.c: (gst_clock_entry_new):
8772         * gst/gstevent.c: (gst_event_discont_get_value):
8773         * gst/gstpipeline.c: (pipeline_bus_handler),
8774         (gst_pipeline_change_state):
8775         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8776         Better debugging of clocking info.
8777         Allow NULL values when getting discont values.
8778
8779 2005-04-27  Wim Taymans  <wim@fluendo.com>
8780
8781         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
8782         * check/gst/gstpad.c: (gst_pad_suite):
8783         Increase timeout for checks.
8784
8785 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8786
8787         * check/Makefile.am:
8788           fix the broken rule for cleanup.  Apparently this rule is
8789           only needed on FC2, so maybe this warrants further autotool
8790           inspection.
8791
8792 2005-04-26  Wim Taymans  <wim@fluendo.com>
8793
8794         * gst/gsttrashstack.h:
8795         Ooohh. a nasty one! After having a failed pop() from the stack,
8796         it's possible that the stack is empty. In that case, don't
8797         follow the NULL pointer.
8798
8799 2005-04-25  Wim Taymans  <wim@fluendo.com>
8800
8801         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8802         (gst_pad_set_checkgetrange_function),
8803         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
8804         (gst_pad_check_pull_range), (gst_pad_pull_range),
8805         (gst_static_pad_template_get_caps), (gst_pad_start_task),
8806         (gst_pad_pause_task), (gst_pad_stop_task):
8807         * gst/gstplugin.c: (gst_plugin_load):
8808         * gst/gstplugin.h:
8809         Remove gst_library_load as it does more harm than good with
8810         the new g_module flags.
8811         Revert bogus caps template check in pad linking, pad caps
8812         are important when linking not the template, which is more
8813         general than the current caps.
8814
8815 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8816
8817         * gst/autoplug/.cvsignore:
8818         * gst/autoplug/Makefile.am:
8819         * gst/autoplug/gstsearchfuncs.c:
8820         * gst/autoplug/gstsearchfuncs.h:
8821         * gst/autoplug/gstspider.c:
8822         * gst/autoplug/gstspider.h:
8823         * gst/autoplug/gstspideridentity.c:
8824         * gst/autoplug/gstspideridentity.h:
8825         * gst/autoplug/spidertest.c:
8826           Die, spider, die.
8827
8828 2005-04-25  Wim Taymans  <wim@fluendo.com>
8829
8830         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8831         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
8832         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
8833         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
8834         * gst/gstpad.h:
8835         Added stubs for unimplemented functions. 
8836
8837 2005-04-24  David Schleef  <ds@schleef.org>
8838
8839         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
8840         please fix.
8841
8842 2005-04-24  David Schleef  <ds@schleef.org>
8843
8844         Convert everything from GstAtomicInt to g_atomic_int_*, and
8845         remove gstatomic.
8846         * gst/Makefile.am:
8847         * gst/gstatomic.c:
8848         * gst/gstatomic.h:
8849         * gst/gstatomic_impl.h:
8850         * gst/gstbuffer.c:
8851         * gst/gstcaps.c:
8852         * gst/gstcaps.h:
8853         * gst/gstclock.c:
8854         * gst/gstclock.h:
8855         * gst/gstdata.c:
8856         * gst/gstdata.h:
8857         * gst/gstdata_private.h:
8858         * gst/gstevent.c:
8859         * gst/gstinfo.c:
8860         * gst/gstinfo.h:
8861         * gst/gstmessage.c:
8862         * gst/gstobject.c:
8863         * gst/gstobject.h:
8864         * gst/gststructure.c:
8865         * gst/gststructure.h:
8866         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
8867         * gst/gstutils.h:
8868
8869 2005-04-24  David Schleef  <ds@schleef.org>
8870
8871         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
8872         make the regressions tests work.  Remove some code that is no
8873         longer true.
8874         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
8875         Disable warning for pads without templates.
8876
8877 2005-04-24  David Schleef  <ds@schleef.org>
8878
8879         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
8880         functions that handle filtered links.
8881         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
8882         removed functions.
8883         * gst/gstutils.c: Fix/remove utility functions that handle
8884         filtered caps.
8885         * gst/gstutils.h:
8886         * gst/gstvalue.c: Add serialization/deserialization of caps
8887         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
8888         requires fixing so that the filter caps notation creates
8889         a capsfilter element and sets the filter_caps property.  I
8890         think everyone probably wants to keep the shorthand notation.
8891         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
8892         * docs/gst/tmpl/gstpad.sgml:
8893
8894         * gst/elements/gstelements.c: Register capsfilter element.
8895         * gst/Makefile.am: fix spacing
8896         * docs/random/ds/0.9-suggested-changes: random
8897
8898 2005-04-23  David Schleef  <ds@schleef.org>
8899
8900         * gst/elements/Makefile.am:
8901         * gst/elements/gstcapsfilter.c: New element that acts like an
8902         identity, but filters caps.  Will eventually replace filtered
8903         caps in pad linking.
8904         * gst/gstutils.c: (gst_element_create_all_pads): New function
8905         to create all the ALWAYS pads that are registered with an
8906         element class.  This functionality should eventually be
8907         merged in with GstElement initialization.
8908         * gst/gstutils.h:
8909         * testsuite/trigger/README: part of trigger test code that should
8910         have been checked in a long time ago.
8911
8912 2005-04-23  David Schleef  <ds@schleef.org>
8913
8914         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
8915         needed with new versions of libtool (nobody will confirm this),
8916         and hard to carry around.
8917         * gst/autoplug/Makefile.am:
8918         * gst/base/Makefile.am:
8919         * gst/elements/Makefile.am:
8920         * gst/indexers/Makefile.am:
8921         * gst/schedulers/Makefile.am:
8922         * libs/gst/bytestream/Makefile.am:
8923         * libs/gst/control/Makefile.am:
8924         * libs/gst/dataprotocol/Makefile.am:
8925         * libs/gst/getbits/Makefile.am:
8926
8927 2005-04-21  Wim Taymans  <wim@fluendo.com>
8928
8929         * docs/design/draft-push-pull.txt:
8930         * docs/design/part-MT-refcounting.txt:
8931         * docs/design/part-TODO.txt:
8932         * docs/design/part-caps.txt:
8933         * docs/design/part-events.txt:
8934         * docs/design/part-gstbus.txt:
8935         * docs/design/part-gstpipeline.txt:
8936         * docs/design/part-messages.txt:
8937         * docs/design/part-push-pull.txt:
8938         * docs/design/part-query.txt:
8939         Some more docs.
8940
8941 2005-04-21  Wim Taymans  <wim@fluendo.com>
8942
8943         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
8944         (gst_message_new), (gst_message_new_error),
8945         (gst_message_new_warning), (gst_message_new_tag),
8946         (gst_message_new_state_changed), (gst_message_new_application),
8947         (gst_message_get_structure):
8948         * gst/gstmessage.h:
8949         * gst/gststructure.c: (gst_structure_set_parent_refcount),
8950         (gst_structure_copy_conditional):
8951         Use parent refcount in GstMessage to ensure GstStructure
8952         consistency.
8953         Cleaned up headers a bit.
8954         
8955
8956 2005-04-20  Wim Taymans  <wim@fluendo.com>
8957
8958         * gst/base/gstbasesink.c: (gst_basesink_base_init),
8959         (gst_basesink_pad_getcaps), (gst_basesink_init),
8960         (gst_basesink_chain_unlocked):
8961         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
8962         (gst_type_find_helper):
8963         * gst/elements/gsttypefindelement.c:
8964         (gst_type_find_element_have_type), (gst_type_find_element_init),
8965         (stop_typefinding), (gst_type_find_element_handle_event),
8966         (find_suggest), (gst_type_find_element_chain),
8967         (gst_type_find_element_checkgetrange),
8968         (gst_type_find_element_getrange), (do_typefind),
8969         (gst_type_find_element_activate):
8970         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8971         (gst_buffer_default_free), (gst_buffer_default_copy),
8972         (gst_buffer_set_caps):
8973         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
8974         (gst_caps_replace):
8975         * gst/gstmessage.c: (gst_message_new),
8976         (gst_message_new_state_changed):
8977         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8978         (gst_pad_set_checkgetrange_function),
8979         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
8980         (gst_pad_set_caps), (gst_pad_check_pull_range),
8981         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
8982         * gst/gstpad.h:
8983         * gst/gsttypefind.c: (gst_type_find_register):
8984         Make gst_caps_replace() work like other _replace() functions.
8985         Use _caps_replace() where possible.
8986         Make sure _message_new() initialises its field.
8987         Add gst_static_pad_template_get_caps()
8988
8989
8990 2005-04-18  Andy Wingo  <wingo@pobox.com>
8991
8992         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
8993         on the peer, not the pad. I think that was a typo. Pass an extra
8994         arg to see if random access is possible. Activate the pads as
8995         PULL_RANGE if possible.
8996
8997         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
8998
8999         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
9000         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
9001         to PROP_....
9002
9003 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9004
9005         * docs/faq/using.xml:
9006           Add note on gstreamer-properties (#154996).
9007
9008 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9009
9010         * docs/random/bbb/optional-properties:
9011           Some analysis on optional properties.
9012
9013 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9014
9015         * docs/gst/tmpl/gstelementfactory.sgml:
9016         * gst/gstelement.h:
9017         * gst/gstelementfactory.c: (gst_element_factory_init),
9018         (gst_element_factory_cleanup), (gst_element_register),
9019         (__gst_element_factory_add_static_pad_template),
9020         (gst_element_factory_get_static_pad_templates),
9021         (gst_element_factory_can_src_caps),
9022         (gst_element_factory_can_sink_caps):
9023         * gst/registries/Makefile.am:
9024         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
9025         (gst_xml_registry_class_init), (gst_xml_registry_init),
9026         (gst_xml_registry_new), (gst_xml_registry_set_property),
9027         (gst_xml_registry_get_property), (get_time), (make_dir),
9028         (gst_xml_registry_get_perms_func),
9029         (plugin_times_older_than_recurse), (plugin_times_older_than),
9030         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
9031         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
9032         (add_to_char_array), (read_string), (read_uint), (read_enum),
9033         (load_pad_template), (load_feature), (load_plugin), (load_paths),
9034         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
9035         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
9036         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
9037         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
9038         (gst_xml_registry_rebuild):
9039         * gst/registries/gstlibxmlregistry.h:
9040         * tools/gst-compprep.c: (main):
9041         * tools/gst-inspect.c: (print_pad_templates_info):
9042         * tools/gst-xmlinspect.c: (print_element_info):
9043           Use libxml2 for registry parsing, use staticpadtemplates in
9044           elementfactories. Makes gst_init() +/- 10x faster.
9045
9046 2005-04-12  Wim Taymans  <wim@fluendo.com>
9047
9048         * gst/base/Makefile.am:
9049         * gst/base/gstbasesink.c: (gst_basesink_base_init),
9050         (gst_basesink_pad_getcaps), (gst_basesink_init),
9051         (gst_basesink_event), (gst_basesink_change_state):
9052         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
9053         (gst_basesrc_init), (gst_basesrc_query),
9054         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
9055         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
9056         (gst_basesrc_check_get_range), (gst_basesrc_loop),
9057         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
9058         (gst_basesrc_stop), (gst_basesrc_activate),
9059         (gst_basesrc_change_state):
9060         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9061         (helper_find_suggest), (gst_type_find_helper):
9062         * gst/base/gsttypefindhelper.h:
9063         * gst/elements/Makefile.am:
9064         * gst/elements/gstelements.c:
9065         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
9066         (gst_fakesink_get_times), (gst_fakesink_event),
9067         (gst_fakesink_preroll), (gst_fakesink_render):
9068         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9069         (gst_fakesrc_init), (gst_fakesrc_event_handler),
9070         (gst_fakesrc_get_property), (gst_fakesrc_create),
9071         (gst_fakesrc_start), (gst_fakesrc_stop):
9072         * gst/elements/gstfakesrc.h:
9073         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
9074         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
9075         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
9076         (gst_filesrc_create_read), (gst_filesrc_create),
9077         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
9078         (gst_filesrc_start):
9079         * gst/elements/gsttypefindelement.c:
9080         (gst_type_find_element_have_type), (gst_type_find_element_init),
9081         (start_typefinding), (stop_typefinding), (push_buffer_store),
9082         (gst_type_find_element_handle_event),
9083         (gst_type_find_element_chain),
9084         (gst_type_find_element_checkgetrange),
9085         (gst_type_find_element_getrange), (do_typefind),
9086         (gst_type_find_element_activate),
9087         (gst_type_find_element_change_state):
9088         * gst/elements/gsttypefindelement.h:
9089         * gst/gstpipeline.c: (pipeline_bus_handler):
9090         Added typefind helper.
9091         Small preroll fix in the base sink.
9092         Disable typefind code in basesrc.
9093         Crude port of typefindelement.
9094         Fakesrc cleanups.
9095
9096
9097 2005-04-11  Wim Taymans  <wim@fluendo.com>
9098
9099         * check/gst/gstbus.c: (gstbus_suite):
9100         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
9101         * check/gstcheck.h:
9102           Fix up the timeout so that the test does not fail.
9103
9104 2005-04-06  Wim Taymans  <wim@fluendo.com>
9105
9106         * gst/base/README:
9107         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
9108         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
9109         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
9110         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
9111         (gst_basesrc_check_get_range), (gst_basesrc_loop),
9112         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
9113         (gst_basesrc_stop), (gst_basesrc_activate),
9114         (gst_basesrc_change_state), (basesrc_find_peek),
9115         (basesrc_find_suggest), (gst_basesrc_type_find):
9116         * gst/base/gstbasesrc.h:
9117         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
9118         (gst_filesrc_class_init), (gst_filesrc_init),
9119         (gst_filesrc_finalize), (gst_filesrc_set_location),
9120         (gst_filesrc_set_property), (gst_filesrc_get_property),
9121         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
9122         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
9123         (gst_filesrc_create_read), (gst_filesrc_create),
9124         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
9125         * gst/elements/gstfilesrc.h:
9126         * gst/gstelement.c: (gst_element_get_state_func),
9127         (gst_element_lost_state), (gst_element_pads_activate):
9128         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9129         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
9130         (gst_pad_pull_range):
9131         * gst/gstpad.h:
9132         More work on the generic source base class, implement seeking,
9133         query.
9134         Make filesrc extend the base source class.
9135         Added gst_pad_set_checkgetrange_function to GstPad.
9136
9137 2005-04-06  Andy Wingo  <wingo@pobox.com>
9138
9139         * pkgconfig/gstreamer-base.pc.in:
9140         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
9141
9142         * pkgconfig/Makefile.am:
9143         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
9144
9145 2005-04-04  Wim Taymans  <wim@fluendo.com>
9146
9147         * gst/base/Makefile.am:
9148         * gst/base/README:
9149         * gst/base/gstbasesink.c: (gst_basesink_base_init),
9150         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
9151         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
9152         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
9153         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
9154         (gst_basesrc_base_init), (gst_basesrc_class_init),
9155         (gst_basesrc_init), (gst_basesrc_get_formats),
9156         (gst_basesrc_get_query_types), (gst_basesrc_query),
9157         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
9158         (gst_basesrc_set_property), (gst_basesrc_get_property),
9159         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
9160         (gst_basesrc_loop), (gst_basesrc_activate),
9161         (gst_basesrc_change_state):
9162         * gst/base/gstbasesrc.h:
9163         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
9164         (gst_fakesrc_class_init), (gst_fakesrc_init),
9165         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
9166         (gst_fakesrc_get_property), (gst_fakesrc_create):
9167         * gst/elements/gstfakesrc.h:
9168         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
9169         (gst_filesrc_open_file), (gst_filesrc_loop),
9170         (gst_filesrc_activate), (filesrc_find_peek),
9171         (gst_filesrc_type_find):
9172         Made base source class, make fakesrc extend it.
9173         Add comments to basesink class.
9174         Some filesrc cleanup.
9175
9176 2005-03-31  David Schleef  <ds@schleef.org>
9177
9178         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
9179         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
9180         expected to link against libgstreamer.
9181         * gst/base/Makefile.am: link against libgstreamer
9182         * gst/elements/Makefile.am: same
9183
9184 2005-03-31  Andy Wingo  <wingo@pobox.com>
9185
9186         * tests/instantiate/Makefile.am:
9187         * tests/instantiate/caps.c: Add test to test speed of caps copy
9188         and free.
9189
9190         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
9191         GMemChunk to be fair.
9192
9193         * gst/gsttrashstack.h: Remove warning about using the fallback
9194         trash stack implementation, it's still faster than malloc.
9195
9196 2005-03-30  Andy Wingo  <wingo@pobox.com>
9197
9198         * tests/complexity.c: Add a copyright.
9199
9200 2005-03-31  Wim Taymans  <wim@fluendo.com>
9201
9202         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
9203         (gst_base_transform_class_init), (gst_base_transform_init),
9204         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
9205         (gst_base_transform_get_property),
9206         (gst_base_transform_sink_activate),
9207         (gst_base_transform_src_activate),
9208         (gst_base_transform_change_state):
9209         * gst/base/gstbasetransform.h:
9210         * gst/elements/gstidentity.c: (gst_identity_class_init),
9211         (gst_identity_event), (gst_identity_check_perfect),
9212         (gst_identity_transform), (gst_identity_start),
9213         (gst_identity_stop):
9214         Added start/stop methods to transform base class so subclasses 
9215         don't need to deal with state changes even.
9216
9217 2005-03-31  Wim Taymans  <wim@fluendo.com>
9218
9219         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
9220         (gst_event_new_discontinuous), (gst_event_discont_get_value):
9221         * gst/gstevent.h:
9222         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9223         (gst_pad_pull_range):
9224         Added rate to the discont event to prepare for variable speed
9225         and reverse playback.
9226
9227 2005-03-29  David Schleef  <ds@schleef.org>
9228
9229         * configure.ac:
9230         * testsuite/trigger/Makefile.am:
9231         * testsuite/trigger/trigger.c: A little example program to show
9232         how trigger-based elements can work.
9233
9234 2005-03-29  Wim Taymans  <wim@fluendo.com>
9235
9236         * gst/base/Makefile.am:
9237         * gst/base/README:
9238         * gst/base/gstbasesink.c: (gst_basesink_get_type),
9239         (gst_basesink_base_init), (gst_basesink_class_init),
9240         (gst_basesink_pad_getcaps), (gst_basesink_init),
9241         (gst_basesink_activate), (gst_basesink_change_state):
9242         * gst/base/gstbasesink.h:
9243         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
9244         (gst_base_transform_base_init), (gst_base_transform_finalize),
9245         (gst_base_transform_class_init), (gst_base_transform_init),
9246         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
9247         (gst_base_transform_event), (gst_base_transform_getrange),
9248         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
9249         (gst_base_transform_set_property),
9250         (gst_base_transform_get_property),
9251         (gst_base_transform_sink_activate),
9252         (gst_base_transform_src_activate),
9253         (gst_base_transform_change_state):
9254         * gst/base/gstbasetransform.h:
9255         * gst/elements/gstidentity.c: (gst_identity_finalize),
9256         (gst_identity_class_init), (gst_identity_init),
9257         (gst_identity_event), (gst_identity_check_perfect),
9258         (gst_identity_transform), (gst_identity_set_property),
9259         (gst_identity_get_property), (gst_identity_change_state):
9260         * gst/elements/gstidentity.h:
9261         * gst/gstelement.c: (gst_element_get_state_func),
9262         (gst_element_lost_state), (gst_element_pads_activate):
9263         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9264         (gst_pad_check_pull_range), (gst_pad_pull_range):
9265         * gst/gstpad.h:
9266         Simplify pad activation.
9267         Added function to check if pull_range can be performed.
9268         Error out when pulling inactive or flushing pads.
9269         Removed const from refcounted types as it does not make sense.
9270         Simplify pad templates in basesink
9271         Added base class for simple 1-to-1 transforms.
9272         Make identity subclass the base transform.
9273
9274 2005-03-29  Andy Wingo  <wingo@pobox.com>
9275
9276         * docs/libs/gstreamer-libs-overrides.txt: 
9277         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
9278         really don't understand what's going on, but like whatever. I want
9279         green buildbot!
9280
9281         * docs/gst/Makefile.am:
9282         * docs/libs/Makefile.am: Dist the overrides files.
9283
9284         * check/Makefile.am (clean-local): Remove .libs directories.
9285
9286         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
9287         elements to EXTRA_DIST, so po/ files are happy.
9288
9289         * po/POTFILES.in: Er, remove it here.
9290
9291         * po/POTFILES: Remove gstspider.c.
9292
9293         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
9294
9295         * docs/libs/gstreamer-libs-docs.sgml: 
9296         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
9297         bytestream.
9298
9299         * tests/complexity.c (main): Set the length of the preroll queue
9300         on the sinks to prevent a lockup.
9301
9302         * libs/gst/dataprotocol/Makefile.am: 
9303         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
9304         the same as the one in check/gst-libs/gdp.c.
9305
9306         * po/, docs/gst/: Commit automatic changes to docs and po files.
9307
9308         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
9309         the versioned libgstbase.
9310
9311         * check/Makefile.am: Depend on an unversioned gst-register, seems
9312         to make autoconf happier.
9313
9314         * gst/base/Makefile.am: Make libgstbase a versioned lib.
9315
9316 2005-03-28  Wim Taymans  <wim@fluendo.com>
9317
9318         * configure.ac:
9319         * docs/design/part-gstelement.txt:
9320         * docs/design/part-negotiation.txt:
9321         * docs/design/part-preroll.txt:
9322         * docs/design/part-scheduling.txt:
9323         * docs/design/part-states.txt:
9324         * gst/Makefile.am:
9325         * gst/base/Makefile.am:
9326         * gst/base/README:
9327         * gst/base/gstbasesink.c: (gst_basesink_get_template),
9328         (gst_basesink_base_init), (gst_basesink_class_init),
9329         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
9330         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
9331         (gst_basesink_set_pad_functions),
9332         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
9333         (gst_basesink_set_property), (gst_basesink_get_property),
9334         (gst_base_sink_get_template), (gst_base_sink_get_caps),
9335         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
9336         (gst_basesink_preroll_queue_push),
9337         (gst_basesink_preroll_queue_empty),
9338         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
9339         (gst_basesink_event), (gst_basesink_get_times),
9340         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
9341         (gst_basesink_chain_unlocked), (gst_basesink_chain),
9342         (gst_basesink_loop), (gst_basesink_activate),
9343         (gst_basesink_change_state):
9344         * gst/base/gstbasesink.h:
9345         * gst/elements/Makefile.am:
9346         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
9347         (gst_fakesink_class_init), (gst_fakesink_init),
9348         (gst_fakesink_set_property), (gst_fakesink_get_property),
9349         (gst_fakesink_get_times), (gst_fakesink_event),
9350         (gst_fakesink_preroll), (gst_fakesink_render),
9351         (gst_fakesink_change_state):
9352         * gst/elements/gstfakesink.h:
9353         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
9354         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
9355         * gst/gstelement.c: (gst_element_add_pad),
9356         (gst_element_get_state_func), (gst_element_abort_state),
9357         (gst_element_commit_state), (gst_element_lost_state),
9358         (gst_element_set_state), (gst_element_pads_activate):
9359         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
9360         * gst/gstpipeline.c: (gst_pipeline_send_event),
9361         (gst_pipeline_change_state):
9362         Added state change code.
9363         Added/updated docs.
9364         Added sink base class, make fakesink extend the base class.
9365         Small cleanups in GstPipeline.
9366
9367 2005-03-26  David Schleef  <ds@schleef.org>
9368
9369         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
9370         is broken and should be implemented in a different library.
9371         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
9372         * gst/gst.h: remove gstcpu.h
9373         * gst/gstcpu.c: remove
9374         * gst/gstcpu.h: remove
9375         * gst/Makefile.am.future: Remove this file.  It's ancient.
9376
9377 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9378
9379         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
9380         (gst_bin_send_event):
9381           Add default event/set_manager handlers. The set_manager handler
9382           takes care that the manager is distributed over kids that were
9383           already in the bin before the manager was set. The event handler
9384           is a utility virtual function that sends the event over all sinks,
9385           so that gst_element_send_event (bin, event); has the expected
9386           behaviour.
9387         * gst/gstpad.c: (gst_pad_event_default):
9388           Re-install default event handling for discontinuities, so that
9389           seeking works without requiring hacks in applications or extra
9390           code in sinks.
9391         * gst/gstpipeline.c: (gst_pipeline_class_init),
9392         (gst_pipeline_send_event):
9393           Half hack, half utility: set a pipeline to PAUSED for seek events,
9394           since that is the only way we can guarantee a/v sync. Means that
9395           you can do gst_element_seek (pipeline, method, pos); on a pipeline
9396           and it "just works".
9397
9398 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9399
9400         * gst/gstpipeline.c: (gst_pipeline_use_clock):
9401           Lock/unlock mismatch.
9402
9403 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9404
9405         * docs/faq/gst-uninstalled:
9406           add gst-plugins-base
9407         * docs/gst/Makefile.am:
9408           don't error out until docs are fixed
9409         * docs/gst/gstreamer.types:
9410           remove thread
9411
9412 2005-03-22  Wim Taymans  <wim@fluendo.com>
9413
9414         * check/Makefile.am:
9415         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
9416         * gst/gststructure.c: (gst_structure_set_valist),
9417         (gst_structure_copy_conditional):
9418         Activated more tests.
9419         Added message test.
9420         Added G_TYPE_POINTER to GstStructure.
9421         
9422
9423 2005-03-22  Wim Taymans  <wim@fluendo.com>
9424
9425         * docs/design/part-TODO.txt:
9426         * docs/design/part-events.txt:
9427         * docs/design/part-gstbin.txt:
9428         * docs/design/part-gstbus.txt:
9429         * docs/design/part-gstpipeline.txt:
9430         * docs/design/part-messages.txt:
9431         * gst/gstbus.c:
9432         * gst/gstmessage.c:
9433         Docs updates
9434
9435 2005-03-21  Wim Taymans  <wim@fluendo.com>
9436
9437         * gst/gstbus.c: (gst_bus_post):
9438         Fix copy-and-paste error.
9439
9440 2005-03-21  Wim Taymans  <wim@fluendo.com>
9441
9442         * check/Makefile.am:
9443         * gst/Makefile.am:
9444         * gst/elements/Makefile.am:
9445         * gst/elements/gstelements.c:
9446         * gst/elements/gstfakesink.c: (gst_fakesink_init),
9447         (gst_fakesink_event), (gst_fakesink_chain):
9448         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9449         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
9450         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
9451         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
9452         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9453         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
9454         (gst_fakesrc_loop), (gst_fakesrc_activate),
9455         (gst_fakesrc_change_state):
9456         * gst/elements/gstfakesrc.h:
9457         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9458         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
9459         (gst_filesrc_open_file), (gst_filesrc_loop),
9460         (gst_filesrc_activate), (gst_filesrc_change_state),
9461         (filesrc_find_peek), (filesrc_find_suggest),
9462         (gst_filesrc_type_find):
9463         * gst/elements/gstidentity.c: (gst_identity_finalize),
9464         (gst_identity_class_init), (gst_identity_init),
9465         (gst_identity_proxy_getcaps), (identity_queue_push),
9466         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
9467         (gst_identity_getrange), (gst_identity_chain),
9468         (gst_identity_sink_loop), (gst_identity_src_loop),
9469         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
9470         (gst_identity_set_property), (gst_identity_get_property),
9471         (gst_identity_change_state):
9472         * gst/elements/gstidentity.h:
9473         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
9474         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
9475         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
9476         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
9477         (gst_tee_sink_activate):
9478         * gst/elements/gsttee.h:
9479         * gst/gst.c: (gst_register_core_elements), (init_post):
9480         * gst/gst.h:
9481         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
9482         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
9483         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
9484         (gst_bin_change_state):
9485         * gst/gstbin.h:
9486         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
9487         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
9488         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
9489         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
9490         (gst_bus_set_sync_handler), (gst_bus_create_watch),
9491         (bus_watch_callback), (bus_watch_destroy),
9492         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
9493         (poll_timeout), (gst_bus_poll):
9494         * gst/gstbus.h:
9495         * gst/gstcaps.h:
9496         * gst/gstdata.h:
9497         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
9498         (gst_element_post_message), (gst_element_message_full),
9499         (gst_element_get_state_func), (gst_element_get_state),
9500         (gst_element_abort_state), (gst_element_commit_state),
9501         (gst_element_lost_state), (gst_element_set_state),
9502         (gst_element_pads_activate), (gst_element_change_state),
9503         (gst_element_dispose), (gst_element_set_manager_func),
9504         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
9505         (gst_element_set_manager), (gst_element_get_manager),
9506         (gst_element_set_bus), (gst_element_get_bus),
9507         (gst_element_set_scheduler), (gst_element_get_scheduler):
9508         * gst/gstelement.h:
9509         * gst/gstevent.c: (gst_event_new_segment_seek),
9510         (gst_event_new_flush):
9511         * gst/gstevent.h:
9512         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
9513         (_gst_message_free), (gst_message_get_type), (gst_message_new),
9514         (gst_message_new_eos), (gst_message_new_error),
9515         (gst_message_new_warning), (gst_message_new_tag),
9516         (gst_message_new_state_changed), (gst_message_new_application),
9517         (gst_message_get_structure), (gst_message_parse_tag),
9518         (gst_message_parse_state_changed), (gst_message_parse_error),
9519         (gst_message_parse_warning):
9520         * gst/gstmessage.h:
9521         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
9522         (gst_real_pad_set_property), (gst_pad_set_active),
9523         (gst_pad_is_active), (gst_pad_set_blocked_async),
9524         (gst_pad_set_blocked), (gst_pad_is_blocked),
9525         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
9526         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
9527         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
9528         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
9529         (gst_pad_link_filtered), (gst_pad_relink_filtered),
9530         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
9531         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
9532         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
9533         (gst_pad_set_caps), (gst_pad_configure_sink),
9534         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
9535         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
9536         (gst_real_pad_dispose), (gst_real_pad_finalize),
9537         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
9538         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9539         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
9540         * gst/gstpad.h:
9541         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
9542         (pipeline_bus_handler), (gst_pipeline_change_state),
9543         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
9544         * gst/gstpipeline.h:
9545         * gst/gstprobe.h:
9546         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9547         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
9548         (gst_queue_link_src), (gst_queue_bufferalloc),
9549         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
9550         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
9551         (gst_queue_loop), (gst_queue_handle_src_event),
9552         (gst_queue_handle_src_query), (gst_queue_src_activate),
9553         (gst_queue_change_state):
9554         * gst/gstqueue.h:
9555         * gst/gstscheduler.c: (gst_scheduler_init),
9556         (gst_scheduler_dispose), (gst_scheduler_create_task),
9557         (gst_scheduler_factory_create):
9558         * gst/gstscheduler.h:
9559         * gst/gststructure.c: (gst_structure_get_type),
9560         (gst_structure_copy_conditional):
9561         * gst/gststructure.h:
9562         * gst/gsttaginterface.h:
9563         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9564         (gst_task_init), (gst_task_dispose), (gst_task_create),
9565         (gst_task_get_state), (gst_task_start), (gst_task_stop),
9566         (gst_task_pause):
9567         * gst/gsttask.h:
9568         * gst/gstthread.c:
9569         * gst/gstthread.h:
9570         * gst/gsttypes.h:
9571         * gst/schedulers/Makefile.am:
9572         * gst/schedulers/cothreads_compat.h:
9573         * gst/schedulers/entryscheduler.c:
9574         * gst/schedulers/faircothreads.c:
9575         * gst/schedulers/faircothreads.h:
9576         * gst/schedulers/fairscheduler.c:
9577         * gst/schedulers/gstbasicscheduler.c:
9578         * gst/schedulers/gstoptimalscheduler.c:
9579         * gst/schedulers/gthread-cothreads.h:
9580         * gst/schedulers/threadscheduler.c:
9581         (gst_thread_scheduler_task_get_type),
9582         (gst_thread_scheduler_task_class_init),
9583         (gst_thread_scheduler_task_init),
9584         (gst_thread_scheduler_task_start),
9585         (gst_thread_scheduler_task_stop),
9586         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
9587         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9588         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
9589         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
9590         (plugin_init):
9591         * libs/gst/Makefile.am:
9592         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
9593         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
9594         (gst_file_pad_parent_set):
9595         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9596         (gst_dp_event_from_packet):
9597         * tests/complexity.c: (main):
9598         * tests/mass_elements.c: (main):
9599         * testsuite/states/locked.c: (message_received), (main):
9600         * testsuite/states/parent.c: (main):
9601         * tools/gst-inspect.c: (print_element_flag_info),
9602         (print_implementation_info), (print_pad_info):
9603         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
9604         (main):
9605         * tools/gst-md5sum.c: (event_loop), (main):
9606         * tools/gst-typefind.c: (main):
9607         * tools/gst-xmlinspect.c: (print_element_info):
9608         Next big merge.
9609         Added GstBus for mainloop integration.
9610         Added GstMessage for sending notifications on the bus.
9611         Added GstTask as an abstraction for pipeline entry points.
9612         Removed GstThread.
9613         Removed Schedulers.
9614         Simplified GstQueue for multithreaded core.
9615         Made _link threadsafe, removed old capsnego.
9616         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
9617         Added pad blocking functions.
9618         Reworked scheduling functions in GstPad to prepare for
9619         scheduling updates soon.
9620         Moved events out of data stream.
9621         Simplified GstEvent types.
9622         Added return values to push/pull.
9623         Removed clocking from GstElement.
9624         Added prototypes for state change function for next merge.
9625         Removed iterate from bins and state change management.
9626         Fixed some elements, disabled others for now.
9627         Fixed -inspect and -launch.
9628         Added check for GstBus.
9629
9630 2005-03-10  Wim Taymans  <wim@fluendo.com>
9631
9632         * docs/design/part-MT-refcounting.txt:
9633         * docs/design/part-clocks.txt:
9634         * docs/design/part-gstelement.txt:
9635         * docs/design/part-gstobject.txt:
9636         * docs/design/part-standards.txt:
9637         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
9638         (gst_bin_remove_func), (gst_bin_remove):
9639         * gst/gstbin.h:
9640         * gst/gstbuffer.c:
9641         * gst/gstcaps.h:
9642         * testsuite/clock/clock1.c: (main):
9643         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
9644         (main):
9645         * testsuite/dlopen/loadgst.c: (do_test):
9646         * testsuite/refcounting/bin.c: (add_remove_test1),
9647         (add_remove_test2), (main):
9648         * testsuite/refcounting/element.c: (main):
9649         * testsuite/refcounting/element_pad.c: (main):
9650         * testsuite/refcounting/pad.c: (main):
9651         * tools/gst-launch.c: (sigint_handler_sighandler):
9652         * tools/gst-typefind.c: (main):
9653         Doc updates.
9654         Added doc about clock.
9655         removed gst_bin_iterate_recurse_up(), marked methods
9656         for removal.
9657         Fix more testsuites.
9658
9659 2005-03-09  Wim Taymans  <wim@fluendo.com>
9660
9661         * gst/gstpad.c: (gst_pad_get_direction),
9662         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
9663         (gst_pad_collect_valist):
9664         * testsuite/bins/interface.c: (main):
9665         * testsuite/caps/audioscale.c: (test_caps):
9666         * testsuite/caps/caps.c: (test1), (test2), (test3):
9667         * testsuite/caps/deserialize.c: (main):
9668         * testsuite/caps/enumcaps.c: (main):
9669         * testsuite/caps/filtercaps.c: (main):
9670         * testsuite/caps/intersect2.c: (main):
9671         * testsuite/caps/random.c: (main):
9672         * testsuite/caps/renegotiate.c: (my_fixate), (main):
9673         * testsuite/caps/sets.c: (check_caps):
9674         * testsuite/caps/simplify.c: (check_caps), (main):
9675         * testsuite/caps/subtract.c: (check_caps):
9676         Fix _pad_get_direction wrt ghostpads.
9677         Fix caps testsuite.
9678
9679 2005-03-09  Wim Taymans  <wim@fluendo.com>
9680
9681         * check/Makefile.am:
9682         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
9683         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
9684         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
9685         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
9686         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
9687         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
9688         (gst_bin_remove), (gst_bin_iterate_recurse_up),
9689         (bin_element_is_sink), (gst_bin_iterate_sinks),
9690         (gst_bin_iterate_all_by_interface):
9691         * gst/gstbin.h:
9692         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
9693         (gst_element_change_state), (gst_element_dispose),
9694         (gst_element_finalize), (gst_element_set_loop_function):
9695         * gst/gstelement.h:
9696         * gst/gstiterator.c: (find_custom_fold_func):
9697         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
9698         (gst_pad_collectv), (gst_pad_collect_valist),
9699         (gst_pad_template_new):
9700         * gst/gstpipeline.c: (gst_pipeline_class_init),
9701         (gst_pipeline_dispose), (gst_pipeline_set_property),
9702         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
9703         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
9704         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
9705         * gst/gstutils.h:
9706         * gst/schedulers/entryscheduler.c:
9707         * gst/schedulers/gstbasicscheduler.c:
9708         (gst_basic_scheduler_cothreaded_chain),
9709         (gst_basic_scheduler_chain_add_element):
9710         * testsuite/bins/interface.c: (main):
9711         Added GstBin test.
9712         Added GstSystemClock test.
9713         Implemented clock distribution code in GstBin.
9714         Implemented iterate sinks method for future use.
9715         Rearranged gstelement.h
9716         Fix GstIterator comparison bug.
9717         Moved some code to GstPipeline, mostly clocking related.
9718
9719 2005-03-09  Wim Taymans  <wim@fluendo.com>
9720
9721         * configure.ac:
9722         * gst/gst_private.h:
9723         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
9724         (gst_bin_remove_func), (gst_bin_remove),
9725         (gst_bin_get_by_name_recurse_up):
9726         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
9727         (gst_clock_id_compare_func), (gst_clock_id_wait),
9728         (gst_clock_id_wait_async), (gst_clock_init),
9729         (gst_clock_adjust_unlocked), (gst_clock_get_time):
9730         * gst/gstelement.h:
9731         * gst/gstinfo.c: (_gst_debug_init):
9732         * gst/gstobject.h:
9733         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
9734         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
9735         * gst/gstpad.h:
9736         Bump version number, we're now 0.9.0
9737         Add future debugging category.
9738         Fix NULL _unref() in _get_by_name_recurse_up
9739         Rearrange gstpad.h.
9740         Update some docs.
9741
9742 2005-03-08  Wim Taymans  <wim@fluendo.com>
9743
9744         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
9745         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
9746         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9747         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
9748         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
9749         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
9750         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
9751         * gst/elements/gstidentity.c: (gst_identity_class_init):
9752         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
9753         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9754         * gst/elements/gstshaper.c: (gst_shaper_class_init):
9755         * gst/elements/gststatistics.c: (gst_statistics_class_init):
9756         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
9757         (gst_tee_link):
9758         * gst/gstelement.c: (gst_element_class_init),
9759         (gst_element_base_class_init), (gst_element_init),
9760         (gst_element_get_random_pad), (gst_element_wait_state_change),
9761         (gst_element_change_state), (gst_element_dispose),
9762         (gst_element_finalize), (gst_element_set_loop_function):
9763         * gst/gstelement.h:
9764         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
9765         * gst/gstthread.c: (gst_thread_class_init),
9766         (gst_thread_release_children_locks), (gst_thread_change_state):
9767         * gst/schedulers/gstbasicscheduler.c:
9768         (gst_basic_scheduler_loopfunc_wrapper),
9769         (gst_basic_scheduler_chain_wrapper),
9770         (gst_basic_scheduler_src_wrapper),
9771         (gst_basic_scheduler_remove_element):
9772         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
9773         Remove threadsafe properties. Fix elements because GObject
9774         complains when installing a property before declaring a
9775         set/get_property handler.
9776         Rearrange gstelement.h file, use STATE macros for state locks.
9777         Free mutexes in the finalize method instead of dispose.
9778
9779 2005-03-08  Wim Taymans  <wim@fluendo.com>
9780
9781         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
9782         * gst/gstthread.c: (gst_thread_release_children_locks):
9783         Added parentage check.
9784         Fix build og GstThread again.
9785
9786 2005-03-08  Wim Taymans  <wim@fluendo.com>
9787
9788         * docs/design/part-MT-refcounting.txt:
9789         * docs/design/part-conventions.txt:
9790         * docs/design/part-gstobject.txt:
9791         * docs/design/part-relations.txt:
9792         * docs/design/part-standards.txt:
9793         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
9794         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
9795         (gst_bin_get_by_name), (gst_bin_get_by_interface),
9796         (gst_bin_iterate_all_by_interface):
9797         * gst/gstbuffer.h:
9798         * gst/gstclock.h:
9799         * gst/gstelement.c: (gst_element_class_init),
9800         (gst_element_change_state), (gst_element_set_loop_function):
9801         * gst/gstelement.h:
9802         * gst/gstiterator.c:
9803         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
9804         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
9805         (gst_object_dispatch_properties_changed), (gst_object_set_name),
9806         (gst_object_set_parent), (gst_object_unparent),
9807         (gst_object_check_uniqueness):
9808         * gst/gstobject.h:
9809         Docs updates, clean up some headers.
9810
9811 2005-03-07  Wim Taymans  <wim@fluendo.com>
9812
9813         * check/.cvsignore:
9814         * check/Makefile.am:
9815         * check/gst-libs/.cvsignore:
9816         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
9817         * check/gst/.cvsignore:
9818         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
9819         (START_TEST), (gstbus_suite), (main):
9820         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
9821         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
9822         (gst_data_suite), (main):
9823         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
9824         (add_fold_func), (gstiterator_suite), (main):
9825         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
9826         (thread_name_object), (thread_name_object_default),
9827         (gst_object_name_compare), (gst_object_suite), (main):
9828         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
9829         (gst_pad_suite), (main):
9830         * check/gstcheck.c: (gst_check_log_message_func),
9831         (gst_check_log_critical_func), (gst_check_init):
9832         * check/gstcheck.h:
9833         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
9834         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
9835         Added checks.
9836
9837 2005-03-07  Wim Taymans  <wim@fluendo.com>
9838
9839         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9840         (gst_list_iterator_next), (gst_list_iterator_resync),
9841         (gst_list_iterator_free), (gst_iterator_new_list),
9842         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
9843         (gst_iterator_free), (gst_iterator_push), (filter_next),
9844         (filter_resync), (filter_uninit), (filter_free),
9845         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
9846         (gst_iterator_foreach), (find_custom_fold_func),
9847         (gst_iterator_find_custom):
9848         * gst/gstiterator.h:
9849         Added missing files.
9850
9851 2005-03-07  Wim Taymans  <wim@fluendo.com>
9852
9853         * Makefile.am:
9854         * configure.ac:
9855         * docs/design/part-MT-refcounting.txt:
9856         * docs/design/part-conventions.txt:
9857         * docs/design/part-gstobject.txt:
9858         * docs/design/part-relations.txt:
9859         * examples/mixer/mixer.c: (main):
9860         * examples/thread/thread.c: (eos), (main):
9861         * gst/Makefile.am:
9862         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
9863         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
9864         (gst_spider_plug_from_srcpad):
9865         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
9866         (gst_spider_identity_change_state),
9867         (gst_spider_identity_sink_loop_type_finding):
9868         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
9869         * gst/elements/gstidentity.c: (gst_identity_init):
9870         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
9871         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
9872         * gst/elements/gsttypefindelement.c: (free_entry):
9873         * gst/gst.c:
9874         * gst/gst.h:
9875         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
9876         (gst_bin_set_clock_func), (gst_bin_auto_clock),
9877         (gst_bin_set_index), (gst_bin_set_element_sched),
9878         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
9879         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
9880         (gst_bin_iterate_elements), (iterate_child_recurse),
9881         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
9882         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
9883         (compare_interface), (gst_bin_get_by_interface),
9884         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
9885         * gst/gstbin.h:
9886         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
9887         (gst_buffer_default_free), (gst_buffer_default_copy),
9888         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
9889         (gst_buffer_create_sub):
9890         * gst/gstbuffer.h:
9891         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
9892         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
9893         (gst_caps_unref), (gst_static_caps_get),
9894         (gst_caps_remove_and_get_structure), (gst_caps_append),
9895         (gst_caps_append_structure), (gst_caps_remove_structure),
9896         (gst_caps_copy_nth), (gst_caps_set_simple),
9897         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
9898         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
9899         (gst_caps_structure_intersect_field), (gst_caps_intersect),
9900         (gst_caps_structure_subtract_field), (gst_caps_subtract),
9901         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
9902         (gst_caps_structure_figure_out_union),
9903         (gst_caps_switch_structures), (gst_caps_do_simplify),
9904         (gst_caps_replace), (gst_caps_from_string),
9905         (gst_caps_copy_conditional):
9906         * gst/gstcaps.h:
9907         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
9908         (_gst_clock_id_free), (gst_clock_id_unref),
9909         (gst_clock_id_compare_func), (gst_clock_id_wait),
9910         (gst_clock_id_wait_async), (gst_clock_class_init),
9911         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
9912         (gst_clock_get_time), (gst_clock_set_time_adjust),
9913         (gst_clock_set_property), (gst_clock_get_property):
9914         * gst/gstclock.h:
9915         * gst/gstcompat.h:
9916         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
9917         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
9918         * gst/gstdata.h:
9919         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
9920         (gst_element_requires_clock), (gst_element_provides_clock),
9921         (gst_element_set_clock), (gst_element_clock_wait),
9922         (gst_element_wait), (gst_element_set_time_delay),
9923         (gst_element_is_indexable), (gst_element_add_pad),
9924         (gst_element_add_ghost_pad), (gst_element_remove_pad),
9925         (pad_compare_name), (gst_element_get_static_pad),
9926         (gst_element_request_pad), (gst_element_get_request_pad),
9927         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
9928         (gst_element_class_get_pad_template_list),
9929         (gst_element_class_get_pad_template), (gst_element_error_func),
9930         (gst_element_get_random_pad), (gst_element_get_event_masks),
9931         (gst_element_send_event), (gst_element_seek),
9932         (gst_element_get_query_types), (gst_element_query),
9933         (gst_element_get_formats), (gst_element_convert),
9934         (gst_element_is_locked_state), (gst_element_set_locked_state),
9935         (gst_element_sync_state_with_parent), (gst_element_change_state),
9936         (gst_element_finalize), (gst_element_yield),
9937         (gst_element_interrupt), (gst_element_set_scheduler),
9938         (gst_element_get_scheduler), (gst_element_set_loop_function):
9939         * gst/gstelement.h:
9940         * gst/gstevent.h:
9941         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
9942         (gst_format_get_by_nick), (gst_format_get_details),
9943         (gst_format_iterate_definitions):
9944         * gst/gstformat.h:
9945         * gst/gstindex.c: (gst_index_gtype_resolver):
9946         * gst/gstinfo.c:
9947         * gst/gstinfo.h:
9948         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
9949         (gst_mem_chunk_free):
9950         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9951         (gst_object_ref), (gst_object_unref), (gst_object_sink),
9952         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
9953         (gst_object_dispatch_properties_changed),
9954         (gst_object_set_name_default), (gst_object_set_name),
9955         (gst_object_get_name), (gst_object_set_name_prefix),
9956         (gst_object_get_name_prefix), (gst_object_set_parent),
9957         (gst_object_get_parent), (gst_object_unparent),
9958         (gst_object_check_uniqueness), (gst_object_save_thyself),
9959         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
9960         (gst_object_set_property), (gst_object_get_property),
9961         (gst_object_get_path_string):
9962         * gst/gstobject.h:
9963         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9964         (gst_real_pad_init), (gst_real_pad_get_property),
9965         (gst_pad_custom_new), (gst_pad_get_direction),
9966         (gst_pad_set_active), (gst_pad_is_active),
9967         (gst_pad_set_event_function), (gst_pad_is_linked),
9968         (gst_pad_link_free), (gst_pad_link_intersect),
9969         (gst_pad_link_fixate), (gst_pad_set_caps),
9970         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
9971         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
9972         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
9973         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
9974         (gst_pad_get_caps), (gst_pad_peer_get_caps),
9975         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
9976         (gst_pad_realize), (gst_pad_get_allowed_caps),
9977         (gst_real_pad_dispose), (gst_real_pad_finalize),
9978         (gst_pad_collectv), (gst_pad_collect_valist),
9979         (gst_pad_template_dispose), (gst_pad_template_new),
9980         (gst_pad_get_internal_links):
9981         * gst/gstpad.h:
9982         * gst/gstpipeline.c: (gst_pipeline_dispose),
9983         (gst_pipeline_change_state):
9984         * gst/gstpipeline.h:
9985         * gst/gstplugin.c:
9986         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
9987         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
9988         * gst/gstpluginfeature.h:
9989         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
9990         * gst/gstquery.c: (_gst_query_type_initialize),
9991         (gst_query_type_register), (gst_query_type_get_by_nick),
9992         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
9993         * gst/gstquery.h:
9994         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
9995         * gst/gstscheduler.c: (gst_scheduler_add_element),
9996         (gst_scheduler_factory_create):
9997         * gst/gststructure.c: (gst_structure_set_parent_refcount),
9998         (gst_structure_free), (gst_structure_set_name),
9999         (gst_structure_id_set_value), (gst_structure_set_value),
10000         (gst_structure_set_valist), (gst_structure_remove_field),
10001         (gst_structure_remove_fields),
10002         (gst_structure_remove_fields_valist),
10003         (gst_structure_remove_all_fields), (gst_structure_foreach),
10004         (gst_structure_map_in_place),
10005         (gst_caps_structure_fixate_field_nearest_int),
10006         (gst_caps_structure_fixate_field_nearest_double):
10007         * gst/gststructure.h:
10008         * gst/gstsystemclock.c: (gst_system_clock_class_init),
10009         (gst_system_clock_init), (gst_system_clock_dispose),
10010         (gst_system_clock_async_thread),
10011         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
10012         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
10013         * gst/gstsystemclock.h:
10014         * gst/gsttag.c: (gst_tag_list_add_value_internal),
10015         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
10016         * gst/gsttaginterface.c:
10017         * gst/gstthread.c: (gst_thread_dispose),
10018         (gst_thread_release_children_locks), (gst_thread_change_state),
10019         (gst_thread_main_loop):
10020         * gst/gsttrashstack.h:
10021         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
10022         * gst/gsttypes.h:
10023         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10024         (gst_element_request_pad), (gst_element_get_pad_from_template),
10025         (gst_element_request_compatible_pad),
10026         (gst_element_get_compatible_pad_filtered),
10027         (gst_element_get_compatible_pad), (gst_element_state_get_name),
10028         (gst_element_link_pads_filtered), (gst_element_link_filtered),
10029         (gst_element_link_many), (gst_element_link),
10030         (gst_element_link_pads), (gst_element_unlink_pads),
10031         (gst_element_unlink_many), (gst_element_unlink),
10032         (gst_pad_can_link_filtered), (gst_pad_can_link),
10033         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
10034         (gst_object_default_error), (gst_bin_add_many),
10035         (gst_bin_remove_many), (gst_element_populate_std_props),
10036         (gst_element_class_install_std_props), (gst_buffer_merge),
10037         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
10038         (link_fold_func), (gst_pad_proxy_setcaps):
10039         * gst/gstutils.h:
10040         * gst/gstvalue.c: (gst_value_deserialize_string):
10041         * gst/parse/grammar.y:
10042         * gst/schedulers/gstbasicscheduler.c:
10043         (gst_basic_scheduler_cothreaded_chain),
10044         (gst_basic_scheduler_chain_recursive_add),
10045         (gst_basic_scheduler_pad_link):
10046         * gst/schedulers/gstoptimalscheduler.c:
10047         (get_group_schedule_function),
10048         (gst_opt_scheduler_state_transition),
10049         (gst_opt_scheduler_add_element), (element_get_reachables_func):
10050         * libs/gst/bytestream/bytestream.c:
10051         * libs/gst/dataprotocol/dataprotocol.c:
10052         (gst_dp_header_from_buffer):
10053         * po/nb.po:
10054         * po/ru.po:
10055         * tests/threadstate/threadstate2.c: (eos):
10056         * tools/gst-compprep.c: (main):
10057         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
10058         (print_pad_info), (print_children_info):
10059         * tools/gst-launch.c: (idle_func), (main):
10060         * tools/gst-md5sum.c: (idle_func), (main):
10061         * tools/gst-xmlinspect.c: (print_element_info):
10062         First THREADED backport attempt, focusing on adding locks and
10063         making sure the API is threadsafe. Needs more work. More docs
10064         follow this week.
10065
10066 2005-02-24  Andy Wingo  <wingo@pobox.com>
10067
10068         * tests/bench-complexity.scm:
10069         * tests/complexity.gnuplot: New files, good for running complexity
10070         benchmarks.
10071
10072         * tests/Makefile.am:
10073         * tests/complexity.c: New test, sets up N elements, at each level
10074         teeing into M streams per element. Eeeenteresting.
10075
10076         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
10077         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
10078         running bench-mass_elements.scm.
10079
10080         * tests/bench-mass_elements.scm: New script, runs mass_elements
10081         for various numbers of identities, outputting the results to a
10082         file. Requires guile 1.6. Just for testing.
10083
10084 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10085
10086         * gst/schedulers/fairscheduler.c:
10087           compile with debug disabled
10088
10089 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10090
10091         * configure.ac:
10092           hunting season on 0.9 is now OPEN