gst/gstinfo.c: Fix warning if HAVE_PRINTF_EXTENSION is undefined (spotted by Peter...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/gstinfo.c:
4           Fix warning if HAVE_PRINTF_EXTENSION is undefined
5           (spotted by Peter Kjellerstedt).
6
7 2006-09-23  Wim Taymans  <wim@fluendo.com>
8
9         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
10
11         * libs/gst/base/gstbasesrc.c:
12         (gst_base_src_default_check_get_range), (gst_base_src_start),
13         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14         (gst_base_src_change_state):
15         Match _start/_stop calls in the activate functions. Remove redundant
16         _stop call from the state change function. Fixes #356910.
17         Turn failure DEBUG into ERROR. 
18
19 2006-09-22  Wim Taymans  <wim@fluendo.com>
20
21         * docs/design/part-buffering.txt:
22         * gst/gstmessage.c: (gst_message_new_buffering),
23         (gst_message_parse_buffering):
24         Update docs about buffering.
25
26         * docs/design/part-trickmodes.txt:
27         Fix typo.
28
29 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
30
31         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
32         (gst_controller_new_list):
33           Ref instances when returning them again (fixes #357180)
34
35 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
36
37         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
38           Don't forget to release proxy lock when there's an error.
39
40 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
41
42         * gst/gstcaps.h:
43           Add extra initialisers for Caps things, to fix some plugin warnings
44           when using -Wextra
45
46 2006-09-18  Wim Taymans  <wim@fluendo.com>
47
48         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
49           Also set template on the internal pad so that a getcaps from the 
50           target pad returns the template caps.
51
52 2006-09-18  Wim Taymans  <wim@fluendo.com>
53
54         * gst/gstelement.c: (gst_element_post_message),
55         (gst_element_dispose):
56         Use _DEBUG_OBJECT some more.
57
58         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
59         Avoid typechecks.
60
61         * tools/gst-launch.c: (main):
62         If the toplevel element is not a GstPipeline, it must be put in a
63         pipeline so that a bus and clock is selected.
64
65 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
66
67         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
68           JITTER, RATE, and LATENCY query should be handled by the
69           default case and not by the CONVERT query code.
70
71 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
72
73         * gst/gstformat.c: (gst_format_register):
74           Fix locking order (must take lock before using n_values).
75
76         * gst/gstvalue.c: (gst_value_serialize_enum),
77         (gst_value_deserialize_enum_iter_cmp),
78         (gst_value_deserialize_enum):
79           Fix serialisation/deserialisation of custom registered GstFormats.
80
81         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
82           Unit test for custom format serialisation/deserialisation.
83
84 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
85
86         * docs/pwg/building-boiler.xml:
87         * plugins/elements/gstcapsfilter.c:
88         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
89         section.
90
91 2006-09-16  Edward Hervey  <edward@fluendo.com>
92
93         * libs/gst/base/gstbasetransform.c:
94         (gst_base_transform_buffer_alloc):
95         Check if requested caps are the same as the sinks caps IF
96         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
97         is FALSE.
98         This fixes the renegotiation issues stated in #352827.
99
100 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
101
102         * configure.ac:
103         * docs/manual/advanced-autoplugging.xml:
104         * tests/examples/Makefile.am:
105         * tests/examples/manual/.cvsignore:
106         * tests/examples/manual/Makefile.am:
107         * tests/examples/manual/extract.pl:
108           Extract the manual examples again like we used to do.
109           Fix one of them.
110
111 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
112
113         * win32/common/config.h:
114           update for version
115
116 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
117
118         * gst/gsterror.c:
119           Documents how to receive errors.
120
121 2006-09-15  Wim Taymans  <wim@fluendo.com>
122
123         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
124         (event_loop), (main):
125         Added some comments here and there.
126         Post an application message when an interrupt is caught instead of doing
127         an uncontrolled state change.
128         Clean up the event loop.
129         Handle buffering messages, pause/resume the pipeline.
130         Make shutdown because of an interrupt more reliable.
131
132 2006-09-15  Wim Taymans  <wim@fluendo.com>
133
134         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
135         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
136         (gst_base_sink_preroll_object):
137         Make sure that our internal state is correct when we commit our state
138         asynchronously. This solves a race where a state change to PLAYING
139         could cause the sink to remain blocked in preroll in some situations.
140
141 2006-09-15  Wim Taymans  <wim@fluendo.com>
142
143         * tools/gst-inspect.c: (print_element_properties_info),
144         (print_signal_info):
145         List flags as hex so it's easier to deal with.
146
147 2006-09-15  Wim Taymans  <wim@fluendo.com>
148
149         * docs/libs/gstreamer-libs-sections.txt:
150         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
151         (gst_base_sink_do_sync):
152         * libs/gst/base/gstbasesink.h:
153         Expose logic to wait for preroll so that subclasses such as audiosink
154         can also use this method.
155         API: gst_base_sink_wait_preroll()
156
157 2006-09-15  Wim Taymans  <wim@fluendo.com>
158
159         * gst/gstobject.c: (gst_object_set_parent):
160         * gst/gstpipeline.c: (do_pipeline_seek):
161         Small cleanups in docs and code.
162
163         * gst/gstsegment.c: (gst_segment_clip):
164         * tests/check/gst/gstsegment.c: (GST_START_TEST):
165         if stop == start and start is in the segment, no clipping should be
166         done. Also add a test for this.
167
168 2006-09-15  Wim Taymans  <wim@fluendo.com>
169
170         * docs/design/part-buffering.txt:
171         * docs/gst/gstreamer-sections.txt:
172         * gst/gstmessage.c: (gst_message_new_buffering),
173         (gst_message_parse_buffering):
174         * gst/gstmessage.h:
175         Added methods to create and parse BUFFERING messages.
176         Added preliminary docs about buffering.
177         API: gst_message_new_buffering
178         API: gst_message_parse_buffering
179
180 2006-09-06  Wim Taymans  <wim@fluendo.com>
181
182         * gst/gstbin.c:
183         Update documentation.
184
185         * gst/gstelement.c: (gst_element_class_init),
186         (gst_element_release_request_pad), (gst_element_set_clock),
187         (gst_element_get_index), (gst_element_add_pad),
188         (gst_element_remove_pad), (gst_element_get_random_pad),
189         (gst_element_send_event), (gst_element_get_query_types),
190         (gst_element_query), (gst_element_post_message),
191         (gst_element_message_full), (gst_element_continue_state),
192         (gst_element_lost_state), (gst_element_save_thyself),
193         (gst_element_restore_thyself):
194         Documentation updates.
195         Rename last bit of the new-pad -> pad-added signal rename.
196         Fix the case where an element query would only work if the source
197         pad was linked.
198         Avoid some useless type checking in message handling.
199
200         * gst/gstevent.c:
201         * gst/gstevent.h:
202         * gst/gstutils.c:
203         Documentation updates.
204
205 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
206
207         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
208           add an INFO line for when we actually update the fd
209
210 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
211
212         * configure.ac:
213           back to TRUNK
214
215 === release 0.10.10 ===
216
217 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
218
219         * configure.ac:
220           releasing 0.10.10, "Pais"
221
222 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
223
224         * docs/manual/advanced-position.xml:
225           Fix typo in sample code.
226
227 2006-09-05  Wim Taymans  <wim@fluendo.com>
228
229         * libs/gst/net/gstnetclientclock.c: (inet_aton),
230         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
231         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
232         * libs/gst/net/gstnetclientclock.h:
233         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
234         * libs/gst/net/gstnettimepacket.h:
235         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
236         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
237         (gst_net_time_provider_thread), (gst_net_time_provider_new):
238         * libs/gst/net/gstnettimeprovider.h:
239         Make stuff compile on windows. Fixes #345295.
240
241 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
242
243         * gst/gst.c: (ensure_current_registry_forking):
244           Print better details when child was terminated by signal.
245
246 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
247
248         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
249           Print a warning rather than g_assert() if a plugin feature
250           is a URI handler but returns no protocols (#353976).
251
252 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
253
254         * docs/random/moving-plugins:
255         Fix two typos.         
256
257 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
258
259         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
260           Fix locking order, handle NULL function values properly.
261
262         * gst/gstinfo.h:
263           Fix docs.
264
265         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
266           Initialise variable before using it and fix debug statement to
267           print the address of the function rather than the address of the
268           variable on the stack holding the address of the function.
269
270 2006-09-01  Wim Taymans  <wim@fluendo.com>
271
272         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
273         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
274         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
275         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
276         (gst_ghost_pad_parent_unset),
277         (gst_ghost_pad_internal_do_activate_push),
278         (gst_ghost_pad_internal_do_activate_pull),
279         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
280         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
281         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
282         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
283         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
284         (gst_ghost_pad_new_no_target_from_template),
285         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
286         More cleanups.
287         Avoid needless typechecking in macros.
288         Since the internal pad is always present and never changes, there is
289         no need to locking or ref when retrieving it.
290         Improve debugging a bit.
291         Handle link errors when setting the target. Fixes #341029.
292
293 2006-09-01  Wim Taymans  <wim@fluendo.com>
294
295         * docs/libs/gstreamer-libs-sections.txt:
296         * docs/plugins/gstreamer-plugins-sections.txt:
297         Fix docs some more.
298
299         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
300         (gst_collect_pads_event):
301         * libs/gst/base/gstcollectpads.h:
302         Documentation updates.
303         Free queued buffer when removing a pad.
304
305 2006-08-31  Michael Smith  <msmith@fluendo.com>
306
307         * gst/gstutils.c: (gst_element_link_pads),
308         (gst_element_link_pads_filtered):
309           Ensure that we set a capsfilter to NULL if we failed to link it
310           when doing filtered linking, to avoid criticals.
311
312           No need to check for unreffing srcpad, which is explicly NULLed
313           above (a trivial code cleanup).
314
315 2006-08-31  Wim Taymans  <wim@fluendo.com>
316
317         * docs/design/part-gstghostpad.txt:
318         Update ascii art in documentation.
319
320         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
321         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
322         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
323         (gst_ghost_pad_internal_do_activate_push),
324         (gst_ghost_pad_internal_do_activate_pull),
325         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
326         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
327         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
328         (gst_ghost_pad_set_target):
329         Small cleanups and leak fixes.
330         Remove some checks now that the internal pad is never NULL.
331         Fix the case where linking pads without a target would create nasty
332         criticals. Fixes #341029.
333         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
334         value of _set_target().
335
336         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
337         (gst_ghost_pad_suite):
338         Some more tests for creating and linking untargeted ghostpads.
339
340 2006-08-31  Edward Hervey  <edward@fluendo.com>
341
342         * docs/gst/gstreamer-sections.txt:
343         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
344         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
345         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
346         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
347         (gst_ghost_pad_new_from_template),
348         (gst_ghost_pad_new_no_target_from_template):
349         * gst/gstghostpad.h:
350         Refactored *_new() functions.
351         Templates are now used as a g_object_new() parameter.
352         Use template in _do_getcaps() if we don't have a target.
353         Small documentation cleanups.
354         Added two new constructors:
355         gst_ghost_pad_new_from_template()
356         gst_ghost_pad_new_no_target_from_template()
357         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
358         (gst_ghost_pad_suite):
359         Added tests for new ghostpad instanciation functions.
360
361         API additions: gst_ghost_pad_new_from_template,
362         gst_ghost_pad_new_no_target_from_template
363
364 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
365
366         * docs/random/ensonic/profiling.txt:
367           Ideas about qos profiling.
368
369 2006-08-29  Wim Taymans  <wim@fluendo.com>
370
371         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
372         Code cleanups.
373         Fix memleak.
374
375 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
376
377         * gst/gstxml.c:
378           Improve and detypofy docs.
379
380         * tests/check/Makefile.am:
381         * tests/check/gst/.cvsignore:
382         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
383           Add a basic test suite for GstXML.
384
385 2006-08-29  Wim Taymans  <wim@fluendo.com>
386
387         * gst/gstelement.c: (activate_pads), (clear_caps),
388         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
389         Clear the pad caps when the element shut down all of the pads and
390         is not streaming data that could modify the caps. 
391         Fixes #352958.
392
393 2006-08-28  Michael Smith  <msmith@fluendo.com>
394
395         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
396           Revert previous change; I misunderstood single-segment mode.
397
398 2006-08-28  Michael Smith  <msmith@fluendo.com>
399
400         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
401           Unset DISCONT on buffers when using single-segment mode.
402
403 2006-08-28  Wim Taymans  <wim@fluendo.com>
404
405         * gst/gstcaps.c: (gst_caps_merge_structure):
406         * gst/gstcaps.h:
407         Fix docs and indentation again.
408
409         * tests/check/gst/gstquery.c: (GST_START_TEST):
410         Fix leak in tests and add some more tests.
411
412 2006-08-28  Edward Hervey  <edward@fluendo.com>
413
414         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
415         Inform GstSegment of the last stop position in order for the current
416         segment to have a proper duration if it doesn't have a specific stop
417         position from which a duration could be calculated.
418         This bug was noticeable when a non-flushing, non-update new segment was
419         followed by another segment (all buffers from the new segment were being
420         dropped).
421
422 2006-08-28  Wim Taymans  <wim@fluendo.com>
423
424         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
425         Small comment update.
426
427         * plugins/elements/gstidentity.c: (gst_identity_class_init),
428         (gst_identity_transform_ip):
429         Drop-probability is broken, mention this in the code with a 
430         FIXME and also in the property description.
431         Make silent also be silent about the drop messages.
432
433 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
434
435         * docs/manual/appendix-win32.xml:
436           Remove mention of popt, we don't depend on that any
437           longer (#353136). Add some comments pointing out that
438           this section is slightly outdated.
439
440 2006-08-28  Wim Taymans  <wim@fluendo.com>
441
442         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
443
444         * gst/gstquery.c: (gst_query_new_segment):
445         * tests/check/gst/gstquery.c: (GST_START_TEST):
446         Initialize variables when creating a new segment query.
447         Fixes #353121.
448
449 2006-08-28  Wim Taymans  <wim@fluendo.com>
450
451         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
452
453         * gst/gstelement.c: (gst_element_get_bus):
454         * tests/check/gst/gstelement.c: (GST_START_TEST):
455         Check for NULL before _reffing the bus. Fixes #353122.
456
457 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
458
459         * docs/manual/basics-bus.xml:
460           Docs update: fix wrong callback return value explanation; add
461           some lines about the implicit relationship between main loop
462           and main context; remove duplicate main loop variable declaration.
463
464 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
465
466         * tests/check/gst/gstcaps.c: (GST_START_TEST):
467           Don't leak caps in unit test; add a few more simple
468           checks. 
469
470 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
471
472         * docs/gst/gstreamer-sections.txt:
473         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
474         (gst_caps_structure_is_subset), (gst_caps_merge),
475         (gst_caps_merge_structure):
476         * gst/gstcaps.h:
477         * libs/gst/base/gstbasetransform.c:
478         (gst_base_transform_transform_caps):
479         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
480           implement caps merging (fixes #352580)
481
482 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
483
484         * tools/Makefile.am:
485         * tools/gst-plot-timeline.py:
486           add debug-log plotting developer tool (#340674)
487
488 2006-08-23  Wim Taymans  <wim@fluendo.com>
489
490         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
491         (gst_pad_stop_task):
492         Improve debugging for task functions.
493
494         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
495         (gst_task_start), (gst_task_pause), (gst_task_join):
496         Make sure that the task function started and finished after a 
497         join(). 
498         Don't try to push the task function on the threadpool multiple
499         times.
500         Improve the g_warning message with some useful suggestions
501         about how to fix the problem. 
502
503 2006-08-23  Wim Taymans  <wim@fluendo.com>
504
505         * gst/gstutils.c: (gst_pad_proxy_getcaps):
506         Handle RESYNC correctly in _proxy_getcaps.
507
508 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
509
510         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
511         (gst_xml_parse_memory), (gst_xml_get_element):
512           Chain up to parent class in dispose function and also
513           unref the elements in the toplevel_elements GList.
514           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
515           Always return a reference in gst_xml_get_element() rather
516           than only sometimes.
517
518         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
519           Don't leak GstXml object.
520
521 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
522
523         * docs/gst/gstreamer-sections.txt:
524         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
525         (gst_caps_merge):
526         * gst/gstcaps.h:
527         * libs/gst/base/gstbasetransform.c:
528         (gst_base_transform_transform_caps):
529           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
530           in a better way
531
532 2006-08-21  Edward Hervey  <edward@fluendo.com>
533
534         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
535         Implement GObject::dispose virtual method in GstXML so we can free the
536         top_elements GList.
537
538 2006-08-21  Wim Taymans  <wim@fluendo.com>
539
540         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
541         (gst_buffer_create_sub):
542         Copy duration/offset_end/caps when creating a subbuffer of the
543         complete parent.
544         Make the subbuffer read-only when we make the metadata writable for
545         now. Fixes #351768.
546
547         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
548         Added check for metadata copy when creating subbuffers.
549
550 2006-08-21  Edward Hervey  <edward@fluendo.com>
551
552         * libs/gst/base/gstbasetransform.c:
553         (gst_base_transform_buffer_alloc):
554         Only call downstream buffer_alloc if transform element is passthrough
555         or always_in_place. Closes #350449.
556
557 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
558
559         * ChangeLog:
560           ChangeLog surgery to add comments to previous changes
561
562 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
563
564         * gst/gst.c:
565           Add comments
566
567         * gst/gstpad.c: (gst_pad_set_active):
568           Be more verbose in the log
569
570         * libs/gst/base/gstbasetransform.c:
571         (gst_base_transform_transform_caps):
572           Simplify caps to get rid of duplicates, fixes #345444
573
574 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
575
576         * gst/gstvalue.c:
577         * gst/gstvalue.h:
578           Use these optimizations only internally.
579
580 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
581
582         * gst/gstvalue.c: (gst_value_compare_list),
583         (gst_value_compare_fraction_range),
584         (gst_value_intersect_fraction_fraction_range),
585         (gst_value_intersect_fraction_range_fraction_range),
586         (gst_value_subtract_fraction_fraction_range),
587         (gst_value_subtract_fraction_range_fraction_range),
588         (gst_value_get_compare_func), (gst_value_compare),
589         (gst_value_compare_with_func):
590         * gst/gstvalue.h:
591           Saves the expensive lookup of the compare function in many cases
592          (#345444)
593
594 2006-08-18  Edward Hervey  <edward@fluendo.com>
595
596         * tests/check/gst/gstinfo.c: (gst_info_suite):
597         Disable test that require gstdebug if it wasn't built in core.
598
599 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
600
601         * docs/random/ensonic/logging.txt:
602           update ideas
603           
604         * gst/gstinfo.c: (gst_debug_log_default):
605           reorder fields, save some columns, add optional color codes for log
606           levels
607
608 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
609
610         * docs/random/ensonic/logging.txt:
611           add ideas about making the logs a bit more useful
612
613 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
614
615         * docs/pwg/advanced-events.xml:
616         * docs/pwg/titlepage.xml:
617           Update for 0.10 API (#340627). Add myself
618           to authors list.
619
620 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
621
622         * docs/libs/gstreamer-libs-docs.sgml:
623         * docs/libs/gstreamer-libs-sections.txt:
624         * libs/gst/check/gstbufferstraw.c:
625           Make gstcheck stuff show up in docs (still needs to
626           be documented properly though).
627
628 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
629
630         * docs/gst/gstreamer-sections.txt:
631         * gst/Makefile.am:
632         * gst/gst.c: (init_post):
633         * gst/gst_private.h:
634         * gst/gstquark.c: (_priv_gst_quarks_initialize):
635         * gst/gstquark.h:
636         * gst/gstquery.c: (gst_query_new_position),
637         (gst_query_set_position), (gst_query_parse_position),
638         (gst_query_new_duration), (gst_query_set_duration),
639         (gst_query_parse_duration), (gst_query_new_convert),
640         (gst_query_set_convert), (gst_query_parse_convert),
641         (gst_query_new_segment), (gst_query_set_segment),
642         (gst_query_parse_segment), (gst_query_new_seeking),
643         (gst_query_set_seeking), (gst_query_parse_seeking):
644         Add internal helpers for pre-registering quarks from static strings
645         and using the quark values directly instead of looking them up when
646         creating and parsing queries. Can be used for event construction too.
647         Closes #350432.
648
649 2006-08-16  Wim Taymans  <wim@fluendo.com>
650
651         * gst/gstbin.c:
652         Fix bogus docs.
653
654 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
655
656         * gst/gstutils.c: (gst_util_set_value_from_string):
657           Fix memleak (#351502).
658
659         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
660           Add unit test for most of gst_util_set_value_from_string()
661           (not that one would want to encourage use of this function).
662
663 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
664
665         * libs/gst/check/gstcheck.h:
666           Use const gchar * variables in fail_unless_equals_string
667           macro to avoid compiler warnings (and don't use tabs for
668           indenting).
669
670 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
671
672         * tools/gst-launch.c: (print_tag):
673           More space on the left for the tag names, to cater
674           for the 'extended comment' tag (not touching the
675           string for the first line since it's translated).
676
677 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
678
679         * libs/gst/check/gstcheck.h:
680           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
681           print something when they fail.
682
683 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
684
685         * docs/gst/gstreamer-sections.txt:
686         * gst/gsttaglist.c: (_gst_tag_initialize):
687         * gst/gsttaglist.h:
688           API: add GST_TAG_EXTENDED_COMMENT (#350935).
689           Also change merge function for GST_TAG_COMMENT to
690           use_first.
691
692 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
693
694         * gst/gstinfo.c: (gst_debug_print_object):
695           Make GST_PTR_FORMAT print messages as well.
696
697         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
698         (GST_START_TEST), (gst_info_suite):
699           More tests.
700
701 2006-08-14  Edward Hervey  <edward@fluendo.com>
702
703         * gst/gstelementfactory.c: (gst_element_register):
704         If the GstElementClass doesn't have a GstElementDetails with all fields
705         filled up correctly (longname, description AND author), then error out
706         nicely instead of crashing.
707
708 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
709
710         * gst/gststructure.c:
711           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
712
713         * gst/gstvalue.h:
714           Expand on the difference between arrays and lists as we use them.
715           
716 2006-08-14  Wim Taymans  <wim@fluendo.com>
717
718         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
719         If the parent state change function failed, don't assume we can safely
720         stop the source, this will be done when the pads are deactivated.
721
722 2006-08-14  Wim Taymans  <wim@fluendo.com>
723
724         * gst/gstbuffer.c:
725         * gst/gsttask.c: (gst_task_join):
726         Small doc updates.
727
728         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
729         (gst_pad_stop_task):
730         When pad (de)activation failed for some reason, restore the old
731         activation mode and set the pad to flushing instead of assuming the
732         pad is deactivated.
733         If the _task_join() failed, reinstall the task on the pad so that it can
734         be stopped later and return an error.
735
736 2006-08-11  Andy Wingo  <wingo@pobox.com>
737
738         * configure.ac:
739         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
740         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
741         is only for users of API that don't want to see deprecated
742         functions in the headers; people that want to compile out
743         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
744         CFLAGS. Fixes the build of multifdsink, or will soon..
745
746 2006-08-11  Wim Taymans  <wim@fluendo.com>
747
748         * docs/gst/gstreamer-sections.txt:
749         Add GstClockClass vmethod docs.
750
751         * gst/gstcaps.h:
752         Mark #endif with comment for associated #if
753
754         * gst/gstclock.c: (gst_clock_id_wait):
755         * gst/gstclock.h:
756         Add vmethod wait_jitter to avoid an unneeded _get_time() for
757         most clock implementations.
758         Document vmethods.
759         Flesh out docs about resolution methods.
760         API: GstClockClass::wait_jitter
761
762         * gst/gstsystemclock.c: (gst_system_clock_class_init),
763         (gst_system_clock_async_thread),
764         (gst_system_clock_id_wait_jitter_unlocked),
765         (gst_system_clock_id_wait_jitter):
766         Use base class wait_jitter variant for improved performance
767         due to less clock polling.
768
769 2006-08-11  Edward Hervey  <edward@fluendo.com>
770
771         * gst/gst.c: (gst_init_check), (init_post):
772         Set gst as being initialized before scanning/updating the registry,
773         since there might be my python plugin loader that calls gst_init() and
774         we don't want to loop back in.
775         Closes #350879
776
777 2006-08-11  Wim Taymans  <wim@fluendo.com>
778
779         * docs/design/part-qos.txt:
780         Bring docs in line with the code. Mostly the sign of the jitter was
781         wrong in the docs. Fixes #349943.
782
783         * gst/gstclock.c:
784         Fix the docs for the jitter.
785
786         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
787         (gst_event_parse_tag), (gst_event_new_buffer_size),
788         (gst_event_parse_buffer_size), (gst_event_parse_qos),
789         (gst_event_new_seek), (gst_event_parse_seek),
790         (gst_event_new_navigation):
791         Make sure the GstStructure has no parent when creating custom
792         events.
793         Add some more argument checking so that we avoid 0.0 rates.
794         Flesh out the docs for the QoS event some more.
795
796 2006-08-11  Wim Taymans  <wim@fluendo.com>
797
798         * docs/gst/gstreamer-sections.txt:
799         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
800         (ensure_current_registry_forking), (ensure_current_registry),
801         (parse_one_option), (parse_goption_arg), (gst_deinit),
802         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
803         * gst/gst.h:
804         Doc updates.
805         Added API and command line option to disable registry forking in
806         addition to the environment variable.
807         Constify some static arrays.
808         Added some more debug.
809         Don't deinit twice.
810         API: gst_registry_fork_is_enabled()
811         API: gst_registry_fork_set_enabled()
812         API: --gst-disable-registry-fork command line option
813         Fixes #348918.
814
815 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
816
817         * gst/gst.c: (gst_init):
818           Fix typo in error message.
819
820 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
821
822         * libs/gst/controller/gstcontroller.h:
823           fix ABI size-correction
824
825         * tests/check/libs/gdp.c: (gst_dp_suite):
826           make tests that use deprecated API conditional
827
828 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
829
830         * docs/libs/gstreamer-libs-sections.txt:
831         * libs/gst/controller/gstcontroller.c:
832         (_gst_controller_get_property), (_gst_controller_set_property),
833         (_gst_controller_init), (_gst_controller_class_init):
834         * libs/gst/controller/gstcontroller.h:
835         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
836         (gst_object_set_control_rate):
837           API: add gst_object_{s,g}et_control_rate(), add private data section,
838           fix docs
839
840         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
841         * libs/gst/dataprotocol/dataprotocol.h:
842           add deprecation guards to make gtk-doc happy and allow disabling cruft
843
844 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
845
846         * tests/check/Makefile.am:
847         * tests/check/gst/.cvsignore:
848           Let's enable the new unit test as well.
849
850 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
851
852         * configure.ac:
853         * docs/gst/gstreamer-sections.txt:
854         * gst/gstconfig.h.in:
855         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
856         (_gst_info_printf_extension_ptr),
857         (_gst_info_printf_extension_segment):
858           API: add GST_SEGMENT_FORMAT, which is a printf extension we
859           register that lets us easily dump GstSegments into debug
860           logs (#350419).
861
862         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
863         (info_segment_format_printf_extension), (gst_info_suite):
864           Add simple unit test that logs a bunch of different segments (not
865           valgrinded at the moment because of leaks in
866           gst_debug_add_log_function).
867
868 2006-08-09  Edward Hervey  <edward@fluendo.com>
869
870         * libs/gst/base/gstbasetransform.c:
871         (gst_base_transform_buffer_alloc):
872         Even if we can't figure out the proper format to request downstream,
873         call buffer_alloc() downstream with the input parameters without setting
874         the caps on the srcpad. This will force negotiation in the chain
875         function.
876         Closes #350449
877
878 2006-08-08  Edward Hervey  <edward@fluendo.com>
879
880         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
881         Unlinking from a pad without a target is now a perfectly valid case
882         which should NOT raise an assertion.
883         This case would happen if a linked ghostpad its target set to NULL after
884         it was previously linked.
885
886 2006-08-08  Edward Hervey  <edward@fluendo.com>
887
888         * tests/check/libs/gdp.c:
889         Also comment out the test (see below).
890
891 2006-08-08  Edward Hervey  <edward@fluendo.com>
892
893         * tests/check/libs/gdp.c: (gst_dp_suite):
894         Use the architecture information from config.h and not gcc macros
895         in order to properly disable a test that fails on PPC64.
896
897 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
898
899         * gst/gstelement.c: (gst_element_remove_pad):
900           Don't crash printing the warning if the pad has no parent.
901
902 2006-08-02  Wim Taymans  <wim@fluendo.com>
903
904         * libs/gst/dataprotocol/dataprotocol.c:
905         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
906         (gst_dp_crc), (gst_dp_header_payload_length),
907         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
908         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
909         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
910         (gst_dp_event_from_packet), (gst_dp_validate_header),
911         (gst_dp_validate_payload):
912         Make debug category static
913         Constify the crc table.
914         Do some more arg checking in public functions.
915         Fix some docs and do some small cleanups.
916
917         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
918         Add some more checks to see if GDP deals with bogus input.
919
920 2006-07-31  Wim Taymans  <wim@fluendo.com>
921
922         * gst/gstvalue.c: (gst_value_compare_list):
923         Fix GstValueList comparison code. Fixes #347293.
924
925         * tests/check/gst/gstvalue.c: (GST_START_TEST):
926         Check to test GstValueList comparison.
927
928 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
929
930         * gst/gstelementfactory.c: (gst_element_factory_create):
931         Remove unnecessary ref/unref pair
932
933         * gst/parse/grammar.y:
934         Make sure to free the parse buffer on all code paths.
935         Move a g_free up to the error handler where it's easier to see.
936
937         * tests/check/gst/gstevent.c: (test_event):
938         Extending timeout for downstream travelling events to 10 seconds to
939         hopefully avoid intermittent failure on the buildbots.
940
941         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
942         Don't manually set the state of the src element - it will happen as a
943         natural consequence of the pipeline changing state, and that way it
944         will do it in the right order too.
945
946 2006-07-31  Wim Taymans  <wim@fluendo.com>
947
948         * libs/gst/base/gstbasetransform.c:
949         (gst_base_transform_buffer_alloc):
950         Use OBJECT_LOCK and refcounting to get the pad caps in the
951         buffer_alloc function because the caps could change while we are
952         busy with them. Fixes #349105
953
954 2006-07-31  Wim Taymans  <wim@fluendo.com>
955
956         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
957         Protect _PAD_CAPS with OBJECT_LOCK.
958
959 2006-07-31  Wim Taymans  <wim@fluendo.com>
960
961         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
962         (gst_pad_get_property), (gst_pad_activate_pull),
963         (gst_pad_activate_push), (gst_pad_set_blocked_async),
964         (gst_pad_set_activate_function),
965         (gst_pad_set_activatepull_function),
966         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
967         (gst_pad_set_getrange_function),
968         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
969         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
970         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
971         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
972         (gst_pad_set_acceptcaps_function),
973         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
974         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
975         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
976         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
977         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
978         (gst_pad_configure_sink), (gst_pad_configure_src),
979         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
980         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
981         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
982         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
983         (gst_pad_send_event):
984         Use _DEBUG_OBJECT when it makes sense.
985         Protect GST_PAD_CAPS with the OBJECT_LOCK.
986         Small cleanups and code reflows.
987         Avoid caps refcounting in _accept_caps.
988         Refactor alloc_buffer so that the code performed on the peer is in a
989         separate function. Also if the pad does not implement a buffer alloc
990         function, we should still check if the pad is flushing before falling
991         back to the default allocator.
992
993 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
994
995         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
996         Make all uses of identity and fakesink have silent=true to avoid
997         serialising every passing data structure, which is breaking tests
998         on FC4 for some unknown reason.
999
1000 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1001
1002         * gst/parse/Makefile.am:
1003         * gst/parse/grammar.y:
1004         * gst/parse/parse.l:
1005           Reverted previous patch as it required to bump the flex dependency to
1006           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
1007
1008 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1009
1010         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
1011
1012         * gst/parse/Makefile.am:
1013         * gst/parse/grammar.y:
1014         * gst/parse/parse.l:
1015           push & pop the state of the lexer for reentrant use case
1016           Fixes #349180
1017
1018 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
1019
1020         * libs/gst/base/gstbasesrc.h:
1021           Note in the docs that the ::newsegment vfunc is not actually used by
1022           GstBaseSrc.
1023
1024 2006-07-28  Wim Taymans  <wim@fluendo.com>
1025
1026         * libs/gst/base/gstcollectpads.c:
1027         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
1028         (gst_collect_pads_clear), (gst_collect_pads_flush),
1029         (gst_collect_pads_event), (gst_collect_pads_chain):
1030         When flushing a pad, also clear the queued buffer so that we don't
1031         accidentally use it when we shouldn't.
1032         Fix leaks by inreffing incomming buffer.
1033         Flush out queued buffers in case of errors.
1034         Fixes #347452.
1035
1036 2006-07-28  Wim Taymans  <wim@fluendo.com>
1037
1038         * docs/random/phonon-gst:
1039         Random notes about a Phonon backend.
1040
1041 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1042
1043         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1044         Extra debug output
1045         * tests/check/libs/gdp.c: (gst_dp_suite):
1046         Take a whack at fixing the ppc compile using a different define to
1047         disable the broken test.
1048
1049         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1050         Remove excess g_print()
1051
1052 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1053
1054         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1055         Oops, meant to uncomment this line too to dampen the noise a bit.
1056
1057 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1058
1059         * gst/parse/grammar.y:
1060         * gst/parse/parse.l:
1061         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1062         (GST_START_TEST), (parse_suite):
1063         Fix some of the leaks exposed by extending the parse-launch testsuite,
1064         and move the 3 I can't figure out into a separate test that won't run
1065         the pipelines unless the appropriate line is uncommented.
1066
1067 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1068
1069         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1070           Requesting 0 bytes before the end of the file should result in
1071           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
1072           unit test.
1073
1074 2006-07-27  Wim Taymans  <wim@fluendo.com>
1075
1076         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
1077         Fix useless assert, a uint is always positive.
1078
1079         * gst/gststructure.c: (gst_structure_nth_field_name),
1080         (gst_structure_foreach), (gst_structure_map_in_place):
1081         Check input arguments for public functions to avoid obvious crashes.
1082
1083         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
1084         * plugins/elements/gstfakesink.h:
1085         Do less useless typechecking.
1086
1087 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1088
1089         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1090           Do not use mmap() by default since there are a number of error
1091           conditions that we would like to handle in a non-fatal way that
1092           will result in a SIGBUS if we use mmap(). Examples: external
1093           devices (USB harddrive, portable music player) being unplugged
1094           while in use; file on mounted CD/DVD that can't be read because
1095           the medium is partly damaged. Fixes #348455 and #348475.
1096
1097 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1098
1099         * gst/gstquery.h:
1100         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
1101         rates are a gdouble
1102
1103 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
1104
1105         * gst/gstregistry.c:
1106           Move big documentation comment into class section header, so that it
1107           appears in the API docs.
1108
1109 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1110
1111         * docs/gst/gstreamer-sections.txt:
1112         Oops. Commit the docs additions too for new API.
1113         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
1114
1115 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1116
1117         * gst/gststructure.c: (gst_structure_id_set),
1118         (gst_structure_id_set_valist):
1119         * gst/gststructure.h:
1120         Add API for setting values into structures without performing
1121         a quark lookup, if the appropriate quark is already known.
1122
1123         API: gst_structure_id_set
1124         API: gst_structure_id_set_valist
1125
1126         * gst/parse/grammar.y:
1127         * gst/parse/parse.l:
1128         Remove some dead code shown by the coverage information.
1129         Don't throw a critical g_warning when encountering a syntax error,
1130         just warn and let the normal error path handle it.
1131
1132         * plugins/elements/gstelements.c:
1133         Bump the rank of filesink up to PRIMARY so that it is preferred over
1134         gnomevfssink for file:// sink uri's
1135
1136         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1137         (GST_START_TEST), (run_delayed_test),
1138         (gst_parse_test_element_base_init),
1139         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1140         (gst_parse_test_element_change_state),
1141         (gst_register_parse_element), (parse_suite):
1142         Beef up the tests for parse syntax to check that more error cases
1143         fail as they are supposed to. Increases the test coverage a bit.
1144
1145 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1146
1147         * docs/manual/basics-elements.xml:
1148           Fix gst_element_link() example.
1149
1150         * gst/gstutils.c:
1151           Mention in API docs that one should usually gst_bin_add()
1152           elements to a bin or pipeline before doing the linking.
1153           
1154 2006-07-26  Wim Taymans  <wim@fluendo.com>
1155
1156         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1157         (gst_subbuffer_get_type), (gst_buffer_create_sub):
1158         Avoid function call for known types by keeping the buffer and
1159         subbuffer GType global.
1160
1161         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1162         Random silly optimisations in read() path.
1163
1164 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1165
1166         * tools/gst-launch.c: (main):
1167           If the top-level of the parse is a normal bin, it doesn't do the
1168           right logic to run as a top-level element, so place it inside a
1169           pipeline.
1170
1171 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1172
1173         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1174           Remove superfluous g_object_notify() calls, GObject does
1175           that for us automatically.
1176
1177 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
1178
1179         * gst/gstinfo.h:
1180           on Win32, use dllspec to export the debug category symbols
1181
1182 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
1183
1184         * gst/gsttaglist.c: (_gst_tag_initialize):
1185           Allow more than one GST_TAG_IMAGE per taglist.
1186
1187 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1188
1189         * gst/gstminiobject.c:
1190           update docs
1191         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1192         (gst_fd_src_create):
1193           log recurring events at LOG level
1194           add more debug for when the fd gets set
1195
1196 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1197
1198         * gst/gstparse.c: (gst_parse_launch):
1199           Also remove reentrance checks if flex is MT safe (#348179)
1200          Fix my empty ChangeLog entry below
1201
1202 2006-07-21  Andy Wingo  <wingo@pobox.com>
1203
1204         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1205
1206         * libs/gst/check/Makefile.am
1207         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1208         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
1209         * libs/gst/check/gstbufferstraw.h:
1210         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1211         functions, thus proving I am still a GStreamer haxor. OK I wrote
1212         them a long time ago, but anyways.
1213
1214 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1215
1216         * configure.ac:
1217         * gst/gstparse.c: (gst_parse_launch):
1218           Check for flex version and omit mutex if we have a MT save flex
1219           (fixes #348179)
1220
1221 2006-07-21  Wim Taymans  <wim@fluendo.com>
1222
1223         * gst/gstparse.c: (gst_parse_launch):
1224         Protect recursive calls to _parse with a recursive mutex
1225         and busy flag.
1226
1227 2006-07-21  Wim Taymans  <wim@fluendo.com>
1228
1229         * tests/check/gst/gstpad.c: (GST_START_TEST):
1230         Fix leak in test.
1231
1232 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
1233
1234         * gst/gstparse.c: (gst_parse_launch):
1235           Do not hang on recursive usage of gst_parse_launch()
1236
1237 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1238
1239         * gst/gsttaglist.c:
1240           Add some more docs, comments and FIXME 0.11s here and there
1241           and also fix some typos.
1242
1243 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1244
1245         * gst/gstsegment.h:
1246           Convert tabs to spaces for better readability. 
1247
1248 2006-07-20  Edward Hervey  <edward@fluendo.com>
1249
1250         * tests/check/libs/gdp.c: (gst_dp_suite):
1251         the test_buffer test fails at line 140 on ppc64 at the following
1252         check:
1253         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1254                 GST_BUFFER_FLAG_IN_CAPS),
1255                 "GST_BUFFER_IN_CAPS flag should have been copied !");
1256         See bug #348114 for more details.
1257
1258 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
1259
1260         * docs/pwg/advanced-scheduling.xml:
1261         * gst/gstpad.c:
1262           Fix typos (#348000).
1263
1264 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
1265
1266         * docs/pwg/intro-basics.xml:
1267           Fix wrong links (#347927).
1268
1269 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1270
1271         * gst/gstregistry.h:
1272         * gst/gstregistryxml.c: (load_feature),
1273         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1274         * win32/common/config.h:
1275           make --disable-index work (#342564)
1276
1277 2006-07-18  Wim Taymans  <wim@fluendo.com>
1278
1279         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1280
1281         * gst/Makefile.am:
1282         * gst/gsttrace.h:
1283         The attached patch adds two missing defines to gsttrace.h when tracing
1284         is disabled.  It also corrects one existing define.
1285         Fixes #347756.
1286
1287 2006-07-17  Wim Taymans  <wim@fluendo.com>
1288
1289         * docs/gst/gstreamer-sections.txt:
1290         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1291         * gst/gst.h:
1292         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1293         Add two functions to check and change the SIGSEGV behaviour
1294         when loading plugins.
1295         Don't mess with the SIGSEGV handler when we were told not to.
1296         Fixes #347794.
1297         API: gst_segtrap_is_enabled
1298         API: gst_segtrap_set_enabled
1299
1300 2006-07-14  Wim Taymans  <wim@fluendo.com>
1301
1302         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1303         * tests/check/elements/filesrc.c: (GST_START_TEST):
1304         Revert fix for regression in #347408 after release.
1305
1306 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1307
1308         Patch by: Antoine Tremblay <hexa00 at gmail com>
1309
1310         * gst/gstutils.c: (gst_element_unlink):
1311           Free iterator when done (#347311).
1312
1313         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1314           And add a test case for this.
1315
1316 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1317
1318         * configure.ac:
1319         Bump nano back to CVS
1320
1321 === release 0.10.9 ===
1322
1323 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1324
1325         * configure.ac:
1326           releasing 0.10.9, "On the road again"
1327
1328 2006-07-13  Wim Taymans  <wim@fluendo.com>
1329
1330         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1331         * tests/check/elements/filesrc.c: (GST_START_TEST):
1332         Revert pull-0 fix for release. Disable check. Fixes #347408.
1333
1334 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1335
1336         * libs/gst/dataprotocol/dataprotocol.c:
1337         (gst_dp_event_from_packet_1_0):
1338           Fixes #347337: failure to deserialize event packets with
1339           empty payload (only event type)
1340
1341 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1342
1343         * gst/Makefile.am:
1344           do not install a .c file in the header directory
1345
1346 2006-07-13  Edward Hervey  <edward@fluendo.com>
1347
1348         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1349         GhostPad no longer implicitely use the padtemplates of the targets.
1350         Fixes #347384
1351
1352 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
1353
1354         * gst/gstvalue.c: (gst_value_compare_list),
1355         (gst_value_compare_array), (_gst_value_initialize):
1356         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1357         Make GstValueArray comparison be order dependent as designed.
1358         Add checks for value lists and value array comparisons.
1359         Fixes #347221
1360
1361 2006-07-11  Edward Hervey  <edward@fluendo.com>
1362
1363         * gst/gstbin.c: (activate_pads),
1364         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
1365         (gst_bin_change_state_func):
1366         (de)activate src pads before calling state_change on the childs.
1367         This is to avoid the case where a src ghostpad is blocked (holding the
1368         stream lock), which would block the deactivation of the ghostpad's
1369         target pad.
1370         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
1371         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
1372         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
1373         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1374         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1375         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1376         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1377         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
1378         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
1379         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1380         (gst_ghost_pad_class_init),
1381         (gst_ghost_pad_internal_do_activate_push),
1382         (gst_ghost_pad_internal_do_activate_pull),
1383         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1384         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1385         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
1386         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
1387         GhostPads now create their internal GstProxyPad at creation (and not
1388         when they're linked, as it was being done previously).
1389         The internal and target pads are linked straight away.
1390         The data will also travel through the other pad in order to make
1391         pad blocking and probes non-hackish (the probe/block now really happens
1392         on the GhostPad and not on the target).
1393         * gst/gstpad.c: (gst_pad_set_blocked_async),
1394         (gst_pad_link_prepare), (gst_pad_push_event):
1395         Remove previous ghostpad cruft.
1396         * gst/gstutils.c: (gst_pad_add_data_probe),
1397         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1398         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1399         (gst_pad_remove_buffer_probe):
1400         Remove previous ghost pad cruft.
1401         Added more detailed debug statements.
1402         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1403         Fix the testsuite for refcounting changes.
1404         The comments about who has references were correct, but the refcount
1405         being checked wasn't the same (!?!).
1406
1407         Fixes #341029
1408
1409 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1410
1411         * docs/gst/gstreamer-sections.txt:
1412         * gst/gstconfig.h.in:
1413         More docs for configuration options, add docs to gtk-doc.
1414
1415 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1416
1417         * gst/Makefile.am:
1418         * gst/gstconfig.h.in:
1419         * win32/common/config.h:
1420         Fix build when disabling tracing (fixes #344016). Also start to document
1421         the defines that disable the sub-systems.
1422
1423 2006-07-10  Edward Hervey  <edward@fluendo.com>
1424
1425         * gst/gst.c: (ensure_current_registry_forking):
1426         let's make valgrind happy...
1427
1428 2006-07-09  Wim Taymans  <wim@fluendo.com>
1429
1430         * gst/gstelement.c: (activate_pads),
1431         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1432         Better pad activation code: Reset the collect value too on resync.
1433         Add some comments.
1434
1435 2006-07-09  Wim Taymans  <wim@fluendo.com>
1436
1437         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
1438         (gst_pad_activate_push):
1439         Use some more macros where it makes sense.
1440         Allow pad mode switching instead of asserting. When a pad
1441         is activated in one mode and we activate it in another, 
1442         deactivate it first before activating it in a different mode.
1443         Fixes #329198.
1444
1445 2006-07-08  Andy Wingo  <wingo@pobox.com>
1446
1447         * tools/gst-launch.c (main): Handle err == NULL.
1448
1449         * gst/gst.c (init_post, ensure_current_registry)
1450         (ensure_current_registry_forking)
1451         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
1452         factoring out the registry scanning into separate functions. Don't
1453         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
1454         Better environment var name/interface suggestions accepted.
1455
1456 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1457
1458         * gst/gstobject.c: (gst_object_set_name_default),
1459         (gst_object_set_name):
1460           Random micro-optimisation: don't use a hash table
1461           with strings as keys and the usual strdup/strcmp
1462           involved, but rather just use the GQuark of the
1463           type name as key, since it needs to be looked up
1464           anyway to get the type name string.
1465
1466         * tests/check/gst/gstobject.c: (GST_START_TEST):
1467           Fix various leaks.
1468
1469 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1470
1471         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
1472         (gst_bin_iterate_all_by_interface):
1473           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
1474           GTypes are gulongs and thus the top 4 bytes might be cut
1475           off on some platforms when doing GPOINTER_TO_INT, leading
1476           to invalid GTypes and bad things happening (see RH bug #179654).
1477           Also add a check to make sure the type passed in is really
1478           an interface type.
1479
1480 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1481
1482         * .cvsignore:
1483           Ignore more.
1484
1485 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1486
1487         * Makefile.am:
1488         * configure.ac:
1489         * gst-element-check.m4:
1490         * gst-element-check.m4.in:
1491           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
1492           instead of the unversioned gst-inspect (#324176, #168659).
1493
1494 2006-07-06  Wim Taymans  <wim@fluendo.com>
1495
1496         * gst/gstmessage.h:
1497         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
1498         warnings.
1499
1500 2006-07-06  Wim Taymans  <wim@fluendo.com>
1501
1502         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1503         (gst_base_src_wait), (gst_base_src_update_length),
1504         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
1505         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
1506         (gst_base_src_loop), (gst_base_src_start),
1507         (gst_base_src_activate_pull):
1508         Update docs.
1509         blocksize == 0 now means the default blocksize when working in push
1510         based mode.
1511         Remove some pointless asserts in _wait function.
1512         Fix offset/length calculations and EOS handling. We can now pull 0
1513         bytes as well, which is allowed.
1514         use _check_get_range() to decide if we can operate in _pull based
1515         mode.
1516         Fix refcounting leak when check_get_range function was not 
1517         implemented.
1518         API GstBaseSrc::blocksize range can be 0 too now (default)
1519
1520         * tests/check/elements/filesrc.c: (GST_START_TEST),
1521         (filesrc_suite):
1522         Added check to test _get_range() behaviour.
1523
1524 2006-07-06  Wim Taymans  <wim@fluendo.com>
1525
1526         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1527         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
1528         (gst_pad_pull_range):
1529         * gst/gstpad.h:
1530         Lots of comments and docs added to the pad functions.
1531         Flesh out the expected behaviour of the get_range() functions.
1532
1533 2006-07-06  Wim Taymans  <wim@fluendo.com>
1534
1535         * gst/gstbus.h:
1536         * gst/gstclock.h:
1537         * gst/gstevent.h:
1538         * gst/gstiterator.h:
1539         * gst/gstpad.h:
1540         * gst/gstplugin.h:
1541         * gst/gsttask.h:
1542         Remove comma at end of enumerator list. 
1543
1544 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
1545
1546         * win32/common/libgstbase.def:
1547         * win32/common/libgstdataprotocol.def:
1548         * win32/common/libsgtreamer.def:
1549         Add new exported functions.
1550
1551 2006-07-05  Wim Taymans  <wim@fluendo.com>
1552
1553         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
1554         Add some more docs here and there.
1555
1556 2006-07-05  Wim Taymans  <wim@fluendo.com>
1557
1558         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
1559         (gst_base_sink_loop), (gst_base_sink_get_position):
1560         When operating in pull mode update the offset so that we
1561         read sequentially.
1562
1563 2006-07-05  Wim Taymans  <wim@fluendo.com>
1564
1565         * gst/gstregistryxml.c: (read_string):
1566         Avoid strdup. (will happen in libxml, but hey!)
1567
1568         * gst/gsturi.c:
1569         Add some more docs.
1570
1571 2006-07-05  Wim Taymans  <wim@fluendo.com>
1572
1573         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
1574         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
1575         (gst_buffer_suite):
1576         No point in checking if the size of the subbuffer > 0, the
1577         code handles it correclty as demonstrated by unit test.
1578         Also add a unit test for the zero sized _new_and_alloc and
1579         _copy. Fixes #346663.
1580
1581 2006-07-05  Wim Taymans  <wim@fluendo.com>
1582
1583         * libs/gst/base/gstbasetransform.c:
1584         (gst_base_transform_prepare_output_buffer),
1585         (gst_base_transform_buffer_alloc),
1586         (gst_base_transform_handle_buffer):
1587         Make sure the buffer we pass to transform_ip has a refcount of
1588         1 and thus is writable. Fixes #343196
1589
1590 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
1591
1592         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1593         (gst_file_src_init), (gst_file_src_set_property),
1594         (gst_file_src_get_property), (gst_file_src_map_region):
1595         * plugins/elements/gstfilesrc.h:
1596         Add "sequential" property, off by default, to use madvise and hint
1597         to the kernel that sequential access is desired.
1598         Touch all retrieved pages by default to ensure they are pulled
1599         into memory. (Closes #345720)
1600
1601 2006-07-03  Wim Taymans  <wim@fluendo.com>
1602
1603         * docs/design/part-block.txt:
1604         * docs/design/part-dynamic.txt:
1605         Small docs updates.
1606
1607 2006-07-03  Wim Taymans  <wim@fluendo.com>
1608
1609         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
1610         (gst_caps_unref), (gst_static_caps_get),
1611         (gst_caps_append_structure):
1612         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
1613         Use GSlice when the glib we build against is >= 2.10
1614
1615 2006-07-03  Wim Taymans  <wim@fluendo.com>
1616
1617         * gst/gstelement.c: (gst_element_pads_activate):
1618         Small cleanup in pad activation code.
1619
1620 2006-07-03  Wim Taymans  <wim@fluendo.com>
1621
1622         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1623
1624         * gst/gst-i18n-app.h:
1625         * gst/gst-i18n-lib.h:
1626         * tools/gst-inspect.c: (print_signal_info):
1627         The attached patch will make the inclusion of gettext.h unconditional in
1628         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
1629         libintl.h in tools/gst-inspect.c.
1630         This allows use of --disable-nls again and fixes #344642.
1631
1632 2006-07-03  Edward Hervey  <edward@fluendo.com>
1633
1634         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
1635         Implement pad blocking on events according to part-block.txt.
1636         More comments on behaviour.
1637         * tests/check/gst/gstevent.c: (test_event):
1638         Send event to peer pad of blocked pad (else it will block).
1639
1640 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1641
1642         * libs/gst/check/gstcheck.c: (gst_check_message_error),
1643         (gst_check_run_suite):
1644           if we get the wrong message, give us the types as string
1645         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1646           Fix a translatable
1647         * tests/check/elements/filesrc.c: (GST_START_TEST):
1648           add a test for trying to open a non-existing file
1649
1650 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1651
1652         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1653           add a test for adding self
1654
1655 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1656
1657         * libs/gst/check/gstcheck.h:
1658           add some assert_ as alias for fail_unless_*
1659         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
1660           increase test coverage
1661
1662 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1663
1664         * Makefile.am:
1665           include lcov.mak for lcov coverage generation
1666         * tools/Makefile.am:
1667           add to CLEANFILES
1668
1669 2006-07-02  Edward Hervey  <edward@fluendo.com>
1670
1671         * tests/check/elements/.cvsignore:
1672         moaping
1673
1674 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1675
1676         * configure.ac:
1677           don't set CFLAGS and friends for gcov, done from GST_GCOV now
1678         * tests/check/Makefile.am:
1679           clean up gcov files
1680
1681 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1682
1683         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
1684           remove gst_caps_simplify; it was not declared and not used
1685           and deprecated in 0.8
1686
1687 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1688
1689         * docs/faq/gst-uninstalled:
1690           don't put empty paths on PYTHONPATH
1691         * docs/gst/gstreamer-sections.txt:
1692           remove some symbols that are not there
1693
1694 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1695
1696         * gst/gstcaps.c: (gst_caps_compare_structures):
1697           whitespace fixes
1698         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1699         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1700           add more tests
1701
1702 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1703
1704         * libs/gst/dataprotocol/Makefile.am:
1705           build dataprotocol test by linking to the lib, instead of
1706           compiling the source, so we get coverage
1707         * tests/check/Makefile.am:
1708         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
1709         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
1710           add a test for filesrc
1711
1712 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1713
1714         * tests/check/gst/gststructure.c: (GST_START_TEST),
1715         (gst_structure_suite):
1716           Push coverage from 59.04% to 70.00%
1717
1718 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1719
1720         * tests/check/Makefile.am:
1721           gst-inspect every element; this makes sure that we also get
1722           coverage on element's get/set functions
1723
1724 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1725
1726         * configure.ac:
1727           set CFLAGS and friends to -O0 if gcov is being used
1728           add GCOV LIBS
1729         * gst/Makefile.am:
1730         * libs/gst/base/Makefile.am:
1731         * libs/gst/check/Makefile.am:
1732         * libs/gst/controller/Makefile.am:
1733         * libs/gst/dataprotocol/Makefile.am:
1734         * libs/gst/net/Makefile.am:
1735         * plugins/elements/Makefile.am:
1736         * plugins/indexers/Makefile.am:
1737           add makefile rules to generate gcov data and clean up
1738         * tests/check/Makefile.am:
1739           add a coverage target that generates an html overview
1740           of coverage data
1741
1742 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1743
1744         * tests/check/elements/fakesink.c:
1745         * tests/check/elements/fakesrc.c:
1746         * tests/check/elements/fdsrc.c:
1747         * tests/check/elements/identity.c:
1748         * tests/check/generic/sinks.c: (gst_sinks_suite):
1749         * tests/check/generic/states.c:
1750         * tests/check/gst/gst.c:
1751         * tests/check/gst/gstabi.c:
1752         * tests/check/gst/gstbin.c:
1753         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
1754         * tests/check/gst/gstbus.c: (gst_bus_suite):
1755         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1756         * tests/check/gst/gstelement.c:
1757         * tests/check/gst/gstevent.c: (gst_event_suite):
1758         * tests/check/gst/gstghostpad.c:
1759         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
1760         * tests/check/gst/gstmessage.c: (gst_message_suite):
1761         * tests/check/gst/gstminiobject.c:
1762         * tests/check/gst/gstobject.c:
1763         * tests/check/gst/gstpad.c:
1764         * tests/check/gst/gstpipeline.c:
1765         * tests/check/gst/gstplugin.c:
1766         * tests/check/gst/gstquery.c: (gst_query_suite):
1767         * tests/check/gst/gstsegment.c: (gst_segment_suite):
1768         * tests/check/gst/gststructure.c:
1769         * tests/check/gst/gstsystemclock.c:
1770         * tests/check/gst/gsttag.c:
1771         * tests/check/gst/gsttask.c: (gst_task_suite):
1772         * tests/check/gst/gstutils.c:
1773         * tests/check/gst/gstvalue.c:
1774         * tests/check/libs/adapter.c:
1775         * tests/check/libs/basesrc.c:
1776         * tests/check/libs/collectpads.c:
1777         * tests/check/libs/controller.c:
1778         * tests/check/libs/gdp.c: (gst_dp_suite):
1779         * tests/check/libs/gstnetclientclock.c:
1780         * tests/check/libs/gstnettimeprovider.c:
1781         * tests/check/libs/libsabi.c: (libsabi_suite):
1782         * tests/check/libs/typefindhelper.c:
1783         * tests/check/pipelines/cleanup.c:
1784         * tests/check/pipelines/parse-launch.c:
1785         * tests/check/pipelines/simple-launch-lines.c:
1786         * tests/check/pipelines/stress.c: (stress_suite):
1787           use the new macro
1788
1789 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1790
1791         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
1792         * libs/gst/check/gstcheck.h:
1793           create a macro and function so that the simple unit test
1794           case can be just one macro to create main()
1795
1796 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
1797
1798         * gst/gstbin.c: (gst_bin_restore_thyself):
1799         * gst/gstxml.c: (gst_xml_make_element):
1800           Fix deserialisation from XML. Set parent manually
1801           instead of using gst_bin_add(), since gst_bin_add()
1802           will unlink all pads of the element being added.
1803           Fixes #341667.
1804
1805 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
1806
1807         Patch by: Peter Kjellerstedt <pkj at axis com>
1808
1809         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
1810           Fix missing g_strdup() and double free when using the
1811           --gst-plugin-load command line option (#346097).
1812
1813 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1814
1815         * gst/gstinfo.c:
1816           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
1817
1818         * libs/gst/net/gstnetclientclock.c:
1819         * libs/gst/net/gstnettimeprovider.c:
1820           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
1821
1822 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1823
1824         * docs/manual/advanced-dataaccess.xml:
1825           Fix buffer probe example compilation in
1826           ADM (#345708).
1827         
1828 2006-06-22  Edward Hervey  <edward@fluendo.com>
1829
1830         * gst/gstelement.c: (gst_element_pads_activate):
1831         We need to deactivate src pads first and then sink pads.
1832         The reason is the src pads might be blocking while holding the streaming
1833         lock, so we need to deactivate them first so that deactivating the sink
1834         pads doesn't block (since it will require the streaming lock).
1835
1836 2006-06-22  Wim Taymans  <wim@fluendo.com>
1837
1838         * libs/gst/base/gstbasetransform.c:
1839         (gst_base_transform_buffer_alloc):
1840         Forgot to remove two unneeded unrefs.
1841         Simplify a check _is_equal allready checks the obvious case.
1842
1843 2006-06-22  Wim Taymans  <wim@fluendo.com>
1844
1845         * docs/design/part-block.txt:
1846         Some docs about what pad_block should do.
1847
1848 2006-06-22  Wim Taymans  <wim@fluendo.com>
1849
1850         * gst/gstcaps.c: (gst_caps_replace):
1851         Fix crasher when passed NULL. Doc clarification.
1852         Optimize for the trivial case.
1853
1854         * gst/gstpipeline.c: (gst_pipeline_change_state):
1855         Small cleanups.
1856
1857         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1858         Small documentation cleanup.
1859
1860         * libs/gst/base/gstbasetransform.c:
1861         (gst_base_transform_buffer_alloc):
1862         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
1863         is what we need and it avoids a whole lot of redundant 
1864         refcount operations.
1865
1866 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
1867
1868         Patch by: Philip Jägenstedt  <philip at lysator liu se>
1869
1870         * docs/manual/advanced-dataaccess.xml:
1871           Fix 'Embedding static elements' section to use
1872           GST_PLUGIN_DEFINE_STATIC (#345607).
1873
1874 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1875
1876         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
1877           Attempt to 'fix' spuriously failing test case: it seems like the
1878           timeout of half a second is simply too small when the system is under
1879           load otherwise, and the timeout doesn't really seem to serve any
1880           particular purpose here. Give the pipeline a few seconds to preroll
1881           first, and then give it another half a second to go from PAUSED to
1882           PLAYING and marshal the message into the main thread.
1883
1884 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1885
1886         * tools/gst-feedback-m.m:
1887           Don't only use unversioned tools, try versioned tools as well
1888           (#345086).
1889
1890 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1891
1892         * gst/gstbus.c: (gst_bus_class_init):
1893           Fix some typos, make docs more explicit.
1894
1895 2006-06-20  Wim Taymans  <wim@fluendo.com>
1896
1897         * tests/check/gst/gstghostpad.c: (block_callback),
1898         (GST_START_TEST), (gst_ghost_pad_suite):
1899         Added some more ghostpad tests, mainly blocking
1900         and probes.
1901
1902 2006-06-16  Wim Taymans  <wim@fluendo.com>
1903
1904         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
1905         (gst_file_sink_close_file), (gst_file_sink_do_seek),
1906         (gst_file_sink_event), (gst_file_sink_render):
1907         * plugins/elements/gstfilesink.h:
1908         Check if we can seek in the file instead of assuming
1909         we always can. Post an error when we are asked to seek in a
1910         non-seekable file (like a fifo). Fixes #343312.
1911         Some cleanups.
1912
1913 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1914
1915         * tools/gst-launch.1.in:
1916           Un-garble (fourcc) bit in filtered caps section.
1917
1918 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1919
1920         * docs/manual/advanced-autoplugging.xml:
1921         * docs/manual/basics-helloworld.xml:
1922         * docs/manual/highlevel-components.xml:
1923           Don't leak bus reference in sample code.
1924
1925 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
1926
1927         * autogen.sh:
1928           Add default for new --enable-plugin-docs switch.
1929
1930         * configure.ac:
1931           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
1932           Fixes #344039.
1933
1934         * docs/Makefile.am:
1935           Use new ENABLE_PLUGIN_DOCS conditional.
1936
1937 2006-06-14  Wim Taymans  <wim@fluendo.com>
1938
1939         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
1940         Make it clear with a FIXME and a real define what the #if 0
1941         previously disabled.
1942
1943 2006-06-14  Wim Taymans  <wim@fluendo.com>
1944
1945         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1946         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1947         * libs/gst/base/gstbasetransform.c:
1948         (gst_base_transform_sink_eventfunc):
1949         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1950         Don't randomly and silently reset a segment when the format 
1951         changes as this is a bug somewhere upstream. Fixes #330379.
1952
1953 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1954
1955         Patch by: Wouter Paesen  <wouter at kangaroot net>
1956
1957         * libs/gst/controller/gstcontroller.c:
1958         (gst_controlled_property_new):
1959           Fix controlling of float properties (#344849).
1960
1961         * tests/check/libs/controller.c:
1962         (gst_test_mono_source_get_property),
1963         (gst_test_mono_source_set_property),
1964         (gst_test_mono_source_class_init), (GST_START_TEST):
1965           While we're at it, add some float stuff to unit test.
1966
1967 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1968
1969         * docs/README:
1970         * docs/images/gdp-header.svg:
1971           add a gdp image
1972         * docs/libs/Makefile.am:
1973         * docs/libs/gdp-header.png:
1974         * libs/gst/dataprotocol/dataprotocol.c:
1975           add it to the API docs
1976         * docs/manual/intro-motivation.xml:
1977           fix typo
1978
1979 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1980
1981         * gst/gst.c: (scan_and_update_registry), (init_post):
1982           If the fork()'ed child process can't write the updated registry cache
1983           file to disk for some reason, make it exit with a failure exit code,
1984           so that the parent can then re-scan the plugins itself and update the
1985           registry structures in memory and work with that (rather than failing
1986           when creating elements because seemingly no plugins are available).
1987           Refactor registry scanning code into separate function for this and
1988           also separate fork() and non-fork() code paths. Fixes #344748.
1989
1990 2006-06-13  Wim Taymans  <wim@fluendo.com>
1991
1992         * docs/manual/advanced-dataaccess.xml:
1993         Fix wrong PluginDesc. Fixes #344755.
1994
1995 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1996
1997         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1998           Fix silly bug that prevented us from creating
1999           ~/.gstreamer-0.10 and writing the registry in one
2000           go (the first call to g_mkstemp() would overwrite the
2001           placeholder in the template string, so the second call
2002           to g_mkstemp() after creating the missing directory
2003           would then error out with 'invalid argument').
2004
2005 2006-06-13  Edward Hervey  <edward@fluendo.com>
2006
2007         * gst/gst.c: (init_post):
2008         Free string.
2009
2010 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2011
2012         * gst/glib-compat-private.h:
2013         * gst/glib-compat.c:
2014         * gst/glib-compat.h:
2015         * gst/gstvalue.c: (gst_value_serialize_flags):
2016           remove GLib 2.6 compatibility code
2017
2018 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
2019
2020         * gst/parse/Makefile.am:
2021           Fix build with 'make -j N' even more (#340016).
2022
2023 2006-06-12  Wim Taymans  <wim@fluendo.com>
2024
2025         * docs/gst/gstreamer-sections.txt:
2026         Fix docs.
2027
2028 2006-06-12  Wim Taymans  <wim@fluendo.com>
2029
2030         * gst/gstsegment.c: (gst_segment_set_duration),
2031         (gst_segment_set_last_stop), (gst_segment_set_seek),
2032         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2033         (gst_segment_to_running_time), (gst_segment_clip):
2034         Use G_UNLIKELY to help the compiler a bit.
2035
2036 2006-06-12  Wim Taymans  <wim@fluendo.com>
2037
2038         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2039
2040         * gst/gstevent.c: (gst_event_get_type):
2041         * gst/gstmessage.c:
2042         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2043         (gst_pad_push):
2044         constify quark registration strings. Fixes #344115
2045         Avoid unneeded type checking is _pad_push() by internally
2046         calling gst_pad_chain_unchecked().
2047
2048 2006-06-12  Wim Taymans  <wim@fluendo.com>
2049
2050         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
2051         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
2052         (gst_subbuffer_finalize), (gst_buffer_create_sub),
2053         (gst_buffer_is_span_fast), (gst_buffer_span):
2054         Init _type for consistency.
2055         Use _FLAGS macro to avoid type check.
2056         Avoid unneeded type checks in subbufer code.
2057
2058 2006-06-12  Wim Taymans  <wim@fluendo.com>
2059
2060         * gst/gst.c: (gst_debug_help):
2061         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
2062         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2063         (gst_plugin_feature_list_free):
2064         * gst/gstregistry.c: (gst_registry_add_plugin),
2065         (gst_registry_add_feature), (gst_registry_plugin_filter),
2066         (gst_registry_feature_filter), (gst_registry_find_plugin),
2067         (gst_registry_find_feature), (gst_registry_get_plugin_list),
2068         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
2069         * gst/gstregistryxml.c: (load_feature),
2070         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
2071         * gst/gstminiobject.c: (gst_mini_object_unref),
2072         (gst_mini_object_replace), (gst_value_mini_object_free),
2073         (gst_value_mini_object_copy):
2074         Use _CAST macros to avoid unneeded type checking.
2075         Added some more G_UNLIKELY.
2076
2077 2006-06-12  Wim Taymans  <wim@fluendo.com>
2078
2079         * gst/gstbuffer.h:
2080         Avoid unneeded type checking.
2081         API: GST_BUFFER_IS_DISCONT
2082
2083         * gst/gstminiobject.h:
2084         Avoid type check in flag accessor.
2085
2086         * gst/gstelementfactory.h:
2087         * gst/gstplugin.h:
2088         * gst/gstpluginfeature.h:
2089         Add _CAST macros.
2090         API: GST_ELEMENT_FACTORY_CAST
2091         API: GST_PLUGIN_CAST
2092         API: GST_PLUGIN_FEATURE_CAST
2093
2094 2006-06-12  Wim Taymans  <wim@fluendo.com>
2095
2096         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
2097         (gst_object_unref):
2098         Add G_UNLIKELY in type registration.
2099         Avoid type check in _ref/_unref since that is also
2100         done in glib.
2101
2102 2006-06-12  Wim Taymans  <wim@fluendo.com>
2103
2104         * gst/gsterror.c: (gst_g_error_get_type):
2105         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2106         (gst_static_pad_template_get_type):
2107         * gst/gsttaglist.c: (gst_tag_list_get_type):
2108         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
2109         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
2110         * gst/gsturi.c: (gst_uri_handler_get_type):
2111         * gst/gstvalue.c: (gst_date_get_type):
2112         * gst/gstxml.c: (gst_xml_get_type):
2113         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2114         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2115         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
2116         Add G_UNLIKELY in type registration.
2117
2118 2006-06-12  Wim Taymans  <wim@fluendo.com>
2119
2120         * tools/gst-inspect.c: (print_signal_info):
2121         Properly print enum values.
2122
2123 2006-06-12  Wim Taymans  <wim@fluendo.com>
2124
2125         * gst/gstinfo.c: (gst_debug_set_active),
2126         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
2127         * gst/gstinfo.h:
2128         Add some G_[UN]LIKELY.
2129         Maintain __gst_debug_min to avoid formatting the arguments of
2130         debug messages that will be dropped anyway to avoid a lot of 
2131         overhead from the debugging system.
2132
2133 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2134
2135         * po/POTFILES.in:
2136         * po/POTFILES.skip:
2137           add missing files containing translatable strings, tell intltool about
2138           one exception
2139
2140 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2141
2142         * tests/check/libs/.cvsignore:
2143         add test-binary to ignore list
2144
2145 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2146
2147         * docs/libs/gstreamer-libs-docs.sgml:
2148         reorder (put dp into a chapter) and indent
2149
2150 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2151
2152         * configure.ac:
2153           back to HEAD
2154
2155 === release 0.10.8 ===
2156
2157 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
2158
2159         * configure.ac:
2160           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2161
2162 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2163
2164         * gst/gst.c: (init_post):
2165           move pid declaration to declaration block
2166
2167 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2168
2169         * gst/gst.c: (init_post):
2170           use _exit() instead of exit() in our forked child; this ensures
2171           that none of the registered exit handlers from whatever is using
2172           GStreamer get executed.  This fixes gnome-mixer-applet failing
2173           to load, because ORBit would shut down.
2174           Spotted by: Edward Hervey  <edward@fluendo.com>
2175           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
2176           Fixes #344474
2177
2178 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2179
2180         * configure.ac:
2181           back to TRUNK
2182
2183 === release 0.10.7 ===
2184
2185 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
2186
2187         * configure.ac:
2188           releasing 0.10.7, "Soepeke, ik zie ou"
2189
2190 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2191
2192         * configure.ac:
2193         * po/af.po:
2194         * po/az.po:
2195         * po/bg.po:
2196         * po/ca.po:
2197         * po/cs.po:
2198         * po/de.po:
2199         * po/en_GB.po:
2200         * po/fr.po:
2201         * po/it.po:
2202         * po/nb.po:
2203         * po/nl.po:
2204         * po/ru.po:
2205         * po/sq.po:
2206         * po/sr.po:
2207         * po/sv.po:
2208         * po/tr.po:
2209         * po/uk.po:
2210         * po/vi.po:
2211         * po/zh_CN.po:
2212         * po/zh_TW.po:
2213         * win32/common/config.h:
2214           0.10.6.2 prerelease
2215
2216 2006-06-07  Wim Taymans  <wim@fluendo.com>
2217
2218         * gst/gstindex.c: (gst_index_gtype_resolver):
2219         * tools/gst-xmlinspect.c: (print_plugin_info):
2220         Fix leak spotted by coverity checker. Fixes #343827
2221         Fix another other leak found by paolo borelli.
2222
2223 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2224
2225         * libs/gst/dataprotocol/dataprotocol.c:
2226         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2227         (gst_dp_version_get_type), (gst_dp_init),
2228         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2229         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2230         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2231         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2232         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2233         (gst_dp_packetizer_free):
2234         * libs/gst/dataprotocol/dataprotocol.h:
2235           API: add a GstDPPacketizer object, and create/free functions
2236           API: add GstDPVersion enum
2237           Add 1.0 event function that uses the string serialization
2238           Serialize more useful buffer flags
2239           Fixes #343988
2240
2241 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2242
2243         * tests/check/Makefile.am:
2244         * tests/check/gst/gstabi.c:
2245         * tests/check/gst/struct_ppc64.h:
2246         * tests/check/libs/libsabi.c:
2247         * tests/check/libs/struct_ppc64.h:
2248           add ppc64 structure sizes
2249
2250 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2251
2252         * tests/check/Makefile.am:
2253         * tests/check/gst/gstabi.c:
2254         * tests/check/gst/struct_x86_64.h:
2255         * tests/check/libs/libsabi.c:
2256         * tests/check/libs/struct_x86_64.h:
2257           generate and add structure size lists for x86_64
2258
2259 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2260
2261         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2262         * libs/gst/check/gstcheck.h:
2263           factor out the method from tests that checks size of structures,
2264           and add code to generate the header containing these sizes
2265         * tests/check/gst/gstabi.c: (GST_START_TEST):
2266         * tests/check/gst/struct_i386.h:
2267         * tests/check/libs/libsabi.c: (GST_START_TEST):
2268         * tests/check/libs/struct_i386.h:
2269           use it
2270
2271 2006-06-06  Michael Smith  <msmith@fluendo.com>
2272
2273         * gst/gstsegment.h:
2274           Don't use c++-style comments, fixes #343929
2275
2276 2006-06-05  Edward Hervey  <edward@fluendo.com>
2277
2278         * gst/gst.c:
2279         plugin_paths is not used if we build without registry support.
2280
2281         * gst/gstsegment.c: (gst_segment_copy): 
2282         _copy() was always returning NULL...
2283
2284 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2285
2286         * libs/gst/dataprotocol/dataprotocol.c:
2287         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2288         (gst_dp_packet_from_event):
2289           factor out CRC code
2290
2291 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2292
2293         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2294           make sure we unset caps
2295
2296 2006-06-02  Michael Smith  <msmith@fluendo.com>
2297
2298         * libs/gst/check/gstcheck.c: (gst_check_init),
2299         (gst_check_chain_func):
2300         * libs/gst/check/gstcheck.h:
2301           Add a cond/mutex to the check support lib, signal this whenever we
2302           add to the buffers list. This will allow tests to not busy-wait on
2303           the buffer-list.
2304
2305 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2306
2307         * libs/gst/dataprotocol/dataprotocol.c:
2308         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2309         (gst_dp_packet_from_event):
2310           factor out some common header init code
2311
2312 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2313
2314         * docs/libs/gstreamer-libs-sections.txt:
2315         * docs/libs/tmpl/gstdataprotocol.sgml:
2316         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2317         * libs/gst/dataprotocol/dataprotocol.h:
2318           API: make gst_dp_crc() public
2319
2320 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2321
2322         * plugins/indexers/gstindexers.c: (plugin_init):
2323         conditionally register fileindexer (fixes #343598)
2324
2325 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2326
2327         * gst/gsttagsetter.h:
2328         Can't cast ifaces to a class
2329
2330         * libs/gst/net/gstnetclientclock.h:
2331         * libs/gst/net/gstnettimeprovider.h:
2332         * plugins/elements/gstfakesink.h:
2333         * plugins/elements/gstfakesrc.h:
2334         * plugins/elements/gstfdsink.h:
2335         * plugins/elements/gstfdsrc.h:
2336         * plugins/elements/gstfilesink.h:
2337         * plugins/elements/gstfilesrc.h:
2338         * plugins/elements/gstidentity.h:
2339         * plugins/elements/gstqueue.h:
2340         * plugins/elements/gsttee.h:
2341         * plugins/indexers/gstfileindex.c:
2342         * plugins/indexers/gstmemindex.c:
2343         * tests/old/examples/plugins/example.h:
2344         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2345
2346 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2347
2348         * libs/gst/dataprotocol/dataprotocol.c:
2349         (gst_dp_header_from_buffer):
2350           make sure we zero the whole ABI-compatible area
2351
2352 2006-06-01  Wim Taymans  <wim@fluendo.com>
2353
2354         Patch by: Alessandro Decina <alessandro at nnva dot org>
2355
2356         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2357         Make sure the EOS flag is cleared from pads after a flush
2358         or stop. Fixes #343538.
2359
2360         * tests/check/libs/collectpads.c: (GST_START_TEST),
2361         (gst_collect_pads_suite):
2362         Added test for collectpads reusage after EOS.
2363
2364 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
2365
2366         * gst/gst.c:
2367          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
2368         * win32/common/libgstbase.def:
2369          export gst_collect_pads_set_flushing
2370         * win32/common/libgstreamer.def:
2371          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
2372          gst_value_fraction_multiply
2373         * win32/vs6/gst_inspect.dsp:
2374          add a link to intl.lib
2375
2376 2006-05-30  Wim Taymans  <wim@fluendo.com>
2377
2378         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2379         (gst_collect_pads_chain):
2380         Handle the case where a pad is removed from the collection
2381         that could cause the other pads to become collectable.
2382
2383 2006-05-30  Wim Taymans  <wim@fluendo.com>
2384
2385         * gst/gstelement.c:
2386         Clarify the use of _release_request_pad() and
2387         _get_request_pad() a bit better.
2388
2389         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
2390         (gst_adapter_take_buffer):
2391         Fix some doc and comment typos.
2392
2393 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2394
2395         * docs/gst/gstreamer-sections.txt:
2396         * docs/libs/gstreamer-libs-sections.txt:
2397           add declared symbols
2398
2399 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
2400
2401         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2402         Add debug that can be enabled using a #define at the top of the file,
2403         for dumping stats about how late/early we were when waking up from
2404         waiting on the clock.
2405
2406 2006-05-30  Wim Taymans  <wim@fluendo.com>
2407
2408         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
2409         When rebuilding the pad list, don't leak the previous list.
2410
2411 2006-05-30  Wim Taymans  <wim@fluendo.com>
2412
2413         Patch by: Lutz Mueller <lutz at topfrose dot de>
2414
2415         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2416         (gst_base_src_get_query_types), (gst_base_src_update_length):
2417         Publish supported query types.
2418         Update last_stop field in get_range mode so the position
2419         query works. Fixes #342321.
2420
2421 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
2422
2423         * docs/gst/gstreamer-sections.txt:
2424         * gst/gsttaglist.c: (_gst_tag_initialize):
2425         * gst/gsttaglist.h:
2426           API: add GST_TAG_PREVIEW_IMAGE (#343341).
2427
2428 2006-05-30  Wim Taymans  <wim@fluendo.com>
2429
2430         Patch by: Alessandro Decina <alessandro at nnva dot org>
2431
2432         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2433         Unlock mutex when removing an unknown pad.
2434         Fixes #343334.
2435
2436         * tests/check/Makefile.am:
2437         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
2438         (push_event), (setup), (teardown), (GST_START_TEST),
2439         (gst_collect_pads_suite), (main):
2440         Added collecpads check, disabled for now as check crashes for
2441         some reason.
2442
2443 2006-05-29  Wim Taymans  <wim@fluendo.com>
2444
2445         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
2446         Don't leak pads lists.
2447
2448 2006-05-29  Wim Taymans  <wim@fluendo.com>
2449
2450         * docs/libs/gstreamer-libs-sections.txt:
2451         * libs/gst/base/gstcollectpads.c:
2452         (gst_collect_pads_set_flushing_unlocked),
2453         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2454         (gst_collect_pads_stop):
2455         * libs/gst/base/gstcollectpads.h:
2456         API: gst_collect_pads_set_flushing()
2457         Added api to set the pads to flushing, useful for seeking
2458         code in elements using collectpads.
2459         Clear segment when receiving a flush.
2460
2461 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
2462
2463         * gst/gst.c: (add_path_func), (init_post):
2464           Don't scan registry paths passed via --gst-plugin-path immediately
2465           (will crash, because absolutely nothing is set up and no types are
2466           registered etc.); do this later in init_post(). Fixes #343057.
2467
2468 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2469
2470         * gst/gst.c: (init_post):
2471           if we have fork, fork while reading/rebuilding the registry
2472           so the parent doesn't take the hit of having all plugins loaded
2473           in memory.  Fixes #342777.
2474         * configure.ac:
2475           Check if we have fork()
2476         * win32/common/config.h.in:
2477           no fork() on win32
2478
2479 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2480
2481         * plugins/elements/gstelements.c:
2482         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2483         (gst_file_src_init), (gst_file_src_set_property),
2484         (gst_file_src_get_property), (gst_file_src_start):
2485         * plugins/elements/gstfilesrc.h:
2486           API: GstFileSrc::use-mmap
2487
2488         Add a use-mmap property to enable easier testing of all code paths.
2489         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
2490         in the absence of gnomevfssrc. (Closes #340501)
2491
2492 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2493
2494         * tools/gst-inspect.c:
2495         Add missing include, removes warning of ngettext not being defined on
2496         some arches.
2497
2498 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2499
2500         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2501         Handle NULL input and output pointers silently as a failed conversion,
2502         rather than g_warnings.
2503
2504 2006-05-25  Wim Taymans  <wim@fluendo.com>
2505
2506         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
2507         Initialize variable before using. Fixes #342820.
2508
2509 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2510
2511         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
2512           Fix off-by-one bug that would only allow peeks of N-1 bytes
2513           from the start even if the buffer to typefind on contains
2514           in fact N bytes of data (makes vorbis typefinding from a
2515           vorbis identification header buffer work).
2516
2517         * tests/check/Makefile.am:
2518         * tests/check/libs/.cvsignore:
2519         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
2520         (gst_typefindhelper_suite), (main), (foobar_typefind),
2521         (plugin_init):
2522           Add very basic unit test for gst_type_find_helper_for_buffer()
2523           that checks for the problem fixed above.
2524
2525 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2526
2527         * tools/gst-inspect.c: (print_interfaces),
2528         (print_element_properties_info), (print_element_list), (main):
2529           add more translatable strings
2530
2531 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
2532
2533         Patch by: Julien Moutte  <julien at moutte net>
2534
2535         * docs/gst/gstreamer-sections.txt:
2536           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
2537           
2538         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
2539         (gst_fake_sink_preroll):
2540         * plugins/elements/gstfakesink.h:
2541           API: Add new GstFakeSink::preroll-handoff signal (#337100).
2542
2543 2006-05-23  Wim Taymans  <wim@fluendo.com>
2544
2545         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
2546         * gst/gstpad.h:
2547         Added _CUSTOM error and success GstFlowReturn that can be
2548         used be elements internally. 
2549         Added macro to check for SUCCESS flowreturns.
2550         API: GST_FLOW_CUSTOM_SUCCESS
2551         API: GST_FLOW_CUSTOM_ERROR
2552         API: GST_FLOW_IS_SUCCESS
2553
2554         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2555         Added check for GstFlowReturn sanity.
2556
2557 2006-05-23  Wim Taymans  <wim@fluendo.com>
2558
2559         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2560
2561         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2562         (gst_collect_pads_event):
2563         clear/reset segment info in FLUSH_STOP.
2564         Fixes #336929.
2565
2566 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
2567
2568         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
2569         (gst_collect_pads_check_collected):
2570         Flush queued buffer on _stop(), fixes playing again (#342454)
2571
2572 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2573
2574         * tests/check/gst/gststructure.c: (GST_START_TEST),
2575         (gst_structure_suite):
2576           add a test for a complete structure
2577
2578 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2579
2580         * docs/faq/developing.xml:
2581         * docs/faq/faq.xml:
2582         * docs/faq/troubleshooting.xml:
2583         * docs/faq/using.xml:
2584           Some minor FAQ updates that won't change the fact that
2585           our FAQ is badly structured, full of information hardly
2586           anyone new to GStreamer needs to know and lacking lots
2587           of information people constantly ask for.
2588           
2589 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
2590
2591         * gst/gstpad.c: (gst_pad_set_caps):
2592           Short-circuit gst_pad_set_caps if setting the existing
2593           caps pointer again, and avoid printing debug and 
2594           reffing/unreffing the caps.
2595
2596         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2597           There's actually no need to set the caps before pushing -
2598           the acceptcaps method will handle it anyway.
2599
2600 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2601
2602         * docs/gst/gstreamer-sections.txt:
2603         * win32/common/libgstreamer.def:
2604         * gst/gstutils.c: (gst_element_seek_simple):
2605         * gst/gstutils.h:
2606           API: add gst_element_seek_simple() (#342238).
2607
2608 2006-05-18  Edward Hervey  <edward@fluendo.com>
2609
2610         * gst/gsttypefind.c: (gst_type_find_get_type):
2611         * gst/gsttypefind.h:
2612         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
2613         registered for GstTypeFind pointers. This allows wrapping the structure
2614         in bindings (i.e. gst-python).
2615
2616 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2617
2618         * gst/gsttagsetter.c:
2619           Docs additions and fixes (see #339918).
2620
2621 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2622
2623         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2624         The caps intersection algorithm can produce multiple copies of the
2625         caps. Until that is fixed, we need to simplify the result to be
2626         sure whether the allowed caps are fixed or not.
2627
2628         * plugins/elements/gstqueue.c: (gst_queue_init),
2629         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
2630         (gst_queue_push_one):
2631         Proxied buffer alloc should not set the caps on the source pad.
2632         When pushing buffers, we always accept the caps change that triggers.
2633         This prevents negotiation errors caused by caps changing mid-stream 
2634         and then being refused on our source pad (because upstream is now
2635         refusing those caps).
2636
2637 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2638
2639         * tests/examples/helloworld/helloworld.c: (main):
2640           Must plug audioconvert and audioresample between decoder
2641           and audio sink.
2642
2643 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
2644
2645         * gst/gstregistryxml.c: (read_string), (load_pad_template),
2646         (load_feature), (load_plugin):
2647         Allow empty strings for some of the plugin fields so we don't 
2648         drop valid plugin entries that were written out correctly
2649         (Fixes #341479)
2650
2651 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
2652         
2653         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2654           Use g_remove and g_rename instead of remove and rename that don't 
2655           handle utf8 characters. rename was failing for users who had specific
2656           characters in their name then the registry was built at each 
2657           gstreamer init.
2658         * win32/vs6/gst_inspect.dsp:
2659         * win32/vs6/gst_launch.dsp:
2660         * win32/vs6/libgstbase.dsp:
2661         * win32/vs6/libgstcoreelements.dsp:
2662         * win32/vs6/libgstreamer.dsp:
2663           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
2664           build of libgstreamer and clean unused libraries in projects link 
2665           settings.
2666
2667 2006-05-17  Edward Hervey  <edward@fluendo.com>
2668
2669         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2670         The queue is not responsible for pushing an EOS when receiving a fatal
2671         flow error. It's up to the real element driving the pipeline to do that.
2672
2673 2006-05-16  Edward Hervey  <edward@fluendo.com>
2674
2675         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2676         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
2677         buffer returned a fatal error. It should just send an EOS and stop
2678         its task.
2679         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
2680         when pushing buffers on the queue and will be able to handle the event.
2681
2682 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2683
2684         * docs/manual/basics-bins.xml:
2685         * docs/manual/basics-init.xml:
2686           Fix typos and minor errors in sample code (#341856).
2687
2688 2006-05-16  Wim Taymans  <wim@fluendo.com>
2689
2690         * docs/design/part-qos.txt:
2691         Fix indexes in formulas to make more sense.
2692
2693 2006-05-15  Wim Taymans  <wim@fluendo.com>
2694
2695         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2696         Don't report POSITION based on clock time if sync is
2697         disabled in a sink.
2698
2699 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
2700
2701         * gst/gstobject.h:
2702           Add cast to make compiler happy - refcount variable was a gint
2703           in GstObject but is a guint in GObject and g_atomic_int_get()
2704           wants a gint *.
2705
2706 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2707
2708         * gst/parse/Makefile.am:
2709           chain commands using &&, which also makes parallel make work
2710
2711 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
2712
2713         * docs/gst/gstreamer-sections.txt:
2714         * gst/gstevent.c:
2715         * gst/gstevent.h:
2716         * gst/gstmessage.h:
2717           Minor docs fixes.
2718
2719 === release 0.10.6 ===
2720
2721 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
2722
2723         * configure.ac:
2724           releasing 0.10.6, "Take the cannoli"
2725
2726 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2727
2728         * tools/gst-launch.c: (print_tag):
2729           Fix use of uninitialized variable in the hypothetical
2730           case that some broken plugin creates a GST_TAG_IMAGE
2731           tag containing a NULL buffer (#341667).
2732
2733 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2734
2735         * tools/gst-launch.c: (print_tag):
2736           Print something more intelligible for image tags when
2737           using the -t switch (#341556).
2738
2739 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2740
2741         * Makefile.am:
2742           updates for win32
2743         * configure.ac:
2744           define GST_MAJORMINOR so we have it available in win32/common/config.h
2745           Possibly remove it from our Makefile.am files later
2746         * win32/common/config.h:
2747         * win32/common/config.h.in:
2748           added GST_MAJORMINOR
2749         * win32/common/gstenumtypes.c: (register_gst_resource_error):
2750         * win32/common/gstversion.h:
2751           updated
2752
2753 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
2754
2755         * win32/MANIFEST:
2756           Update win32 files listing.
2757         * win32/common/gstversion.h:
2758           Add GST_MAJORMINOR definition.
2759         * win32/common/libgstreamer.def:
2760           Add new exported functions.
2761           
2762 2006-05-12  Michael Smith  <msmith@fluendo.com>
2763
2764         * gst/gstplugin.c: (gst_plugin_load_file):
2765           If an so file has no plugin entry point, unload the module.
2766
2767 2006-05-11  Wim Taymans  <wim@fluendo.com>
2768
2769         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
2770         (gst_queue_set_property):
2771         Don't forget to signal the _chain or _loop function 
2772         when the queue size or thresholds change since that might
2773         cause them to make progres again.
2774
2775 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
2776
2777         * gst/gstclock.c: (gst_clock_class_init):
2778         * gst/gstindex.c: (gst_index_class_init):
2779         * gst/gstobject.c: (gst_object_class_init):
2780         * gst/gstpad.c: (gst_pad_class_init):
2781         * gst/gstpipeline.c: (gst_pipeline_class_init):
2782         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2783         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2784         * libs/gst/base/gstbasetransform.c:
2785         (gst_base_transform_class_init):
2786         * libs/gst/net/gstnetclientclock.c:
2787         (gst_net_client_clock_class_init):
2788         * libs/gst/net/gstnettimeprovider.c:
2789         (gst_net_time_provider_class_init):
2790         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2791         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2792         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2793         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2794         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2795         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2796         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2797         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2798         * plugins/elements/gsttee.c: (gst_tee_class_init):
2799         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2800         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2801           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
2802
2803 2006-05-11  Wim Taymans  <wim@fluendo.com>
2804
2805         * gst/gstbuffer.c: (_gst_buffer_initialize):
2806         Register subbufer along with the buffer type so that
2807         it does not accidentally gets registered from N
2808         different streaming threads in a non threadsafe way.
2809
2810 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2811
2812         * gst/gstbuffer.h:
2813         * gst/gstevent.h:
2814         * gst/gstmessage.h:
2815           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
2816           gst_event_ref() and gst_message_ref() functions again
2817           (ugly hack, please do fix if there's a better way besides
2818           overrides.txt, which doesn't seem to work).
2819
2820 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2821
2822         * libs/gst/check/gstcheck.h:
2823           add an assert for setting state to avoid lots of repetitive code
2824           in the future
2825
2826 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2827
2828         * gst/gstvalue.c: (gst_value_serialize_flags):
2829           fix a leak if no flags are set
2830         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2831           fix leak in tests
2832
2833 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2834
2835         * docs/manual/basics-pads.xml:
2836           Expand a bit on caps and filtered links and update
2837           examples that were still using the no longer existing
2838           gst_pad_link_filtered() (#338206).
2839
2840 2006-05-10  Wim Taymans  <wim@fluendo.com>
2841
2842         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2843         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2844         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2845         (gst_collect_pads_stop):
2846         * libs/gst/base/gstcollectpads.h:
2847         No need to call _stop in _finalize.
2848         Iterate the main pad list in _finalize.
2849         Added some more debug.
2850         Free lists and data in the right order.
2851         Also free data whem doing _remove_pad when stopped for
2852         backward compatibility protect ::started with PAD_LOCK as
2853         well.
2854
2855 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2856
2857         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
2858         (gst_structure_parse_value):
2859           add some comments
2860           rename a method so that it actually says what it does better
2861
2862 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2863
2864         * gst/gstevent.c: (_gst_event_initialize):
2865         * gst/gstformat.c: (_gst_format_initialize):
2866           make sure some essential types used by events are registered
2867           as part of gst_init()
2868         * gst/gstvalue.c: (gst_value_serialize_flags):
2869           if no flags are set, serialize them to a value that represents NONE
2870           so that deserializing them works
2871         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2872           add tests for serialization and deserialization of flags
2873
2874 2006-05-10  Wim Taymans  <wim@fluendo.com>
2875
2876         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
2877         (gst_collect_pads_collect_range), (gst_collect_pads_available),
2878         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
2879         (gst_collect_pads_event), (gst_collect_pads_chain):
2880         Update docs.
2881         Better debug info.
2882         Catch and return errors from the collect function
2883         Refuse data on eos pads.
2884
2885 2006-05-10  Edward Hervey  <edward@fluendo.com>
2886
2887         * gst/gstinterface.h:
2888         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
2889         GInterface type checking.
2890         They were previously using non-defined macros.
2891
2892 2006-05-09  Wim Taymans  <wim@fluendo.com>
2893
2894         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
2895         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
2896         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
2897         (gst_collect_pads_start), (gst_collect_pads_stop),
2898         (gst_collect_pads_peek), (gst_collect_pads_pop),
2899         (gst_collect_pads_available), (gst_collect_pads_read),
2900         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
2901         (gst_collect_pads_is_collected), (gst_collect_pads_event),
2902         (gst_collect_pads_chain):
2903         * libs/gst/base/gstcollectpads.h:
2904         Clean up the mess that is collectpads, add comments and
2905         FIXMEs where needed.
2906         Maintain a separate pad list so we can add pads while
2907         collecting the other ones. For this we need a new separate 
2908         lock (see comics).
2909         Fix memory leak in finalize.
2910         Refactor some weird code to set/unset pad flushing flags, mark
2911         with comments.
2912         Don't crash in _available, _read, _flush when we're EOS.
2913
2914         * tests/check/libs/.cvsignore:
2915         Ignore adapter check binary.
2916
2917 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2918
2919         * gst/gstindex.c: (gst_index_resolver_get_type):
2920         * plugins/elements/gstfakesink.c:
2921         (gst_fake_sink_state_error_get_type):
2922         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2923         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
2924         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2925           Const-ify GEnumValue arrays.
2926
2927 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2928
2929         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2930           Add test case for flags + gst_buffer_make_metadata_writable().
2931
2932 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2933
2934         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
2935           gst_buffer_make_metadata_writable() should maintain the
2936           buffer flags (those that make sense at least) (see #340859).
2937
2938 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2939
2940         * tools/gst-inspect.c:
2941         * tools/gst-launch.c:
2942         * tools/gst-typefind.c:
2943         * tools/gst-xmlinspect.c:
2944         * tools/tools.h:
2945           Fix up includes: need to include stdlib.h in tools.h for exit().
2946
2947 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2948
2949         * gst/gsttaglist.c: (_gst_tag_initialize):
2950         * gst/gsttaglist.h:
2951           API: add GST_TAG_IMAGE tag (#340721).
2952
2953 2006-05-08  Wim Taymans  <wim@fluendo.com>
2954
2955         * gst/gstquery.c:
2956         Added some docs for the segment query.
2957
2958 2006-05-08  Wim Taymans  <wim@fluendo.com>
2959
2960         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2961         (gst_base_src_loop), (gst_base_src_change_state):
2962         Always push non-flushing serialized events in the streaming 
2963         thread.
2964
2965 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2966
2967         * gst/gsterror.c: (_gst_stream_errors_init):
2968           Add a missing error string.
2969
2970 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
2971
2972         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
2973         Add applied_rate to the debug
2974
2975         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2976         Copy applied_rate into the outgoing NEWSEGMENT event
2977
2978 2006-05-08  Wim Taymans  <wim@fluendo.com>
2979
2980         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
2981
2982         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
2983         (gst_base_sink_change_state):
2984         call ::unlock before taking the PREROLL_LOCK so we can safely
2985         handle elements that lock in ::render.
2986         Fixes #340174.
2987
2988 2006-05-08  Edward Hervey  <edward@fluendo.com>
2989
2990         * autogen.sh: (CONFIGURE_DEF_OPT): 
2991         Darwin's libtoolize is in fact called glibtoolize.
2992         Adding glibtoolize to the list of accepted names for libtoolize.
2993
2994 2006-05-08  Wim Taymans  <wim@fluendo.com>
2995
2996         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2997         Unify error handling, don't post an error message
2998         when a push() returns EOS but perform our normal EOS
2999         handling code. Fixes #340772.
3000
3001 2006-05-08  Wim Taymans  <wim@fluendo.com>
3002
3003         * docs/design/part-overview.txt:
3004         Make upsteam/downstream concepts more clear.
3005         Give an example of serialized/non-serialized events.
3006
3007         * docs/design/part-events.txt:
3008         * docs/design/part-streams.txt:
3009         Mention applied_rate.
3010
3011         * docs/design/part-trickmodes.txt:
3012         Mention applied rate, flesh out some more use cases.
3013
3014         * gst/gstevent.c: (gst_event_new_new_segment),
3015         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
3016         (gst_event_parse_new_segment_full), (gst_event_new_tag),
3017         (gst_event_parse_tag), (gst_event_new_buffer_size),
3018         (gst_event_parse_buffer_size), (gst_event_new_qos),
3019         (gst_event_parse_qos), (gst_event_parse_seek),
3020         (gst_event_new_navigation):
3021         * gst/gstevent.h:
3022         Add applied_rate field to NEWSEGMENT event.
3023         API: gst_event_new_new_segment_full()
3024         API: gst_event_parse_new_segment_full()
3025
3026         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
3027         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
3028         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3029         * gst/gstsegment.h:
3030         Add applied_rate to GstSegment structure.
3031         Make calculation of stream_time and running_time more correct
3032         wrt rate/applied_rate.
3033         Add some more docs.
3034         API: GstSegment::applied_rate field
3035         API: gst_segment_set_newsegment_full();
3036
3037         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3038         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
3039         * libs/gst/base/gstbasetransform.c:
3040         (gst_base_transform_sink_eventfunc),
3041         (gst_base_transform_handle_buffer):
3042         Parse and use applied_rate in the GstSegment field.
3043
3044         * tests/check/gst/gstevent.c: (GST_START_TEST):
3045         Add check for applied_rate field.
3046
3047         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3048         (gstsegments_suite):
3049         Add more checks for various GstSegment operations.
3050
3051 2006-05-08  Wim Taymans  <wim@fluendo.com>
3052
3053         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3054         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
3055         (gst_base_sink_get_position), (gst_base_sink_change_state):
3056         Store the sync time of the buffer end position separatly in a
3057         new variable eos_rtime so we can properly sync the EOS event.
3058         Fixes #340697.
3059         Fix the docs for gst_base_sink_set_qos_enabled().
3060         Don't set segment start to invalid value when we receive a 
3061         non TIME newsegment.
3062         get closer to handling position reporting for negative rates 
3063         correctly.
3064
3065 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3066
3067         * gst/gstcaps.c:
3068         Docs about how to print caps for debug purposes.
3069
3070         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
3071         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
3072
3073 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3074
3075         * gst/gstelement.c:
3076           use full enum names and preprend a '%' in docs strings to make recent 
3077           gtk-doc turn that into a link
3078
3079 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3080
3081         * docs/manual/basics-bins.xml:
3082         * docs/manual/basics-bus.xml:
3083         * docs/manual/basics-pads.xml:
3084           Some typo fixes, some additions, some clarifications. 
3085
3086 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3087
3088         * tools/gst-inspect.c: (main):
3089         * tools/gst-launch.c: (main):
3090         * tools/gst-run.c: (main):
3091         * tools/gst-typefind.c: (main):
3092         * tools/gst-xmlinspect.c: (main):
3093           Use the string passed to g_option_context_new() for
3094           what it's intended for - the program name is already
3095           printed elsewhere.
3096
3097 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3098
3099         * tools/Makefile.am:
3100         * tools/gst-inspect.c: (main):
3101         * tools/gst-launch.c: (main):
3102         * tools/gst-xmlinspect.c: (main):
3103         * tools/tools.h:
3104           Add back --version command line option (#340460).
3105
3106         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
3107           Add --version option and use GOption for argument parsing; refactor a
3108           bit; accept directories as arguments and recurse into them; lastly,
3109           print a decent error message when things go wrong.
3110
3111 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3112
3113         * docs/manual/basics-bins.xml:
3114         Don't mention GstThread (#340611)
3115         * docs/manual/basics-elements.xml:
3116         Update link to GObject tutorial (#340607)
3117         
3118 2006-05-05  Wim Taymans  <wim@fluendo.com>
3119
3120         * gst/gstbuffer.h:
3121         * gst/gstminiobject.c:
3122         Add note about refcounting and miniobject/buffer writeability
3123         to docs. Fixes #340604
3124
3125         * gst/gstelementfactory.h:
3126         Added some explanation about @klass.
3127
3128 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3129
3130         * docs/manual/intro-motivation.xml:
3131         * docs/manual/manual.xml:
3132         Avoid CORBA & Bonobo references (#340598)
3133
3134 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3135
3136         * docs/manual/basics-bus.xml:
3137         * docs/manual/basics-pads.xml:
3138         Fix up some inaccuracies and omissions (#340609)
3139         
3140 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3141
3142         * gst/gstghostpad.c:
3143           Small typo in docs (#340625)
3144
3145 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3146
3147         * gst/parse/Makefile.am:
3148           Make 'make -j' proof (see #340698).
3149
3150 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3151
3152         * configure.ac:
3153           Require GLib-2.8 here as well.
3154
3155 2006-05-05  Wim Taymans  <wim@fluendo.com>
3156
3157         * gst/glib-compat.c:
3158         * gst/gst.c: (init_pre):
3159         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3160         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3161         (gst_object_dispatch_properties_changed):
3162         * gst/gstobject.h:
3163         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3164         * gst/gststructure.c: (gst_structure_set_valist):
3165         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3166         Remove pre glib2.8 compatibility, fixes #340508
3167
3168 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3169
3170         * gst/gsttaglist.h:
3171           Mention type of tags in doc blurbs.
3172
3173 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
3174
3175         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3176         (gst_pad_configure_src), (gst_pad_push):
3177         Restore acceptcaps checking behaviour now that good plugins have
3178         been released.
3179
3180 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3181
3182         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3183
3184         * gst/gst.c:
3185         * gst/gstbus.c:
3186         * gst/gstclock.c:
3187         * gst/gstevent.c:
3188         * gst/gstformat.c:
3189         * gst/gstmessage.c:
3190         * gst/gstparse.c:
3191         * gst/gstquery.c:
3192         * gst/gstutils.c:
3193         * gst/parse/Makefile.am:
3194         * libs/gst/base/gstadapter.c:
3195         * libs/gst/base/gstbasesrc.c:
3196         * libs/gst/base/gstpushsrc.c:
3197         * libs/gst/base/gsttypefindhelper.c:
3198         * plugins/elements/gstfakesrc.c:
3199         * plugins/elements/gstidentity.c:
3200           Make sure gstprivate.h and/or config.h are
3201           always included first, otherwise some of our
3202           defines (like _FILE_OFFSET_BITS) might be
3203           redefined in the system headers. Fixes build
3204           on opensolaris (#340016).
3205
3206 2006-05-04  Wim Taymans  <wim@fluendo.com>
3207
3208         * docs/libs/gstreamer-libs-sections.txt:
3209         API: addition: gst_adapter_take_buffer()
3210         
3211         * libs/gst/base/gstadapter.c: (gst_adapter_push),
3212         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3213         (gst_adapter_available_fast):
3214         * libs/gst/base/gstadapter.h:
3215         Prepare for optimizing the hell out of this hugely inefficient
3216         piece of code. 
3217         Added gst_adapter_take_buffer() so we can at least start thinking
3218         about subbuffering and merging.
3219         Added some comments.
3220
3221         * tests/check/Makefile.am:
3222         * tests/check/libs/adapter.c: (GST_START_TEST),
3223         (gst_adapter_suite), (main):
3224         Added GstAdapter check.
3225
3226 2006-05-04  Wim Taymans  <wim@fluendo.com>
3227
3228         * docs/design/part-overview.txt:
3229         Fix some typos, add blurb about buffer flags.
3230
3231 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3232
3233         * docs/libs/gstreamer-libs-sections.txt:
3234           make sure GstBaseTransformClass shows up in the docs
3235         * libs/gst/base/gstbasetransform.c:
3236         * libs/gst/base/gstbasetransform.h:
3237           move docs so gtk-doc picks it up now
3238
3239 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3240
3241         * docs/libs/gstreamer-libs-sections.txt:
3242           add missing symbols to docs
3243
3244 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3245
3246         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3247           back out the newsegment handling change, see #340060 for ongoing
3248           discussion
3249
3250 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
3251
3252         * tools/gst-run.c: (get_candidates), (main):
3253           Fix wrong g_file_test() usage (see glib docs for why it doesn't
3254           work); fix typo in error message. Fixes #340079.
3255
3256 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3257
3258         * common/Makefile.am:
3259         * docs/Makefile.am:
3260         * docs/faq/Makefile.am:
3261         * docs/gst/Makefile.am:
3262         * docs/libs/Makefile.am:
3263         * docs/manual/Makefile.am:
3264         * docs/plugins/Makefile.am:
3265         * docs/pwg/Makefile.am:
3266         * docs/slides/Makefile.am:
3267         * docs/upload.mak:
3268         * common/upload.mak:
3269           move upload.mak to common
3270
3271 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3272
3273         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3274           add more asserts on refcounts
3275           do more cleanup at end of tests
3276           fix test leaks showing in FC5
3277
3278 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3279
3280         * plugins/elements/gsttypefindelement.c:
3281         (gst_type_find_element_handle_event):
3282         reverted wrong change and reflowed code to avoid others falling into
3283         this trap
3284
3285 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3286
3287         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3288           fix changelog entry about last collectpads change,
3289           add notes about proper fix
3290
3291 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3292
3293         * gst/gst.c:
3294         * gst/gstregistry.c: (gst_registry_scan_path_level),
3295         (gst_registry_scan_path):
3296         * gst/gstregistry.h:
3297           only write out registry if it has changed, fixes #338339
3298
3299 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3300
3301         * gst/gstbin.c:
3302         * gst/gstpipeline.c:
3303         * plugins/elements/gstcapsfilter.c:
3304         * plugins/elements/gstfakesink.c:
3305         * plugins/elements/gstfakesrc.c:
3306         * plugins/elements/gstfdsink.c:
3307         * plugins/elements/gstfdsrc.c:
3308         * plugins/elements/gstfilesink.c:
3309         * plugins/elements/gstfilesrc.c:
3310         * plugins/elements/gstidentity.c:
3311         * plugins/elements/gstqueue.c:
3312         * plugins/elements/gsttee.c:
3313         * plugins/elements/gsttypefindelement.c:
3314         (gst_type_find_element_handle_event):
3315           make GstElementDetails const
3316
3317 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3318
3319         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3320         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3321         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3322           more detailed debug and formatting cleanup,
3323           forward newsegments to src-pad (so that e.g. adder not eats them)
3324
3325 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3326
3327         * gst/gstutils.c: (gst_element_link_pads):
3328           cleanup double code
3329
3330 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3331
3332         * libs/gst/controller/gstcontroller.c:
3333         (gst_controller_sync_values):
3334           some little tuning
3335         * tests/check/libs/controller.c: (GST_START_TEST),
3336         (gst_controller_suite):
3337           a new test for live value handling
3338
3339 2006-04-28  Wim Taymans  <wim@fluendo.com>
3340
3341         * gst/gstutils.c: (push_and_ref):
3342         Added some more docs.
3343         Fix refcount issue whith gst_element_found_tags() helper 
3344         function. Fixes #338335
3345
3346         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3347         Added testsuite for gst_element_found_tags().
3348
3349 2006-04-28  Michael Smith  <msmith@fluendo.com>
3350
3351         * gst/gstvalue.c: (gst_value_serialize_flags):
3352           Avoid NULL dereference when trying to serialize flags containing
3353           invalid values.
3354
3355 2006-04-28  Michael Smith  <msmith@fluendo.com>
3356
3357         * plugins/elements/gsttypefindelement.c:
3358         (gst_type_find_element_handle_event):
3359           If we get EOS before any data is accumulated, don't use
3360           uninitialised local variables.
3361
3362 2006-04-28  Michael Smith  <msmith@fluendo.com>
3363
3364         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3365         (gst_dp_event_from_packet):
3366           Fixes in reading/writing events over GDP (not currently used?) - 
3367           dereferencing NULL events for unknown/invalid event types, memory
3368           leak, and change g_warning to GST_WARNING.
3369
3370 2006-04-28  Wim Taymans  <wim@fluendo.com>
3371
3372         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
3373         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3374         (gst_base_sink_get_position), (gst_base_sink_change_state):
3375         When frame dropping is enabled, we should not ignore frames
3376         without a duration.
3377         Update some documentation.
3378
3379 2006-04-28  Wim Taymans  <wim@fluendo.com>
3380
3381         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3382         (gst_base_src_send_event), (gst_base_src_change_state):
3383         Documentation updates.
3384
3385 2006-04-28  Wim Taymans  <wim@fluendo.com>
3386
3387         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3388         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
3389         handle EAGAIN, EINTR and short writes correctly. Also clean
3390         up some error cases, avoid a deadlock on bad file descriptors and
3391         use GST_DEBUG_OBJECT.
3392         Fixes #339843
3393
3394 2006-04-28  Wim Taymans  <wim@fluendo.com>
3395
3396         * gst/gstvalue.c: (gst_value_serialize_buffer),
3397         (gst_value_deserialize_buffer):
3398         Don't try to serialize a GValue with a NULL buffer. 
3399         Fixes #339821.
3400
3401         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3402         Added check for serialisation of NULL buffers.
3403
3404 2006-04-28  Wim Taymans  <wim@fluendo.com>
3405
3406         * gst/gstminiobject.c: (gst_value_take_mini_object):
3407         Taking a NULL miniobject is valid, fix the case where
3408         we try to unref the NULL miniobject.
3409
3410 2006-04-28  Wim Taymans  <wim@fluendo.com>
3411
3412         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
3413
3414         * gst/gstbin.c: (gst_bin_handle_message_func):
3415         Update docs.
3416         Don't leak bin refcount when a state recalc is
3417         in progress and we delay another one #339808.
3418
3419 2006-04-28  Wim Taymans  <wim@fluendo.com>
3420
3421         * docs/design/part-TODO.txt:
3422         Mention QoS as an ongoing work item.
3423
3424         * docs/design/part-buffering.txt:
3425         New doc about buffering that needs to be fleshed out
3426         at some point.
3427
3428         * docs/design/part-qos.txt:
3429         More QoS policy for decoders/demuxers/transforms
3430
3431         * docs/design/part-trickmodes.txt:
3432         Small update.
3433
3434 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3435
3436         * configure.ac:
3437           back to HEAD
3438
3439 === release 0.10.5 ===
3440
3441 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
3442
3443         * configure.ac:
3444           releasing 0.10.5, "Fogo"
3445
3446 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3447
3448         patch by: Wim Taymans
3449
3450         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3451         (gst_pad_configure_src), (gst_pad_push):
3452         * gst/gstpipeline.c: (gst_pipeline_init):
3453           Fix internal data flow errors.  Fixes #338711.
3454
3455 2006-04-12  Wim Taymans  <wim@fluendo.com>
3456
3457         * tests/check/gst/gstelement.c: (GST_START_TEST):
3458         Don't leak the factory.
3459
3460 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3461
3462         * configure.ac:
3463         * win32/common/config.h:
3464           prerelease
3465
3466 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3467
3468         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3469         (gst_controller_unset_all):
3470           Free allocated GstTimedValues when freeing list nodes.
3471           Should fix leaks 'make check-valgrind' complains about.
3472
3473         * win32/common/libgstcontroller.def:
3474           Add gst_controller_unset_all.
3475
3476 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
3477
3478         * docs/libs/gstreamer-libs-sections.txt:
3479         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3480         (gst_controller_unset_all):
3481         * libs/gst/controller/gstcontroller.h:
3482         API: Added new method gst_controller_unset_all()
3483         fixed gst_controller_unset()
3484         * tests/check/libs/controller.c: (GST_START_TEST),
3485         (gst_controller_suite):
3486         Added two testcases for new and fixed method
3487
3488 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
3489
3490         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3491           MSG_DONTWAIT is not defined on Cygwin, so work
3492           around that (fixes #317048).
3493           
3494 2006-04-11  Wim Taymans  <wim@fluendo.com>
3495
3496         * gst/gstelementfactory.c: (gst_element_register),
3497         (gst_element_factory_create), (gst_element_factory_make):
3498         Some cleanups.
3499         Fixed a FIXME.
3500         Updated docs (Fixes #131079)
3501
3502         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3503         Small cleanups.
3504
3505         * tests/check/gst/gstelement.c: (GST_START_TEST),
3506         (gst_element_suite):
3507         Added testcase for elementfactory class field.
3508
3509 2006-04-10  Wim Taymans  <wim@fluendo.com>
3510
3511         * gst/gstsegment.c:
3512         Added some more docs.
3513
3514         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
3515         (gst_base_sink_reset_qos):
3516         Calculate more accurate rate values.
3517
3518 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
3519
3520         * gst/gst_private.h:
3521           add a new #ifdef to use __declspec(dllimport) only for
3522           other modules and not for gstreamer core
3523         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
3524           use gst_guint64_to_gdouble for conversion
3525         * win32/common/libgstreamer.def:
3526           add new exported functions
3527         * win32/vs6/gst_inspect.dsp:
3528         * win32/vs6/gst_launch.dsp:
3529         * win32/vs6/libgstbase.dsp:
3530         * win32/vs6/libgstcontroller.dsp:
3531         * win32/vs6/libgstcoreelements.dsp:
3532         * win32/vs6/libgstdataprotocol.dsp:
3533         * win32/vs6/libgstnet.dsp:
3534           update project files
3535
3536 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3537
3538         * gst/gstbuffer.c: (gst_subbuffer_class_init):
3539         * gst/gstclock.c: (gst_clock_class_init):
3540         * gst/gstelement.c: (gst_element_class_init):
3541         * gst/gstindex.c: (gst_index_class_init):
3542         * gst/gstindexfactory.c: (gst_index_factory_class_init):
3543         * gst/gstobject.c: (gst_object_class_init),
3544         (gst_signal_object_class_init):
3545         * gst/gstpad.c: (gst_pad_class_init):
3546         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
3547         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
3548         * gst/gstregistry.c: (gst_registry_class_init):
3549         * gst/gstsystemclock.c: (gst_system_clock_class_init):
3550         * gst/gsttask.c: (gst_task_class_init):
3551         * gst/gstxml.c: (gst_xml_class_init):
3552         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3553         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3554         (gst_base_src_loop):
3555         * libs/gst/controller/gstcontroller.c:/
3556         (_gst_controller_class_init):
3557         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3558         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3559         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
3560         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3561         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3562         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
3563
3564 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
3565
3566         * gst/gstpad.c: (gst_pad_link):
3567           Must set peer pads before calling the link function, otherwise
3568           a task started from a link function might get a flow-not-linked
3569           result when trying to push because the other thread where the
3570           linking happens hasn't had a chance to set the peers yet. This
3571           might happen for example when a queue gets linked to a downstream
3572           element, as queue starts a streaming task when its source pad
3573           gets linked. Happens in real life when playing back flac/musepack
3574           files in playbin (#332390).
3575           
3576 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3577
3578         * gst/gstindex.h:
3579         * gst/gstxml.h:
3580         * libs/gst/base/gstadapter.h:
3581         * libs/gst/base/gstbasesink.h:
3582         * libs/gst/base/gstbasesrc.h:
3583         * libs/gst/base/gstbasetransform.h:
3584         * libs/gst/base/gstcollectpads.h:
3585         * libs/gst/base/gstpushsrc.h:
3586         Fix broken GObject macros
3587
3588 2006-04-07  Wim Taymans  <wim@fluendo.com>
3589
3590         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3591         Initialize start and stop times, thanks valgrind.
3592
3593 2006-04-07  Wim Taymans  <wim@fluendo.com>
3594
3595         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3596         Be a bit nicer to badly behaving upstream elements that expect
3597         us to deal with non TIME segments and timestamps (such as fakesrc
3598         in the testsuite).
3599
3600 2006-04-07  Wim Taymans  <wim@fluendo.com>
3601
3602         * gst/gstbus.c:
3603         Small documentation clarification about the signal watch.
3604
3605         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3606         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3607         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3608         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3609         (gst_base_sink_get_position_last),
3610         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
3611         Convert and store timestamps in stream time and running time, the
3612         raw timestamps are not usefull, also document this better.
3613         Use different window sizes for good and bad QoS observations so
3614         we react to badness a little quicker.
3615         Keep track of the amount of rendered and dropped buffers.
3616         Send QoS timestamps in running time.
3617
3618         * libs/gst/base/gstbasetransform.c:
3619         (gst_base_transform_sink_eventfunc),
3620         (gst_base_transform_handle_buffer):
3621         Compare QoS timestamps against running time.
3622
3623 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3624
3625         * gst/gstpad.c:
3626           Typo fixes in docs.
3627
3628 2006-04-06  Michael Smith  <msmith@fluendo.com>
3629
3630         * gst/gstpad.c: (gst_pad_set_property):
3631           Use g_value_get_object() instead of g_value_dup_gst_object(),
3632           to avoid double-reffing the pad template (which we then sink,
3633           so this worked previously if (and only if) the pad template
3634           was floating.
3635
3636         * gst/gstpadtemplate.c: (gst_pad_template_init),
3637         (gst_pad_template_pad_created):
3638           Never return floating references to pad templates, create
3639           them as initially-sunken.
3640
3641           Document an extra function (and make this stop sinking our
3642           pad template, since that is now guaranteed to do nothing,
3643           since we created it sunken).
3644
3645         * gst/gstghostpad.c:
3646           Fix docs typo.
3647
3648 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3649
3650         * gst/gstinfo.c: (__gst_in_valgrind):
3651           Add some newlines.
3652
3653         * plugins/elements/gsttypefindelement.c:
3654         (gst_type_find_element_chain):
3655           Don't leak buffer caps.
3656
3657 2006-04-06  Michael Smith  <msmith@fluendo.com>
3658
3659         * gst/parse/grammar.y:
3660           Fix a leak in parse-launch for any source-or-sink named element 
3661           references used.
3662
3663         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
3664           Unref the pipeline if it exists after we've failed parsing.
3665
3666 2006-04-05  Michael Smith  <msmith@fluendo.com>
3667
3668         * gst/gstpipeline.c: (gst_pipeline_init):
3669           When we create a pipeline bus, initially create it in flushing mode.
3670           Fixes leaks in at least one test, and makes a new pipeline work the
3671           same as one that has gone to READY and then back to NULL.
3672
3673         * gst/gstelement.c:
3674           Typo fix in docs.
3675
3676 2006-04-05  Michael Smith  <msmith@fluendo.com>
3677
3678         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3679           Unref a pad we reffed.
3680         * tests/check/gst/gstutils.c: (GST_START_TEST):
3681           Unref bins
3682
3683 2006-04-05  Michael Smith  <msmith@fluendo.com>
3684
3685         * gst/gstquery.c: (gst_query_set_formats),
3686         (gst_query_set_formatsv):
3687           Fix leaking GValues in queries, as shown by valgrind/testsuite.
3688
3689 2006-04-05  Michael Smith  <msmith@fluendo.com>
3690
3691         * tests/check/generic/sinks.c: (GST_START_TEST):
3692           Fix a variety of memleaks in sinks check, which are only sometimes 
3693           shown by running the tests under valgrind (weird?).
3694
3695 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
3696
3697         * docs/version.entities.in:
3698           Fix the substituted entity name after thomas' changes on the
3699           weekend.
3700
3701 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3702
3703         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
3704         VALGRIND_PRINTF
3705         
3706 2006-04-05  Andy Wingo  <wingo@pobox.com>
3707
3708         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
3709
3710         * libs/gst/base/gstbasetransform.c
3711         (gst_base_transform_sink_eventfunc): When resetting our segment on
3712         FLUSH_STOP, also update the flag saying we haven't seen a
3713         newsegment.
3714
3715 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3716
3717         Patch by: Paolo Borelli  <pborelli at katamail dot com>
3718
3719         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
3720         (gst_plugin_check_license):
3721           minor clean-ups: G_DEFINE_TYPE already takes care of the
3722           parent_class stuff, no need to do it twice. Mark array of
3723           license strings as constant. (#337103)
3724           
3725 2006-04-04  Michael Smith  <msmith@fluendo.com>
3726
3727         * tools/gst-inspect.c: (print_element_list):
3728           Free the right plugin list; fixes a memory leak.
3729
3730 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3731
3732         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
3733
3734         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3735           Don't error out on empty buffers (#336945).
3736           
3737 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
3738
3739         * docs/libs/gstreamer-libs-sections.txt:
3740         * gst/gsttaglist.c:
3741         * libs/gst/base/gstbasesink.c:
3742         * libs/gst/base/gstbasesink.h:
3743         * libs/gst/base/gstbasesrc.c:
3744         * libs/gst/base/gstbasesrc.h:
3745           Documentation updates. Make BaseSink and BaseSrc docs contain the
3746           class structure so that people can actually see the prototypes for
3747           virtual functions they're supposed to be overriding.
3748
3749 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3750
3751         * plugins/elements/gsttypefindelement.c:
3752         (gst_type_find_element_chain):
3753           More debug info; when skipping typefinding, send cached
3754           events in all cases.
3755
3756 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3757
3758         * configure.ac:
3759           use new AS_VERSION and AS_NANO macros
3760         * gst/gst-i18n-lib.h:
3761         * gst/gst.c:
3762         * gst/gsterror.c:
3763         * gst/gstversion.h.in:
3764         * win32/common/config.h:
3765         * win32/common/config.h.in:
3766           update accordingly
3767
3768 2006-03-31  Michael Smith  <msmith@fluendo.com>
3769
3770         * plugins/elements/gsttypefindelement.c:
3771         (gst_type_find_element_chain):
3772           Do not typefind content if the buffers already have caps.
3773           Neccesary for icydemux (#333657), and the right thing to do anyway.
3774
3775 2006-03-30  Wim Taymans  <wim@fluendo.com>
3776
3777         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3778         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
3779         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
3780         (gst_base_sink_record_qos_observation),
3781         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3782         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3783         (gst_base_sink_change_state):
3784         More QoS measurements as described in the design doc.
3785         Get rid of ringbuffer with observations, running average is
3786         more simple and equally good.
3787         Calculates valid proportion now.
3788         Added beginning of flood measurement.
3789
3790 2006-03-29  Wim Taymans  <wim@fluendo.com>
3791
3792         * docs/design/part-qos.txt:
3793         * gst/gstclock.c:
3794         Small documentation updates and additions.
3795
3796 2006-03-29  Wim Taymans  <wim@fluendo.com>
3797
3798         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3799         (gst_base_src_send_event), (gst_base_src_loop),
3800         (gst_base_src_change_state):
3801         Perform the EOS logic when we reach the segment stop position.
3802         Fix compilation on gcc4.1
3803
3804 2006-03-29  Wim Taymans  <wim@fluendo.com>
3805
3806         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3807
3808         * plugins/elements/gstqueue.c: (gst_queue_init),
3809         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3810         (gst_queue_set_property):
3811         * plugins/elements/gstqueue.h:
3812         In queue, when EOS is received, if minimum threshold > max_size -
3813         current_level, there is chance that queue blocks forever in conditional
3814         item del wait. This is because the queue is not emptied completely due
3815         to minimum threshold.  Here is another approach. Instead of setting
3816         cur_levels to max in EOS, just zero all minimum threshold levels. This
3817         should make sure that queue gives out all data. When going to READY
3818         (stop) state, just reset the original minimum threshold levels.
3819         Fixes #336336.
3820
3821 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
3822
3823         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
3824         (gst_type_find_element_handle_event),
3825         (gst_type_find_element_send_cached_events),
3826         (gst_type_find_element_change_state):
3827         * plugins/elements/gsttypefindelement.h:
3828           When typefinding is done in push mode, we should cache
3829           events we receive during typefinding instead of just
3830           dropping them (e.g. newsegment, custom events from
3831           dvdreadsrc etc.) and then send them out once we've
3832           determined the type of the stream (and decodebin
3833           has had a chance to plug in a decoder/demuxer).
3834           
3835 2006-03-27  Wim Taymans  <wim@fluendo.com>
3836
3837         * docs/design/part-qos.txt:
3838         First QoS ideas.
3839
3840 2006-03-27  Wim Taymans  <wim@fluendo.com>
3841
3842         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
3843
3844         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3845         (gst_base_src_send_event), (gst_base_src_change_state):
3846         Handle element seek correctly when we are streaming.
3847         Fixes #326998.
3848
3849 2006-03-24  Michael Smith  <msmith@fluendo.com>
3850
3851         * docs/faq/gst-uninstalled:
3852           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
3853           allow you to correctly run intalled applications built against old 
3854           core, using plugins that require updated core (e.g. running
3855           installed totem against a full uninstalled gstreamer stack)
3856
3857 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3858
3859         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3860         more debug details
3861
3862 2006-03-24  Wim Taymans  <wim@fluendo.com>
3863
3864         * docs/gst/gstreamer-sections.txt:
3865         Rearrange the order of the methods so that related methods
3866         are grouped together in sections.
3867
3868 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3869
3870         * gst/gstelement.c:
3871           Little clarification in the docs
3872
3873 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3874
3875         * docs/README:
3876         formatting fix
3877         * plugins/elements/gstidentity.c:
3878         * plugins/elements/gstqueue.c:
3879         * plugins/elements/gsttee.c:
3880         * plugins/elements/gsttypefindelement.c:
3881         GST_ELEMENT_DETAILS formatting
3882
3883 2006-03-24  Wim Taymans  <wim@fluendo.com>
3884
3885         * libs/gst/base/gstbasesink.h:
3886         Only add fields, not insert or we break ABI.
3887
3888 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3889
3890         * win32/common/libgstbase.def:
3891         * win32/common/libgstreamer.def:
3892           Update, add recently added functions.
3893
3894 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3895
3896         * docs/gst/gstreamer-sections.txt:
3897         * gst/gstutils.c: (gst_pad_query_peer_position),
3898         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
3899         * gst/gstutils.h:
3900           API: add some new utility functions:
3901            - gst_pad_query_peer_position()
3902            - gst_pad_query_peer_duration()
3903            - gst_pad_query_peer_convert()
3904           
3905 2006-03-23  Wim Taymans  <wim@fluendo.com>
3906
3907         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3908         (gst_base_sink_init), (gst_base_sink_finalize),
3909         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
3910         (gst_base_sink_set_property), (gst_base_sink_get_property),
3911         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
3912         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3913         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
3914         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3915         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3916         (gst_base_sink_preroll_object), (gst_base_sink_event),
3917         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
3918         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3919         (gst_base_sink_query), (gst_base_sink_change_state):
3920         Decouple max-lateness and the fact that QoS messages are generated
3921         with a new property (qos).
3922         added API: GstBaseSink::async_play()
3923         Add vmethod so subclasses can be notified of ASYNC playing
3924         state changes.
3925         Collect timestamp start and stop to report better current
3926         position in EOS/PLAYING/PAUSED/READY/NULL.
3927         Refactor QoS/frame dropping and other measurements.
3928         API: GstBaseSrc::qos
3929         Fixes #326311
3930
3931         * libs/gst/base/gstbasesink.h:
3932         Added Private struct.
3933         API: gst_base_sink_set_qos_enabled()
3934         API: gst_base_sink_is_qos_enabled()
3935
3936 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3937
3938         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3939           If compiling against GLib-2.8 or newer, try to read the
3940           registry file using GMappedFile first before falling back
3941           to fopen() + fread() (#332151).
3942
3943 2006-03-22  Wim Taymans  <wim@fluendo.com>
3944
3945         * gst/gstinfo.c: (gst_debug_set_active),
3946         (gst_debug_category_set_threshold):
3947         Disable debugging unless explicitly activated.
3948         Fixes #335480.
3949
3950 2006-03-22  Wim Taymans  <wim@fluendo.com>
3951
3952         * gst/gstelement.c: (gst_element_set_locked_state),
3953         (gst_element_dispose):
3954         Cleanup the error case.
3955
3956         * gst/gstobject.c: (gst_object_dispose):
3957         print a critical when some object was disposed with
3958         a parent, also revive the object since it might
3959         crash the parent.
3960
3961 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
3962
3963         * tools/gst-launch.1.in:
3964           Fix another typo.
3965
3966 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3967
3968         * configure.ac:
3969         * tests/check/Makefile.am:
3970           disable some tests when we don't have a registry
3971         * tests/check/gst/gstutils.c: (gst_utils_suite):
3972           don't build the part that needs parsing
3973
3974 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3975
3976         * gst/Makefile.am
3977         * tests/examples/Makefile.am:
3978           fix --disable-parse build
3979
3980 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3981
3982         * tools/gst-feedback.1.in:
3983           Fix typo: s/feeback/feedback/ (#133494).
3984
3985 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3986
3987         * tools/Makefile.am:
3988         * tools/gst-launch.1.in:
3989           Add FILES section and correct entry about GST_REGISTRY_PATH
3990           environment variable (#133495; #133494).
3991
3992 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3993
3994         * tools/Makefile.am:
3995         * tools/gst-md5sum.1.in:
3996         * tools/gst-md5sum.c:
3997           Remove gst-md5sum and man page (the md5sink element
3998           required was removed ages ago)
3999
4000 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4001
4002         * gst/gststructure.c: (gst_structure_id_set_value):
4003           Make sure that string fields in structures/taglists
4004           contain valid UTF-8 - we don't want to pass rubbish to
4005           applications because of a buggy plugin (cp. #334167).
4006
4007 2006-03-21  Edward Hervey  <edward@fluendo.com>
4008
4009         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4010         (gst_bin_handle_message_func):
4011         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
4012         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
4013         (gst_element_set_bus_func):
4014         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
4015         * gst/gstminiobject.c: (gst_value_set_mini_object),
4016         (gst_value_take_mini_object):
4017         * gst/gstpad.c: (gst_pad_set_pad_template):
4018         * gst/gstpipeline.c: (gst_pipeline_dispose),
4019         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4020         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
4021         (gst_collect_pads_chain):
4022         * libs/gst/net/gstnettimeprovider.c:
4023         (gst_net_time_provider_set_property):
4024         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
4025         It's in fact all issues with gst_*object_replace().
4026
4027 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4028
4029         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
4030         
4031         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4032         * pkgconfig/gstreamer-check.pc.in:
4033           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
4034
4035 2006-03-21  Edward Hervey  <edward@fluendo.com>
4036
4037         * gst/gstbuffer.h:
4038         * gst/gstevent.h:
4039         * gst/gstmessage.h:
4040         gst_[buffer|event|message]_ref() macros are replaced by a static
4041         inline functions because gcc-4.1 will about if the return value
4042         isn't used.
4043         * tests/check/gst/gstevent.c: (event_probe):
4044         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
4045
4046 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
4047
4048         * gst/gstutils.h:
4049         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
4050         the type' case. (Closes: #335195 for now). In the future, when we
4051         depend on GLib 2.10, we could also intern the type name using
4052         g_intern_static_string()
4053
4054 2006-03-20  Wim Taymans  <wim@fluendo.com>
4055
4056         * gst/gstbin.c: (gst_bin_handle_message_func),
4057         (bin_query_max_init), (bin_query_position_fold),
4058         (bin_query_position_done), (gst_bin_query):
4059         Position query should also take max of all streams.
4060
4061 2006-03-20  Wim Taymans  <wim@fluendo.com>
4062
4063         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4064         (gst_fake_src_finalize):
4065         Fix leaks in fakesrc.
4066
4067         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4068         Fix leaks in the testcase.
4069
4070 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
4071
4072         * gst/gst_private.h:
4073           add win32 specific import decoration(__declspec(dllimport)) 
4074           for all extern GstDebugCategory * variables
4075         * win32/common/libgstbase.def:
4076         * win32/common/libgstcontroller.def:
4077         * win32/common/libgstreamer.def:
4078           Add some exports, remove empty lines
4079         * win32/common/libgstdataprotocol.def:
4080         * win32/common/libgstdataprotocol.dsp:
4081         * win32/common/libgstnet.def:
4082         * win32/common/libgstnet.dsp:
4083           new project files and exportation files added
4084         
4085 2006-03-19  Wim Taymans  <wim@fluendo.com>
4086
4087         * tests/check/libs/basesrc.c: (eos_event_counter):
4088         Use proper return value for probe.
4089
4090 2006-03-17  Wim Taymans  <wim@fluendo.com>
4091
4092         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4093         (gst_pad_push):
4094         Don't leak buffers, caps and pads on negotiation errors.
4095
4096 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
4097
4098         * docs/faq/cvs.xml:
4099         * docs/faq/dependencies.xml:
4100         * docs/faq/developing.xml:
4101         * docs/faq/faq.xml:
4102         * docs/faq/general.xml:
4103         * docs/faq/getting.xml:
4104         * docs/faq/legal.xml:
4105         * docs/faq/troubleshooting.xml:
4106         * docs/faq/using.xml:
4107         Faq review and update.
4108
4109 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
4110
4111         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4112         (gst_pad_push):
4113         Don't pound the cpu to pieces by checking get_caps when accept_caps
4114         is called with the same caps as the pad already has.
4115         Use GST_DEBUG_OBJECT when outputting caps change information.
4116
4117 2006-03-15  Wim Taymans  <wim@fluendo.com>
4118
4119         * gst/gstclock.c: (gst_clock_class_init):
4120         Fix docs.
4121
4122 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
4123
4124         * gst/gstbuffer.h:
4125         Documentation fix.
4126
4127         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
4128         (gst_pad_accept_caps), (gst_pad_configure_sink),
4129         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
4130         Make the default acceptcaps behaviour be to check the requested 
4131         caps against the gst_pad_get_caps output. 
4132
4133         Ensure that gst_pad_accept_caps is used to check caps when a pad
4134         doesn't have a setcaps function, so that pads automatically refuse 
4135         caps that they don't allow in their pad template. (Fixes #332986)
4136
4137         When a buffer with attached caps is pushed, ensure that the source 
4138         pad receives those caps even if the element didn't call
4139         gst_pad_set_caps first.
4140
4141 2006-03-15  Wim Taymans  <wim@fluendo.com>
4142
4143         * libs/gst/base/gstadapter.c:
4144         Add some docs.
4145
4146 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4147
4148         * win32/common/libgstbase.def:
4149         * win32/common/libgstcontroller.def:
4150         * win32/common/libgstreamer.def:
4151           Add a whole bunch of missing functions (#334434).
4152
4153 2006-03-14  Wim Taymans  <wim@fluendo.com>
4154
4155         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4156         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4157         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4158         Better debug info when we receive a segment event.
4159         Reorganize a bit so we can pass the get_times() results around.
4160         Use the segment format when calculating the running time.
4161         Don't do QoS is sync is disabled or we have no clock or the
4162         element does not want us to sync to the clock.
4163         Don't drop buffers if QoS is disabled for now.
4164
4165 2006-03-14  Wim Taymans  <wim@fluendo.com>
4166
4167         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4168         Marked the stats property as unimplemented so people don't get
4169         wild ideas.
4170         Add debug message when regression goes wrong.
4171         Added some more docs.
4172
4173 2006-03-14  Wim Taymans  <wim@fluendo.com>
4174
4175         * gst/gstsegment.c: (gst_segment_to_stream_time):
4176         Return correct return type in case of errors.
4177
4178 2006-03-14  Wim Taymans  <wim@fluendo.com>
4179
4180         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4181           Don't segfault on invalid formats.
4182
4183 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4184
4185         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4186           Can't use gst_segment_to_running_time() when the segment
4187           is not in GST_TIME_FORMAT (like with filesink, for example).
4188           Stops flac encoding pipelines from spewing critical warnings
4189           at EOS (#331248).
4190           
4191 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4192
4193         * gst/gstpipeline.c: (gst_pipeline_class_init):
4194           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4195
4196         * plugins/elements/gsttypefindelement.c:
4197         (gst_type_find_element_handle_event):
4198           Don't try to typefind empty streams.
4199
4200 2006-03-14  Wim Taymans  <wim@fluendo.com>
4201
4202         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4203         (gst_base_sink_do_qos):
4204         Separate QoS calculation.
4205         Only drop buffers when lateness is bigger than the 
4206         duration of the buffer.
4207
4208 2006-03-13  Wim Taymans  <wim@fluendo.com>
4209
4210         * gst/gstpipeline.c: (gst_pipeline_set_property),
4211         (gst_pipeline_get_property), (do_pipeline_seek),
4212         (gst_pipeline_change_state), (gst_pipeline_set_delay),
4213         (gst_pipeline_get_delay):
4214         Don't deadlock when reading properties.
4215
4216 2006-03-13  Wim Taymans  <wim@fluendo.com>
4217
4218         * libs/gst/base/gstbasetransform.c:
4219         (gst_base_transform_class_init), (gst_base_transform_init),
4220         (gst_base_transform_sink_event),
4221         (gst_base_transform_sink_eventfunc),
4222         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4223         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4224         (gst_base_transform_set_property),
4225         (gst_base_transform_get_property),
4226         (gst_base_transform_change_state), (gst_base_transform_update_qos),
4227         (gst_base_transform_set_qos_enabled),
4228         (gst_base_transform_is_qos_enabled):
4229         * libs/gst/base/gstbasetransform.h:
4230         Make basetransform virtual method for src events too.
4231         Handle QOS in basetransform.
4232         API: gst_base_transform_update_qos()
4233         API: gst_base_transform_set_qos_enabled()
4234         API: gst_base_transform_is_qos_enabled()
4235
4236 2006-03-13  Wim Taymans  <wim@fluendo.com>
4237
4238         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4239         (gst_base_sink_do_sync):
4240         Small cleanups.
4241         Use QOS debug category.
4242
4243 2006-03-13  Wim Taymans  <wim@fluendo.com>
4244
4245         * plugins/elements/gstqueue.c:
4246         Very small doc update.
4247
4248 2006-03-13  Wim Taymans  <wim@fluendo.com>
4249
4250         * gst/gst_private.h:
4251         * gst/gstinfo.c: (_gst_debug_init):
4252         Added QOS debug category
4253
4254 2006-03-13  Wim Taymans  <wim@fluendo.com>
4255
4256         * docs/gst/gstreamer-sections.txt:
4257         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4258         * gst/gstbin.h:
4259         * gst/gstbus.c: (gst_bus_class_init):
4260         * gst/gstbus.h:
4261         * gst/gstclock.c:
4262         * gst/gstelement.c: (gst_element_set_locked_state):
4263         * gst/gstsegment.c:
4264         Documentation updates.
4265
4266         * gst/gstpipeline.c: (gst_pipeline_get_type),
4267         (gst_pipeline_class_init), (gst_pipeline_init),
4268         (gst_pipeline_dispose), (gst_pipeline_set_property),
4269         (gst_pipeline_get_property), (do_pipeline_seek),
4270         (gst_pipeline_send_event), (gst_pipeline_change_state),
4271         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4272         (gst_pipeline_get_delay):
4273         * gst/gstpipeline.h:
4274         Added methods for setting the delay.
4275         API: gst_pipeline_set_delay()
4276         API: gst_pipeline_get_delay()
4277         Add pipeline debug category
4278         Various cleanups.
4279         Updated docs.
4280         Don't reset stream time when seek failed.
4281
4282 2006-03-13  Wim Taymans  <wim@fluendo.com>
4283
4284         * docs/design/draft-klass.txt:
4285         * docs/design/part-clocks.txt:
4286         * docs/design/part-events.txt:
4287         * docs/design/part-gstbin.txt:
4288         * docs/design/part-gstpipeline.txt:
4289         * docs/design/part-messages.txt:
4290         * docs/design/part-negotiation.txt:
4291         * docs/design/part-overview.txt:
4292         * docs/design/part-preroll.txt:
4293         * docs/design/part-seeking.txt:
4294         * docs/design/part-states.txt:
4295         * docs/design/part-streams.txt:
4296         Documentation updates.
4297
4298 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4299
4300         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4301         us to leak strings...
4302
4303 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4304
4305         * libs/gst/net/gstnettimeprovider.c:
4306           fix docs
4307         * win32/common/config.h:
4308           update
4309
4310 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4311
4312         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4313
4314         * configure.ac:
4315           Don't check for libgnomeui (leftover from old examples
4316           that aren't built or disted any longer) (#334303).
4317           
4318 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4319
4320         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4321         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4322           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4323           there's no space left on the device.
4324
4325 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4326
4327         * gst/gstclock.h:
4328           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4329           to cast the input to GstClockTime before comparing with
4330           another GstClockTime value.
4331
4332 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4333
4334         * configure.ac:
4335           back to trunk
4336
4337 === release 0.10.4 ===
4338
4339 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
4340
4341         * configure.ac:
4342           releasing 0.10.4, "Light"
4343
4344 2006-03-10  Michael Smith  <msmith@fluendo.com>
4345
4346         * libs/gst/dataprotocol/dataprotocol.c:
4347           Fix docs for dataprocotol to not get the return types completely
4348           wrong for a few functions.
4349
4350 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4351
4352         * docs/gst/gstreamer-sections.txt:
4353         * gst/gstpipeline.c: (gst_pipeline_class_init),
4354         (gst_pipeline_init), (gst_pipeline_set_property),
4355         (gst_pipeline_get_property), (gst_pipeline_change_state),
4356         (gst_pipeline_set_auto_flush_bus),
4357         (gst_pipeline_get_auto_flush_bus):
4358         * gst/gstpipeline.h:
4359           Add new API: gst_pipeline_set_auto_flush_bus() and
4360           gst_pipeline_get_auto_flush_bus() to disable automatic
4361           flushing of the pipeline's GstBus when going from READY
4362           to NULL state (#332045).
4363
4364 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4365
4366         * docs/gst/gstreamer-sections.txt:
4367         * gst/gsturi.c: (gst_uri_has_protocol):
4368         * gst/gsturi.h:
4369            Add new API: gst_uri_has_protocol() (#333779).
4370
4371 2006-03-09  Wim Taymans  <wim@fluendo.com>
4372
4373         * gst/gstclock.c: (gst_clock_entry_new),
4374         (gst_clock_id_compare_func), (gst_clock_id_wait),
4375         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
4376         (gst_clock_init), (gst_clock_get_internal_time),
4377         (gst_clock_set_master), (do_linear_regression),
4378         (gst_clock_add_observation), (gst_clock_set_property):
4379         * gst/gstclock.h:
4380         Review docs.
4381         Small cleanups.
4382         Fix a possible segfault when the window-size is made smaller.
4383         Calculate jitter before performing the clock wait. Ideally
4384         the clock implementation should calculate jitter but we need
4385         API breakage for that.
4386
4387         * gst/gstsystemclock.c: (gst_system_clock_init):
4388         Docs review.
4389         
4390         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4391         Remove leftover else
4392
4393         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4394         (gst_systemclock_suite):
4395         Added check to test GST_CLOCK_DIFF.
4396
4397 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4398
4399         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
4400         (gst_type_find_helper_get_range):
4401           If we are provided with the size, we should implement
4402           GstTypeFind::get_length, so that typefind functions who
4403           want to can actually peek at the middle of a file.
4404
4405 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
4406
4407         * docs/manual/advanced-dataaccess.xml:
4408           Add some very very basic error checking.
4409
4410         * docs/pwg/appendix-checklist.xml:
4411           Some updates to the list of things to check when writing an element.
4412
4413 2006-03-08  Wim Taymans  <wim@fluendo.com>
4414
4415         * docs/design/part-element-transform.txt:
4416         Added some docs about the design of tranform elements.
4417
4418         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4419         (gst_base_src_loop), (gst_base_src_change_state):
4420         Mark buffers with the DISCONT flag.
4421
4422 2006-03-08  Michael Smith  <msmith@fluendo.com>
4423
4424         * gst/gstregistry.h:
4425         * gst/gstregistryxml.c: (gst_registry_save),
4426         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
4427         (gst_registry_xml_save_pad_template),
4428         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
4429         (gst_registry_xml_write_cache):
4430           Rewrite registry-saving to avoid race conditions and check for
4431           failed writes.
4432
4433 2006-03-08  Wim Taymans  <wim@fluendo.com>
4434
4435         * libs/gst/base/gstbasetransform.c:
4436         (gst_base_transform_transform_caps),
4437         (gst_base_transform_transform_size),
4438         (gst_base_transform_prepare_output_buffer),
4439         (gst_base_transform_get_unit_size),
4440         (gst_base_transform_buffer_alloc),
4441         (gst_base_transform_handle_buffer),
4442         (gst_base_transform_change_state):
4443         Cleanups, separate normal flow from errors, add sensible
4444         DEBUG lines.
4445         Don't try to renegotiate when allocating an output buffer.
4446         Also copy DISCONT buffer flag when copying a buffer.
4447         Reset the transform after we finish streaming, not during.
4448
4449 2006-03-08  Wim Taymans  <wim@fluendo.com>
4450
4451         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4452         Use last buffer timestamp in qos message.
4453
4454 2006-03-07  Wim Taymans  <wim@fluendo.com>
4455
4456         Patch by: Christophe Fergeau
4457
4458         * docs/pwg/advanced-tagging.xml:
4459         * docs/pwg/building-pads.xml:
4460           fixes #333416
4461
4462 2006-03-07  Wim Taymans  <wim@fluendo.com>
4463
4464         * docs/libs/gstreamer-libs-sections.txt:
4465         Added basesink new methods.
4466
4467         * gst/gstevent.c:
4468         * gst/gstevent.h:
4469         Docs updates. Flesh out the QoS docs.
4470
4471         * libs/gst/base/gstadapter.c:
4472         Small doc clarification about ownership and flushing.
4473
4474         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
4475         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4476         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
4477         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4478         * libs/gst/base/gstbasesink.h:
4479         API additions: 
4480         Added new methods to allow subclass to control max-lateness 
4481         and sync.
4482         Generate very basic QoS events based on last sync observation.
4483         Updated docs, fix typo, added some QoS blurb.
4484
4485         * libs/gst/base/gstbasesrc.c:
4486         Remove obsolete _get_state() calls from docs.
4487
4488 2006-03-07  Wim Taymans  <wim@fluendo.com>
4489
4490         * docs/libs/gstreamer-libs-sections.txt:
4491         * libs/gst/base/gstbasetransform.h:
4492         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
4493         Fix docs for GstBaseSrc.
4494
4495 2006-03-07  Wim Taymans  <wim@fluendo.com>
4496
4497         * docs/gst/gstreamer-sections.txt:
4498         * gst/gstbuffer.h:
4499         * gst/gstvalue.c:
4500         * libs/gst/base/gstbasetransform.h:
4501         Small documentation fixes.
4502
4503 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4504
4505         * gst/gstvalue.c:
4506           Document thread-unsafety of gst_value_register_foo_func()
4507           when used at the same time as gst_value_foo() (#322628).
4508
4509 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4510
4511         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
4512         (gst_push_src_check_get_range):
4513           Push sources don't support pull mode by default.
4514
4515 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4516
4517         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4518         (gst_base_src_init), (gst_base_src_pad_check_get_range),
4519         (gst_base_src_default_check_get_range):
4520         * libs/gst/base/gstbasesrc.h:
4521           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
4522           provide default implementation, and rename
4523           gst_base_src_check_get_range() to
4524           gst_base_src_pad_check_get_range() for clarity.
4525
4526 2006-03-06  Wim Taymans  <wim@fluendo.com>
4527
4528         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4529         Make property overridable.
4530
4531 2006-03-06  Wim Taymans  <wim@fluendo.com>
4532
4533         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4534         (gst_base_sink_init), (gst_base_sink_set_property),
4535         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4536         * libs/gst/base/gstbasesink.h:
4537         API addition: Make max-lateness a property.
4538
4539 2006-03-06  Wim Taymans  <wim@fluendo.com>
4540
4541         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
4542         (gst_base_sink_do_sync), (gst_base_sink_render_object):
4543         Don't ever draw a frame that is >10ms late.
4544
4545 2006-03-06  Michael Smith  <msmith@fluendo.com>
4546
4547         * gst/gstmessage.c: (_gst_message_copy):
4548           When copying a message, set the parent_refcount of the enclosed
4549           structure to point at the copy, not the original message.
4550
4551 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4552
4553         Patch by: Christophe Fergeau
4554
4555         * gst/gstutils.h:
4556           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
4557           usable in c++ code (#333417)
4558
4559 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4560
4561         * gst/gstclock.h:
4562           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
4563
4564 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
4565
4566         * libs/gst/base/gstbasetransform.c:
4567         (gst_base_transform_transform_caps):
4568           Make sure caps are writable before passing them to
4569           gst_caps_append().
4570
4571 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4572
4573         * gst/gsterror.h:
4574           Fix some minor docs errors.
4575
4576 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4577
4578           Patch by: Ross Burton <ross at burtonini dot com>
4579
4580         * gst/gsterror.c: (_gst_resource_errors_init):
4581         * gst/gsterror.h:
4582           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
4583
4584 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4585
4586         * gst/gst.c:
4587         Add a check and output a g_warning when GStreamer is built
4588         against GLib 2.6 but running against 2.8 or higher, and vice 
4589         versa. (Closes: #323542)
4590
4591 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4592
4593         * gst/parse/parse.l:
4594           Commit patch for parse_launch syntax from #331255. Removes 
4595           support for quoted strings and mimetypes when writing filtered 
4596           caps. See the bug report for more details - I'm pretty sure this
4597           obscure feature is not in use by _anyone_ anywhere.
4598
4599           With this simple change, the size of the gstreamer.so here 
4600           drops from 2193KB to 1565KB.
4601
4602 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4603
4604         * plugins/elements/gsttypefindelement.h:
4605         * plugins/elements/gsttypefindelement.c:
4606         (gst_type_find_element_src_event), (start_typefinding),
4607         (stop_typefinding), (gst_type_find_element_handle_event),
4608         (gst_type_find_element_chain),
4609         (gst_type_find_element_chain_do_typefinding):
4610           Use gst_type_find_helper_for_buffer() for chain-based
4611           typefinding.
4612
4613 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4614
4615         * plugins/elements/gsttypefindelement.c:
4616         (gst_type_find_element_class_init),
4617         (gst_type_find_element_set_property),
4618         (gst_type_find_element_get_property):
4619           Deprecate "maximum" property (not only was it only taken into
4620           account for typefinding in push-mode anyway, it also was never
4621           actually possible to set it in the first place because the
4622           property was registered with the numeric property ID for the
4623           "minimum" property). Register "maximum" property correctly,
4624           for the sake of future copy'n'pasters. Remove some cruft
4625           from property get/set functions.
4626
4627 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4628
4629         * plugins/elements/gsttypefindelement.c:
4630         (gst_type_find_element_activate):
4631           Use gst_type_find_helper_get_range() here, so we
4632           can honour the "minimum" property and also emit
4633           the signal with the correct probability of the found caps.
4634
4635 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
4636
4637         * docs/libs/gstreamer-libs-sections.txt:
4638         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
4639         (helper_find_suggest), (gst_type_find_helper_get_range),
4640         (gst_type_find_helper):
4641         * libs/gst/base/gsttypefindhelper.h:
4642           New API: gst_type_find_helper_get_range() (#333042).
4643
4644 2006-03-02  Michael Smith  <msmith@fluendo.com>
4645
4646         * gst/gstregistryxml.c: (load_feature):
4647           Asserting on a failure to read part of the registry is Not Cool.
4648           Just log a warning and return NULL (which is already handled)
4649
4650 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
4651
4652         * win32/common/libgstbase.def:
4653           added export of gst_type_find_helper_for_buffer
4654         * win32/common/libgstbase.def:
4655           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
4656           gst_ghost_pad_get_target
4657
4658 2006-02-28  Wim Taymans  <wim@fluendo.com>
4659
4660         * docs/design/draft-klass.txt:
4661         We use Filter now.
4662         Added Connector to mark elements that are only used to
4663         allow pipeline connections.
4664         Moved Debug to extra feature since most of them are 
4665         functionally something else.
4666
4667 2006-02-28  Wim Taymans  <wim@fluendo.com>
4668
4669         * docs/design/draft-klass.txt:
4670         Some updates and clarifications.
4671
4672 2006-02-28  Wim Taymans  <wim@fluendo.com>
4673
4674         * docs/design/draft-klass.txt:
4675         Proposal for klass field values.
4676
4677         * docs/design/part-streams.txt:
4678         Start of a doc describing stream anatomy.
4679
4680 2006-02-28  Wim Taymans  <wim@fluendo.com>
4681
4682         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
4683         Help the compiler a bit with type registration.
4684         Use existing forward cod path instead of duplicating it when 
4685         handling a message.
4686         
4687         * gst/gstbus.c: (gst_bus_get_type):
4688         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
4689         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
4690         * gst/gstclock.c: (gst_clock_get_type):
4691         * gst/gstelement.c: (gst_element_get_type),
4692         * gst/gstelementfactory.c: (gst_element_factory_get_type):
4693         * gst/gstindexfactory.c: (gst_index_factory_get_type):
4694         * gst/gstminiobject.c: (gst_mini_object_get_type):
4695         * gst/gstpad.c: (gst_pad_get_type):
4696         * gst/gstsegment.c: (gst_segment_get_type):
4697         * gst/gststructure.c: (gst_structure_get_type):
4698         * gst/gstsystemclock.c: (gst_system_clock_get_type):
4699         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
4700         * gst/gstvalue.c:
4701         Help compiler with type registration.
4702
4703         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4704         Small doc update.
4705
4706 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4707
4708         * plugins/elements/gsttypefindelement.c:
4709         (gst_type_find_element_handle_event):
4710           When we get an EOS event and have not found a type yet
4711           (most likely because we had not yet accumulated
4712           TYPE_FIND_MIN_SIZE of data yet), try to determine the
4713           type given the data we have so far. Fixes typefinding
4714           for very short streams again, most notably quicktime
4715           redirections as used on Apple's trailer site (#331701).
4716
4717 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4718
4719         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
4720         (gst_type_find_helper):
4721           Try typefinding factories with the highest rank first.
4722
4723 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4724
4725         * docs/libs/gstreamer-libs-docs.sgml:
4726         * docs/libs/gstreamer-libs-sections.txt:
4727         * libs/gst/base/gsttypefindhelper.c:
4728           Add section for typefind helper and add documentation
4729           for the old and the new function.
4730
4731 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4732
4733         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
4734         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
4735         (gst_type_find_helper_for_buffer):
4736         * libs/gst/base/gsttypefindhelper.h:
4737           New API: gst_type_find_helper_for_buffer() (#332723).
4738           
4739 2006-02-27  Michael Smith  <msmith@fluendo.com>
4740
4741         Patch by: Loïc Minier
4742
4743         * configure.ac:
4744         * docs/Makefile.am:
4745         * docs/slides/Makefile.am:
4746           prevent CVS directories getting disted.
4747
4748 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4749
4750         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
4751           Use the REFCOUNTING category for caps refcounting.
4752           
4753 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4754
4755         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4756           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
4757
4758 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4759
4760         * plugins/elements/gsttypefindelement.c:
4761         (gst_type_find_element_activate):
4762           Use gst_pad_check_pull_range() before _activate_pull()
4763           to avoid unnecessary open/close (see #331690).
4764
4765 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4766
4767         * gst/gstutils.c:
4768           Docs enhancement: make it crystal clear what the
4769           gst_pad_add_*_probe() callbacks should look like.
4770
4771 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4772
4773         * libs/gst/base/gstbasesrc.c:
4774           Document how applications can stop recording from
4775           live sources (see #330996).
4776
4777 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4778
4779         * tests/check/Makefile.am:
4780         * tests/check/libs/basesrc.c: (eos_event_counter),
4781         (basesrc_eos_events_pull), (basesrc_eos_events_push),
4782         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
4783         (gst_basesrc_suite), (main):
4784           ... and add some tests for the base source EOS stuff.
4785
4786 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4787
4788         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
4789           Test case originally showed the problem fixed below,
4790           but was then amended. Add checks back at the place
4791           where they used to be.
4792
4793 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4794
4795         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4796         (gst_base_src_init), (gst_base_src_loop),
4797         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4798         (gst_base_src_change_state):
4799         * libs/gst/base/gstbasesrc.h:
4800           Don't unconditionally send EOS when going from PAUSED to
4801           READY state, esp. make sure we don't send two EOS events
4802           in some cases (e.g. one when reaching EOS and one when
4803           going from PAUSED to READY). Also, we don't want to send
4804           EOS events when operating in pull mode. However, we do
4805           want to send an EOS event when shutting down a live
4806           source explicitly, for example (fixes #330996).
4807           
4808 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4809
4810         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4811           Update src->read_position after a seek when not using mmap.
4812           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
4813
4814 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
4815
4816         * gst/Makefile.am:
4817         * gst/gstparse.h:
4818         * gst/gstutils.c:
4819         * gst/gstutils.h:
4820         Make things work with --disable-parse as they do with 
4821         --disable-load-save - the symbols involved disappear, but the
4822         header is still installed and GST_DISABLE_PARSE is included via
4823         gstconfig.h
4824
4825 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4826
4827         * libs/gst/base/gstbasetransform.c:
4828         (gst_base_transform_change_state): Fix a stupid bug. I was 
4829         sure I compiled that.
4830
4831 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4832
4833         * gst/gstpad.c: (gst_pad_set_blocked_async):
4834         * gst/gstutils.c: (gst_pad_add_data_probe),
4835         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4836         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4837         (gst_pad_remove_buffer_probe): Make those function act on the
4838         ghostpad target when it's a ghostpad. (Closes #331727)
4839
4840 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4841
4842         * libs/gst/base/gstbasetransform.c:
4843         (gst_base_transform_change_state): Make basetransform reusable.
4844         (Closes #331898)
4845
4846 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
4847
4848         * docs/random/release:
4849         Move the current documentation of how to do a release to the top
4850         of the file.
4851
4852         * gst/gstbin.c: (gst_bin_class_init),
4853         (gst_bin_handle_message_func):
4854         Allow multiple state-recalculation threads. (Closes #328873)
4855
4856 2006-02-19  Julien MOUTTE  <julien@moutte.net>
4857
4858         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
4859         * gst/gstpad.c: (gst_pad_set_event_function),
4860         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4861         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
4862         2 strings. You can't use the STR_NULL macro on that.
4863
4864 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
4865
4866         * gst/gstpad.c: (gst_pad_set_event_function),
4867         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4868         (gst_pad_set_getcaps_function)
4869         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
4870           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
4871           So now, we can use --gst-debug-level=5 on Windows
4872         * win32/common/libgstcontroller.def:
4873           Added export of gst_controller_init
4874         * win32/vs6/libgstcontroller.dsp:
4875           Fixed Release post build configuration
4876
4877 2006-02-17  Wim Taymans  <wim@fluendo.com>
4878
4879         * tests/check/gst/gstquery.c: (GST_START_TEST):
4880         Added another check.
4881
4882 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
4883
4884         * plugins/elements/gsttypefindelement.c: (find_peek):
4885           We can do peeks at non-zero offsets, as long as they
4886           fall within the buffer we have.
4887
4888 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
4889
4890         * tests/check/Makefile.am:
4891         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
4892         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
4893         (parse_suite), (main):
4894           Add testsuite for parse launch syntax
4895
4896 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
4897
4898         * plugins/elements/gsttypefindelement.c:
4899         (gst_type_find_element_chain):
4900           When typefinding is unsuccessful in the chain function, don't
4901           error out immediately. Only error out with NO_CAPS_FOUND if
4902           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
4903           otherwise simply wait for more data so we can try typefinding
4904           again with more data later. Also, don't attempt to typefind
4905           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
4906           this should improve typefinding from network sources where the
4907           size of the first buffer can be somewhat random.
4908
4909 2006-02-14  Wim Taymans  <wim@fluendo.com>
4910
4911         * docs/gst/gstreamer-sections.txt:
4912         * gst/gstpadtemplate.c:
4913         * gst/gstpadtemplate.h:
4914         Fix padtemplate docs, fixes #328805.
4915
4916 2006-02-14  Wim Taymans  <wim@fluendo.com>
4917
4918         * tools/gst-launch.c: (main):
4919         NO_PREROLL is not an ERROR so don't send confusing messages
4920         to the user.
4921
4922 2006-02-14  Wim Taymans  <wim@fluendo.com>
4923
4924         Patch by: Torsten Schoenfeld
4925
4926         * gst/gstregistry.c: (gst_registry_get_default),
4927         (_gst_registry_cleanup):
4928         Protect default registry with lock and ref/sink it.
4929         Fixes #324818
4930
4931 2006-02-14  Wim Taymans  <wim@fluendo.com>
4932
4933         * gst/gstbuffer.c:
4934         * gst/gstquery.c: (gst_query_list_add_format),
4935         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4936         (gst_query_parse_formats_nth):
4937         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4938         Docs fixes.
4939
4940 2006-02-14  Wim Taymans  <wim@fluendo.com>
4941
4942         * docs/gst/gstreamer-sections.txt:
4943         Reworked query docs.
4944
4945         * gst/gstquery.c: (gst_query_new_formats),
4946         (gst_query_list_add_format), (gst_query_set_formats),
4947         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4948         (gst_query_parse_formats_nth):
4949         * gst/gstquery.h:
4950         Flesh out formats query, added some new methods.
4951         Fix part of #324398.
4952
4953         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
4954         Added query creation tests.
4955
4956 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
4957
4958         * gst/gstpad.c: (fixate_value):
4959         Add a default fixation for fraction lists.
4960
4961 2006-02-13  Wim Taymans  <wim@fluendo.com>
4962
4963         * gst/gsttask.c: (gst_task_init), (gst_task_func),
4964         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
4965         (gst_task_join):
4966         * gst/gsttask.h:
4967         Detect and warn for obvious deadlocks. fixes #320340
4968         Fix error case where lock was not released.
4969
4970         * tests/check/Makefile.am:
4971         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
4972         (task_func), (gst_element_suite), (main):
4973         Add task check.
4974
4975 2006-02-13  Wim Taymans  <wim@fluendo.com>
4976
4977         * docs/gst/gstreamer-sections.txt:
4978         * gst/gstbus.c:
4979         Add new functions to docs.
4980
4981 2006-02-13  Wim Taymans  <wim@fluendo.com>
4982
4983         * docs/design/part-TODO.txt:
4984         Updated TODO list, basesrc supports seeking to non-bytes
4985         formats.
4986
4987         * docs/design/part-element-sink.txt:
4988         Update docs.
4989
4990         * gst/gstbin.c: (bin_replace_message),
4991         (gst_bin_handle_message_func):
4992         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
4993         * gst/gstevent.c: (gst_event_finalize):
4994         * gst/gstpad.c: (gst_pad_event_default_dispatch),
4995         (gst_pad_send_event):
4996         Use shiny new _TYPE_NAME macros.
4997
4998         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4999         Move debug statement up.
5000
5001         * gst/gstelement.c: (gst_element_set_locked_state):
5002         Add some debugging.
5003
5004 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
5005
5006         * docs/gst/gstreamer-sections.txt:
5007         * gst/gstmessage.h:
5008         * gst/gstquery.h:
5009           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
5010           macros (#330906). Also, document the already existing
5011           GST_QUERY_TYPE macro.
5012
5013 2006-02-13  Wim Taymans  <wim@fluendo.com>
5014
5015         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
5016         (event_probe), (GST_START_TEST):
5017         Only events up to the pipeline EOS are counted, there are
5018         some more when going to NULL currently which we don't care
5019         about for now.
5020
5021 2006-02-13  Wim Taymans  <wim@fluendo.com>
5022
5023         * gst/gstpad.c: (gst_pad_send_event):
5024         Correctly check flushing and emit probes. fixes #330125
5025
5026 2006-02-10  Andy Wingo  <wingo@pobox.com>
5027
5028         * gst/gstbus.c (gst_bus_class_init): Declare our private data
5029         structure.
5030         (gst_bus_init): Cache the location of the private data in the
5031         instance structure.
5032         (gst_bus_enable_sync_message_emission) 
5033         (gst_bus_disable_sync_message_emission): Implement new public
5034         functions.
5035         (gst_bus_post): Emit the sync-message signal if the user asked for
5036         it. Fixes #330684.
5037
5038         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
5039         location of the bus-private structure.
5040         (gst_bus_enable_sync_message_emission)
5041         (gst_bus_disable_sync_message_emission): API addition
5042
5043 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
5044
5045         Patch by: Vincent Torri
5046
5047         * docs/pwg/building-boiler.xml:
5048         PWG patch from #326800
5049
5050 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5051
5052         * configure.ac:
5053         * docs/Makefile.am:
5054         * docs/design/Makefile.am:
5055           Dist design docs.
5056
5057 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5058
5059         * configure.ac:
5060           back to CVS
5061
5062 === release 0.10.3 ===
5063
5064 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
5065
5066         * configure.ac:
5067           releasing 0.10.3, "Like a virgin"
5068
5069 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5070
5071         * configure.ac:
5072           2nd prerelease of 0.10.3
5073           Bump libtool versioning.
5074
5075 2006-02-07  Andy Wingo  <wingo@pobox.com>
5076
5077         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
5078         update last_stop if we're in TIME format and the timestamp is
5079         valid.
5080
5081         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
5082         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
5083         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
5084         If we get a new newsegment with a different format, adapt
5085         accordingly.
5086
5087         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
5088         of 0. Not a problem, really.
5089
5090         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
5091         warn if sync=true.
5092
5093 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
5094
5095         * configure.ac:
5096           Prelease of 0.10.3
5097
5098 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
5099
5100         * win32/vs7:
5101           project files updated to the default vs7 configuration
5102         * win32/common/libgstbase.def:
5103         * win32/common/libgstreamer.def:
5104           added new symbols,
5105           removed empty lines,
5106           sorted all exported symbols alphabetically
5107         * win32/common/dirent.c:
5108         * win32/common/dirent.h:
5109         * win32/common/gchar.h:
5110           use windows line end.
5111           
5112 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5113
5114         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5115           Send EOS event when stopping.
5116
5117 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5118
5119         * docs/README:
5120           Tell folks what to do if the plugin-foobar.xml file
5121           hasn't been generated for a newly-added plugin.
5122
5123 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5124
5125         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5126         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5127         (gst_collect_pads_start), (gst_collect_pads_stop),
5128         (gst_collect_pads_event): Collectpads now holds a reference
5129         to the GstPad that was added. Indeed we don't want to look
5130         at pads that might just go away with no warning...
5131
5132 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5133
5134         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5135         (gst_collect_pads_start), (gst_collect_pads_stop),
5136         (gst_collect_pads_event), (gst_collect_pads_chain):
5137         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
5138         Mark Nauwelaerts's patch on bug #328491.
5139
5140 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5141
5142         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5143         (gst_utils_suite):
5144           Add some simple tests for gst_parse_bin_from_description() and
5145           gst_bin_find_unconnected_pad() (#329069).
5146
5147 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5148
5149         * tools/gst-launch.c: (event_loop), (main):
5150           Catch errors during preroll (#320084).
5151
5152 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
5153
5154         * plugins/elements/gsttypefindelement.c:
5155         (gst_type_find_element_activate):
5156           Post TYPE_NOT_FOUND error message when typefinding
5157           is unsuccessful in the activate function as well.
5158
5159 2006-02-02  Wim Taymans  <wim@fluendo.com>
5160
5161         * docs/design/part-element-sink.txt:
5162         Updated doc.
5163
5164 2006-02-02  Wim Taymans  <wim@fluendo.com>
5165
5166         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5167         (gst_base_sink_render_object),
5168         (gst_base_sink_queue_object_unlocked):
5169         Only keep track of prerollable items when we are 
5170         prerolling.
5171         Before rendering after preroll, always check if we
5172         have queued items.
5173         Added some more debugging.
5174
5175 2006-02-02  Wim Taymans  <wim@fluendo.com>
5176
5177         * gst/gstelement.c: (gst_element_continue_state),
5178         (gst_element_set_state_func), (gst_element_change_state):
5179         Fixed #326576, been running this for quite some time with
5180         no regressions at all.
5181
5182 2006-02-02  Wim Taymans  <wim@fluendo.com>
5183
5184         * common/gst.supp:
5185         Added more suppressions
5186
5187 2006-02-02  Wim Taymans  <wim@fluendo.com>
5188
5189         * docs/design/part-element-sink.txt:
5190         Updated document.
5191
5192         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5193         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5194         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5195         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5196         (gst_base_sink_do_sync), (gst_base_sink_render_object),
5197         (gst_base_sink_preroll_object),
5198         (gst_base_sink_queue_object_unlocked),
5199         (gst_base_sink_queue_object), (gst_base_sink_event),
5200         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5201         (gst_base_sink_loop), (gst_base_sink_activate_pull),
5202         (gst_base_sink_get_position), (gst_base_sink_change_state):
5203         * libs/gst/base/gstbasesink.h:
5204         Totally refactored matching the design doc.
5205         Use two segments, one to clip incomming buffers and another to
5206         perform sync.
5207         Handle queueing correctly, bypass the queue when playing.
5208         Make EOS cancelable.
5209         Handle errors correctly when operating in pull based mode.
5210
5211         * tests/check/elements/fakesink.c: (GST_START_TEST),
5212         (fakesink_suite):
5213         Added new check for sinks.
5214
5215 2006-02-02  Wim Taymans  <wim@fluendo.com>
5216
5217         * gst/gstsegment.c: (gst_segment_clip):
5218         No reason to refuse to clip when start == -1
5219
5220 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
5221
5222         * docs/README:
5223         * docs/manual/intro-basics.xml:
5224         * docs/manual/intro-preface.xml:
5225         * docs/manual/manual.xml:
5226         * docs/pwg/advanced-dparams.xml:
5227         * docs/pwg/intro-basics.xml:
5228         * docs/pwg/intro-preface.xml:
5229         * docs/pwg/pwg.xml:
5230           describe dparams (controller) for plugins
5231           unify docs a little more
5232
5233 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
5234
5235         * docs/gst/gstreamer-sections.txt:
5236         * gst/gstutils.c: (element_find_unconnected_pad),
5237         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5238         * gst/gstutils.h:
5239           Add new API: gst_parse_bin_from_description() and
5240           gst_bin_find_unconnected_pad() (#329069).
5241
5242 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
5243
5244         * docs/manual/README:
5245           uncover a nasty detail of the docs build
5246
5247 2006-01-31  Wim Taymans  <wim@fluendo.com>
5248
5249         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5250         Don't cache duration messages if we're not going to use or
5251         free them.
5252
5253 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
5254
5255         * docs/manual/advanced-dparams.xml:
5256         * docs/pwg/advanced-dparams.xml:
5257           more dparam docs
5258         * gst/gstindex.c:
5259           fix docs
5260         * libs/gst/controller/lib.c: (gst_controller_init):
5261           init just once
5262
5263 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5264
5265         * gst/gstelement.c: (gst_element_message_full):
5266           also show file/line/func if no additional debug was given
5267
5268 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
5269         
5270         * win32/vs7/grammar.vcproj:
5271           activate copy of autogenerated files for Release mode
5272
5273 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5274         
5275         * win32/common/libgstreamer.def:
5276           export gst_value_compare
5277
5278 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5279
5280         * plugins/elements/Makefile.am:
5281         * plugins/elements/gstelements.c:
5282         * plugins/elements/gstfdsink.c: (_do_init),
5283         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5284         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5285         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5286         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5287         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5288         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5289         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5290         * plugins/elements/gstfdsink.h:
5291         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5292
5293 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5294
5295         * docs/manual/advanced-dparams.xml:
5296           describe controller
5297         * docs/manual/advanced-position.xml:
5298         * docs/manual/basics-init.xml:
5299         * docs/manual/manual.xml:
5300         * docs/manual/titlepage.xml:
5301         * docs/pwg/pwg.xml:
5302         * docs/pwg/titlepage.xml:
5303           cleanup xml (more to come)
5304         * libs/gst/controller/gstcontroller.c:
5305           fix typo
5306
5307 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5308         
5309         * win32/vs6/grammar.dsp:
5310           add autogen of gstmarshal.c,h for Release mode
5311                 
5312 2006-01-30  Wim Taymans  <wim@fluendo.com>
5313
5314         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5315         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5316         (gst_base_sink_handle_object), (gst_base_sink_event),
5317         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5318         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5319         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5320         (gst_base_sink_deactivate), (gst_base_sink_activate),
5321         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5322         (gst_base_sink_query), (gst_base_sink_change_state):
5323         Basesink cleanups, remove some old code.
5324         Handle the case where a subclass can preroll in the render
5325         method (mostly audiosinks).
5326         Handle more events.
5327         Remove some locks around variables that are now protected
5328         with the PREROLL_LOCK (clock_id, flushing, ..).
5329         Optimize position query some more, do correct locking.
5330         Remove old code to push queue in state change, this is not
5331         needed anymore since preroll blocks on all prerollable items 
5332         now.
5333         Almost implemented as described in design doc.
5334
5335 2006-01-30  Wim Taymans  <wim@fluendo.com>
5336
5337         * tests/check/gst/gstbin.c: (GST_START_TEST):
5338         Wait for refcount to settle down before checking.
5339
5340 2006-01-30  Wim Taymans  <wim@fluendo.com>
5341
5342         * docs/design/part-element-sink.txt:
5343         Pseudo code overview of desired sink behaviour regarding
5344         preroll.
5345
5346 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5347         * win32/vs6/grammar.dsp:
5348           fix some bugs in Release mode for autogenerated files
5349                 
5350 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5351         * win32/common/libgstbase.def:
5352         * win32/common/libgstreamer.def:
5353           export some new symbols: gst_base_src_set_format,
5354           gst_iterator_next, gst_structure_set_valist
5355
5356 2006-01-29  Julien MOUTTE  <julien@moutte.net>
5357
5358         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5359         Set pad functions unconditionally. Fixes #329105.
5360
5361 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5362         * win32/vs8:
5363           add vs8 project files created by Sergey Scobich
5364
5365 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
5366
5367         * gst/gstutils.c: (gst_element_unlink_pads):
5368         Don't leak pad references.
5369
5370         * tests/check/elements/fakesink.c: (GST_START_TEST):
5371         * tests/check/generic/sinks.c: (GST_START_TEST):
5372         * tests/check/generic/states.c: (GST_START_TEST):
5373         * tests/check/gst/gstbin.c: (GST_START_TEST):
5374         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5375         * tests/check/gst/gstelement.c: (GST_START_TEST):
5376         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5377         * tests/check/gst/gstiterator.c: (GST_START_TEST):
5378         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5379         Fix a bunch of leaks. Make generic/sinks.c
5380         use a bit less cpu by slowing the buffer rate
5381         between fakesrc and fakesink.
5382         
5383 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
5384         * gst/gstcaps.c:
5385         * gst/gstelement.c: (gst_element_send_event):
5386         * gst/gstevent.c:
5387         * gst/gstinfo.c:
5388         * gst/gstiterator.c:
5389         * gst/gstiterator.h:
5390         * gst/gstpad.c: (gst_pad_send_event):
5391         * gst/gststructure.c:
5392         * gst/gsturi.c:
5393         * gst/gstutils.c:
5394         * gst/gstvalue.c:
5395         * libs/gst/base/gstadapter.c:
5396           doc fixes, to link to function, just write gst_cool_function(), don't
5397           prefix with '#'
5398
5399 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5400
5401         * plugins/elements/gsttee.c: (gst_tee_do_push),
5402         (gst_tee_handle_buffer):
5403         Always prefer an actual return value from a src
5404         pad in place of NOT_LINKED. This means we return
5405         WRONG_STATE when all src pads are WRONG_STATE
5406         instead of NOT_LINKED.
5407
5408         Lock when replacing the last message to prevent
5409         racing with the get_property method.
5410
5411         Add debug output
5412
5413 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5414
5415         * tests/check/Makefile.am:
5416         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
5417         (main):
5418         Add a very simple check that should have caught the memleak I fixed
5419         last night (if not for the slice allocator hiding it)
5420
5421 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5422
5423         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5424         (gst_bin_remove_func), (gst_bin_handle_message_func),
5425         (bin_query_duration_fold), (bin_query_generic_fold):
5426         Clean up references to the clock provider when disposed or when
5427         handling a clock-lost message from it.
5428
5429         Unref sinks when performing a query via gst_iterator_fold, as the
5430         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
5431
5432         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
5433         (gst_clock_set_master):
5434         Drop our reference to the master clock, if any, when we are disposed.
5435
5436         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
5437         Chain up in dispose. 
5438
5439 2006-01-26  Wim Taymans  <wim@fluendo.com>
5440
5441         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5442         Add some debugging.
5443
5444 2006-01-26  Julien MOUTTE  <julien@moutte.net>
5445
5446         * plugins/elements/gsttee.c: (gst_tee_do_push),
5447         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
5448         handles pad being NOT_LINKED or in WRONG_STATE.
5449
5450 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5451
5452         * win32/MANIFEST:
5453           more updating
5454
5455 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5456
5457         * win32/MANIFEST:
5458           remove obsolete entry
5459
5460 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5461
5462         * docs/gst/gstreamer-sections.txt:
5463         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
5464         (gst_bin_iterate_sources), (gst_bin_send_event):
5465         * gst/gstbin.h:
5466         * gst/gstelement.c: (gst_element_send_event):
5467         * gst/gstevent.c:
5468         * gst/gstpad.c: (gst_pad_send_event):
5469           added code for downstream events, reviewed docs in gstevent.c
5470
5471 2006-01-25  Julien MOUTTE  <julien@moutte.net>
5472
5473         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5474         We only query position using the clock in the playing state.
5475         Query peer in the other cases.
5476         * win32/common/config.h: Updates.
5477
5478 2006-01-24  Wim Taymans  <wim@fluendo.com>
5479
5480         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5481         A clock entry that is scheduled for the exact time of the
5482         clock is still in time.
5483
5484         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5485         (gst_base_sink_do_sync):
5486         Add some more debug info.
5487
5488 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5489
5490         * win32/vs7:
5491           Add new vs7 project files and solution.
5492
5493 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5494
5495         * win32/vs7:
5496           all files removed as they were out-dated.
5497
5498 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5499
5500         * docs/random/release:
5501           update notes
5502         * gst/gstbin.c: (gst_bin_init):
5503         * gst/gstbus.c: (gst_bus_new):
5504         * gst/gstbus.h:
5505         * gst/gstpipeline.c: (gst_pipeline_init):
5506           use gst_bus_new(), improve logging, fix docs
5507         * win32/common/config.h:
5508           update for cvs build
5509
5510 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5511
5512         * autogen.sh:
5513           up required version of automake to 1.7
5514
5515 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
5516
5517         * win32/common/libgstreamer.def:
5518           export gst_buffer_is_metadata_writable
5519
5520 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5521
5522         * docs/gst/gstreamer-sections.txt:
5523         * gst/gstevent.h:
5524           Add gst_event_replace() (#327001)
5525
5526 2006-01-20  Wim Taymans  <wim@fluendo.com>
5527
5528         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
5529         Make it actually compile too..
5530
5531 2006-01-20  Wim Taymans  <wim@fluendo.com>
5532
5533         * gst/gstcaps.c:
5534         Clarify behaviour of _is_equal() when passing NULL parameters.
5535
5536         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5537         (gst_pad_set_caps):
5538         Cleanups. Don't unref NULL caps.
5539         When setting the same caps, protect caps of the pad with
5540         proper lock.
5541         Use full functionality of _is_equal() when comparing caps.
5542
5543 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5544
5545         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
5546         Don't loop infinitely if there are no buffers to present. Partially
5547         fixes #327197, but collectpads is just broken for reusing elements
5548         to do multiple encodes atm.
5549
5550 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5551
5552         * tools/gst-inspect.c: (print_element_features):
5553         * tools/gst-xmlinspect.c: (main):
5554         URL_HANDLER is not a plugin feature we can search for in
5555         the registry.
5556
5557 2006-01-19  Edward Hervey  <edward@fluendo.com>
5558
5559         * gst/gstelement.c: (gst_element_pads_activate): 
5560         When activating, do src pads first, then sink pads.
5561         When de-activating, do sink pads first, then src pads.
5562
5563 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5564
5565         * docs/gst/gstreamer-sections.txt:
5566         Add gst_index_add_associationv to the docs
5567
5568 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5569
5570         * gst/gstevent.c:
5571           Fix docs typo
5572
5573         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
5574         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
5575           Do some refactoring. Doesn't actually change functionality,
5576           but makes landing the DRAIN event easier later.
5577
5578 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
5579
5580         * docs/pwg/advanced-scheduling.xml:
5581           Update from 0.9.x to 0.10 API and make example a bit
5582           clearer.
5583
5584 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5585
5586         * docs/gst/gstreamer-sections.txt:
5587         Add gst_buffer_(is|make)_metadata_writable methods.
5588
5589 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5590
5591         * docs/design/part-sparsestreams.txt:
5592         Update sparse streams doc, hopefully for greater clarity
5593
5594 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
5595
5596         * docs/design/part-events.txt:
5597         Remove mention of FILLER events.
5598         Add DRAIN event.
5599
5600         * docs/design/part-sparsestreams.txt:
5601         Write some things about using NEWSEGMENT to keep sparse streams
5602         flowing.
5603
5604 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5605
5606         * gst/gstbin.c: (gst_bin_dispose):
5607           Guard gst_object_unref call against a NULL object (dispose
5608           can theoretically be called multiple times).
5609           
5610 2006-01-18  Wim Taymans  <wim@fluendo.com>
5611
5612         * gst/gstbin.c: (gst_bin_element_set_state):
5613         * gst/gstclock.c: (gst_clock_id_wait):
5614         Added some more debug info.
5615
5616         * libs/gst/base/gstadapter.c:
5617         Added more docs.
5618
5619         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5620         (gst_base_sink_do_sync), (gst_base_sink_chain):
5621         Added some comments.
5622
5623 2006-01-18  Wim Taymans  <wim@fluendo.com>
5624
5625         * tests/check/Makefile.am:
5626         * tests/check/elements/fakesink.c: (chain_async_buffer),
5627         (chain_async), (chain_async_return), (GST_START_TEST),
5628         (fakesink_suite), (main):
5629         Added fakesink test that checks prerolling and clipping
5630         behaviour.
5631
5632         * tests/check/gst/gstutils.c: (GST_START_TEST):
5633         Make check run faster so that buildbots don't timeout.
5634
5635 2006-01-18  Wim Taymans  <wim@fluendo.com>
5636
5637         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5638         (gst_base_sink_do_sync):
5639         Some cleanups.
5640         When the sink finishes blocking on the preroll buffer, it can
5641         immediatly render it instead of rendering when the next buffer
5642         arrives.
5643
5644 2006-01-18  Wim Taymans  <wim@fluendo.com>
5645
5646         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
5647         (gst_base_sink_get_property), (gst_base_sink_do_sync),
5648         (gst_base_sink_chain):
5649         Small cleanups.
5650         GST_ELEMENT_CLOCK and sync are protected with LOCK.
5651         Don't store _last_stop if the buffer is dropped.
5652
5653 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5654
5655         * plugins/elements/gsttypefindelement.c:
5656         (gst_type_find_element_class_init):
5657           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
5658           object method handler that sets the caps on the pad and we want
5659           that to happen before we emit the signal (fixes e.g. feeding a
5660           plain text file to decodebin).
5661
5662 2006-01-18  Christian Schaller  <Christian@fluendo.com>
5663
5664         * gst/gstplugin.c: Add MPL and Proprietary as license options
5665
5666 2006-01-18  Andy Wingo  <wingo@pobox.com>
5667
5668         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
5669         symbol was exported before, it appears this was just an oversight.
5670         Fixes #168703.
5671         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
5672
5673         * gst/gstindex.c (gst_index_add_associationv): Changed int in
5674         prototype to gint. OK since this prototype was not in the header.
5675
5676 2006-01-17  Andy Wingo  <wingo@pobox.com>
5677
5678         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
5679         registry while we remove plugins.
5680
5681         * tools/gst-inspect.c (print_element_info): Don't unref the
5682         factory arg, that should be the responsibility of whatever code
5683         received the ref. Fixes a double-free when called from
5684         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
5685         (main): Unref the factory if we have one.
5686         (print_element_list): No change -- relies on the
5687         plugin_feature_list_free to free the list of features.
5688
5689 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
5690
5691         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5692         (gst_buffer_make_metadata_writable):
5693         * gst/gstbuffer.h:
5694         * libs/gst/base/gstbasetransform.c:
5695         (gst_base_transform_prepare_output_buf):
5696         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5697         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5698           Replace gst_buffer_(make|is)_metadata_writable patch now
5699           that the release is out.
5700
5701 2006-01-17  Andy Wingo  <wingo@pobox.com>
5702
5703         * gst/gstregistry.c: Reflow design comment. Update so as to speak
5704         in the present tense without reference to versions.
5705
5706         * gst/gstregistry.c (gst_registry_add_plugin)
5707         (gst_registry_remove_plugin, gst_registry_remove_feature)
5708         (gst_registry_find_feature, gst_registry_get_feature_list)
5709         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
5710         (gst_registry_lookup, gst_registry_scan_path)
5711         (_gst_registry_remove_cache_plugins)
5712         (gst_registry_get_feature_list_by_plugin): Add argument
5713         validation.
5714
5715 === release 0.10.2 ===
5716
5717 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
5718
5719         * configure.ac:
5720           releasing 0.10.2, "If man is five"
5721
5722 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5723
5724         * gst/gstbuffer.c:
5725         * gst/gstbuffer.h:
5726         * libs/gst/base/gstbasetransform.c:
5727         (gst_base_transform_prepare_output_buf):
5728         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5729         * tests/check/gst/gstbuffer.c: (gst_test_suite):
5730           Back out patch until after the release.
5731
5732 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5733
5734         * gst/gstminiobject.c:
5735           Spelling fix in docs.
5736         * ChangeLog - remove conflict indicator
5737
5738 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5739
5740         Reviewed By: Andy Wingo
5741
5742         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5743         (gst_buffer_make_metadata_writable):
5744         * gst/gstbuffer.h:
5745           Add gst_buffer_(is|make)_metadata_writable as analogues of
5746           gst_buffer_(is|make)_writable.
5747
5748         * libs/gst/base/gstbasetransform.c:
5749         (gst_base_transform_prepare_output_buf):
5750         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5751           Use name gst_buffer_(is|make)_metadata_writable functions.
5752
5753         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5754           Test gst_buffer_(is|make)_metadata_writable
5755         
5756           (Closes: #324162)
5757
5758 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5759
5760         * docs/manual/Makefile.am:
5761           don't do parallel make
5762         * configure.ac:
5763           AC_SUBST HOST_CPU
5764         * win32/common/config.h.in:
5765           add generations for HOST_CPU and GST_MAJORMINOR
5766         * win32/common/config.h:
5767           commit generated result
5768
5769 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
5770
5771         * docs/manual/appendix-integration.xml:
5772           Update GNOME integration section to use gst_init_get_option_group()
5773           instead of the old popt stuff (#322911). Also, GNOME applications
5774           should  now use gconf*sink and gconf*src instead of the old gconf
5775           helper lib we had.
5776
5777 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
5778
5779
5780         * docs/gst/gstreamer-docs.sgml:
5781         * docs/gst/gstreamer-sections.txt:
5782         * docs/libs/gstreamer-libs-sections.txt:
5783           add new API entries to the docs
5784         * libs/gst/controller/Makefile.am:
5785         * libs/gst/controller/gstcontroller.c:
5786         * libs/gst/controller/gstcontroller.h:
5787         * libs/gst/controller/gstcontrollerprivate.h:
5788         * libs/gst/controller/gsthelper.c:
5789         * libs/gst/controller/gstinterpolation.c:
5790           move private structs to private header
5791         * po/README:
5792           gstreamer-0.7 -> gstreamer-0.10
5793         * tests/check/libs/struct_i386.h:
5794           remove private structs
5795
5796 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5797
5798         * plugins/indexers/Makefile.am:
5799           Fixes as part of #317048
5800
5801 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5802
5803         * plugins/indexers/Makefile.am:
5804           fix #316086 - compilation when mmap is missing
5805
5806 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
5807
5808         * libs/gst/base/gstbasesink.c:
5809           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
5810           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
5811         * win32/common/config.h:
5812           added some defines GST_MAJORMINOR and HOST_CPU
5813         * win32/common/libgstbase.def:
5814         * win32/common/libgstreamer.def:
5815           added some exported functions.
5816
5817 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5818
5819         * libs/gst/controller/gstcontroller.c:
5820         (gst_controlled_property_set_interpolation_mode),
5821         (gst_controlled_property_new):
5822         * libs/gst/controller/gstcontroller.h:
5823         * libs/gst/controller/gstinterpolation.c:
5824         (interpolate_none_get_string_value_array):
5825           make G_TYPE_STRING controlable
5826
5827 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5828
5829         * tools/README:
5830         * tools/gst-feedback.1.in:
5831         * tools/gst-inspect.1.in:
5832         * tools/gst-launch.1.in:
5833         * tools/gst-md5sum.1.in:
5834         * tools/gst-typefind.1.in:
5835         * tools/gst-xmlinspect.1.in:
5836         * tools/gst-xmllaunch.1.in:
5837           cleanup man-pages, remove reference to gst-register, document env-vars
5838
5839 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
5840
5841         * gst/gstbuffer.c: (gst_buffer_span):
5842           gst_buffer_span should copy the timestamp of the first buffer
5843           if they were both originally overlapping subbuffers of the 
5844           same parent, using the same logic as the 'slow copy' case.
5845
5846 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
5847
5848         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
5849           Need to awaken ALL the pads when we pop a buffer, otherwise
5850           collectpads only works when there is 2 input streams.
5851
5852 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
5853
5854         * docs/random/ensonic/media-device-daemon.txt:
5855           more ideas (dbus)
5856         * gst/gstbuffer.c:
5857           fix doc example, add clarification
5858         * tools/gst-launch.1.in:
5859           add initial info about GST_PLUGIN_PATH, needs more work
5860
5861 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5862
5863         * docs/manual/basics-bins.xml:
5864         * docs/manual/basics-elements.xml:
5865         * docs/manual/intro-basics.xml:
5866           Some more minor docs additions and updates.
5867
5868 2006-01-11  Wim Taymans  <wim@fluendo.com>
5869
5870         * docs/manual/basics-bins.xml:
5871         * docs/manual/basics-elements.xml:
5872         Some small fixes as pointed out by Ser-ver on IRC.
5873
5874 2006-01-10  Edward Hervey  <edward@fluendo.com>
5875
5876         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5877         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
5878         the single-segment mode.
5879
5880 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
5881
5882         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5883
5884         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
5885         (gst_base_src_perform_seek), (gst_base_src_send_event),
5886         (gst_base_src_set_property), (gst_base_src_get_property),
5887         (gst_base_src_loop), (gst_base_src_start),
5888         (gst_base_src_activate_push):
5889         * libs/gst/base/gstbasesrc.h:
5890           Name (private) union; makes Sun's Forte compiler happy (#324900).
5891
5892 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5893
5894         * README:
5895           gst-register is gone.
5896
5897 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5898
5899         * gst/gstvalue.c: (_gst_value_initialize):
5900           make the G_TYPE_DATE instantiation work if debug is disabled
5901
5902 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
5903
5904         * gst/gstmessage.c: (gst_message_parse_tag),
5905         (gst_message_parse_error), (gst_message_parse_warning):
5906           Don't crash when return location for error/warning debug
5907           string is NULL; add fact that return locations can be
5908           NULL to docs where appropriate.
5909
5910 2006-01-05  Wim Taymans  <wim@fluendo.com>
5911
5912         * gst/gstplugin.c: (gst_plugin_load_file):
5913         Replace strdup by g_strdup.
5914
5915 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5916
5917         * docs/pwg/advanced-types.xml:
5918           fix doc borkage
5919
5920 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5921
5922         submitted by: Abel Cheung
5923
5924         * po/LINGUAS:
5925         * po/zh_TW.po:
5926           Added Chinese (traditional) translation
5927
5928 2006-01-04  Wim Taymans  <wim@fluendo.com>
5929
5930         * docs/manual/basics-pads.xml:
5931         * docs/plugins/Makefile.am:
5932         * docs/plugins/gstreamer-plugins-docs.sgml:
5933         * docs/plugins/gstreamer-plugins-sections.txt:
5934         * docs/pwg/advanced-clock.xml:
5935         * docs/pwg/advanced-scheduling.xml:
5936         * docs/pwg/advanced-types.xml:
5937         * plugins/elements/gstfdsink.c:
5938         * plugins/elements/gstfdsrc.c:
5939         * plugins/elements/gstfdsrc.h:
5940         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5941         * plugins/elements/gstidentity.h:
5942         * plugins/elements/gstqueue.h:
5943         * plugins/elements/gsttee.c:
5944         * plugins/elements/gsttee.h:
5945         * plugins/elements/gsttypefindelement.c:
5946         (gst_type_find_element_class_init):
5947         * plugins/elements/gsttypefindelement.h:
5948         Small updates to various docs.
5949         Added core plugins to docs.
5950
5951 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5952
5953         * common/gst.supp:
5954           add a suppression for liboil's uninitialized variable
5955
5956 2006-01-02  James Livingston  <jrl at ids dot org dot au>
5957
5958         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5959
5960         * gst/gstutils.h:
5961           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
5962           macro, so that gcc doesn't complain if the -Wmissing-prototypes
5963           compiler switch is being used (#325429).
5964
5965 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
5966
5967         * gst/gstbin.c: (gst_bin_query):
5968           Disable duration query caching in bins until it gets
5969           fixed (see #324807).
5970
5971 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5972
5973         * tools/gst-inspect.c: (print_element_properties_info):
5974           Handle properties of POINTER and BOXED type.
5975
5976 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5977
5978         * gst/gst.c: (init_post):
5979           Init tags stuff and some other things before loading
5980           any static plugins (there may be other static plugins
5981           than just the GStreamer ones, and they may want to
5982           register their own tags or formats or whatever, and
5983           preferably without segfaulting).
5984
5985         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5986           Print at least a warning in the debug logs if we drop a
5987           query just because we don't know how to adjust the value
5988           in the particular format.
5989
5990 2005-12-24  David Schleef  <ds@schleef.org>
5991
5992         * tools/gstreamer-completion:
5993           Replacement for gst-complete written in sh and sed.  Only
5994           completes names of features, but that's 90% of what I want
5995           it for.  Properties are not available in registry.xml.  (Maybe
5996           they should be...)
5997
5998 === release 0.10.1 ===
5999
6000 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
6001
6002         * configure.ac:
6003           releasing 0.10.1, "Nollaig chridheil"
6004
6005 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
6006
6007         * docs/faq/cvs.xml:
6008           Add missing quote, should be make ERROR_CFLAGS="".
6009
6010 2005-12-20  Wim Taymans  <wim@fluendo.com>
6011
6012         * docs/design/part-trickmodes.txt:
6013         More documentation on trickmodes.
6014
6015 2005-12-20  Edward Hervey  <edward@fluendo.com>
6016
6017         * gst/gstcaps.c: (gst_static_caps_get_type):
6018         * gst/gstcaps.h:
6019           API addition: GST_TYPE_STATIC_CAPS
6020         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6021         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
6022         * gst/gstpadtemplate.h:
6023           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
6024         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
6025         bindings.
6026
6027 2005-12-18  Wim Taymans  <wim@fluendo.com>
6028
6029         * libs/gst/base/gstadapter.c:
6030         * libs/gst/base/gstadapter.h:
6031         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6032         (gst_base_sink_get_position):
6033         * libs/gst/base/gstbasesink.h:
6034         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6035         (gst_base_src_default_query), (gst_base_src_default_do_seek),
6036         (gst_base_src_do_seek), (gst_base_src_perform_seek),
6037         (gst_base_src_send_event), (gst_base_src_update_length),
6038         (gst_base_src_get_range), (gst_base_src_loop),
6039         (gst_base_src_start):
6040         * libs/gst/base/gstbasesrc.h:
6041         * libs/gst/base/gstbasetransform.h:
6042         * libs/gst/base/gstcollectpads.h:
6043         * libs/gst/base/gstpushsrc.c:
6044         * libs/gst/base/gstpushsrc.h:
6045         * libs/gst/dataprotocol/dataprotocol.c:
6046         * libs/gst/dataprotocol/dataprotocol.h:
6047         * libs/gst/net/gstnetclientclock.h:
6048         * libs/gst/net/gstnettimeprovider.h:
6049         Documentation updates.
6050
6051 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
6052
6053         * docs/manual/basics-helloworld.xml:
6054           Remove superfluous closing bracket in helloworld example.
6055
6056 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
6057
6058         * tools/gst-launch.1.in:
6059           Update gst-launch man page; add a section with useful
6060           environment variables. Fixes #323882.
6061
6062 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
6063
6064         * gst/gst.c:
6065         * gst/gst_private.h:
6066           change some char* into char[]
6067
6068 2005-12-16  Wim Taymans  <wim@fluendo.com>
6069
6070         * gst/gstregistryxml.c: (load_feature):
6071         Cleanups.
6072         Don't use g_object_unref on GstObjects so that we avoid
6073         leaks on unsafe glibs.
6074
6075 2005-12-16  Wim Taymans  <wim@fluendo.com>
6076
6077         * gst/gstbin.c: (gst_bin_recalc_state):
6078         Small doc updates.
6079
6080 2005-12-16  Wim Taymans  <wim@fluendo.com>
6081
6082         * common/check.mak:
6083         Added make forever target for check.
6084
6085 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6086
6087         * gst/gst.c: (init_post):
6088           make the registry cache file HOST_CPU-dependent
6089
6090 2005-12-16  Andy Wingo  <wingo@pobox.com>
6091
6092         * plugins/elements/gstbufferstore.c
6093         (gst_buffer_store_cleared_func): Pay attention to g_list_append
6094         return value.
6095
6096         * tests/check/gst/gstobject.c
6097         (test_fake_object_name_threaded_unique): Pay attention to
6098         g_list_sort return value.
6099
6100 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6101
6102         * tools/gst-feedback-m.m:
6103           Update for 0.9/0.10 (fixes #323870).
6104
6105 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
6106
6107         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
6108           Fix lcopy for mini objects, the mini object needs to be ref'ed.
6109           
6110         * tests/check/gst/gstminiobject.c: (my_foo_init),
6111         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
6112         (test_value_collection), (gst_mini_object_suite):
6113           Add test to ensure refcounts end up as expected when passing
6114           GstMiniObjects through g_object_get() and g_object_set().
6115
6116 2005-12-14  Julien MOUTTE  <julien@moutte.net>
6117
6118         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6119         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
6120         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6121         of collectpads. This version removes a lot of races without
6122         touching API/ABI. Yay !
6123
6124 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
6125
6126         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
6127           Don't allow activation of a srcpad in pull_range if it has no
6128           getrange function.
6129           Change some debug statements to be a little clearer
6130
6131         * plugins/elements/gsttypefindelement.c:
6132         (gst_type_find_handle_src_query):
6133           Check that we have a peer before executing queries thereupon.
6134
6135         * tests/examples/metadata/read-metadata.c: (message_loop):
6136           Use gst_bus_pop instead of gst_bus_poll when we just want it to
6137           immediately return us any available message with 0 timeout.
6138
6139 2005-12-12  Michael Smith  <msmith@fluendo.com>
6140
6141         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6142           Don't unref factories after calling them.
6143         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6144         * plugins/elements/gsttypefindelement.c:
6145         (gst_type_find_element_chain):
6146           Free lists of factories after using them. Fixing typefinding memory
6147           leaks.
6148
6149 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6150
6151         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6152         (gst_plugin_feature_load):
6153           more meaningful debug output
6154         * configure.ac:
6155         * tests/Makefile.am:
6156         * tests/old/examples/Makefile.am:
6157           make make distcheck happy again
6158
6159 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6160
6161         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6162           Catch the special case where we are operating chain-based,
6163           but the downstream peer pad has no chain function. Emit a
6164           custom error message in this case instead of letting the
6165           core generate one implying that this is some sort of core
6166           bug. It's not, it just means that whatever got plugged
6167           into the pipeline downstream when we announced the type
6168           can only operate pull-based, while our source can only
6169           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6170           Error string has not been marked for translation yet, as
6171           it probably needs some more work first.
6172
6173         (gst_type_find_element_get_best_possibility):
6174           Add helper function to find the best of all available
6175           found possibilities that qualify given the min. threshold.
6176
6177         (gst_type_find_element_handle_event):
6178           Fix the case where we get an EOS while still in TYPEFIND
6179           mode (we want to chose the best of all possible types,
6180           not just the first type that happens to be in our unsorted
6181           list of possible types).
6182
6183         (gst_type_find_element_chain):
6184           Make sure we return GST_FLOW_ERROR when we errored out
6185           in stop_typefinding(); also, don't just find the best of
6186           all found type entries and then use the last examined
6187           type entry, but actually use the best entry.
6188
6189 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6190
6191         * tests/examples/typefind/typefind.c: (type_found):
6192         * tests/examples/xml/runxml.c: (xml_loaded):
6193           More gcc4 fixes and a mem leak fix.
6194
6195 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6196
6197         * tests/examples/xml/createxml.c: (object_saved):
6198           gcc 4 fixes
6199
6200 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6201
6202         * tests/Makefile.am:
6203           enable the examples even more
6204
6205 2005-12-12  Andy Wingo  <wingo@pobox.com>
6206
6207         * libs/gst/net/gstnettimeprovider.c
6208         (gst_net_time_provider_class_init, gst_net_time_provider_init)
6209         (gst_net_time_provider_set_property)
6210         (gst_net_time_provider_get_property):
6211         API addition: Export "active" as a GObject property.
6212         (gst_net_time_provider_thread): Only respond to time queries if
6213         the time provider is active.
6214
6215         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6216         NetTimeProvider, preserving binary compat.
6217
6218 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6219
6220         * tests/examples/controller/audio-example.c: (main):
6221         * tests/examples/launch/Makefile.am:
6222           convert comments again
6223
6224 2005-12-12  Wim Taymans  <wim@fluendo.com>
6225
6226         * libs/gst/base/gstpushsrc.c:
6227         Fix typo.
6228
6229 2005-12-12  Wim Taymans  <wim@fluendo.com>
6230
6231         * docs/libs/gstreamer-libs-sections.txt:
6232         Added new symbol to docs.
6233
6234         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6235         (gst_base_src_init), (gst_base_src_set_format),
6236         (gst_base_src_default_query), (gst_base_src_query),
6237         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6238         (gst_base_src_perform_seek), (gst_base_src_send_event),
6239         (gst_base_src_default_event), (gst_base_src_event_handler),
6240         (gst_base_src_set_property), (gst_base_src_get_property),
6241         (gst_base_src_wait), (gst_base_src_do_sync),
6242         (gst_base_src_update_length), (gst_base_src_get_range),
6243         (gst_base_src_check_get_range), (gst_base_src_loop),
6244         (gst_base_src_default_negotiate), (gst_base_src_start),
6245         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6246         (gst_base_src_change_state):
6247         * libs/gst/base/gstbasesrc.h:
6248         Implement seeking to other formats than _BYTES.
6249         Implement more seeking methods correctly.
6250         Doc updates.
6251         Added query vmethod.
6252         Added do_seek vmethod to make life easier for subclasses
6253         when seeking.
6254         API addition: gst_base_src_set_format()
6255
6256 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6257
6258         * tests/examples/Makefile.am:
6259           added that too
6260
6261 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6262
6263         * configure.ac:
6264         * docs/random/ensonic/media-device-daemon.txt:
6265         * tests/examples/controller/.cvsignore:
6266         * tests/examples/controller/Makefile.am:
6267         * tests/examples/controller/audio-example.c: (main):
6268         * tests/examples/helloworld/.cvsignore:
6269         * tests/examples/helloworld/Makefile.am:
6270         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6271         * tests/examples/launch/.cvsignore:
6272         * tests/examples/launch/Makefile.am:
6273         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6274         * tests/examples/metadata/.cvsignore:
6275         * tests/examples/metadata/Makefile.am:
6276         * tests/examples/metadata/read-metadata.c: (message_loop),
6277         (make_pipeline), (print_tag), (main):
6278         * tests/examples/queue/.cvsignore:
6279         * tests/examples/queue/Makefile.am:
6280         * tests/examples/queue/queue.c: (event_loop), (main):
6281         * tests/examples/typefind/.cvsignore:
6282         * tests/examples/typefind/Makefile.am:
6283         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6284         (main):
6285         * tests/examples/xml/.cvsignore:
6286         * tests/examples/xml/Makefile.am:
6287         * tests/examples/xml/createxml.c: (object_saved), (main):
6288         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6289         * tests/old/examples/Makefile.am:
6290         * tests/old/examples/TODO:
6291         * tests/old/examples/controller/.cvsignore:
6292         * tests/old/examples/controller/Makefile.am:
6293         * tests/old/examples/controller/audio-example.c:
6294         * tests/old/examples/helloworld/.cvsignore:
6295         * tests/old/examples/helloworld/Makefile.am:
6296         * tests/old/examples/helloworld/helloworld.c:
6297         * tests/old/examples/launch/.cvsignore:
6298         * tests/old/examples/launch/Makefile.am:
6299         * tests/old/examples/launch/mp3parselaunch.c:
6300         * tests/old/examples/launch/mp3play:
6301         * tests/old/examples/manual/Makefile.am:
6302         * tests/old/examples/metadata/Makefile.am:
6303         * tests/old/examples/metadata/read-metadata.c:
6304         * tests/old/examples/queue/.cvsignore:
6305         * tests/old/examples/queue/Makefile.am:
6306         * tests/old/examples/queue/queue.c:
6307         * tests/old/examples/typefind/.cvsignore:
6308         * tests/old/examples/typefind/Makefile.am:
6309         * tests/old/examples/typefind/typefind.c:
6310         * tests/old/examples/xml/.cvsignore:
6311         * tests/old/examples/xml/Makefile.am:
6312         * tests/old/examples/xml/createxml.c:
6313         * tests/old/examples/xml/runxml.c:
6314           applied some simple fixing to some examples
6315           re-enabled the working examples
6316
6317 2005-12-12  Wim Taymans  <wim@fluendo.com>
6318
6319         * gst/gstsegment.c: (gst_segment_init),
6320         (gst_segment_set_last_stop), (gst_segment_set_seek),
6321         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6322         (gst_segment_to_running_time):
6323         Added more documentation.
6324         Make sure the last_pos value is updated properly.
6325         Make sure to_stream_time and to_running_time don't
6326         operate on wrong values.
6327
6328         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6329         Update check.
6330
6331 2005-12-12  Michael Smith  <msmith@fluendo.com>
6332
6333         * plugins/elements/gsttypefindelement.c: (free_entry),
6334         (gst_type_find_element_chain):
6335           Now that we're not leaking factories, make sure we keep references
6336           to them while we need them.
6337
6338 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6339
6340         * tests/check/gst/struct_i386.h:
6341           ifdef out the XML structs
6342
6343 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6344
6345         * gst/gstvalue.c: (gst_value_transform_double_fraction):
6346           floor is not needed, F is always positive; this obviates the
6347           need for adding -lm when building without libxml
6348
6349 2005-12-12  Wim Taymans  <wim@fluendo.com>
6350
6351         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6352         Take current playback rate into account when reporting
6353         the position.
6354
6355 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6356
6357         * docs/manual/mime-world.fig:
6358           Let's try this again, this time with a file that is
6359           actually in XFig format.
6360
6361 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6362
6363         * docs/manual/mime-world.fig:
6364           Add audioconvert element to diagram so that it
6365           matches the text and the code (fixes #319526).
6366
6367 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6368
6369         * docs/pwg/building-chainfn.xml:
6370         * docs/pwg/building-pads.xml:
6371         * docs/pwg/building-state.xml:
6372         * docs/pwg/other-source.xml:
6373           Update state change stuff for 0.10 (fixes #322969).
6374
6375 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6376
6377         * docs/manual/advanced-dataaccess.xml:
6378         * docs/manual/appendix-checklist.xml:
6379         * docs/manual/appendix-programs.xml:
6380         * docs/manual/basics-pads.xml:
6381         * docs/manual/highlevel-components.xml:
6382         * docs/manual/manual.xml:
6383           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
6384           add converters in front of pipelines; remove curly
6385           brackets for threads stuff, they no longer exist; use
6386           GST_TYPE_FRACTION for framerates; update some pieces of
6387           code to 0.10, but there's plenty more to do.
6388
6389         * docs/manual/appendix-porting.xml:
6390           Expand on asynchroneous state changes; s/0.9/0.10/;
6391           mention disappearance of gst_init_get_popt_table()
6392           (fixes #322916).
6393
6394 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6395
6396         * docs/faq/using.xml:
6397           Spider no longer exists, and neither does gst-launch-ext.
6398           Update examples to use decodebin and playbin and put
6399           converters in front of sinks (fixes #323726).
6400
6401 2005-12-09  Michael Smith  <msmith@fluendo.com>
6402
6403         * plugins/elements/gsttypefindelement.c: (find_peek),
6404         (gst_type_find_element_chain):
6405           Fix leaking element factories in typefinding.
6406           Fix problem where we forgot about a probable type on non-seekable
6407           files, and thus later mis-typefound it.
6408
6409 2005-12-09  Michael Smith  <msmith@fluendo.com>
6410
6411         * common/m4/gst-makecontext.m4:
6412         * common/m4/gst-mcsc.m4:
6413         * configure.ac:
6414         * win32/common/config.h:
6415         * win32/common/config.h.in:
6416           Remove makecontext stuff; not used in 0.10 and causes problems on
6417           HPUX according to bug #322441
6418
6419 2005-12-07  Wim Taymans  <wim@fluendo.com>
6420
6421         * tests/check/Makefile.am:
6422         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
6423         (main):
6424         * tests/check/libs/struct_i386.h:
6425         Added ABI check for libs
6426
6427 2005-12-07  Wim Taymans  <wim@fluendo.com>
6428
6429         * tests/check/Makefile.am:
6430         And add the struct_i386.h to dist.
6431
6432 2005-12-07  Wim Taymans  <wim@fluendo.com>
6433
6434         * tests/check/Makefile.am:
6435         * tests/check/gst/.cvsignore:
6436         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
6437         (main):
6438         * tests/check/gst/struct_i386.h:
6439         Added check for ABI compatibility.
6440
6441 2005-12-07  Wim Taymans  <wim@fluendo.com>
6442
6443         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6444         (gst_fake_src_get_times), (gst_fake_src_create):
6445         Fix broken sync option, fixes #323259
6446
6447 2005-12-07  Wim Taymans  <wim@fluendo.com>
6448
6449         * gst/gstbuffer.c:
6450         Small docs update.
6451
6452         * gst/gstcaps.c: (gst_caps_is_equal):
6453         Don't assert on NULL <--> X. Fixes #323260
6454
6455         * gst/gstminiobject.c: (gst_mini_object_replace):
6456         If we're doing atomic operations, we might just as well use
6457         the proper way to get an atomic pointer.
6458
6459         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6460         Clean up debugging.
6461
6462 2005-12-07  Michael Smith  <msmith@fluendo.com>
6463
6464         * gst/parse/grammar.y:
6465           Remove handling of { } for threads.
6466
6467 2005-12-06  David Schleef  <ds@schleef.org>
6468
6469         * libs/gst/base/gstbasetransform.c: speling fix.
6470
6471 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6472
6473         * docs/libs/tmpl/gstdataprotocol.sgml:
6474         * docs/random/omega/testing/gstobject.c:
6475         * gst/gst.c:
6476         * gst/gstclock.c:
6477         * gst/gstelement.c:
6478         * gst/gstelementfactory.c:
6479         * gst/gsterror.c:
6480         * gst/gstevent.c:
6481         * gst/gstghostpad.c:
6482         * gst/gstinfo.c:
6483         * gst/gstpadtemplate.c:
6484         * gst/gstregistryxml.c:
6485         * gst/gsttaglist.c:
6486         * gst/gsttagsetter.c:
6487         * gst/gsttypefind.c:
6488         * gst/gstvalue.c:
6489         * libs/gst/base/gstbasesrc.c:
6490         * libs/gst/net/gstnetclientclock.c:
6491         * libs/gst/net/gstnettimeprovider.c:
6492         * plugins/elements/gstfakesrc.c:
6493         * plugins/elements/gstfdsrc.c:
6494         * plugins/elements/gstfilesrc.c:
6495         * plugins/elements/gstidentity.c:
6496         * plugins/elements/gstqueue.c:
6497         * plugins/elements/gsttypefindelement.c:
6498         * plugins/indexers/gstfileindex.c:
6499         * plugins/indexers/gstmemindex.c:
6500         * tests/check/gst/gsttag.c:
6501         * tests/old/examples/cutter/cutter.c:
6502         * tests/old/examples/mixer/mixer.c:
6503         * tests/old/examples/xml/runxml.c: (main):
6504         * tests/old/testsuite/caps/normalisation.c:
6505         * tests/old/testsuite/debug/global.c:
6506         * tests/old/testsuite/parse/parse1.c:
6507         * tools/gst-xmlinspect.c:
6508         * win32/common/dirent.c:
6509           expand tabs
6510
6511 === release 0.10.0 ===
6512
6513 2005-12-05   <thomas (at) apestaart (dot) org>
6514
6515         * configure.ac:
6516           releasing 0.10.0, "Maroilles"
6517
6518 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6519
6520         submitted by: Funda Wang <fundawang@linux.net.cn>
6521
6522         * po/LINGUAS:
6523         * po/zh_CN.po:
6524           added Chinese (Traditional) translation
6525
6526 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6527
6528         * docs/gst/gstreamer-sections.txt:
6529         * docs/libs/tmpl/gstdataprotocol.sgml:
6530         * docs/random/thomasvs/TODO:
6531         * gst/gstutils.c:
6532         * gst/gstutils.h:
6533           fix docs
6534
6535 2005-12-05  Andy Wingo  <wingo@pobox.com>
6536
6537         patch by: Wim Taymans <wim@fluendo.com>
6538
6539         * libs/gst/base/gstbasetransform.c
6540         (gst_base_transform_prepare_output_buf)
6541         (gst_base_transform_buffer_alloc):
6542         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
6543         alloc_buffer_and_set_caps.
6544
6545         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
6546         set_caps on the source pad.
6547         (gst_pad_alloc_buffer_and_set_caps): New function, does what
6548         alloc_buffer used to do. Fixes #322874.
6549
6550         * docs/gst/gstreamer-sections.txt: 
6551         * docs/design/part-negotiation.txt: 
6552         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
6553         changes.
6554
6555 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6556
6557         patch by: Sebastien Moutte
6558
6559         * win32/MANIFEST:
6560         * win32/common/config.h.in:
6561         * win32/vs6/libgstcontroller.dsp:
6562           win32 build fixes
6563
6564 2005-12-05  Wim Taymans  <wim@fluendo.com>
6565
6566         * gst/gstcaps.c: (gst_caps_is_equal):
6567         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6568         (gst_fake_src_create):
6569         Back out previous code changes, leave doc updates, file bugs 
6570         instead. 
6571
6572 2005-12-05  Wim Taymans  <wim@fluendo.com>
6573
6574         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6575         (gst_fake_src_get_times), (gst_fake_src_create):
6576         * plugins/elements/gstfakesrc.h:
6577         Fix broken sync code.
6578
6579 2005-12-05  Wim Taymans  <wim@fluendo.com>
6580
6581         * gst/gstcaps.c: (gst_caps_is_equal):
6582         Comparing NULL against !NULL yields different caps, not a
6583         failure.
6584
6585 2005-12-05  Wim Taymans  <wim@fluendo.com>
6586
6587         * gst/gstpipeline.c:
6588         Fix small typo in docs.
6589
6590 2005-12-05  Andy Wingo  <wingo@pobox.com>
6591
6592         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
6593
6594         * gst/gst.c (init_post): remove hard-coded 0.9 location for
6595         registries/plugins with a MAJORMINOR one.
6596         (plugin_desc): Rename library from gstcoreleements to
6597         staticelements. Fixes #323222.
6598
6599 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
6600
6601         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
6602           Change debug category to 'collectpads' from 'collect_pads'
6603           (fixes #323250).
6604
6605 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6606
6607         patch by: Sebastien Moutte
6608
6609         * libs/gst/controller/gstinterpolation.c:
6610           use convert function for uint64/double
6611         * win32/vs6/libgstcontroller.dsp:
6612           link to GLib
6613
6614 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6615
6616         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
6617         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
6618         * gst/gstutils.h:
6619         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6620           add tests that seem to show that the guint64/gdouble conversions
6621           are correct.
6622
6623 2005-12-02  Wim Taymans  <wim@fluendo.com>
6624
6625         * gst/gstregistry.c: (gst_registry_add_path):
6626         * gst/gstregistry.h:
6627         * gst/gstregistryxml.c:
6628         Fix docs again.
6629
6630 2005-12-02  Wim Taymans  <wim@fluendo.com>
6631
6632         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6633         (gst_util_uint64_scale_int):
6634         Small cleanup.
6635
6636         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6637         Add debug log line.
6638
6639         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
6640         Add FIXME.
6641
6642 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6643
6644         * win32/MANIFEST:
6645         * win32/common/config.h:
6646         * win32/vs6/gstreamer.dsw:
6647         * win32/vs6/libgstcoreelements.dsp:
6648         * win32/vs6/libgstelements.dsp:
6649           renamed core elements plugin
6650
6651 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6652
6653         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
6654         (get_candidates):
6655           do piece-wise major/minor comparison so 0.9 < 0.10
6656           also allow .exe extensions for tools
6657
6658 2005-12-02  Michael Smith  <msmith@fluendo.com>
6659
6660         * gst/gst.c:
6661           Escape a % to make gtkdoc happier; bug 322958.
6662
6663 === release 0.9.7 ===
6664
6665 2005-12-01   <thomas (at) apestaart (dot) org>
6666
6667         * configure.ac:
6668           releasing 0.9.7, "My Dog Has No Nose"
6669
6670 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6671
6672         * common/gst-xmlinspect.py:
6673         * configure.ac:
6674         * docs/libs/tmpl/gstdataprotocol.sgml:
6675         * docs/random/release:
6676         * po/af.po:
6677         * po/az.po:
6678         * po/bg.po:
6679         * po/ca.po:
6680         * po/cs.po:
6681         * po/de.po:
6682         * po/en_GB.po:
6683         * po/fr.po:
6684         * po/it.po:
6685         * po/nb.po:
6686         * po/nl.po:
6687         * po/ru.po:
6688         * po/sq.po:
6689         * po/sr.po:
6690         * po/sv.po:
6691         * po/tr.po:
6692         * po/uk.po:
6693         * po/vi.po:
6694         * win32/common/config.h:
6695         * win32/common/config.h.in:
6696         * win32/vs6/gst_inspect.dsp:
6697         * win32/vs6/gst_launch.dsp:
6698         * win32/vs6/libgstbase.dsp:
6699         * win32/vs6/libgstelements.dsp:
6700         * win32/vs6/libgstreamer.dsp:
6701         * win32/vs7/GStreamer.vcproj:
6702         * win32/vs7/gst-inspect.vcproj:
6703         * win32/vs7/gst-launch.vcproj:
6704         * win32/vs7/libgstbase.vcproj:
6705           bump GST_MAJORMINOR to 0.10
6706           reset libtool version
6707
6708 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6709
6710         * po/LINGUAS:
6711         * po/bg.po:
6712           Added Bulgarian translation by (Alexander Shopov)
6713
6714 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6715
6716         * tests/check/gst/gstplugin.c:
6717           fix test
6718
6719 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6720
6721         * common/gst-xmlinspect.py:
6722         * common/gtk-doc-plugins.mak:
6723         * configure.ac:
6724         * docs/Makefile.am:
6725         * docs/gst/Makefile.am:
6726         * docs/gst/gstreamer-docs.sgml:
6727         * docs/gst/gstreamer-sections.txt:
6728         * docs/gst/gstreamer.types:
6729         * docs/gst/gstreamer.types.in:
6730         * docs/plugins/Makefile.am:
6731         * docs/plugins/gstreamer-plugins-docs.sgml:
6732         * docs/plugins/gstreamer-plugins-sections.txt:
6733         * docs/plugins/gstreamer-plugins.types:
6734         * docs/plugins/inspect.stamp:
6735         * docs/plugins/inspect/plugin-coreelements.xml:
6736         * docs/plugins/inspect/plugin-coreindexers.xml:
6737         * docs/plugins/scanobj-build.stamp:
6738         * gstreamer.spec.in:
6739         * plugins/elements/Makefile.am:
6740         * plugins/elements/gstelements.c:
6741         * plugins/elements/gstfakesink.c:
6742         * plugins/elements/gstfakesrc.c:
6743         * plugins/elements/gstfilesink.c:
6744         * plugins/elements/gstfilesrc.c:
6745         * plugins/elements/gstqueue.c:
6746         * plugins/indexers/Makefile.am:
6747         * plugins/indexers/gstindexers.c:
6748           document core plugins in a separate document just like all the
6749           others
6750           rename these plugins to something starting with core
6751
6752 2005-12-01  Andy Wingo  <wingo@pobox.com>
6753
6754         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
6755         padding here before, but it missed the commit.
6756
6757 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6758
6759         * libs/gst/controller/gstinterpolation.c:
6760           whitespace prices have crashed, we should feel free to use some now
6761           use gst_guint64_to_gdouble
6762
6763 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6764
6765         * libs/gst/controller/gstcontroller.c:
6766         * libs/gst/controller/gsthelper.c:
6767         * libs/gst/controller/gstinterpolation.c:
6768         * libs/gst/controller/lib.c:
6769           wrap config.h include
6770
6771 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6772
6773         * docs/gst/gstreamer-sections.txt:
6774           update docs
6775
6776 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6777
6778         * plugins/elements/gstelements.c:
6779         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
6780         (gst_fd_sink__class_init), (gst_fd_sink__init),
6781         (gst_fd_sink__chain), (gst_fd_sink__set_property),
6782         (gst_fd_sink__get_property):
6783         * plugins/elements/gstfdsink.h:
6784         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
6785         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
6786         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
6787         (gst_fd_src_unlock), (gst_fd_src_set_property),
6788         (gst_fd_src_get_property), (gst_fd_src_create),
6789         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
6790         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
6791         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
6792         (gst_fd_src_uri_handler_init):
6793         * plugins/elements/gstfdsrc.h:
6794         * plugins/elements/gstqueue.c: (gst_queue_get_type):
6795           more anal cleanup
6796
6797 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6798
6799         * docs/gst/Makefile.am:
6800         * docs/gst/gstreamer.types.in:
6801         * gst/Makefile.am:
6802           fix the docs build
6803
6804 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6805
6806         * configure.ac:
6807         * gst/Makefile.am:
6808         * gst/gst.c:
6809         * gst/gstplugin.h:
6810         * gst/gstregistry.h:
6811         * tests/benchmarks/complexity.c:
6812         * tests/benchmarks/mass-elements.c:
6813         * tests/check/Makefile.am:
6814         * tools/Makefile.am:
6815         * tools/gst-inspect.c:
6816         * tools/gst-xmlinspect.c:
6817           various fixes to make
6818           --disable-nls --disable-registry --disable-loadsave
6819           --disable-parse --disable-gst-debug
6820           work and get the core .so down to 360444 bytes after stripping
6821
6822 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6823
6824         * Makefile.am:
6825         * configure.ac:
6826           descend into tests
6827         * docs/random/thomasvs/TODO:
6828         * tests/Makefile.am:
6829         * tests/README:
6830           add a README
6831
6832 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6833
6834         * win32/GStreamer.vcproj:
6835         * win32/MANIFEST:
6836         * win32/Makefile:
6837         * win32/Makefile.inspect:
6838         * win32/Makefile.launch:
6839         * win32/Makefile.register:
6840         * win32/README.txt:
6841         * win32/gst-inspect.vcproj:
6842         * win32/gst-launch.vcproj:
6843         * win32/gst-register.vcproj:
6844         * win32/gstelements.vcproj:
6845         * win32/gstgetbits.def:
6846         * win32/gstgetbits.vcproj:
6847         * win32/gstreamer-dbg.def:
6848         * win32/gstreamer.def:
6849         * win32/libgstbase.def:
6850         * win32/libgstbase.vcproj:
6851         * win32/link_oldruntime.c:
6852         * win32/mman.c:
6853         * win32/mman.h:
6854         * win32/mman.inl:
6855         * win32/msvc71.sln:
6856           move even more stuff, win32/ is nice and clean now
6857
6858 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6859
6860         * libs/gst/control/.cvsignore:
6861         * win32/MANIFEST:
6862         * win32/config.h:
6863         * win32/dirent.c:
6864         * win32/dirent.h:
6865         * win32/gstbytestream.def:
6866         * win32/gstbytestream.vcproj:
6867         * win32/gstconfig.h:
6868         * win32/gstenumtypes.c:
6869         * win32/gstenumtypes.h:
6870         * win32/gstoptimalscheduler.vcproj:
6871         * win32/gstversion.h:
6872         * win32/gtchar.h:
6873         * win32/testsuite/bins.vcproj:
6874         * win32/testsuite/bytestream.vcproj:
6875         * win32/testsuite/caps.vcproj:
6876         * win32/testsuite/cleanup.vcproj:
6877         * win32/testsuite/clock.vcproj:
6878         * win32/testsuite/debug.vcproj:
6879         * win32/testsuite/dlopen.vcproj:
6880         * win32/testsuite/dynparams.vcproj:
6881         * win32/testsuite/elements.vcproj:
6882         * win32/testsuite/ghostpads.vcproj:
6883         * win32/testsuite/indexers.vcproj:
6884         * win32/testsuite/negotiation.vcproj:
6885         * win32/testsuite/parse.vcproj:
6886         * win32/testsuite/plugin.vcproj:
6887         * win32/testsuite/refcounting.vcproj:
6888         * win32/testsuite/schedulers.vcproj:
6889         * win32/testsuite/states.vcproj:
6890         * win32/testsuite/tags.vcproj:
6891         * win32/testsuite/threads.vcproj:
6892           remove old win32 stuff that isn't maintained and should be
6893           reorganized
6894
6895 2005-11-30  Andy Wingo  <wingo@pobox.com>
6896
6897         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
6898         loading the gst.interfaces python module bork.
6899
6900         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
6901         available since GLib 2.2. Fixes #318031.
6902
6903 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6904
6905         * Makefile.am:
6906         * check/.cvsignore:
6907         * check/Makefile.am:
6908         * check/elements/.cvsignore:
6909         * check/elements/fakesrc.c:
6910         * check/elements/fdsrc.c:
6911         * check/elements/identity.c:
6912         * check/generic/.cvsignore:
6913         * check/generic/states.c:
6914         * check/gst-libs/.cvsignore:
6915         * check/gst-libs/controller.c:
6916         * check/gst-libs/gdp.c:
6917         * check/gst/.cvsignore:
6918         * check/gst/capslist.h:
6919         * check/gst/gst.c:
6920         * check/gst/gstbin.c:
6921         * check/gst/gstbuffer.c:
6922         * check/gst/gstbus.c:
6923         * check/gst/gstcaps.c:
6924         * check/gst/gstelement.c:
6925         * check/gst/gstevent.c:
6926         * check/gst/gstghostpad.c:
6927         * check/gst/gstiterator.c:
6928         * check/gst/gstmessage.c:
6929         * check/gst/gstminiobject.c:
6930         * check/gst/gstobject.c:
6931         * check/gst/gstpad.c:
6932         * check/gst/gstpipeline.c:
6933         * check/gst/gstplugin.c:
6934         * check/gst/gstsegment.c:
6935         * check/gst/gststructure.c:
6936         * check/gst/gstsystemclock.c:
6937         * check/gst/gsttag.c:
6938         * check/gst/gstutils.c:
6939         * check/gst/gstvalue.c:
6940         * check/net/.cvsignore:
6941         * check/net/gstnetclientclock.c:
6942         * check/net/gstnettimeprovider.c:
6943         * check/pipelines/.cvsignore:
6944         * check/pipelines/cleanup.c:
6945         * check/pipelines/simple_launch_lines.c:
6946         * check/pipelines/stress.c:
6947         * check/states/.cvsignore:
6948         * check/states/sinks.c:
6949         * configure.ac:
6950         * examples/Makefile.am:
6951         * examples/appreader/.cvsignore:
6952         * examples/appreader/Makefile.am:
6953         * examples/appreader/appreader.c:
6954         * examples/controller/.cvsignore:
6955         * examples/controller/Makefile.am:
6956         * examples/controller/audio-example.c:
6957         * examples/cutter/.cvsignore:
6958         * examples/cutter/Makefile.am:
6959         * examples/cutter/cutter.c:
6960         * examples/cutter/cutter.h:
6961         * examples/events/Makefile.am:
6962         * examples/events/seek.c:
6963         * examples/helloworld/.cvsignore:
6964         * examples/helloworld/Makefile.am:
6965         * examples/helloworld/helloworld.c:
6966         * examples/helloworld2/.cvsignore:
6967         * examples/helloworld2/Makefile.am:
6968         * examples/helloworld2/helloworld2.c:
6969         * examples/launch/.cvsignore:
6970         * examples/launch/Makefile.am:
6971         * examples/launch/mp3parselaunch.c:
6972         * examples/launch/mp3play:
6973         * examples/manual/.cvsignore:
6974         * examples/manual/Makefile.am:
6975         * examples/manual/extract.pl:
6976         * examples/metadata/Makefile.am:
6977         * examples/metadata/read-metadata.c:
6978         * examples/mixer/.cvsignore:
6979         * examples/mixer/Makefile.am:
6980         * examples/mixer/mixer.c:
6981         * examples/mixer/mixer.h:
6982         * examples/pingpong/.cvsignore:
6983         * examples/pingpong/Makefile.am:
6984         * examples/pingpong/pingpong.c:
6985         * examples/plugins/.cvsignore:
6986         * examples/plugins/Makefile.am:
6987         * examples/plugins/example.c:
6988         * examples/plugins/example.h:
6989         * examples/pwg/.cvsignore:
6990         * examples/pwg/Makefile.am:
6991         * examples/pwg/extract.pl:
6992         * examples/queue/.cvsignore:
6993         * examples/queue/Makefile.am:
6994         * examples/queue/queue.c:
6995         * examples/queue2/.cvsignore:
6996         * examples/queue2/Makefile.am:
6997         * examples/queue2/queue2.c:
6998         * examples/queue3/.cvsignore:
6999         * examples/queue3/Makefile.am:
7000         * examples/queue3/queue3.c:
7001         * examples/queue4/.cvsignore:
7002         * examples/queue4/Makefile.am:
7003         * examples/queue4/queue4.c:
7004         * examples/retag/.cvsignore:
7005         * examples/retag/Makefile.am:
7006         * examples/retag/retag.c:
7007         * examples/retag/transcode.c:
7008         * examples/thread/.cvsignore:
7009         * examples/thread/Makefile.am:
7010         * examples/thread/thread.c:
7011         * examples/typefind/.cvsignore:
7012         * examples/typefind/Makefile.am:
7013         * examples/typefind/typefind.c:
7014         * examples/xml/.cvsignore:
7015         * examples/xml/Makefile.am:
7016         * examples/xml/createxml.c:
7017         * examples/xml/runxml.c:
7018         * tests/Makefile.am:
7019         * tests/check/Makefile.am:
7020         * testsuite/.cvsignore:
7021         * testsuite/Makefile.am:
7022         * testsuite/Rules:
7023         * testsuite/caps/.cvsignore:
7024         * testsuite/caps/Makefile.am:
7025         * testsuite/caps/app_fixate.c:
7026         * testsuite/caps/audioscale.c:
7027         * testsuite/caps/caps.c:
7028         * testsuite/caps/caps.h:
7029         * testsuite/caps/caps_strings:
7030         * testsuite/caps/compatibility.c:
7031         * testsuite/caps/deserialize.c:
7032         * testsuite/caps/enumcaps.c:
7033         * testsuite/caps/eratosthenes.c:
7034         * testsuite/caps/filtercaps.c:
7035         * testsuite/caps/fixed.c:
7036         * testsuite/caps/fraction-convert.c:
7037         * testsuite/caps/fraction-multiply-and-zero.c:
7038         * testsuite/caps/intersect2.c:
7039         * testsuite/caps/intersection.c:
7040         * testsuite/caps/normalisation.c:
7041         * testsuite/caps/random.c:
7042         * testsuite/caps/renegotiate.c:
7043         * testsuite/caps/sets.c:
7044         * testsuite/caps/simplify.c:
7045         * testsuite/caps/string-conversions.c:
7046         * testsuite/caps/structure.c:
7047         * testsuite/caps/subtract.c:
7048         * testsuite/caps/union.c:
7049         * testsuite/debug/.cvsignore:
7050         * testsuite/debug/Makefile.am:
7051         * testsuite/debug/category.c:
7052         * testsuite/debug/commandline.c:
7053         * testsuite/debug/global.c:
7054         * testsuite/debug/output.c:
7055         * testsuite/debug/printf_extension.c:
7056         * testsuite/dlopen/.cvsignore:
7057         * testsuite/dlopen/Makefile.am:
7058         * testsuite/dlopen/dlopen_gst.c:
7059         * testsuite/dlopen/loadgst.c:
7060         * testsuite/elements/.cvsignore:
7061         * testsuite/elements/Makefile.am:
7062         * testsuite/elements/gst-inspect-check.in:
7063         * testsuite/elements/struct_i386.h:
7064         * testsuite/elements/struct_size.c:
7065         * testsuite/indexers/.cvsignore:
7066         * testsuite/indexers/Makefile.am:
7067         * testsuite/indexers/cache1.c:
7068         * testsuite/indexers/indexdump.c:
7069         * testsuite/parse/.cvsignore:
7070         * testsuite/parse/Makefile.am:
7071         * testsuite/parse/parse1.c:
7072         * testsuite/parse/parse2.c:
7073         * testsuite/plugin/.cvsignore:
7074         * testsuite/plugin/Makefile.am:
7075         * testsuite/plugin/README:
7076         * testsuite/plugin/dynamic.c:
7077         * testsuite/plugin/linked.c:
7078         * testsuite/plugin/loading.c:
7079         * testsuite/plugin/registry.c:
7080         * testsuite/plugin/static.c:
7081         * testsuite/plugin/static2.c:
7082         * testsuite/plugin/testplugin.c:
7083         * testsuite/plugin/testplugin2.c:
7084         * testsuite/plugin/testplugin2_s.c:
7085         * testsuite/plugin/testplugin_s.c:
7086         * testsuite/refcounting/.cvsignore:
7087         * testsuite/refcounting/Makefile.am:
7088         * testsuite/refcounting/bin.c:
7089         * testsuite/refcounting/element.c:
7090         * testsuite/refcounting/element_pad.c:
7091         * testsuite/refcounting/mainloop.c:
7092         * testsuite/refcounting/mem.c:
7093         * testsuite/refcounting/mem.h:
7094         * testsuite/refcounting/object.c:
7095         * testsuite/refcounting/pad.c:
7096         * testsuite/refcounting/sched.c:
7097         * testsuite/refcounting/thread.c:
7098         * testsuite/states/.cvsignore:
7099         * testsuite/states/Makefile.am:
7100         * testsuite/states/bin.c:
7101         * testsuite/states/locked.c:
7102         * testsuite/states/parent.c:
7103         * testsuite/threads/.cvsignore:
7104         * testsuite/threads/159566.c:
7105         * testsuite/threads/159852.c:
7106         * testsuite/threads/Makefile.am:
7107         * testsuite/threads/queue.c:
7108         * testsuite/threads/signals.c:
7109         * testsuite/threads/staticrec.c:
7110         * testsuite/threads/thread.c:
7111         * testsuite/threads/threadb.c:
7112         * testsuite/threads/threadc.c:
7113         * testsuite/threads/threadd.c:
7114         * testsuite/threads/threade.c:
7115         * testsuite/threads/threadf.c:
7116         * testsuite/threads/threadg.c:
7117         * testsuite/threads/threadh.c:
7118         * testsuite/threads/threadi.c:
7119           move all of these under tests
7120
7121 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7122
7123         * configure.ac:
7124         * tests/Makefile.am:
7125           fix distcheck
7126
7127 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7128
7129         * docs/gst/gstreamer-sections.txt:
7130         * tests/sched/.cvsignore:
7131         * tests/sched/Makefile.am:
7132         * tests/sched/cases/(fs-fs).xml:
7133         * tests/sched/cases/(fs-i-fs).xml:
7134         * tests/sched/cases/(fs-i-i-fs).xml:
7135         * tests/sched/cases/(fs-i-q[i-fs]).xml:
7136         * tests/sched/dynamic-pipeline.c:
7137         * tests/sched/interrupt1.c:
7138         * tests/sched/interrupt2.c:
7139         * tests/sched/interrupt3.c:
7140         * tests/sched/runtestcases:
7141         * tests/sched/runxml.c:
7142         * tests/sched/sched-stress.c:
7143         * tests/sched/sort.c:
7144         * tests/sched/testcases:
7145         * tests/sched/testcases1.tc:
7146         * tests/seeking/.cvsignore:
7147         * tests/seeking/Makefile.am:
7148         * tests/seeking/seeking1.c:
7149         * tests/threadstate/.cvsignore:
7150         * tests/threadstate/Makefile.am:
7151         * tests/threadstate/test1.c:
7152         * tests/threadstate/test2.c:
7153         * tests/threadstate/threadstate1.c:
7154         * tests/threadstate/threadstate2.c:
7155         * tests/threadstate/threadstate3.c:
7156         * tests/threadstate/threadstate4.c:
7157         * tests/threadstate/threadstate5.c:
7158           remove obsolete tests
7159         * configure.ac:
7160         * tests/bench-complexity.scm:
7161         * tests/bench-mass_elements.scm:
7162         * tests/complexity.c:
7163         * tests/complexity.gnuplot:
7164         * tests/instantiate/.cvsignore:
7165         * tests/instantiate/Makefile.am:
7166         * tests/instantiate/caps.c:
7167         * tests/mass_elements.c:
7168         * tests/network-clock-utils.scm:
7169         * tests/network-clock.scm:
7170         * tests/plot-data:
7171         First pass at cleaning up tests/ dir before moving the rest
7172         Combined with CVS surgery
7173
7174 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7175
7176         * po/POTFILES.in:
7177           queue has moved, update
7178
7179 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7180
7181         * docs/gst/gstreamer-sections.txt:
7182           remove double entries from the docs
7183         * gst/gst_private.h:
7184         * gst/gstinfo.c: (_gst_debug_init):
7185           remove the THREAD debug category
7186         * gst/Makefile.am:
7187         * gst/gstqueue.c:
7188         * gst/gstqueue.h:
7189         * docs/gst/gstreamer.types:
7190         * plugins/elements/gstqueue.c: (gst_queue_get_type),
7191         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7192           completely move queue and fix up debugging categories
7193
7194 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7195
7196         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7197           make initialization portable, using LL is not
7198
7199 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7200
7201         * win32/common/gstconfig.h:
7202           add large padding
7203
7204 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7205
7206         * win32/common/libgstreamer.def:
7207           rename symbols; sort base section
7208
7209 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7210
7211         * gst/gstclock.c: (do_linear_regression):
7212           remove crack non-portable handrolled DEBUG macro
7213
7214 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7215
7216         * docs/random/release:
7217           update notes
7218         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7219         (gst_object_flags_get_type), (register_gst_bin_flags),
7220         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7221         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7222         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7223         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7224         (gst_caps_flags_get_type), (register_gst_clock_return),
7225         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7226         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7227         (gst_clock_flags_get_type), (register_gst_state),
7228         (gst_state_get_type), (register_gst_state_change_return),
7229         (gst_state_change_return_get_type), (register_gst_state_change),
7230         (gst_state_change_get_type), (register_gst_element_flags),
7231         (gst_element_flags_get_type), (register_gst_core_error),
7232         (gst_core_error_get_type), (register_gst_library_error),
7233         (gst_library_error_get_type), (register_gst_resource_error),
7234         (gst_resource_error_get_type), (register_gst_stream_error),
7235         (gst_stream_error_get_type), (register_gst_event_type_flags),
7236         (gst_event_type_flags_get_type), (register_gst_event_type),
7237         (gst_event_type_get_type), (register_gst_seek_type),
7238         (gst_seek_type_get_type), (register_gst_seek_flags),
7239         (gst_seek_flags_get_type), (register_gst_format),
7240         (gst_format_get_type), (register_gst_index_certainty),
7241         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7242         (gst_index_entry_type_get_type),
7243         (register_gst_index_lookup_method),
7244         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7245         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7246         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7247         (gst_index_flags_get_type), (register_gst_debug_level),
7248         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7249         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7250         (gst_iterator_result_get_type), (register_gst_iterator_item),
7251         (gst_iterator_item_get_type), (register_gst_message_type),
7252         (gst_message_type_get_type), (register_gst_mini_object_flags),
7253         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7254         (gst_pad_link_return_get_type), (register_gst_flow_return),
7255         (gst_flow_return_get_type), (register_gst_activate_mode),
7256         (gst_activate_mode_get_type), (register_gst_pad_direction),
7257         (gst_pad_direction_get_type), (register_gst_pad_flags),
7258         (gst_pad_flags_get_type), (register_gst_pad_presence),
7259         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7260         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7261         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7262         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7263         (gst_plugin_flags_get_type), (register_gst_rank),
7264         (gst_rank_get_type), (register_gst_query_type),
7265         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7266         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7267         (gst_tag_flag_get_type), (register_gst_task_state),
7268         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7269         (gst_alloc_trace_flags_get_type),
7270         (register_gst_type_find_probability),
7271         (gst_type_find_probability_get_type), (register_gst_uri_type),
7272         (gst_uri_type_get_type), (register_gst_parse_error),
7273         (gst_parse_error_get_type):
7274         * win32/common/gstenumtypes.h:
7275         * win32/common/gstversion.h:
7276           update visual studio generated files
7277
7278 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7279
7280         * win32/vs6/libgstbase.dsp:
7281         * win32/vs6/libgstelements.dsp:
7282           update project files for new locations
7283
7284 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7285
7286         * Makefile.am:
7287           remove some files
7288         * README:
7289           reinstate and update
7290         * DEVEL:
7291         * REQUIREMENTS:
7292           removed
7293         * LICENSE:
7294         * docs/random/LICENSE:
7295           moved to random
7296
7297 2005-11-30  Edward Hervey  <edward@fluendo.com>
7298
7299         * gst/gsttypefind.c: (gst_type_find_register):
7300         * gst/gsttypefind.h:
7301         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7302         (gst_type_find_factory_dispose):
7303         * gst/gsttypefindfactory.h:
7304         Fix memory leak in GstTypeFindFactory.
7305
7306 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7307
7308         * gst/gst.c:
7309         * plugins/elements/Makefile.am:
7310         * plugins/elements/gstelements.c:
7311         * plugins/elements/gstqueue.c:
7312           move queue from core to the elements plugin
7313
7314 2005-11-29  Andy Wingo  <wingo@pobox.com>
7315
7316         * libs/gst/base/gstbasetransform.h: 
7317         * libs/gst/base/gstbasesrc.h: 
7318         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7319
7320         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7321         of pointers by which to pad very extensible base classes (like the
7322         ones in libs/gst/base).
7323
7324 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7325
7326         * docs/gst/gstreamer-docs.sgml:
7327         * docs/gst/gstreamer-sections.txt:
7328         * docs/libs/gstreamer-libs-docs.sgml:
7329         * docs/libs/gstreamer-libs-sections.txt:
7330           moving documentation from core to lib
7331
7332 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7333
7334         * check/Makefile.am:
7335         * configure.ac:
7336         * docs/gst/Makefile.am:
7337         * gst/Makefile.am:
7338         * gst/base/.cvsignore:
7339         * gst/base/Makefile.am:
7340         * gst/base/README:
7341         * gst/base/gstadapter.c:
7342         * gst/base/gstadapter.h:
7343         * gst/base/gstbasesink.c:
7344         * gst/base/gstbasesink.h:
7345         * gst/base/gstbasesrc.c:
7346         * gst/base/gstbasesrc.h:
7347         * gst/base/gstbasetransform.c:
7348         * gst/base/gstbasetransform.h:
7349         * gst/base/gstcollectpads.c:
7350         * gst/base/gstcollectpads.h:
7351         * gst/base/gstpushsrc.c:
7352         * gst/base/gstpushsrc.h:
7353         * gst/base/gsttypefindhelper.c:
7354         * gst/base/gsttypefindhelper.h:
7355         * gst/check/Makefile.am:
7356         * gst/check/gstcheck.c:
7357         * gst/check/gstcheck.h:
7358         * gst/net/Makefile.am:
7359         * gst/net/gstnet.h:
7360         * gst/net/gstnetclientclock.c:
7361         * gst/net/gstnetclientclock.h:
7362         * gst/net/gstnettimepacket.c:
7363         * gst/net/gstnettimepacket.h:
7364         * gst/net/gstnettimeprovider.c:
7365         * gst/net/gstnettimeprovider.h:
7366         * libs/gst/Makefile.am:
7367         * libs/gst/base/Makefile.am:
7368         * libs/gst/base/gstbasetransform.c:
7369         * libs/gst/check/Makefile.am:
7370         * plugins/elements/Makefile.am:
7371         * po/POTFILES.in:
7372           CVS surgery + support to move base, check, and net out of gst
7373           and into libs/gst
7374
7375 2005-11-29  Andy Wingo  <wingo@pobox.com>
7376
7377         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
7378
7379         * gst/gststructure.h (struct _GstStructure): Only one pointer of
7380         padding.
7381
7382         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
7383
7384         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
7385
7386         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
7387
7388         * gst/gstobject.h: (struct _GstObject): Only one pointer of
7389         padding; reduces object size by about 30%. We don't expect
7390         anything else to go into gstobject.
7391
7392         * gst/gstminiobject.h (struct _GstMiniObject)
7393         (struct _GstMiniObjectClass): Only one pointer of padding; the
7394         payload is only a pointer and two ints anyway. For the class there
7395         are only two methods as well.
7396         
7397         * gst/gstelement.h (struct _GstElementClass): Removed
7398         the state_changed signal callback, it is not used.
7399
7400 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7401
7402         * docs/gst/gstreamer.types:
7403           fix includes, though they are a little dinky
7404
7405 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7406
7407         * check/Makefile.am:
7408           look in the right place for elements, a lot more chance of
7409           success
7410         * gst/Makefile.am:
7411           remove indexers and elements subdirs
7412         * plugins/Makefile.am:
7413           make indexers conditional
7414
7415 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7416
7417         * Makefile.am:
7418         * configure.ac:
7419         * plugins/elements/Makefile.am:
7420         * plugins/elements/gstcapsfilter.c:
7421         * plugins/elements/gstfilesink.c:
7422         * plugins/elements/gstfilesrc.c:
7423         * plugins/elements/gstidentity.c:
7424         * plugins/indexers/Makefile.am:
7425           do CVS surgery and related build fixery to move elements
7426           and indexers in a new gstreamer/plugins directory, out of the
7427           gst/ directory
7428
7429 2005-11-29  Andy Wingo  <wingo@pobox.com>
7430
7431         * check/Makefile.am:
7432         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7433         * pkgconfig/gstreamer-net.pc.in:
7434         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
7435         #322257.
7436
7437 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7438
7439         * tools/Makefile.am:
7440         * tools/gst-complete.1.in:
7441         * tools/gst-complete.c:
7442         * tools/gst-compprep.1.in:
7443         * tools/gst-compprep.c:
7444           removing -compprep and -complete
7445
7446 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7447
7448         * gst/gstevent.c: (gst_event_new_new_segment),
7449         (gst_event_parse_new_segment):
7450         * gst/gstevent.h:
7451           fix #320529 - clean up new_segment API and structure.
7452           Let's hope everyone was using the methods, and not the structure.
7453
7454 2005-11-29  Edward Hervey  <edward@fluendo.com>
7455
7456         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7457         (gst_base_sink_event), (gst_base_sink_do_sync),
7458         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7459         Properly handle non GST_FORMAT_TIME segment
7460         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7461         Properly handle non GST_FORMAT_TIME segment
7462         * gst/gstsegment.c:
7463         This function is valid if the accumulator is 0 and the format
7464         is different from the requested format.
7465         
7466 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7467
7468         * docs/gst/gstreamer-sections.txt:
7469         Add gst_query_new_seeking and gst_query_parse_seeking to the
7470         docs.
7471
7472 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7473
7474         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7475           Treat a pad alloc with new caps the same as if we were not
7476           negotiated, in order to allow a changing upstream output
7477           to produce a new format of data.
7478
7479 2005-11-29  Edward Hervey  <edward@fluendo.com>
7480
7481         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7482         (gst_base_transform_event), (gst_base_transform_eventfunc):
7483         The event virtual method is now properly implemented, with a default
7484         handler
7485         Sub classes should call the parent_class event method. They should
7486         return FALSE if they had a problem handling the given event, or don't
7487         want GstBaseTransform to send that even downstream
7488         * gst/elements/gstidentity.c: (gst_identity_class_init),
7489         (gst_identity_init), (gst_identity_event),
7490         (gst_identity_transform_ip), (gst_identity_set_property),
7491         (gst_identity_get_property):
7492         * gst/elements/gstidentity.h:
7493         Added the single-segment boolean property.
7494         If set to TRUE, it will output a single segment of data, starting from
7495         0, will eat up all incoming newsegment, and modify the timestamp of the
7496         buffers accordingly
7497
7498 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
7499
7500         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
7501           Don't ref NULL target pad (#322751). Improve docs.
7502
7503 2005-11-29  Michael Smith  <msmith@fluendo.com>
7504
7505         * gst/gstregistryxml.c: (load_plugin):
7506           Don't crash if we failed to load a feature from a plugin. 
7507
7508 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7509
7510         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
7511         (GST_START_TEST):
7512           use more check API and less GLib API
7513
7514 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7515
7516         * Makefile.am:
7517           don't run checks if we don't have check
7518         * common/check.mak:
7519           remove the registry when running make torture
7520         * docs/gst/gstreamer-sections.txt:
7521           remove second multiply
7522         * gst/gstqueue.c: (gst_queue_loop):
7523           fix a compile warning when disabling debug
7524
7525 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7526
7527         * gst/gstinfo.h:
7528         Hey! Let's print the pad name if the pointer != NULL instead
7529         of when it == NULL :-)
7530
7531 2005-11-28  Wim Taymans  <wim@fluendo.com>
7532
7533         * check/gst/gstutils.c: (GST_START_TEST):
7534         Updated check, add some scaling accuracy checking code.
7535
7536         * gst/gstutils.c: (gst_util_div128_64),
7537         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
7538         (gst_util_uint64_scale_int):
7539         Fix 6 times faster division code. Optimize for common 
7540         1/1 and less common X/1 cases.
7541
7542 2005-11-28  Wim Taymans  <wim@fluendo.com>
7543
7544         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7545         More checks.
7546
7547         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
7548         (do_linear_regression), (gst_clock_add_observation):
7549         Cleanups.
7550         Release lock when the clock cannot be slaved.
7551         Catch the case where the regression returned an invalid denominator.
7552
7553         * gst/gstutils.c: (gst_util_div128_64_iterate),
7554         (gst_util_div128_64), (gst_util_uint64_scale_int64),
7555         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7556         Add protentially more performant non-iterative 128/64 divide function
7557         that unfortunatly does not work yet.
7558         Shortcut the trivial 0/X = 0 case.
7559         Remove the warnings on overflow.
7560
7561 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7562
7563         * gst/gstplugin.c: (gst_plugin_register_func):
7564           everything causing a plugin not to load should be at least a WARNING
7565
7566 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
7567
7568         * docs/random/ensonic/dparams.txt:
7569           some TODOs for the next dev cycle
7570         * libs/gst/controller/gstcontroller.c:
7571         (gst_controlled_property_set_interpolation_mode),
7572         (gst_controlled_property_new):
7573         * libs/gst/controller/gstcontroller.h:
7574           use base type to assign acccessor functions
7575
7576 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7577
7578         * check/Makefile.am:
7579         Oops, that should have been top_srcdir
7580
7581 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7582
7583         * check/Makefile.am:
7584         * check/elements/fdsrc.c: (GST_START_TEST):
7585         Use a cmdline define to specify the location of a file to use for
7586         testing, to avoid breaking distcheck.
7587
7588 2005-11-28  Andy Wingo  <wingo@pobox.com>
7589
7590         * gst/gstpad.c (fixate_value): Use array functions for arrays.
7591
7592 2005-11-28  Edward Hervey  <edward@fluendo.com>
7593
7594         * tools/gst-launch.c: (main):
7595         Clarify the output strings, makes it easier to translate.
7596         Fixes #322626
7597
7598 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7599
7600         * gst/Makefile.am:
7601           don't try and build net if we don't even have <sys/socket.h>
7602
7603 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
7604
7605         * check/Makefile.am:
7606         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
7607         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
7608           Add tests for fdsrc seekability
7609
7610         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7611         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
7612         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
7613         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
7614         * gst/elements/gstfdsrc.h:
7615           fdsrc should not be a 'live' source.
7616           Implement seeking on seekable fd's.
7617
7618         * gst/gstquery.c: (gst_query_new_seeking),
7619         (gst_query_parse_seeking):
7620         * gst/gstquery.h:
7621           Implement SEEKING query functions: 
7622             *_new_seeking and *_parse_seeking
7623
7624 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
7625
7626         * gst/gstelement.c: (gst_element_dispose):
7627           don't loop forever
7628
7629         * gst/gstiterator.c:
7630         * gst/gststructure.c:
7631           doc fixes
7632
7633         * libs/gst/controller/gstcontroller.c:
7634         (gst_controlled_property_set_interpolation_mode):
7635         * libs/gst/controller/gstcontroller.h:
7636         * libs/gst/controller/gstinterpolation.c:
7637         (interpolate_none_get_enum_value_array):
7638           support controlling enums
7639
7640 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7641
7642         * gst/gstvalue.c:
7643           Improve documentation for gst_value_union().
7644
7645         * gst/gstvalue.h:
7646           Change return value for union, intersect and subtract functions
7647           from gint to gboolean.
7648
7649 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7650
7651         * gst/gstvalue.c: (gst_value_serialize_any_list),
7652         (gst_value_transform_any_list_string),
7653         (gst_value_deserialize_list), (gst_value_deserialize_array),
7654         (gst_value_set_int_range), (gst_value_deserialize_int_range),
7655         (gst_value_set_double_range), (gst_value_deserialize_double_range),
7656         (gst_value_set_fraction_range_full),
7657         (gst_value_deserialize_fraction_range),
7658         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
7659         (gst_value_deserialize_boolean),
7660         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
7661         (gst_value_serialize_float), (gst_value_deserialize_float),
7662         (gst_string_wrap), (gst_value_deserialize_string),
7663         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
7664         (gst_value_union_int_range_int_range),
7665         (gst_value_intersect_int_range_int_range),
7666         (gst_value_intersect_double_range_double_range),
7667         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7668         (gst_value_subtract_int_range_int_range),
7669         (gst_value_subtract_double_double_range),
7670         (gst_value_subtract_double_range_double_range),
7671         (gst_value_deserialize_fraction):
7672         * gst/gstvalue.h:
7673           Use gint, gdouble and gchar in our API instead of int, double and
7674           char (and make usage in gstvalue.c more consistent).
7675
7676 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7677
7678         * check/Makefile.am:
7679         * libs/gst/controller/Makefile.am:
7680         * libs/gst/dataprotocol/Makefile.am:
7681           fix up Makefile.am and remove GST_ENABLE_NEW
7682
7683 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7684
7685         * configure.ac:
7686         * gst/Makefile.am:
7687         * gst/base/Makefile.am:
7688         * gst/check/Makefile.am:
7689         * gst/elements/Makefile.am:
7690         * gst/net/Makefile.am:
7691           update LDFLAGS use some more
7692
7693 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7694
7695         * common/m4/gst-doc.m4:
7696           Fixes #312589
7697
7698 2005-11-26  Edward Hervey  <edward@fluendo.com>
7699
7700         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7701         This shouldn't issue a g_warning since it returns NULL if it
7702         couldn't find the plugin, and all functions using this behave
7703         properly on a NULL return. Switching to a GST_WARNING.
7704
7705 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
7706
7707         * gst/gstbin.c: (gst_bin_handle_message_func):
7708         Don't leak clock messages.
7709
7710 2005-11-25  Wim Taymans  <wim@fluendo.com>
7711
7712         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7713         (gst_util_uint64_scale_int):
7714         Optimisations, remove unneeded vars.
7715
7716 2005-11-25  Wim Taymans  <wim@fluendo.com>
7717
7718         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7719         Added more checks for the high precision uint64 cases.
7720
7721         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7722         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7723         Implement high precision (guint64 * guint64) / guint64.
7724
7725 2005-11-24  Wim Taymans  <wim@fluendo.com>
7726
7727         * gst/base/gstbasesrc.c: (gst_base_src_query):
7728         Fix wrong percentage query.
7729
7730         * gst/gstutils.c: (gst_util_uint64_scale),
7731         (gst_util_uint64_scale_int):
7732         Add some more common cases that can be handled 
7733         efficiently to _scale.
7734
7735 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7736
7737         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
7738         (gst_mini_object_suite):
7739           don't use check calls from threads; check probably isn't
7740           threadsafe and using a lock to make it threadsafe would
7741           defeat the purpose of this check
7742         * gst/check/gstcheck.c:
7743         * gst/check/gstcheck.h:
7744           use GST_DEBUG some more
7745
7746 2005-11-24  Wim Taymans  <wim@fluendo.com>
7747
7748         * gst/gstutils.c: (gst_util_uint64_scale),
7749         (gst_util_uint64_scale_int):
7750         Chain trivial case to _scale_int.
7751
7752 2005-11-24  Wim Taymans  <wim@fluendo.com>
7753
7754         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7755         Added test for scaling.
7756
7757         * gst/gstclock.h:
7758         Small doc fix.
7759
7760         * gst/gstutils.c: (gst_util_uint64_scale_int):
7761         Implemented high precision scaling code.
7762
7763 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
7764
7765         * gst/gstinfo.h:
7766           do not crash on pad==NULL
7767
7768 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7769
7770         Patch by: Stefan Kost
7771
7772         * common/gtk-doc.mak:
7773         * docs/gst/Makefile.am:
7774         * docs/libs/Makefile.am:
7775           Fix distcheck issues for the libraries docs build
7776           Closes #319599.
7777
7778 2005-11-24  Michael Smith <msmith@fluendo.com>
7779
7780         * docs/manual/basics-helloworld.xml:
7781           Fix bug #315027: memory leak in example code in docs.
7782
7783 2005-11-24  Michael Smith <msmith@fluendo.com>
7784
7785         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7786           Unlock the PREROLL_LOCK in a failure case.
7787
7788 2005-11-24  Wim Taymans  <wim@fluendo.com>
7789
7790         * docs/gst/gstreamer-sections.txt:
7791         * gst/base/gstadapter.h:
7792         * gst/base/gstbasesink.h:
7793         * gst/base/gstbasesrc.h:
7794         * gst/base/gstbasetransform.h:
7795         * gst/base/gstpushsrc.h:
7796         * gst/elements/gstfakesink.h:
7797         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
7798         * gst/elements/gstfakesrc.h:
7799         * gst/elements/gstfilesink.h:
7800         * gst/elements/gstfilesrc.h:
7801         * gst/gst.c:
7802         * gst/gstbin.c:
7803         * gst/gstbuffer.c: (_gst_buffer_copy):
7804         * gst/gstbus.h:
7805         * gst/gstcaps.c:
7806         * gst/gstchildproxy.c:
7807         * gst/gstclock.c:
7808         * gst/gstelement.c:
7809         * gst/gstelementfactory.c:
7810         * gst/gstelementfactory.h:
7811         * gst/gstevent.c:
7812         * gst/gstghostpad.h:
7813         * gst/gstindex.h:
7814         * gst/gstinterface.h:
7815         * gst/gstminiobject.c:
7816         * gst/gstminiobject.h:
7817         * gst/gstpad.c:
7818         * gst/gstpad.h:
7819         * gst/gstpadtemplate.h:
7820         * gst/gstpipeline.h:
7821         * gst/gstpluginfeature.h:
7822         * gst/gstquery.h:
7823         * gst/gstqueue.h:
7824         * gst/gsttaglist.c:
7825         * gst/gsttaglist.h:
7826         * gst/gsttagsetter.c:
7827         * gst/gsttagsetter.h:
7828         * gst/gsttrace.c:
7829         * gst/gsttrace.h:
7830         * gst/gsttypefind.h:
7831         * gst/gsturi.h:
7832         * gst/gstvalue.c:
7833         * gst/net/gstnetclientclock.c:
7834         * gst/net/gstnetclientclock.h:
7835         * gst/net/gstnettimepacket.c:
7836         * gst/net/gstnettimeprovider.c:
7837         * gst/net/gstnettimeprovider.h:
7838         Doc fixes.
7839
7840 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7841
7842         * configure.ac: back to HEAD
7843
7844 === release 0.9.6 ===
7845
7846 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
7847
7848         * configure.ac:
7849           releasing 0.9.6, "Always On Time"
7850
7851 2005-11-23  Wim Taymans  <wim@fluendo.com>
7852
7853         * docs/gst/gstreamer-sections.txt:
7854         * gst/glib-compat.c:
7855         * gst/gsttagsetter.c:
7856         * gst/gstvalue.c:
7857         * gst/net/gstnetclientclock.c:
7858         * gst/net/gstnettimepacket.h:
7859         Doc updates.
7860
7861 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7862
7863         * docs/faq/using.xml:
7864         * docs/libs/tmpl/gstcontrol.sgml:
7865         * docs/manual/advanced-dparams.xml:
7866         * docs/manual/appendix-checklist.xml:
7867         * docs/manual/basics-elements.xml:
7868         * docs/pwg/other-source.xml:
7869         * docs/random/moving-plugins:
7870         * gst/gstpad.c:
7871         * tools/gst-launch.1.in:
7872           remove mentions of sinesrc
7873
7874 2005-11-23  Michael Smith <msmith@fluendo.com>
7875
7876         * docs/gst/gstreamer-sections.txt:
7877           Update for new API and API changes.
7878         * gst/gstobject.h:
7879           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
7880         * gst/gstvalue.c:
7881           Documentation typo fix.
7882         * gst/net/gstnettimepacket.c:
7883           Documentation fixes for arguments.
7884
7885 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
7886
7887         * gst/gststructure.c: (gst_structure_get_fraction),
7888         (gst_structure_parse_value),
7889         (gst_structure_fixate_field_nearest_fraction):
7890         * gst/gststructure.h:
7891         * gst/gstutils.c: (gst_util_uint64_scale_int):
7892         * gst/gstutils.h:
7893         * scripts/update-funcnames:
7894         API Changes. 
7895         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
7896         Make gst_structure_fixate_field_nearest_fraction take a numerator
7897         and denominator argument instead of a GValue
7898         add gst_structure_get_fraction helper function.
7899
7900 2005-11-23  Wim Taymans  <wim@fluendo.com>
7901
7902         * docs/design/part-TODO.txt:
7903         Update TODO.
7904
7905         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7906         * gst/net/gstnetclientclock.h:
7907         Use parent fields for timeout and window_size.
7908
7909 2005-11-23  Andy Wingo  <wingo@pobox.com>
7910
7911         * check/net/gstnetclientclock.c (test_functioning): Adjust to
7912         rate_num/rate_denom change.
7913
7914         * gst/net/gstnetclientclock.c
7915         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
7916         OBJECT_LOCK. Don't call add_observation with the lock.
7917
7918         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
7919         fraction.
7920         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
7921         rate fraction.
7922         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
7923         deal with rate as a fraction whose numerator and denominator are
7924         GstClockTime values.
7925         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
7926         master; the other fields are protected by the SLAVE_LOCK.
7927         (do_linear_regression): Note that this must be called with the
7928         SLAVE_LOCK.
7929         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
7930         OBJECT_LOCK. Call set_calibration instead of touching the
7931         variables directly.
7932         (gst_clock_set_property, gst_clock_get_property): Protect
7933         master/slave parameters with the SLAVE_LOCK.
7934
7935         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
7936         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
7937         note that all of the instance variables that add_observation and
7938         the set_master functions use are protected by that lock and not
7939         the OBJECT_LOCK.
7940         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
7941
7942         * gst/gstclock.c (gst_clock_add_observation): No longer requires
7943         the caller to take the object lock.
7944
7945 2005-11-23  Wim Taymans  <wim@fluendo.com>
7946
7947         * gst/gsterror.c: (_gst_core_errors_init):
7948         * gst/gsterror.h:
7949         Add error for clock stuff.
7950
7951         * gst/gstpipeline.c: (gst_pipeline_change_state),
7952         (gst_pipeline_set_clock):
7953         Post clock error when clock cannot be used in a pipeline.
7954
7955 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
7956
7957         * docs/gst/gstreamer-sections.txt:
7958           make two symbols from gstinfo private for the docs
7959         * gst/base/gstcollectpads.h:
7960         * gst/gstutils.c:
7961           fix doc typos, update docs
7962
7963 2005-11-22  Wim Taymans  <wim@fluendo.com>
7964
7965         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7966         (gst_base_sink_wait), (gst_base_sink_do_sync),
7967         (gst_base_sink_handle_event):
7968         * gst/base/gstbasesink.h:
7969         No need to store the clock, the parent element class already
7970         has it.
7971
7972         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
7973         Updates for clock_set returning a gboolean
7974
7975         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
7976         (gst_clock_id_wait_async), (gst_clock_class_init),
7977         (gst_clock_init), (gst_clock_finalize),
7978         (gst_clock_get_internal_time), (gst_clock_get_time),
7979         (gst_clock_slave_callback), (gst_clock_set_master),
7980         (gst_clock_get_master), (do_linear_regression),
7981         (gst_clock_add_observation), (gst_clock_set_property),
7982         (gst_clock_get_property):
7983         * gst/gstclock.h:
7984         Implement master/slave. When setting a clock as a slave, a
7985         periodic timeout is scheduled to sample master and slave times.
7986         Then the slave clock is recalibrated to match offset and rate
7987         of the master clock.
7988         Update logging a bit.
7989         Add flag so that a clock can state that is cannot be slaved to
7990         another clock.
7991
7992         * gst/gstelement.c: (gst_element_set_clock):
7993         * gst/gstelement.h:
7994         The set clock returns a gboolean for when an element cannot
7995         deal with the selected clock in the pipeline. 
7996
7997         * gst/gstpipeline.c: (gst_pipeline_change_state),
7998         (gst_pipeline_set_clock):
7999         * gst/gstpipeline.h:
8000         Handle the case where the selected clock cannot be set on
8001         the pipeline.
8002
8003         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
8004         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8005         (gst_net_client_clock_set_property),
8006         (gst_net_client_clock_get_property),
8007         (gst_net_client_clock_observe_times):
8008         * gst/net/gstnetclientclock.h:
8009         Use regression code in GstClock parent, remove duplicated
8010         functionality.
8011
8012 2005-11-22  Michael Smith <msmith@fluendo.com>
8013
8014         * gst/gstutils.c: (gst_util_clock_time_scale):
8015         * gst/gstutils.h:
8016         * docs/gst/gstreamer-sections.txt:
8017           Rename method to have extra underscore.
8018
8019 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8020
8021         * gst/elements/Makefile.am:
8022         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
8023         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8024         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8025         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
8026         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
8027         * gst/elements/gstfakesrc.h:
8028         * gst/gstqueue.c: (queue_leaky_get_type):
8029           correctly fix GEnumValues so that nick is the short lowercase
8030           dashed tag
8031         * tools/gst-inspect.c: (print_element_properties_info):
8032           also show the nick, since it's useful to use from parse_launch
8033           syntax
8034           Fixes #322139
8035
8036 2005-11-22  Michael Smith <msmith@fluendo.com>
8037
8038         * gst/gstutils.c: (gst_util_clocktime_scale):
8039         * gst/gstutils.h:
8040         * docs/gst/gstreamer-sections.txt:
8041           Add util method for scaling a clocktime by a fraction. Useful 
8042           implementation is left as an exercise for the reader.
8043
8044 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8045
8046         * gst/gstvalue.c: (gst_value_collect_fraction_range):
8047         If needed, allocate storage in the destination value during
8048         collection.
8049
8050 2005-11-22  Edward Hervey  <edward@fluendo.com>
8051
8052         * docs/gst/gstreamer-sections.txt:
8053         * gst/Makefile.am:
8054         * gst/gst.h:
8055         * gst/gsturitype.c:
8056         * gst/gsturitype.h:
8057         * gst/gstutils.c: (gst_util_set_object_arg):
8058         * tools/gst-compprep.c: (main):
8059         * tools/gst-inspect.c: (print_element_properties_info):
8060         Removed GstURI, closes bug #321061
8061
8062 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8063
8064         * check/gst/gststructure.c: (GST_START_TEST):
8065         * gst/gststructure.c: (gst_structure_parse_value):
8066           Oops, broke automatic string type parsing.
8067           Add a test to catch it in future.
8068
8069 2005-11-22  Andy Wingo  <wingo@pobox.com>
8070
8071         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
8072         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
8073         Actually rename the function implementations. Grr.
8074
8075 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8076
8077         * check/gst/capslist.h:
8078           Comment test cases
8079         * check/gst/gststructure.c: (GST_START_TEST),
8080         (gst_structure_suite):
8081           Test automatic value type detection in gst_structure_from_string.
8082         * gst/gststructure.c: (gst_structure_parse_value):
8083           Add fraction as a type we try and guess automatically in
8084           caps/structure strings.
8085
8086 2005-11-22  Andy Wingo  <wingo@pobox.com>
8087
8088         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
8089
8090         * gst/gsttagsetter.h:
8091         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
8092         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
8093         (gst_tag_setter_add_tag_valist)
8094         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
8095         _add_values, _add_valist, and _add_valist_values. Since this is an
8096         interface the function suffixes should be more explicit so
8097         language binding don't end up with element.add_valist ->
8098         gst_tag_setter_add_valist, for example. Fixes #322069.
8099
8100 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8101
8102         * check/gst/gstcaps.c: (GST_START_TEST):
8103           Extend caps string tests to check that a caps to string
8104           conversion is reversible and produces the same caps.
8105
8106         * gst/gststructure.c: (gst_structure_value_get_generic_type):
8107           Output "fraction" as the generic type fraction range, so caps
8108           serialisation and deserialisation works.
8109         * check/gst/capslist.h:
8110         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8111           Support 'MIN' and 'MAX' for deserialising fractions.
8112
8113 2005-11-22  Andy Wingo  <wingo@pobox.com>
8114
8115         * gst/gstevent.h (gst_event_new_new_segment)
8116         (gst_event_parse_new_segment, gst_event_new_buffer_size)
8117         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
8118         Renamed from *_newsegment, *_buffersize, *_notarget.
8119
8120         * scripts/update-funcnames: New script, performs the changes
8121         listed above.
8122
8123 2005-11-22  Wim Taymans  <wim@fluendo.com>
8124
8125         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8126         Make sure the GstFlowReturn is returned.
8127
8128         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
8129         (gst_bus_add_signal_watch):
8130         * gst/gstbus.h:
8131         add gst_bus_add_signal_watch_full.
8132
8133         * gst/gstplugin.c: (gst_plugin_load_file):
8134         Small style cleanup.
8135
8136 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8137
8138         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
8139           Block the fakesrc srcpad when we send an event, to avoid
8140           contention on the stream_lock causing random test failures.
8141
8142 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8143
8144         * check/gst/gstvalue.c: (GST_START_TEST):
8145         * gst/gstvalue.c: (gst_value_fraction_subtract):
8146           Fix subtraction.
8147
8148 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
8149
8150         * gst/gst.h:
8151           include "gstchildproxy.h"
8152         * gst/gstchildproxy.h:
8153         * libs/gst/controller/gstcontroller.h:
8154           use G_GNUC_NULL_TERMINATED
8155
8156 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8157
8158         * check/gst/capslist.h:
8159         * check/gst/gstcaps.c: (GST_START_TEST):
8160         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8161         * gst/gststructure.c: (gst_structure_parse_range),
8162         (gst_structure_fixate_field_nearest_fraction):
8163         * gst/gststructure.h:
8164         * gst/gstvalue.c: (gst_value_init_fraction_range),
8165         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8166         (gst_value_collect_fraction_range),
8167         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8168         (gst_value_set_fraction_range_full),
8169         (gst_value_get_fraction_range_min),
8170         (gst_value_get_fraction_range_max),
8171         (gst_value_serialize_fraction_range),
8172         (gst_value_transform_fraction_range_string),
8173         (gst_value_compare_fraction_range),
8174         (gst_value_deserialize_fraction_range),
8175         (gst_value_intersect_fraction_fraction_range),
8176         (gst_value_intersect_fraction_range_fraction_range),
8177         (gst_value_subtract_fraction_fraction_range),
8178         (gst_value_subtract_fraction_range_fraction),
8179         (gst_value_subtract_fraction_range_fraction_range),
8180         (gst_value_collect_fraction), (gst_value_fraction_multiply),
8181         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8182         (gst_value_transform_string_fraction), (_gst_value_initialize):
8183         * gst/gstvalue.h:
8184           Implement fraction ranges and extend GstFraction to support
8185           arithmetic subtraction, as well as deserialization from integer
8186           strings such as "100"
8187           Add a testsuite as for int and double range set operations
8188
8189 2005-11-21  Andy Wingo  <wingo@pobox.com>
8190
8191         * gst/gsttaglist.h: 
8192         * gst/gstcaps.h: 
8193         * gst/gststructure.h: Add glib-compat.h.
8194
8195 2005-11-21  Wim Taymans  <wim@fluendo.com>
8196
8197         * gst/gstbin.c: (gst_bin_change_state_func):
8198         Fix for #321595
8199
8200 2005-11-21  Wim Taymans  <wim@fluendo.com>
8201
8202         * gst/gstsegment.h:
8203         And add a nice define too.
8204
8205 2005-11-21  Wim Taymans  <wim@fluendo.com>
8206
8207         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8208         (gst_segment_new), (gst_segment_free), (gst_segment_init),
8209         (gst_segment_set_duration), (gst_segment_set_last_stop),
8210         (gst_segment_set_seek), (gst_segment_set_newsegment),
8211         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8212         (gst_segment_clip):
8213         * gst/gstsegment.h:
8214         Make binding friendly.
8215
8216 2005-11-21  Andy Wingo  <wingo@pobox.com>
8217
8218         * gst/gsttagsetter.h: 
8219         * gst/gsttaglist.h: 
8220         * gst/gststructure.h: 
8221         * gst/gstcaps.h: 
8222         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8223         #319940.
8224
8225         * gst/gsterror.c (_gst_core_errors_init):
8226         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8227         category.
8228
8229         * gst/Makefile.am (gst_headers): Add glib-compat.h.
8230         (noinst_HEADERS): noinst the -private.
8231
8232 2005-11-21  Michael Smith <msmith@fluendo.com>
8233
8234         * gst/gstplugin.h:
8235         * gst/gstregistry.h:
8236           Remove unimplemented declarations for which we can see no sensible
8237           use.
8238
8239 2005-11-21  Andy Wingo  <wingo@pobox.com>
8240
8241         * gst/gst.h: Include glib-compat.h.
8242
8243         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8244
8245         * gst/glib-compat.c: Include the public and the private header.
8246
8247         * gst/glib-compat-private.h: Copied here from glib-compat.h.
8248
8249         * gst/gstvalue.c: 
8250         * gst/gstpad.c: 
8251         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8252
8253         * check/gst/gstevent.c (create_custom_events): Check that
8254         FLUSH_STOP is serialized.
8255
8256         * check/elements/identity.c (event_func): 
8257         * check/elements/fakesrc.c (event_func): No stream lock, the core
8258         takes it.
8259
8260         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8261         stream lock taking, yay.
8262
8263         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8264         ensure that core takes the stream lock.
8265
8266         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8267         lock name change.
8268
8269         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8270         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8271         it already. For the flush start we do take it though so we get the
8272         right preroll state change messages.
8273
8274         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8275         the stream lock here, the core does it for us.
8276
8277         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8278         GST_STREAM_GET_LOCK.
8279         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8280         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8281         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8282         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8283         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8284         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8285
8286         * gst/gstpad.c: Update for stream lock name change.
8287
8288         * gst/base/gstbasesink.c: Update for preroll lock name change.
8289
8290 2005-11-21  Wim Taymans  <wim@fluendo.com>
8291
8292         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8293         (gst_clock_get_master):
8294         * gst/gstclock.h:
8295         * gst/gstsystemclock.c: (gst_system_clock_init):
8296         Convert Clock flags to object flags.
8297         Added methods to manage master/slave clocks.
8298
8299 2005-11-21  Wim Taymans  <wim@fluendo.com>
8300
8301         * check/gst/gstsegment.c: (GST_START_TEST):
8302         * docs/design/part-TODO.txt:
8303         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8304         (gst_base_sink_event), (gst_base_sink_do_sync),
8305         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8306         (gst_base_sink_query), (gst_base_sink_change_state):
8307         * gst/base/gstbasesink.h:
8308         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8309         (gst_base_src_default_newsegment),
8310         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8311         (gst_base_src_get_range), (gst_base_src_loop),
8312         (gst_base_src_change_state):
8313         * gst/base/gstbasesrc.h:
8314         * gst/base/gstbasetransform.c:
8315         (gst_base_transform_prepare_output_buf),
8316         (gst_base_transform_event), (gst_base_transform_change_state):
8317         * gst/base/gstbasetransform.h:
8318         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8319         (gst_collect_pads_event):
8320         * gst/base/gstcollectpads.h:
8321         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8322         (gst_fake_src_create):
8323         * gst/elements/gstfakesrc.h:
8324         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8325         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8326         (gst_segment_set_last_stop), (gst_segment_set_seek),
8327         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8328         (gst_segment_to_running_time), (gst_segment_clip):
8329         * gst/gstsegment.h:
8330         More segment updates, replace code in plugins with segment
8331         helper functions.
8332
8333 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8334
8335         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8336         Don't ignore sscanf results
8337
8338 2005-11-21  Andy Wingo  <wingo@pobox.com>
8339
8340         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8341
8342         * *.h:
8343         * *.c: Ran scripts/update-macros. Oh yes.
8344
8345         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8346         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8347         GST_GET_LOCK, etc.
8348
8349         * scripts/update-macros: New script. Run it on your files to
8350         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8351         well.
8352
8353 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8354
8355         * docs/gst/Makefile.am:
8356         * docs/gst/gstreamer-docs.sgml:
8357         * docs/gst/gstreamer-sections.txt:
8358         * docs/gst/gstreamer.types:
8359         * gst/gstinfo.h:
8360           more docs fixes, add new api to the docs
8361
8362 2005-11-21  Andy Wingo  <wingo@pobox.com>
8363
8364         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
8365         state_broadcast call.
8366
8367         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
8368
8369 2005-11-21  Julien MOUTTE  <julien@moutte.net>
8370
8371         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
8372         function calls for arrays.
8373
8374 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8375
8376         * docs/random/ensonic/media-device-daemon.txt:
8377           wild idea, can this be done?
8378         * docs/gst/gstreamer-sections.txt:
8379         * gst/gsterror.h:
8380         * gst/gstfilter.c:
8381         * gst/gstfilter.h:
8382         * gst/gstplugin.h:
8383         * gst/gstpluginfeature.c:
8384         * gst/gsttrace.c:
8385         * gst/gstvalue.c:
8386         * gst/gstvalue.h:
8387           doc fixes and additions
8388
8389 2005-11-21  Andy Wingo  <wingo@pobox.com>
8390
8391         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
8392         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
8393         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
8394         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
8395         private to the basesrc implementation.
8396
8397         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
8398         behalf of event function if necessary. It should no longer be
8399         necessary to take the stream lock in pad's event functions. Fixes
8400         #320299.
8401
8402 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8403         * docs/gst/gstreamer-sections.txt:
8404         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
8405         (gst_structure_fixate_field_nearest_double),
8406         (gst_structure_fixate_field_boolean):
8407         * gst/gststructure.h:
8408         * win32/common/libgstreamer.def:
8409         * win32/gstreamer.def:
8410
8411         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
8412         (#322027)
8413
8414 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8415
8416         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
8417         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
8418         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
8419         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
8420         (gst_fdsrc_uri_handler_init):
8421         * gst/elements/gstfdsrc.h:
8422           Port fd:// URI handler from 0.8 to fdsrc
8423
8424 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8425
8426         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
8427         (gst_value_serialize_fourcc):
8428         * gst/gstvalue.h:
8429           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
8430           consistent with our other format defines (#320324).
8431
8432 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8433
8434         * gst/gstvalue.c: (gst_value_is_fixed):
8435           Revert previous commit. Value lists are by definition
8436           not fixed, as they are a list of possible values.
8437
8438 2005-11-21  Andy Wingo  <wingo@pobox.com>
8439
8440         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
8441         during the stable series if we need it. Fixes #319178.
8442
8443         * gst/gstevent.c (gst_event_new_filler): Removed.
8444
8445         * check/gst/gstevent.c: Update comment about filler events.
8446
8447 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8448
8449         * gst/gstvalue.c: (gst_value_is_fixed):
8450           Should handle both value arrays and value lists.
8451
8452 2005-11-21  Andy Wingo  <wingo@pobox.com>
8453
8454         patch by: Alessandro Dessina <alessandro nnva org>
8455
8456         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
8457         functions to access arrays. Fixes #321962.
8458
8459 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8460
8461         * docs/gst/gstreamer.types:
8462           gst_collectpads_get_type => gst_collect_pads_get_type.
8463           
8464         * gst/base/gstbasetransform.c:
8465           Remove unused SIGNAL_HANDOFF enum.
8466
8467 2005-11-21  Andy Wingo  <wingo@pobox.com>
8468
8469         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
8470         the event type (upstream, downstream, serialized). Renamed
8471         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
8472         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
8473         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
8474
8475         * gst/gstevent.c: Update for new CUSTOM event names.
8476
8477         * check/gst/gstevent.c: Update check for new CUSTOM event names.
8478
8479         * gst/gstevent.h:
8480         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
8481         bug #319392.
8482
8483 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8484
8485         * docs/gst/gstreamer-sections.txt:
8486         * win32/common/libgstbase.def:
8487         * win32/libgstbase.def:
8488         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8489         (gst_collect_pads_class_init), (gst_collect_pads_init),
8490         (gst_collect_pads_finalize), (gst_collect_pads_new),
8491         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
8492         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
8493         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
8494         (gst_collect_pads_start), (gst_collect_pads_stop),
8495         (gst_collect_pads_peek), (gst_collect_pads_pop),
8496         (gst_collect_pads_available), (gst_collect_pads_read),
8497         (gst_collect_pads_flush), (gst_collect_pads_event),
8498         (gst_collect_pads_chain):
8499         * gst/base/gstcollectpads.h:
8500           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
8501           unimplemented functions as unimplemented. Add padding to
8502           GstCollectData. (#320766, #320423)
8503
8504 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8505
8506         * gst/gstmessage.c:
8507           Improve docs for DURATION message (usage of duration parameter)
8508           (#320113)
8509
8510 2005-11-20  Wim Taymans  <wim@fluendo.com>
8511
8512         * check/Makefile.am:
8513         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
8514         (main):
8515         * gst/Makefile.am:
8516         * gst/gst.h:
8517         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8518         (gst_segment_set_seek), (gst_segment_set_newsegment),
8519         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8520         (gst_segment_clip):
8521         * gst/gstsegment.h:
8522         Added segment helper structure and methods. Not fully implemented
8523         yet.
8524         Added segment check.
8525
8526 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
8527
8528         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8529           Add a deserialisation test for fractions
8530         * examples/metadata/read-metadata.c: (message_loop),
8531         (make_pipeline), (main):
8532           Fix up metadata reading sample.
8533         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8534           Debug format fix
8535         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8536           Don't try and fixate empty caps
8537         * gst/gst_private.h:
8538           Wrap in G_BEGIN_DECLS/G_END_DECLS
8539         * gst/gstvalue.c: (gst_value_collect_fraction),
8540         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
8541         (gst_value_transform_string_fraction),
8542         (gst_value_compare_fraction):
8543           Add some extra guards to ensure that we don't end up 
8544           with an invalid denominator of 0 in a gstfraction and
8545           that fractions always get reduced.
8546
8547 2005-11-20  Wim Taymans  <wim@fluendo.com>
8548
8549         * docs/gst/gstreamer-sections.txt:
8550         * gst/gstbuffer.h:
8551         * gst/gstelement.c:
8552         * gst/gstformat.c:
8553         * gst/gstformat.h:
8554         * gst/gstindex.h:
8555         * gst/gstquery.c:
8556         * gst/gstquery.h:
8557         * gst/gstvalue.c:
8558         Doc fixes.
8559
8560 2005-11-20  Wim Taymans  <wim@fluendo.com>
8561
8562         * docs/design/part-TODO.txt:
8563         * gst/gstcaps.h:
8564         Make a proper enum of the flag.
8565
8566 2005-11-19  Wim Taymans  <wim@fluendo.com>
8567
8568         * docs/design/part-TODO.txt:
8569         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
8570         (gst_format_to_quark), (gst_format_register):
8571         * gst/gstformat.h:
8572         * gst/gstquery.c: (_gst_query_initialize),
8573         (gst_query_type_get_name), (gst_query_type_to_quark),
8574         (gst_query_type_register):
8575         * gst/gstquery.h:
8576         Add type to quark and type to string conversions.
8577
8578 2005-11-19  Andy Wingo  <wingo@pobox.com>
8579
8580         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
8581         #320097.
8582
8583 2005-11-19  Wim Taymans  <wim@fluendo.com>
8584
8585         * docs/design/part-TODO.txt:
8586         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8587         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
8588         (gst_bin_handle_message_func):
8589         * gst/gstbin.h:
8590         Make message handling overridable.
8591
8592 2005-11-19  Andy Wingo  <wingo@pobox.com>
8593
8594         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
8595
8596         * gst/gstclock.h:
8597         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
8598         be a GstClockTime.
8599         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
8600         is a GstClockTime. Fixes #321710.
8601
8602         * gst/gstclock.h (GstClock): Remove offset property. Add
8603         internal_calibration and external_calibration. Fix padding. Pad
8604         also by GstClockTime so we don't run into problems.
8605
8606         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
8607         (gst_clock_get_rate_offset): Remove.
8608         (gst_clock_set_time_adjust): Remove. Fixes #321712.
8609
8610         * gst/gstutils.h:
8611         * gst/gstutils.c (g_static_rec_cond_wait)
8612         (g_static_rec_cond_timed_wait): Removed, no longer needed.
8613
8614         * gst/gstbin.c: Remove terrible continue_state prototype.
8615
8616         * gst/gstelement.h (gst_element_continue_state): Make public.
8617
8618         * gst/gstelement.h:
8619         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
8620         by continue_state. Fixes #319389.
8621
8622         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
8623         Really fixes #168438. However I don't see anywhere where the
8624         filter function is called... stupid GStreamer...
8625         
8626         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
8627         don't have a dispose function, so it won't get called when the
8628         object is unreffed, but oh well!
8629
8630         * gst/gstindex.c (gst_index_set_filter_full): New API function,
8631         allows a destroy function to be set so user_data can be freed.
8632         Fixes #168438.
8633         (gst_index_set_filter): Call gst_index_set_filter_full.
8634
8635         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
8636
8637         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
8638         string should produce an error, given the lack of a way to
8639         represent NULL strings. Fixes #165650.
8640         
8641         * gst/gstvalue.h: 
8642         * gst/gstvalue.c (gst_value_array_append_value) 
8643         (gst_value_array_prepend_value, gst_value_array_get_size) 
8644         (gst_value_array_get_value): New API, copied from
8645         gst_value_list_*, only operates on arrays.
8646         (gst_value_list_append_value, gst_value_list_prepend_value) 
8647         (gst_value_list_concat, gst_value_list_get_size) 
8648         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
8649
8650         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
8651         init_list, because it works on both.
8652         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
8653         (gst_value_copy_list_or_array): Renamed from copy_list.
8654         (gst_value_free_list_or_array): Renamed from free_list.
8655         (gst_value_collect_list_or_array): Renamed from collect_list.
8656         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
8657         (gst_value_list_or_array_peek_pointer): Renamed from
8658         list_peek_pointer.
8659         (_gst_value_array_value_table, _gst_value_list_value_table):
8660         Update value table functions.
8661         (gst_value_compare_list_or_array): Renamed from compare_list.
8662
8663         * gsttaglist.h: Whoops, foreach function returns void. Also fix
8664         some constness.
8665
8666         * gst/gsttaglist.c:
8667         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
8668         GstTagList*. Fixes #143472.
8669
8670         * gst/gststructure.h: Clarify what the foreach/map functions can
8671         or can't do to their arguments.
8672
8673 2005-11-18  Wim Taymans  <wim@fluendo.com>
8674
8675         * gst/gstclock.c: (gst_clock_set_calibration),
8676         (gst_clock_get_calibration):
8677         Doc and API fixes.
8678         Calibration can be set with internal time equal to current
8679         internal time too.
8680
8681 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8682
8683         * gst/gsterror.c:
8684         * gst/gsterror.h:
8685           document
8686
8687 2005-11-18  Andy Wingo  <wingo@pobox.com>
8688
8689         * configure.ac: 
8690         * pkgconfig/gstreamer-net.pc.in:
8691         * pkgconfig/gstreamer-net-uninstalled.pc.in:
8692         * pkgconfig/Makefile.am: Add net pkgconfig files.
8693
8694 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
8695
8696         * gst/gstcaps.c:
8697         * gst/gstghostpad.c:
8698         * gst/gsttrace.c:
8699         * gst/gstvalue.c:
8700         * gst/gstvalue.h:
8701           docs fixes
8702
8703 2005-11-18  Andy Wingo  <wingo@pobox.com>
8704
8705         * gst/net/gstnetclientclock.c: Turn off debugging.
8706
8707         * check/net/gstnetclientclock.c (test_functioning): Assert that the
8708         times connverge somewhat. Can't make a real test.
8709
8710         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
8711         integer arithmetic. Return the minimum of the domain, which can be
8712         set as "internal" for gst_clock_set_calibration.
8713         (gst_net_client_clock_observe_times): Call _set_calibration.
8714         (gst_net_client_clock_new): Call _set_calibration instead of
8715         rate_offset.
8716
8717         * check/net/gstnetclientclock.c (test_functioning): Use the right
8718         adjustment api.
8719
8720         * gst/gstclock.h:
8721         * gst/gstclock.c (gst_clock_get_calibration) 
8722         (gst_clock_set_calibration): New functions, obsolete the ones I
8723         added yesterday. Doh. Precision issues mean we have to extrapolate
8724         from a point in the more recent past than 1970.
8725         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
8726         obsolete.
8727         (gst_clock_adjust_unlocked): Use the right calibration data.
8728
8729 2005-11-18  Edward Hervey  <edward@fluendo.com>
8730
8731         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
8732         Also reset the ->current_* values in READY->PAUSED
8733
8734 2005-11-18  Andy Wingo  <wingo@pobox.com>
8735
8736         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
8737         Whoops, check the right fd. Also add some debugging.
8738         (gst_net_client_clock_observe_times): Adjust for int64 offset.
8739         (do_linear_regression): Add a crapload of debugging. Subtract off
8740         the minimum values from the input series to discard unneeded bits.
8741         Use only int arithmetic. There is still double arithmetic when
8742         calculating the intercept that needs fixing. Return boolean to
8743         indicate success; FALSE would mean the domain or range is too
8744         great. Still needs fixes.
8745
8746 2005-11-18  Wim Taymans  <wim@fluendo.com>
8747
8748         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8749         For the current position in stream time, we need to subtract
8750         accumulated time.
8751         
8752         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8753         Release lock before calling the callback function of async
8754         entries.
8755
8756 2005-11-18  Andy Wingo  <wingo@pobox.com>
8757
8758         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
8759         Port goes all the way to MAXUINT16.
8760
8761         * gst/net/gstnettimeprovider.c: Make the port range the same as
8762         for the kernel: 0 assigns, otherwise ports are less than
8763         MAXUINT16.
8764
8765         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
8766         port change.
8767
8768         * check/net/gstnetclientclock.c (test_functioning): Add the start
8769         of another test. 
8770
8771 2005-11-18  Wim Taymans  <wim@fluendo.com>
8772
8773         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8774         (gst_bin_remove_func), (bin_bus_handler):
8775         * gst/gstbin.h:
8776         Removing a clock provider from a bin, triggers a clock lost message
8777         so that a new clock will be selected.
8778         Adding a clock to a bin triggers a clock provider message.
8779         Make sure we reselect a clock when we received a clock lost message.
8780         Keep a reference to the element that provided the clock.
8781
8782 2005-11-18  Andy Wingo  <wingo@pobox.com>
8783
8784         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
8785         the clock initially so it produces values around the base time.
8786         (gst_net_client_clock_class_init): Typo fix.
8787         (gst_net_client_clock_thread): Add note on when the socket gets
8788         closed.
8789
8790 2005-11-17  Wim Taymans  <wim@fluendo.com>
8791
8792         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
8793         Free remote and local time arrays.
8794
8795 2005-11-17  Wim Taymans  <wim@fluendo.com>
8796
8797         * gst/net/gstnetclientclock.c: (do_linear_regression),
8798         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
8799         Fix compilation, uninitialized vars and a forgotten continue.
8800
8801 2005-11-17  Andy Wingo  <wingo@pobox.com>
8802
8803         * check/Makefile.am (check_PROGRAMS): 
8804         * check/net/gstnetclientclock.c: Add a most minimal test for the
8805         net client clock. More to come later.
8806
8807         * gst/net/gstnet.h: 
8808         * gst/net/Makefile.am: Add netclientclock.
8809
8810         * gst/net/gstnetclientclock.h:
8811         * gst/net/gstnetclientclock.c: New files, implement an untested
8812         GstClock that takes its time from a network time provider.
8813         Implements the algorithm in network-clock.scm.
8814
8815         * tests/network-clock.scm (*window-size*): Rename from
8816         *queue-length*.
8817         * tests/network-clock.scm (network-time): 
8818         * tests/network-clock-utils.scm (q-push): Update callers.
8819
8820 2005-11-17  Wim Taymans  <wim@fluendo.com>
8821
8822         * gst/gstbin.c: (gst_bin_provide_clock_func),
8823         (gst_bin_sort_iterator_new):
8824         And unref the child too..
8825
8826 2005-11-17  Wim Taymans  <wim@fluendo.com>
8827
8828         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8829         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
8830         Refactor the sort iterator so it can be used while holding the
8831         LOCK too.
8832         Make clock selection select a clock closest to the source.
8833
8834 2005-11-17  Michael Smith <msmith@fluendo.com>
8835
8836         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
8837         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
8838         * gst/gstclock.h:
8839           Anonymous structs are a gcc (and some other compilers) extension, so
8840           don't use them. Since this is only for ABI-compatibility, and our
8841           API/ABI freeze is over in a few days, this whole thing will only
8842           last a few days, so don't bother trying to think up a meaningful
8843           name for the struct.
8844
8845 2005-11-17  Andy Wingo  <wingo@pobox.com>
8846
8847         * gst/gstclock.h (GstClock): Add rate and offset properties,
8848         preserving ABI stability. Add rate/offset accessors. Will file bug
8849         for the freeze break.
8850
8851         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
8852         and offset, trying to keep precision and avoiding
8853         underflow/overflow.
8854         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
8855         functions. Make gst_clock_set_time_adjust obsolete.
8856         (gst_clock_set_time_adjust): Note that this function is obsolete.
8857         Will file bug soon.
8858
8859         * gst/base/gstbasetransform.h: Make the ABI-stability hack
8860         greppable by using GST_PADDING-1+1.
8861
8862 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
8863
8864         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8865
8866         * gst/gstmessage.c: (gst_message_parse_clock_lost):
8867           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
8868
8869         * gst/gstpadtemplate.h:
8870         * gst/gstpluginfeature.h:
8871           Don't use c++ style comments in headers (#321638).
8872
8873 2005-11-16  Andy Wingo  <wingo@pobox.com>
8874
8875         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
8876         buffer.
8877
8878         * check/net/gstnettimeprovider.c: Check to see that the time
8879         provider actually provides times. Works, yo!
8880
8881 2005-11-16  Wim Taymans  <wim@fluendo.com>
8882
8883         * check/Makefile.am:
8884         Enable more tests.
8885
8886         * check/elements/fakesrc.c: (GST_START_TEST):
8887         Set element to NULL before disposing it.
8888
8889 2005-11-16  Andy Wingo  <wingo@pobox.com>
8890
8891         * gst/net/Makefile.am:
8892         * gst/net/gstnet.h:
8893         * gst/net/gstnettimeprovider.c: 
8894         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
8895         provider, include it from gstnet.h, and add it to the build.
8896
8897         * gst/net/gstnettimepacket.h: 
8898         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
8899         sending and receiving.
8900
8901 2005-11-16  Wim Taymans  <wim@fluendo.com>
8902
8903         * check/Makefile.am:
8904         Enable valgrind check.
8905
8906         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
8907         (gst_fake_src_alloc_buffer):
8908         Fix memleak.
8909
8910 2005-11-16  Wim Taymans  <wim@fluendo.com>
8911
8912         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
8913         Call parent finalize too.
8914
8915 2005-11-16  Wim Taymans  <wim@fluendo.com>
8916
8917         * check/Makefile.am:
8918         Enable valgrind check that should work fine now.
8919
8920         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8921         * gst/gstqueue.c: (gst_queue_init):
8922         Fix memleaks in pad allocation.
8923
8924 2005-11-16  Andy Wingo  <wingo@pobox.com>
8925
8926         * gst/net/Makefile.am:
8927         * gst/net/gstnet.h: New part of core to hold network elements and
8928         objects. Put in core because it exposes API that applications want
8929         to use. The library is named libgstnet-tempname right now because
8930         of the existing libgstnet in gst-plugins-base. Solution is
8931         probably to rename the one in plugins-base; will file a bug for
8932         the freeze break.
8933
8934         * gst/net/gstnettimeprovider.c: 
8935         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
8936         get_time call over the network.
8937
8938         * configure.ac: 
8939         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
8940
8941         * check/Makefile.am:
8942         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
8943         get additions shortly.
8944
8945 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8946
8947         * gst/gstpad.c: (gst_pad_new_from_static_template):
8948         * gst/gstpad.h:
8949           add gst_pad_new_from_static_template functions
8950         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
8951         (gst_check_setup_sink_pad):
8952         * gst/elements/gsttee.c: (gst_tee_init):
8953           and use them
8954
8955 2005-11-16  Wim Taymans  <wim@fluendo.com>
8956
8957         * gst/gstpad.c: (gst_pad_pause_task):
8958         Removed warning, it's not really an error either.
8959
8960 2005-11-16  Wim Taymans  <wim@fluendo.com>
8961
8962         * gst/base/gstbasetransform.c:
8963         (gst_base_transform_prepare_output_buf),
8964         (gst_base_transform_event):
8965         Check if the caps are NULL, this can happen if the element
8966         is shutting down and the pad caps are set to NULL.
8967
8968 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8969
8970         * gst/elements/gsttee.c: (gst_tee_init):
8971           fix pad template leak in tee
8972
8973 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8974
8975         * gst/glib-compat.c: (g_value_dup_gst_object):
8976         * gst/glib-compat.h:
8977         * gst/gstpad.c: (gst_pad_set_property):
8978           use gst_object_ref when setting the pad template; this will
8979           trigger the pad template leaks on GLib 2.6 and the slaves
8980
8981 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8982
8983         * gst/glib-compat.c: (gst_flags_get_first_value):
8984         * gst/glib-compat.h:
8985         * gst/gstregistryxml.c:
8986           remove functions copied from GLib 2.6
8987
8988 2005-11-16  Michael Smith <msmith@fluendo.com>
8989
8990         * gst/Makefile.am:
8991           Don't link against VALGRIND_LIBS. That was always the wrong thing to
8992           do, but only breaks with newer valgrind versions. We're not a
8993           valgrind tool, we have no link-time dependencies on libcoregrind.
8994
8995 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8996
8997         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8998           some debug changes
8999         * gst/gstmessage.h:
9000           typo fixes
9001
9002 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9003
9004         * gst/base/gstbasesrc.c: (gst_base_src_init):
9005         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9006         * gst/gstqueue.c: (gst_queue_init):
9007         * gst/gstregistryxml.c: (load_feature):
9008           Revert all these unrefs, they don't even pass make check !
9009
9010 2005-11-15  Johan Dahlin  <johan@gnome.org>
9011
9012         * gst/base/gstbasesrc.c: (gst_base_src_init):
9013         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9014         * gst/gstqueue.c: (gst_queue_init): 
9015         Free pad templates, fixes a couple of leaks.
9016
9017 2005-11-15  Daniel Fischer  <dan at f3c dot com>
9018
9019         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9020
9021         * gst/gstpad.c: (gst_pad_get_property):
9022           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
9023           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
9024           (#321452)
9025
9026 2005-11-15  Wim Taymans  <wim@fluendo.com>
9027
9028         * gst/gstevent.c:
9029         Small doc update.
9030
9031 2005-11-15  Andy Wingo  <wingo@pobox.com>
9032
9033         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
9034
9035         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
9036         using GST_CLOCK_TIME_NONE to disable base time management.
9037         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
9038         time if it was NONE before.
9039         (gst_pipeline_change_state): Only munge the base time if
9040         stream_time != GST_CLOCK_TIME_NONE.
9041
9042         * check/gst/gstpipeline.c (test_base_time): Punt around the
9043         problem of the probe not being called, because that's not the
9044         issue I'm looking at. Add a check that setting stream_time to NONE
9045         disables base time management.
9046         
9047 2005-11-15  Wim Taymans  <wim@fluendo.com>
9048
9049         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9050         segment_stop == -1 at startup.
9051
9052         * gst/base/gstbasetransform.c: (gst_base_transform_event),
9053         (gst_base_transform_change_state):
9054         Init segment values at start.
9055
9056 2005-11-15  Wim Taymans  <wim@fluendo.com>
9057
9058         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9059         0 segment values are 0 in any format.
9060
9061         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9062         * gst/base/gstbasetransform.h:
9063         Parse newsegment correctly in basetransform
9064
9065         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9066         Sync to clock using updated segment values.
9067
9068 2005-11-15  Andy Wingo  <wingo@pobox.com>
9069
9070         * check/gst/gstpipeline.c (test_base_time): Add check that the
9071         base time and stream time are reset correctly.
9072
9073 2005-11-15  Wim Taymans  <wim@fluendo.com>
9074
9075         * docs/design/part-TODO.txt:
9076         Some more TODO items.
9077
9078 2005-11-15  Andy Wingo  <wingo@pobox.com>
9079
9080         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
9081         error if the user selected "no clock" as the clocking method.
9082
9083         * check/gst/gstpipeline.c (test_base_time): New test for buffer
9084         timestamps with live capture.
9085
9086         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
9087         is 0 but we are a live source, timestamp the buffers using the
9088         element's clock.
9089
9090 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
9091
9092         * docs/gst/gstreamer-sections.txt:
9093         * gst/gsterror.c:
9094         * gst/gstghostpad.c:
9095         * gst/gstobject.h:
9096         * gst/gstxml.c:
9097           more section docs
9098
9099 2005-11-14  Wim Taymans  <wim@fluendo.com>
9100
9101         * common/gst.supp:
9102           add suppressions from Wim's Debian machine
9103
9104 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9105
9106         * common/gst.supp:
9107           add suppressions from Andy's AMD64 Ubuntu machine
9108
9109 2005-11-14  Andy Wingo  <wingo@pobox.com>
9110
9111         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
9112         STATE_LOCK not necessary. Fixes #311489.
9113
9114         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
9115         #305291.
9116
9117         * gst/gstindex.c (gst_index_add_object): Note in the docs that
9118         this function is not implemented.
9119
9120 2005-11-14  Julien MOUTTE  <julien@moutte.net>
9121
9122         * gst/base/gstbasetransform.c:
9123         (gst_base_transform_prepare_output_buf):
9124         Ref the source pad caps while we need them.
9125         Fixes (#321386)
9126
9127 2005-11-11  Wim Taymans  <wim@fluendo.com>
9128
9129         * docs/gst/gstreamer-sections.txt:
9130         Added some docs for GstCollectData.
9131
9132         * gst/base/gstadapter.c:
9133         Some small code example fix.
9134
9135         * gst/base/gstcollectpads.c:
9136         * gst/base/gstcollectpads.h:
9137         Document some more.
9138
9139 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9140
9141         * configure.ac: back to HEAD
9142
9143 === release 0.9.5 ===
9144
9145 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
9146
9147         * configure.ac:
9148           releasing 0.9.5, "Bike Lunch Day"
9149
9150 2005-11-11  Wim Taymans  <wim@fluendo.com>
9151
9152         * gst/gstbuffer.c: (_gst_buffer_copy):
9153         Copy more flags.
9154
9155         * gst/gstcaps.c: (gst_caps_is_equal):
9156         Fix some docs.
9157         Make _is_equal fast in the trivial cases.
9158
9159         * gst/gstminiobject.c:
9160         * gst/gstminiobject.h:
9161         More docs. Spifify .h file.
9162
9163         * gst/gstutils.c:
9164         Small doc update.
9165
9166 2005-11-11  Wim Taymans  <wim@fluendo.com>
9167
9168         * gst/base/gstbasetransform.c:
9169         (gst_base_transform_prepare_output_buf),
9170         (gst_base_transform_handle_buffer):
9171         Small cleanups.
9172         If we're processing a buffer and need to allocate an output
9173         buffer, we cannot accept a format change. If we did get a 
9174         format change, we have to alloc a buffer ourselves of the 
9175         right size.
9176
9177 2005-11-11  Wim Taymans  <wim@fluendo.com>
9178
9179         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9180         While checking the flag for reentrancy in the gstcaps function
9181         is nice to detect recursive invocations, it also makes it 
9182         impossible to call getcaps from multiple threads, which must be
9183         possible. So, checking for recursive calls has to go.
9184
9185 2005-11-11  Michael Smith <msmith@fluendo.com>
9186
9187         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9188           Don't sync on buffers that fall partially outside our current
9189           segment. Prevents an assertion failure/abort playing some files.
9190
9191 2005-11-10  Andy Wingo  <wingo@pobox.com>
9192
9193         * check/gst/gstbin.c (test_message_state_changed_children): Style
9194         fix..
9195
9196         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9197         gst_bus_poll with the signal watch. Ensures that poll and a signal
9198         watch see the same messages.
9199
9200         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9201         a poll and a watch at the same time get the same messages.
9202
9203 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9204
9205         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9206         * gst/gstcaps.c: (gst_caps_intersect):
9207           Don't call gst_caps_do_simplify - it doesn't respect order of caps
9208           and it's not needed.
9209
9210 2005-11-10  Wim Taymans  <wim@fluendo.com>
9211
9212         * docs/design/part-TODO.txt:
9213         Updated todo.
9214
9215 2005-11-10  Wim Taymans  <wim@fluendo.com>
9216
9217         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9218         * gst/base/gstbasesrc.c: (gst_base_src_wait),
9219         (gst_base_src_do_sync), (gst_base_src_get_range):
9220         Implement clock sync in base class.
9221
9222 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9223
9224         patch by: Tim-Philipp Müller <tim at centricular dot net>
9225
9226         * gst/gststructure.c: (gst_structure_parse_field),
9227         (gst_structure_from_string):
9228           Forward-port a 0.8 patch to handle escaped spaces in structure string,
9229           so that gst_parse_launch() can deal with spaces in filtered link
9230           caps (fixes #164479)
9231         * check/gst/capslist.h:
9232         * check/gst/gststructure.c: (GST_START_TEST):
9233           add unit tests for this change
9234
9235 2005-11-10  Wim Taymans  <wim@fluendo.com>
9236
9237         * docs/gst/gstreamer-sections.txt:
9238         * gst/gstelement.c:
9239         * gst/gstelement.h:
9240         Fix docs, move some STATE macros to private.
9241
9242 2005-11-10  Wim Taymans  <wim@fluendo.com>
9243
9244         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9245         Added check for bug #317341
9246
9247         * gst/gstbuffer.c:
9248         * gst/gstbuffer.h:
9249         Some more spiffifying.
9250
9251         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9252         Call peer linkfunction if we are a source pad. Totally fixes
9253         #317341
9254
9255         * gst/gstpad.c:
9256         Update docs, source pads should call the peer linkfunction
9257         so they can atomically perform the pad link.
9258
9259 2005-11-09  Wim Taymans  <wim@fluendo.com>
9260
9261         * gst/gstbuffer.c:
9262         * gst/gstbuffer.h:
9263         Uber-spiffy-spiffify some more.
9264
9265 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
9266
9267         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9268         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9269         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9270         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9271         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9272         * gst/gstpad.c: (gst_pad_init):
9273           Use GST_DEBUG_FUNCPTR() more extensively.
9274
9275 2005-11-09  Wim Taymans  <wim@fluendo.com>
9276
9277         * gst/gstobject.c: (gst_object_class_init):
9278         * gst/gstobject.h:
9279         Documentation fixes.
9280
9281 2005-11-09  Edward Hervey  <edward@fluendo.com>
9282
9283         * gst/gsttypefindfactory.c:
9284         Fix docs.
9285         
9286 2005-11-09  Edward Hervey  <edward@fluendo.com>
9287
9288         * gst/base/gsttypefindhelper.c:
9289         * gst/gsttypefind.c:
9290         * gst/gsttypefind.h:
9291         Fix docs.
9292
9293 2005-11-09  Wim Taymans  <wim@fluendo.com>
9294
9295         * gst/gstiterator.c:
9296         Fix revision data.
9297
9298         * gst/gsttask.c:
9299         * gst/gsttask.h:
9300         Fix docs.
9301
9302 2005-11-09  Wim Taymans  <wim@fluendo.com>
9303
9304         * gst/gstevent.h:
9305         * gst/gsturi.h:
9306         Fix docs.
9307
9308 2005-11-09  Wim Taymans  <wim@fluendo.com>
9309
9310         * docs/gst/gstreamer-sections.txt:
9311         Moved the message async delivery private lock and cond
9312         to the private section.
9313
9314         * gst/gstmessage.c:
9315         * gst/gstmessage.h:
9316         Fixed docs.
9317
9318 2005-11-09  Edward Hervey  <edward@fluendo.com>
9319
9320         * docs/gst/gstreamer-sections.txt:
9321         * gst/gsturi.c:
9322         * gst/gsturi.h:
9323         Document GstURIHandler
9324
9325 2005-11-09  Wim Taymans  <wim@fluendo.com>
9326
9327         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9328         (gst_iterator_find_custom):
9329         * gst/gstiterator.h:
9330         Fix iterator docs.
9331
9332 2005-11-09  Wim Taymans  <wim@fluendo.com>
9333
9334         * gst/gstbin.h:
9335         Document another field.
9336
9337         * gst/gststructure.c:
9338         * gst/gststructure.h:
9339         Document.
9340
9341 2005-11-09  Wim Taymans  <wim@fluendo.com>
9342
9343         * gst/gstbin.h:
9344         Documented structs.
9345
9346 2005-11-09  Wim Taymans  <wim@fluendo.com>
9347
9348         * docs/gst/gstreamer-sections.txt:
9349         Added some new macros.
9350
9351         * gst/gstclock.c:
9352         * gst/gstclock.h:
9353         * gst/gstobject.h:
9354         Docs updates.
9355
9356 2005-11-09  Wim Taymans  <wim@fluendo.com>
9357
9358         * docs/design/part-TODO.txt:
9359         Some more items for the TODO
9360
9361         * gst/gstcaps.c:
9362         * gst/gstcaps.h:
9363         Document GstCaps.
9364
9365 2005-11-09  Andy Wingo  <wingo@pobox.com>
9366
9367         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
9368         to work on something else now tho...
9369
9370         * gst/base/gstadapter.c: More adapter docs.
9371
9372         * gst/elements/gstfilesink.c (gst_file_sink_start) 
9373         (gst_file_sink_stop): New functions, replace the state change
9374         handler.
9375         (gst_file_sink_class_init): Hook up the start and stop functions.
9376         (gst_file_sink_base_init): Don't set the state change handler any
9377         more. It was a bit ugly too, being set from here...
9378         (gst_file_sink_get_property, gst_file_sink_set_property):
9379         Cleanups...
9380         (gst_file_sink_set_location): More robust check that doesn't call
9381         GST_STATE. Ugggggg.
9382
9383 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9384
9385         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9386           Hold STREAM_LOCK while pushing newsegment or tag events as well.
9387
9388 2005-11-08  Wim Taymans  <wim@fluendo.com>
9389
9390         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9391         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9392         (gst_base_sink_chain), (gst_base_sink_change_state):
9393         * gst/base/gstbasesink.h:
9394         * gst/base/gstbasesrc.h:
9395         * gst/gstelement.h:
9396         * gst/gstevent.h:
9397         Avoid excessive typechecking in macros.
9398
9399         * gst/gstminiobject.c: (gst_mini_object_get_type),
9400         (gst_mini_object_init), (gst_mini_object_new),
9401         (gst_mini_object_free):
9402         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9403         (gst_object_finalize):
9404         Remove cruft code, optimize alloc_trace.
9405
9406 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9407
9408         * docs/faq/gst-uninstalled:
9409           fix up PS1 for systems that try to reset it
9410
9411 2005-11-07  Wim Taymans  <wim@fluendo.com>
9412
9413         * gst/base/gstbasesrc.c: (gst_base_src_init),
9414         (gst_base_src_get_range):
9415         Set the segment_end to -1 initially. Fixed typefind.
9416
9417 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9418
9419         * gst/base/gstadapter.c:
9420           Debug category should be 'adapter', not 'GstAdapter'.
9421           
9422         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
9423         (gst_collectpads_class_init), (gst_collectpads_init),
9424         (gst_collectpads_peek), (gst_collectpads_pop),
9425         (gst_collectpads_event), (gst_collectpads_chain):
9426           Add debug category and some debugging output. Use boilerplate
9427           macros. Remove some extraneous words from docs.
9428
9429 2005-11-05  Andy Wingo  <wingo@pobox.com>
9430
9431         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
9432         macro.
9433
9434 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9435
9436         * docs/gst/gstreamer-sections.txt:
9437         * gst/gstcaps.h:
9438         * gst/gstinfo.c:
9439         * gst/gstminiobject.h:
9440         * gst/gstobject.h:
9441         * gst/gstutils.h:
9442           more docs added
9443
9444 2005-11-04  Wim Taymans  <wim@fluendo.com>
9445
9446         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9447         Small update to stop at the configured segment_end
9448         position.
9449
9450 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9451
9452         * gst/gstregistry.c:
9453         * gst/gstregistry.h:
9454           added missing docs
9455
9456 2005-11-04  Edward Hervey  <edward@fluendo.com>
9457
9458         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9459         Check if we are doing a segment seek and have arrived at the
9460         end of that segment.
9461
9462 2005-11-04  Wim Taymans  <wim@fluendo.com>
9463
9464         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
9465         Don't leak a mutex unlock in case of an error.
9466
9467         * gst/gstbus.h:
9468         Doc fixes.
9469
9470 2005-11-04  Wim Taymans  <wim@fluendo.com>
9471
9472         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
9473         (gst_bus_post):
9474         Get the context to wake up only once.
9475
9476 2005-11-03  Wim Taymans  <wim@fluendo.com>
9477
9478         * check/states/sinks.c: (GST_START_TEST):
9479         Uncomment fixed check.
9480
9481         * docs/design/part-TODO.txt:
9482         Updated TODO.
9483
9484         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9485         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9486         (gst_base_sink_get_position):
9487         If we are going to PLAYING, post the right pending state
9488         when we post the intermediate paused message.
9489
9490         * gst/gstelement.c: (gst_element_continue_state),
9491         (gst_element_set_state_func), (gst_element_change_state):
9492         Don't post state changes that were between the same state
9493         and were not ASYNC.
9494
9495 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9496
9497         * docs/gst/gstreamer-sections.txt:
9498         * gst/gstcaps.h:
9499         * gst/gstinfo.c:
9500         * gst/gstminiobject.h:
9501         * gst/gstobject.h:
9502         * gst/gstutils.h:
9503           more docs and doc style fixes
9504
9505 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9506
9507         * docs/gst/gstreamer-sections.txt:
9508         * gst/gstelement.c:
9509         * gst/gstminiobject.c:
9510         doc fixes
9511
9512 2005-11-03  Andy Wingo  <wingo@pobox.com>
9513
9514         * check/states/sinks.c (test_livesrc_sink): Add checks that the
9515         state-changed messages actually have the right order and the right
9516         values.
9517
9518 2005-11-03  Wim Taymans  <wim@fluendo.com>
9519
9520         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9521         Added some more checks. Specifically the case where NO_PREROLL
9522         elements are in the pipeline.
9523
9524         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9525         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9526         (gst_base_sink_get_position):
9527         Post READY->PAUSED state change messages too.
9528         Fix bug where VOID was posted as pending state...
9529
9530         * gst/gstbin.c: (gst_bin_recalc_state):
9531         use _element_continue_state() to continue the state change.
9532
9533         * gst/gstelement.c: (gst_element_continue_state),
9534         (gst_element_commit_state), (gst_element_set_state_func),
9535         (gst_element_change_state), (gst_element_change_state_func):
9536         Lots of state change cleanups, assign the STATE_RETURN in
9537         a new continue_state() function that also propagates the
9538         last return value from a state change to the app.
9539         Update some debug statements with proper category.
9540
9541 2005-11-03  Wim Taymans  <wim@fluendo.com>
9542
9543         * docs/design/part-events.txt:
9544         * docs/design/part-gstpipeline.txt:
9545         * docs/design/part-messages.txt:
9546         * docs/design/part-overview.txt:
9547         * docs/design/part-seeking.txt:
9548         * docs/design/part-states.txt:
9549         * docs/design/part-trickmodes.txt:
9550         * docs/manual/advanced-position.xml:
9551         Small docs updates.
9552
9553         * gst/gstobject.h:
9554         People think !! is ugly, this looks better.
9555
9556         * gst/gstpad.c: (gst_pad_set_blocked_async):
9557         Remove !! since it's fixed elsewhere now.
9558
9559 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9560
9561         * gst/gstminiobject.h:
9562         * gst/gstobject.h:
9563           Add !! to _FLAG_IS_SET macros to make the result boolean.
9564
9565 2005-11-03  Edward Hervey  <edward@fluendo.com>
9566
9567         * gst/gstpad.c: (gst_pad_set_blocked_async):
9568         comparing a flag and a gboolean rarely returns coherent results...
9569         Added two characters (!!) to make that work correctly.
9570         
9571 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9572
9573         * gst/gstbus.c: (gst_bus_class_init):
9574           Fix some typos.
9575           
9576         * gst/gstqueue.c: (gst_queue_loop):
9577           Don't assume a miniobject that isn't a buffer is an
9578           event (it could be that there is a refcounting
9579           problem somewhere and the pointer is stale and
9580           refers to an already destroyed miniobject).
9581
9582 2005-11-03  Julien MOUTTE  <julien@moutte.net>
9583
9584         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
9585
9586 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9587
9588         * docs/manual/advanced-position.xml:
9589           Update seek example and explanations to current 0.9 API.
9590
9591         * gst/elements/gsttypefindelement.c:
9592         (gst_type_find_element_activate):
9593           Remove FIXME comment now that the found caps
9594           are unreffed.
9595
9596 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9597
9598         * gst/gstregistryxml.c: (load_feature):
9599           Add another GST_STR_NULL instance
9600
9601 2005-11-02  Edward Hervey  <edward@fluendo.com>
9602
9603         * gst/gstpad.c: (handle_pad_block):
9604         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
9605         
9606 2005-11-02  Wim Taymans  <wim@fluendo.com>
9607
9608         * gst/gstbin.c:
9609         Fix typo in docs.
9610
9611         * gst/gstelement.c: (gst_element_commit_state):
9612         Remove unused value.
9613
9614         * gst/gstiterator.c:
9615         Mention that the returned element is reffed in the docs.
9616
9617 2005-11-02  Wim Taymans  <wim@fluendo.com>
9618
9619         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
9620         (gst_pad_push), (gst_pad_push_event):
9621         Unlock blocked pads when they are flushed.
9622
9623 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9624
9625         * docs/README:
9626         * docs/gst/gstreamer-sections.txt:
9627         * gst/gstbin.c:
9628           doc updates
9629         * gst/gstregistry.c: (gst_registry_scan_path_level):
9630           fix for a nasty little missed situation where an installed plug-in
9631           which was in the cache did not get overridden by an uninstalled one
9632           which was earlier in the plugin path because the newly created plugin
9633           for the uninstalled one (not in the registry) didn't get its
9634           ->registered set to TRUE
9635
9636 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9637
9638         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
9639         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
9640         (gst_collectpads_is_active), (gst_collectpads_collect),
9641         (gst_collectpads_collect_range), (gst_collectpads_start),
9642         (gst_collectpads_stop), (gst_collectpads_peek),
9643         (gst_collectpads_pop), (gst_collectpads_available),
9644         (gst_collectpads_read), (gst_collectpads_flush):
9645           Guard public API with assertions.
9646         
9647         * gst/gstpad.c:
9648           Fix docs for gst_pad_set_link_function().
9649
9650 2005-11-02  Johan Dahlin  <johan@gnome.org>
9651
9652         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
9653         Unref found_caps after we used it.
9654
9655 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9656
9657         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
9658           Don't try to ref NULL.
9659
9660 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9661
9662         * win32/common/config.h.in:
9663           provide a GST_FUNCTION that just gives a string for now
9664
9665 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9666
9667         * win32/common/gstenumtypes.c: (register_gst_object_flags),
9668         (gst_object_flags_get_type), (register_gst_bin_flags),
9669         (gst_bin_flags_get_type), (register_gst_buffer_flag),
9670         (gst_buffer_flag_get_type), (register_gst_bus_flags),
9671         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
9672         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
9673         (gst_clock_return_get_type), (register_gst_clock_entry_type),
9674         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
9675         (gst_clock_flags_get_type), (register_gst_state),
9676         (gst_state_get_type), (register_gst_state_change_return),
9677         (gst_state_change_return_get_type), (register_gst_state_change),
9678         (gst_state_change_get_type), (register_gst_element_flags),
9679         (gst_element_flags_get_type), (register_gst_core_error),
9680         (gst_core_error_get_type), (register_gst_library_error),
9681         (gst_library_error_get_type), (register_gst_resource_error),
9682         (gst_resource_error_get_type), (register_gst_stream_error),
9683         (gst_stream_error_get_type), (register_gst_event_type),
9684         (gst_event_type_get_type), (register_gst_seek_type),
9685         (gst_seek_type_get_type), (register_gst_seek_flags),
9686         (gst_seek_flags_get_type), (register_gst_format),
9687         (gst_format_get_type), (register_gst_index_certainty),
9688         (gst_index_certainty_get_type), (register_gst_index_entry_type),
9689         (gst_index_entry_type_get_type),
9690         (register_gst_index_lookup_method),
9691         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
9692         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
9693         (gst_index_resolver_method_get_type), (register_gst_index_flags),
9694         (gst_index_flags_get_type), (register_gst_debug_level),
9695         (gst_debug_level_get_type), (register_gst_debug_color_flags),
9696         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
9697         (gst_iterator_result_get_type), (register_gst_iterator_item),
9698         (gst_iterator_item_get_type), (register_gst_message_type),
9699         (gst_message_type_get_type), (register_gst_mini_object_flags),
9700         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
9701         (gst_pad_link_return_get_type), (register_gst_flow_return),
9702         (gst_flow_return_get_type), (register_gst_activate_mode),
9703         (gst_activate_mode_get_type), (register_gst_pad_direction),
9704         (gst_pad_direction_get_type), (register_gst_pad_flags),
9705         (gst_pad_flags_get_type), (register_gst_pad_presence),
9706         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
9707         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
9708         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
9709         (gst_plugin_error_get_type), (register_gst_plugin_flags),
9710         (gst_plugin_flags_get_type), (register_gst_rank),
9711         (gst_rank_get_type), (register_gst_query_type),
9712         (gst_query_type_get_type), (register_gst_tag_merge_mode),
9713         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
9714         (gst_tag_flag_get_type), (register_gst_task_state),
9715         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
9716         (gst_alloc_trace_flags_get_type),
9717         (register_gst_type_find_probability),
9718         (gst_type_find_probability_get_type), (register_gst_uri_type),
9719         (gst_uri_type_get_type), (register_gst_parse_error),
9720         (gst_parse_error_get_type):
9721         * win32/common/gstversion.h:
9722           update win32 copies
9723
9724 2005-11-01  Luca Ognibene  <luogni@tin.it>
9725
9726         * gst/gst.c:
9727           fix docs. popt is dead, long live GOption.
9728
9729 2005-10-31  Wim Taymans  <wim@fluendo.com>
9730
9731         * gst/gstbuffer.h:
9732         Small doc fix.
9733
9734 2005-10-31  Andy Wingo  <wingo@pobox.com>
9735
9736         * Boo!
9737
9738         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
9739
9740         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
9741         need to serialize property notifications on GLib 2.8. GLib 2.6 has
9742         the possibility of deadlocks here if code calling notify() or
9743         set() has a lock that can be taken in another notify handler (ABBA
9744         with class lock and e.g. python GIL state lock).
9745
9746 2005-10-28  Julien MOUTTE  <julien@moutte.net>
9747
9748         * gst/gstbus.c: Doc updates.
9749
9750 2005-10-28  Wim Taymans  <wim@fluendo.com>
9751
9752         * docs/design/part-TODO.txt:
9753         * gst/gstiterator.c:
9754         * gst/gstsystemclock.c:
9755         * gst/gstsystemclock.h:
9756         Doc updates.
9757
9758 2005-10-28  Edward Hervey  <edward@fluendo.com>
9759
9760         * docs/gst/gstreamer-docs.sgml:
9761         * docs/gst/gstreamer-sections.txt:
9762         the GstURIType documentation page is private, it only defines GstURIType
9763         which should be defined in the GstURIHandler page
9764         
9765 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9766
9767         * gst/gstbin.c: (gst_bin_class_init):
9768         * gst/gstbin.h:
9769         * gst/gstutils.c:
9770         Documentation updates.
9771
9772 2005-10-28  Wim Taymans  <wim@fluendo.com>
9773
9774         * docs/gst/gstreamer-sections.txt:
9775         * gst/gstclock.c:
9776         * gst/gstclock.h:
9777         Documented the clocks.
9778
9779 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
9780
9781         * docs/gst/gstreamer-sections.txt:
9782           move some macros to private sections
9783         * gst/gstminiobject.c:
9784         * gst/gstminiobject.h:
9785           add descriptions provided by ds and some more
9786         * gst/gstpad.h:
9787           mark macro as to be removed
9788
9789 2005-10-28  Wim Taymans  <wim@fluendo.com>
9790
9791         * docs/design/part-TODO.txt:
9792         Add an item to TODO.
9793
9794         * gst/gstiterator.c: (gst_iterator_fold),
9795         (gst_iterator_find_custom):
9796         * gst/gstiterator.h:
9797         Add iterator docs.
9798
9799 2005-10-28  Wim Taymans  <wim@fluendo.com>
9800
9801         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9802         (gst_base_transform_init):
9803         Don't leak class.
9804
9805         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
9806         An EOS event marks the queue as completely filled.
9807
9808 2005-10-27  Wim Taymans  <wim@fluendo.com>
9809
9810         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9811         (gst_base_sink_do_sync), (gst_base_sink_get_position):
9812         Some more debugging.
9813
9814         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
9815         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
9816         (gst_base_transform_event), (gst_base_transform_getrange),
9817         (gst_base_transform_chain):
9818         * gst/base/gstbasetransform.h:
9819         Fix debugging,
9820         Protect transform and concurrent buffer alloc with a new lock.
9821         Try not to break ABI/API.
9822
9823 2005-10-27  Wim Taymans  <wim@fluendo.com>
9824
9825         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9826         (gst_base_src_init), (gst_base_src_query),
9827         (gst_base_src_default_newsegment),
9828         (gst_base_src_configure_segment), (gst_base_src_do_seek),
9829         (gst_base_src_send_event), (gst_base_src_event_handler),
9830         (gst_base_src_pad_get_range), (gst_base_src_loop),
9831         (gst_base_src_unlock), (gst_base_src_default_negotiate),
9832         (gst_base_src_start), (gst_base_src_deactivate),
9833         (gst_base_src_activate_push), (gst_base_src_change_state):
9834         Move some stuff around and cleanup things.
9835
9836 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
9837
9838         * gst/base/gstbasesrc.c: (gst_base_src_query):
9839           Add missing break statements.
9840
9841 2005-10-27  Wim Taymans  <wim@fluendo.com>
9842
9843         * check/gst/gstbin.c: (GST_START_TEST):
9844         An extra refcount is taken in basesrc.
9845
9846         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
9847         (gst_base_src_get_range), (gst_base_src_pad_get_range),
9848         (gst_base_src_loop):
9849         Small cleanups, check for flushing after being unlocked from the 
9850         LIVE_LOCK. take refcounts correctly (not yet everywhere).
9851         Don't send out EOS when going to READY.
9852
9853 2005-10-27  Wim Taymans  <wim@fluendo.com>
9854
9855         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9856         (gst_base_sink_get_position):
9857         Some more debug.
9858
9859         * gst/gstbin.c: (message_check), (bin_replace_message),
9860         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9861         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9862         (bin_query_duration_init), (bin_query_duration_fold),
9863         (bin_query_duration_done), (bin_query_generic_fold),
9864         (gst_bin_query):
9865         * tools/gst-launch.c: (main):
9866         Remove old option.
9867
9868 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
9869
9870         * examples/controller/audio-example.c: (main):
9871         * examples/queue/queue.c: (event_loop):
9872         * gst/base/gstbasetransform.h:
9873         * gst/gstelement.c: (gst_element_send_event):
9874         * gst/gstevent.h:
9875         * gst/gstpad.c: (gst_pad_send_event):
9876           fixing examples
9877           fixing docs typos
9878           changing log priority in error situations
9879
9880 2005-10-25  Wim Taymans  <wim@fluendo.com>
9881
9882         * gst/gstbin.c: (message_check), (bin_replace_message),
9883         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9884         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9885         (bin_query_duration_init), (bin_query_duration_fold),
9886         (bin_query_duration_done), (bin_query_generic_fold),
9887         (gst_bin_query):
9888         Some doc and debug updates.
9889         Cache previously requested query DURATION for speed. invalidate
9890         cached duration if element posts a DURATION message.
9891
9892 2005-10-25  Wim Taymans  <wim@fluendo.com>
9893
9894         * docs/design/part-TODO.txt:
9895         Update TODO.
9896
9897         * gst/gstbin.c: (message_check), (bin_replace_message),
9898         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9899         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9900         (bin_query_duration_init), (bin_query_duration_fold),
9901         (bin_query_duration_done), (bin_query_generic_fold),
9902         (gst_bin_query):
9903         Handle SEGMENT_START/DONE messages correctly.
9904         More evolved query algorithm that handles duration queries
9905         correctly.
9906
9907         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
9908         (gst_element_get_state_func), (gst_element_abort_state),
9909         (gst_element_commit_state), (gst_element_lost_state):
9910         Some more debugging.
9911
9912         * gst/gstmessage.h:
9913         Added doc.
9914
9915 2005-10-25  Wim Taymans  <wim@fluendo.com>
9916
9917         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9918         Don't use invalid stream_time.
9919
9920         * gst/gstevent.c: (gst_event_new_newsegment):
9921         stream_time in newsegment cannot be undefined.
9922
9923 2005-10-24  Wim Taymans  <wim@fluendo.com>
9924
9925         * gst/gstbus.c:
9926         Doc fix.
9927
9928         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9929         (gst_queue_loop):
9930         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
9931
9932 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
9933
9934         * docs/libs/tmpl/gstdparam.sgml:
9935         * docs/libs/tmpl/gstdplinint.sgml:
9936         * docs/libs/tmpl/gstdpman.sgml:
9937         * docs/libs/tmpl/gstdpsmooth.sgml:
9938         * docs/libs/tmpl/gstunitconvert.sgml:
9939           these are obsolete
9940
9941 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9942
9943         * configure.ac:
9944           back to HEAD
9945
9946 === release 0.9.4 ===
9947
9948 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9949
9950         * configure.ac:
9951           releasing 0.9.4, "Tyrannosaurus Rex"
9952
9953 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
9954
9955         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9956         (gst_file_sink_get_current_offset):
9957           Use fseeko() and ftello() if available. When falling back on
9958           lseek() to get the current offset, fflush() first to make sure
9959           everything is up-to-date and we get the right offset.
9960
9961 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9962
9963         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9964         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9965         * gst/gsterror.c: (_gst_stream_errors_init):
9966         * gst/gsterror.h:
9967         * gst/gstqueue.c: (gst_queue_loop):
9968         * po/POTFILES.in:
9969           remove prematurely added error category and clean up the instances
9970
9971 2005-10-21  Wim Taymans  <wim@fluendo.com>
9972
9973         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9974         (gst_base_sink_get_position), (gst_base_sink_query),
9975         (gst_base_sink_change_state):
9976         Simply set the right flag when going to playing, that's all
9977         we need to do instead of calling a function inside the object
9978         lock (that could take the lock as well and deadlock)
9979
9980 2005-10-21  Wim Taymans  <wim@fluendo.com>
9981
9982         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
9983         (gst_base_src_loop):
9984         Don't warn, the peer element knows what to do best when
9985         the seek failed, it might try something else.
9986
9987 2005-10-21  Wim Taymans  <wim@fluendo.com>
9988
9989         * gst/base/gstbasesrc.c: (gst_base_src_init),
9990         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9991         Fix seeking.
9992
9993 2005-10-21  Wim Taymans  <wim@fluendo.com>
9994
9995         * docs/design/part-segments.txt:
9996         More docs.
9997
9998         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9999         Correctly set caps, even on the subbufer.
10000
10001 2005-10-21  Wim Taymans  <wim@fluendo.com>
10002
10003         * docs/gst/gstreamer-docs.sgml:
10004         * docs/gst/gstreamer-sections.txt:
10005         * gst/gstelement.h:
10006         * gst/gstevent.c:
10007         * gst/gstevent.h:
10008         * gst/gstmessage.h:
10009         * gst/gstpad.h:
10010         * gst/gstparse.h:
10011         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
10012         * gst/gsttask.h:
10013         * gst/gstutils.c:
10014         * gst/gstutils.h:
10015         And 2% more doc coverage.
10016
10017 2005-10-21  Andy Wingo  <wingo@pobox.com>
10018
10019         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
10020         position reporting.
10021
10022 2005-10-20  Wim Taymans  <wim@fluendo.com>
10023
10024         * gst/gsterror.c: (gst_error_get_message):
10025         * gst/gstparse.h:
10026         * gst/gstquery.h:
10027         * gst/gststructure.c:
10028         * gst/gsttrace.c:
10029         * gst/gstutils.c:
10030         More docs.
10031
10032 2005-10-20  Wim Taymans  <wim@fluendo.com>
10033
10034         * gst/gstbuffer.h:
10035         * gst/gstpad.c:
10036         * gst/gstparse.c:
10037         Another 1% more coverage.
10038
10039 2005-10-20  Wim Taymans  <wim@fluendo.com>
10040
10041         * docs/gst/gstreamer-sections.txt:
10042         * gst/gstelement.c: (gst_element_get_state_func),
10043         (gst_element_abort_state), (gst_element_commit_state),
10044         (gst_element_lost_state):
10045         * gst/gstevent.h:
10046         * gst/gstquery.c: (gst_query_set_position),
10047         (gst_query_parse_position), (gst_query_set_duration),
10048         (gst_query_parse_duration), (gst_query_new_convert):
10049         * gst/gstutils.c:
10050         Yay! 1% more docs coverage.
10051
10052 2005-10-20  Wim Taymans  <wim@fluendo.com>
10053
10054         * gst/gstpad.h:
10055         * gst/gstquery.c: (gst_query_set_position),
10056         (gst_query_parse_position), (gst_query_set_duration),
10057         (gst_query_parse_duration), (gst_query_new_convert):
10058         * gst/gstquery.h:
10059         * gst/gstutils.c: (gst_element_query_convert):
10060         * gst/gstutils.h:
10061         Docs and consistency fixes.
10062
10063 2005-10-20  Wim Taymans  <wim@fluendo.com>
10064
10065         * gst/gsttask.c:
10066         * gst/gsttask.h:
10067         More docs.
10068
10069 2005-10-20  Wim Taymans  <wim@fluendo.com>
10070
10071         * gst/gstbin.c: (message_check), (bin_replace_message),
10072         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10073         (update_degree), (gst_bin_sort_iterator_next),
10074         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
10075         Reworked the message handling a bit, cache the messages instead of
10076         only the senders. alows us to do more in the future.
10077
10078 2005-10-20  Wim Taymans  <wim@fluendo.com>
10079
10080         * docs/design/part-TODO.txt:
10081         Update TODO
10082
10083         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10084         (gst_base_sink_query):
10085         Don't use clock time to report position when in EOS.
10086
10087 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
10088
10089         * tools/gst-inspect.c: (print_interfaces),
10090         (print_element_properties_info), (print_element_info):
10091           Fix interface output with gst-inspect -a; don't print
10092           newlines after double/float properties.
10093
10094 2005-10-20  Wim Taymans  <wim@fluendo.com>
10095
10096         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10097         (gst_base_sink_query):
10098         Speed up current position calculation.
10099
10100         * gst/base/gstbasesrc.c: (gst_base_src_query),
10101         (gst_base_src_default_newsegment):
10102         Correctly set stream position in newsegment.
10103
10104         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
10105         (update_degree), (gst_bin_sort_iterator_next),
10106         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
10107         * gst/gstmessage.c: (gst_message_new_custom):
10108         Clean up debugging info
10109
10110         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10111         (gst_queue_loop), (gst_queue_handle_src_query):
10112         Pause task faster.
10113
10114 2005-10-19  Wim Taymans  <wim@fluendo.com>
10115
10116         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10117         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10118         Fix query handling again.
10119
10120 2005-10-19  Wim Taymans  <wim@fluendo.com>
10121
10122         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10123         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10124         * gst/base/gstbasesrc.c: (gst_base_src_query):
10125         * gst/elements/gstfilesink.c: (gst_file_sink_query):
10126         * gst/elements/gsttypefindelement.c:
10127         (gst_type_find_handle_src_query), (find_element_get_length),
10128         (gst_type_find_element_activate):
10129         API change fix.
10130
10131         * gst/gstquery.c: (gst_query_new_position),
10132         (gst_query_set_position), (gst_query_parse_position),
10133         (gst_query_new_duration), (gst_query_set_duration),
10134         (gst_query_parse_duration), (gst_query_set_segment),
10135         (gst_query_parse_segment):
10136         * gst/gstquery.h:
10137         Bundling query position/duration is not a good idea since duration
10138         does not change much and we don't want to recalculate it for every
10139         position query, so they are separated again..
10140         Base value in segment query is not needed.
10141
10142         * gst/gstqueue.c: (gst_queue_handle_src_query):
10143         * gst/gstutils.c: (gst_element_query_position),
10144         (gst_element_query_duration), (gst_pad_query_position),
10145         (gst_pad_query_duration):
10146         * gst/gstutils.h:
10147         Updates for query API change.
10148         Added some docs here and there.
10149
10150 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10151
10152         * check/gst/gstbin.c: (GST_START_TEST):
10153         * check/gst/gstghostpad.c: (GST_START_TEST):
10154         * check/pipelines/cleanup.c: (GST_START_TEST):
10155           wait on thread to die so we can check refcount correctly
10156
10157 2005-10-18  Wim Taymans  <wim@fluendo.com>
10158
10159         * check/pipelines/stress.c: (GST_START_TEST):
10160         Make check a little more time consuming.
10161
10162 2005-10-18  Wim Taymans  <wim@fluendo.com>
10163
10164         * check/Makefile.am:
10165         * check/pipelines/stress.c: (GST_START_TEST),
10166         (simple_launch_lines_suite), (main):
10167         Small state change torture test.
10168
10169         * docs/design/part-states.txt:
10170         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10171         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10172         (gst_base_sink_change_state):
10173         Never take state lock from streaming thread, clean up ugly
10174         hacks. Unfortunatly core does not yet support nice ways to
10175         async commit state.
10176         
10177         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10178         (bin_bus_handler):
10179         Start state recalc if a STATE_DIRTY message is posted, but only
10180         on the toplevel bin.
10181
10182         * gst/gstelement.c: (gst_element_sync_state_with_parent),
10183         (gst_element_get_state_func), (gst_element_abort_state),
10184         (gst_element_commit_state), (gst_element_lost_state),
10185         (gst_element_set_state_func), (gst_element_change_state):
10186         * gst/gstelement.h:
10187         State variables are now protected with the LOCK, the state
10188         lock is only used to serialize _set_state().
10189
10190 2005-10-18  Wim Taymans  <wim@fluendo.com>
10191
10192         * check/gst/gstbin.c: (GST_START_TEST):
10193         * check/gst/gstmessage.c: (GST_START_TEST):
10194         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10195         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10196         (bin_bus_handler):
10197         * gst/gstelement.c: (gst_element_abort_state),
10198         (gst_element_commit_state), (gst_element_lost_state):
10199         * gst/gstmessage.c: (gst_message_new_state_changed),
10200         (gst_message_new_state_dirty), (gst_message_new_segment_start),
10201         (gst_message_new_segment_done), (gst_message_new_duration),
10202         (gst_message_parse_state_changed),
10203         (gst_message_parse_segment_start),
10204         (gst_message_parse_segment_done), (gst_message_parse_duration):
10205         * gst/gstmessage.h:
10206         * tools/gst-launch.c: (event_loop):
10207         Seriously, this is better than a previous commit as we only need
10208         to notify the fact that an element changed state in a streaming
10209         thread, marking the state of the parents dirty, hence the 
10210         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10211         message.
10212
10213 2005-10-18  Wim Taymans  <wim@fluendo.com>
10214
10215         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10216         (gst_bin_recalc_func):
10217         * gst/gstelement.c: (gst_element_set_clock),
10218         (gst_element_abort_state), (gst_element_lost_state):
10219         Cleanups, prepare for state change fixes.
10220
10221 2005-10-18  Wim Taymans  <wim@fluendo.com>
10222
10223         * gst/gstbin.h:
10224         * gst/gstelement.c: (gst_element_class_init),
10225         (gst_element_set_state), (gst_element_set_state_func):
10226         * gst/gstelement.h:
10227         Pending ABI changes.
10228         GThreadPool in GstBinClass to monitor async state changes.
10229         state_cookie in GstElement to detect concurrent gst/set state.
10230         set_state is now virtual too in case a very complicated element
10231         has to be constructed.
10232
10233 2005-10-18  Wim Taymans  <wim@fluendo.com>
10234
10235         * check/gst/gstbin.c: (GST_START_TEST):
10236         * check/gst/gstmessage.c: (GST_START_TEST):
10237         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10238         * gst/gstbin.c: (bin_bus_handler):
10239         * gst/gstelement.c: (gst_element_commit_state),
10240         (gst_element_lost_state):
10241         * gst/gstmessage.c: (gst_message_new_state_changed),
10242         (gst_message_new_segment_start), (gst_message_new_segment_done),
10243         (gst_message_new_duration), (gst_message_parse_state_changed),
10244         (gst_message_parse_segment_start),
10245         (gst_message_parse_segment_done), (gst_message_parse_duration):
10246         * gst/gstmessage.h:
10247         * tools/gst-launch.c: (event_loop):
10248         Make messages future proof.
10249         state-change gets a flag if it was a message comming from the
10250         streaming thread.
10251         segment-start/stop can also be specified in other formats.
10252         A message to notify an app that a pipeline changed playback 
10253         duration.
10254         Also fix a GstMessage leak in -launch
10255
10256 2005-10-18  Andy Wingo  <wingo@pobox.com>
10257
10258         * gst/gstelement.c (gst_element_dispose): More helpful message.
10259
10260 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10261
10262         reviewed by: <delete if not using a buddy>
10263
10264         * common/gtk-doc.mak:
10265
10266 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10267
10268         * gst/gstregistry.c: (gst_registry_scan_path_level):
10269           unref a plug-in we get that was already initialized
10270
10271 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10272
10273         * docs/gst/gstreamer-sections.txt:
10274         * docs/libs/gstreamer-libs-sections.txt:
10275         * gst/gstelement.h:
10276           add new api entries
10277           hide internal macro
10278
10279 2005-10-17  Andy Wingo  <wingo@pobox.com>
10280
10281         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10282         cleanup.
10283
10284         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10285
10286         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10287
10288         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10289         (gst_element_get_state_func): Better debug message.
10290         (gst_element_commit_state): s/INFO/DEBUG/.
10291         (gst_element_lost_state, gst_element_change_state): 
10292
10293         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10294         (gst_message_new_custom): s/INFO/LOG/.
10295
10296 2005-10-17  Michael Smith <msmith@fluendo.com>
10297
10298         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10299           Check if end time is valid using end time, not start time.
10300
10301 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10302
10303         * check/gst-libs/controller.c: (GST_START_TEST),
10304         (gst_controller_suite):
10305         * libs/gst/controller/gstcontroller.c:
10306         (gst_controlled_property_set_interpolation_mode):
10307         * libs/gst/controller/gstcontroller.h:
10308         * libs/gst/controller/gstinterpolation.c:
10309         * testsuite/controller/.cvsignore:
10310         * testsuite/controller/Makefile.am:
10311         * testsuite/controller/interpolator.c:
10312           merge controller testsuites
10313           fix broken tests
10314           remove mem-chunk from docs
10315
10316 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10317
10318         * gst/gstmemchunk.c:
10319         * gst/gstmemchunk.h:
10320         * gst/gsttrashstack.c:
10321         * gst/gsttrashstack.h:
10322           out.  get out.  you're fired.  to the Attic !
10323
10324 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10325
10326         * gst/gstcaps.c: (gst_caps_intersect):
10327           fix signedness issues in a (hopefully) correct way
10328         * gst/gstelement.c: (gst_element_pads_activate):
10329           some debugging
10330         * gst/gstobject.c: (gst_object_set_parent):
10331           some debugging
10332
10333 2005-10-17  Julien MOUTTE  <julien@moutte.net>
10334
10335         * gst/gstvalue.h: Fix prototypes.
10336
10337 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10338
10339         * docs/gst/gstreamer-sections.txt:
10340         * gst/gst.c: (gst_version_string):
10341         * gst/gst.h:
10342         * gst/gstversion.h.in:
10343         * win32/common/libgstreamer.def:
10344           add gst_version_string ()
10345
10346 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10347
10348         * configure.ac:
10349           clean up further
10350         * gst/gst.c: (init_post):
10351         * win32/common/config.h.in:
10352           it's PLUGINDIR now
10353         * gst/gstcaps.c: (gst_caps_intersect):
10354           use gint64, the range could be bigger than a guint
10355
10356 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10357
10358         * gst/gstclock.h:
10359           document potential problem in 2038
10360
10361 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10362
10363         * gst/gstcaps.c: (gst_caps_intersect):
10364           Fix guint j diving under 0
10365
10366 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10367
10368         * configure.ac:
10369         * win32/common/config.h:
10370         * win32/common/config.h.in:
10371           check for process.h, declares getpid() on Windows
10372         * gst/gstinfo.c:
10373           include process.h if we have it
10374         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10375         * gst/gstmemchunk.h:
10376           fix signedness issues
10377         * win32/common/libgstreamer.def:
10378           fix get_type's
10379
10380 2005-10-16  Julien MOUTTE  <julien@moutte.net>
10381
10382         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
10383         fix. Because of unsigned ints, caps intersection was going nuts and
10384         trying to access structures with G_MAXUINT index. That fixes
10385         videotestsrc ! ffmpegcolorspace ! fakesink
10386         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
10387         consistency.
10388
10389 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10390
10391         * configure.ac:
10392           use the gettext macro
10393         * gst/elements/gstelements.c:
10394         * gst/gst.c:
10395         * gst/indexers/gstindexers.c:
10396           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
10397         * win32/common/config.h:
10398           updated config.h
10399         * win32/common/config.h.in:
10400           add the template to generate config.h
10401         * win32/common/gstenumtypes.c:
10402         * win32/common/gstversion.h:
10403           updated copies
10404
10405 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10406
10407         * gst/gst.c: (gst_version):
10408         * gst/gstversion.h.in:
10409           add the nano
10410
10411 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10412
10413         * gst/gstevent.h:
10414           Oops, add missing closing bracket.
10415
10416 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10417
10418         * configure.ac:
10419           use common m4's for argument checking
10420
10421 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10422
10423         * docs/gst/gstreamer-sections.txt:
10424         * gst/gstevent.h:
10425           Add GST_EVENT_TYPE_NAME() macro.
10426
10427 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10428
10429         * gst/gstinfo.c:
10430         * gst/gstpluginfeature.c:
10431         * gst/gsttask.c:
10432           privatize more symbols
10433
10434 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10435
10436         * configure.ac:
10437           add srcdir, builddir includes to GST_ALL_CFLAGS, since
10438           everything that uses GStreamer API should have the includes
10439
10440 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10441
10442         * docs/gst/gstreamer-sections.txt:
10443         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10444         * gst/gstvalue.h:
10445           give each value a _get_type, removes the DATA exports
10446
10447 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10448
10449         * gst/gst.c:
10450         * gst/gst.h:
10451           remove _gst_registry_auto_load, not used anymore
10452         * gst/gstbin.c: (gst_bin_get_type):
10453         * gst/gstbin.h:
10454         * gst/gstelement.c: (gst_element_get_type):
10455         * gst/gstelement.h:
10456         * gst/gstobject.c: (gst_object_get_type):
10457         * gst/gstobject.h:
10458         * gst/gstpad.c: (gst_pad_get_type):
10459         * gst/gstpad.h:
10460           make _get_type functions similar, fixes data export from library
10461
10462 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10463
10464         * configure.ac:
10465           correctly make conditionals
10466         * gst/elements/Makefile.am:
10467         * gst/elements/gstelements.c:
10468           fix typo causing fdsrc not to build
10469
10470 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10471
10472         * testsuite/Makefile.am:
10473         * testsuite/bytestream/.cvsignore:
10474         * testsuite/bytestream/Makefile.am:
10475         * testsuite/bytestream/filepadsink.c:
10476         * testsuite/bytestream/gstbstest.c:
10477         * testsuite/bytestream/test1.c:
10478         * testsuite/bytestream/testfile1:
10479         * testsuite/caps/normalisation.c:
10480         * testsuite/caps/random.c: (main):
10481         * testsuite/cleanup/.cvsignore:
10482         * testsuite/cleanup/Makefile.am:
10483         * testsuite/cleanup/cleanup1.c:
10484         * testsuite/cleanup/cleanup2.c:
10485         * testsuite/cleanup/cleanup3.c:
10486         * testsuite/cleanup/cleanup4.c:
10487         * testsuite/cleanup/cleanup5.c:
10488         * testsuite/controller/interpolator.c:
10489         * testsuite/debug/printf_extension.c: (main):
10490         * testsuite/elements/tee.c:
10491         * testsuite/negotiation/.cvsignore:
10492         * testsuite/negotiation/Makefile.am:
10493         * testsuite/negotiation/pad_link.c:
10494         * testsuite/pad/Makefile.am:
10495         * testsuite/pad/chainnopull.c:
10496         * testsuite/pad/getnopush.c:
10497         * testsuite/pad/link.c:
10498         * testsuite/refcounting/sched.c: (create_pipeline):
10499         * testsuite/registry/Makefile.am:
10500         * testsuite/registry/gst-print-formats.c:
10501         * testsuite/schedulers/.cvsignore:
10502         * testsuite/schedulers/142183-2.c:
10503         * testsuite/schedulers/142183.c:
10504         * testsuite/schedulers/143777-2.c:
10505         * testsuite/schedulers/143777.c:
10506         * testsuite/schedulers/147713.c:
10507         * testsuite/schedulers/147819.c:
10508         * testsuite/schedulers/147894-2.c:
10509         * testsuite/schedulers/147894.c:
10510         * testsuite/schedulers/Makefile.am:
10511         * testsuite/schedulers/group_link.c:
10512         * testsuite/schedulers/queue_link.c:
10513         * testsuite/schedulers/relink.c:
10514         * testsuite/schedulers/unlink.c:
10515         * testsuite/schedulers/unref.c:
10516         * testsuite/schedulers/useless_iteration.c:
10517         * testsuite/states/bin.c:
10518           clean out/remove some stuff from the testsuite directories
10519
10520 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10521
10522         * configure.ac:
10523           check for some headers
10524         * gst/elements/Makefile.am:
10525         * gst/elements/gstelements.c:
10526           don't compile fdsrc without sys/socket.h
10527         * gst/indexers/Makefile.am:
10528         * gst/indexers/gstindexers.c: (plugin_init):
10529           don't compile fileindex without mmap
10530
10531 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10532
10533         * configure.ac:
10534           reorganize
10535           clean up
10536           document more
10537           remove cruft
10538         * check/Makefile.am:
10539         * docs/gst/Makefile.am:
10540         * examples/helloworld/Makefile.am:
10541         * gst/Makefile.am:
10542         * gst/base/Makefile.am:
10543         * gst/check/Makefile.am:
10544         * gst/elements/Makefile.am:
10545         * gst/indexers/Makefile.am:
10546         * gst/parse/Makefile.am:
10547         * libs/gst/controller/Makefile.am:
10548         * libs/gst/dataprotocol/Makefile.am:
10549         * examples/helloworld/helloworld.c: (event_loop):
10550           compile fixes, though it's not being compiled currently
10551
10552 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10553
10554         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
10555           Add some simple tests for the new taglist date API.
10556
10557 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10558
10559         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
10560         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
10561           Beautify 'last-message' output: print 'none' for buffer timestamps
10562           and durations if none is set; improve alignment with next messages.
10563
10564 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10565
10566         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
10567         * gst/gstpluginfeature.h:
10568         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
10569         * gst/gstregistry.h:
10570         * docs/gst/gstreamer-sections.txt:
10571           Add new API to check plugin feature version requirements.
10572
10573         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
10574           Some basic tests for the above.         
10575
10576 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10577
10578         * gst/gststructure.c: (gst_structure_to_string):
10579           guard against NULL printf - happens when for example
10580           a message structure with GstClock gets serialized
10581
10582 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10583
10584         * gst/base/gstcollectpads.c: (gst_collectpads_event):
10585           Fix presumable copy'n'pasto.
10586
10587 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10588
10589         * gst/elements/gstfakesrc.h:
10590         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
10591         * gst/elements/gsttypefindelement.c:
10592           fix some signedness
10593         * gst/elements/gstfilesink.c: (gst_file_sink_render):
10594           I wonder if this could actually write +2GB files before
10595
10596 2005-10-13  Andy Wingo  <wingo@pobox.com>
10597
10598         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
10599         Fix Timmeke Waymans bug.
10600         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
10601         string of the proper length to gst_caps_from_string. There's a
10602         potential for, before this fix, that this could cause someone
10603         connecting over the network to cause a segfault if the payload is
10604         not NUL-terminated.
10605
10606 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10607
10608         * docs/design/draft-push-pull.txt:
10609         * docs/design/part-overview.txt:
10610         * docs/random/TODO-pre-0.9:
10611         * docs/random/old/ChangeLog.gstreamer:
10612         * gst/base/gstpushsrc.c:
10613         * gst/gstclock.c:
10614           fixed typos
10615
10616 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10617
10618         * gst/glib-compat.c: (gst_flags_get_first_value):
10619         * gst/glib-compat.h:
10620         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
10621         (gst_value_compare_double), (gst_value_serialize_flags):
10622           GLib 2.6 g_flags_get_first_value has a bug that triggers an
10623           infinite loop
10624
10625 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10626
10627         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10628         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10629           fix up debugging
10630         * tools/gst-launch.c: (event_loop):
10631           print out clock nicely
10632
10633 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10634
10635         * docs/gst/gstreamer-sections.txt:
10636         * gst/gsttaglist.h:
10637         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
10638         (gst_tag_list_get_date_index):
10639           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
10640           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
10641
10642 2005-10-13  Julien MOUTTE  <julien@moutte.net>
10643
10644         * gst/base/gstcollectpads.c: (gst_collectpads_event),
10645         (gst_collectpads_chain):
10646         * gst/base/gstcollectpads.h: Handle newsegment and store informations
10647         in CollectData.
10648
10649 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10650
10651         * docs/gst/gstreamer-sections.txt:
10652         * gst/gst.c:
10653         * gst/gsterror.h:
10654         * tools/gst-inspect.c: (main):
10655         * tools/gst-launch.c: (main):
10656         * tools/gst-run.c: (main):
10657         * tools/gst-xmlinspect.c: (main):
10658           fix GOption context leaks
10659           doc fixes
10660
10661 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10662
10663         * gst/gstbus.c:
10664           use HAVE_UNISTD_H
10665         * win32/common/config.h:
10666           update config
10667         * win32/vs6/grammar.dsp:
10668         * win32/vs6/libgstelements.dsp:
10669         * win32/vs6/libgstreamer.dsp:
10670           update vs6 files
10671
10672 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10673
10674         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10675         * gst/base/gstbasesrc.c: (gst_base_src_query):
10676           fix more guint64<->gdouble conversions
10677
10678 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10679
10680         * Makefile.am:
10681           add win32-update target
10682         * win32/common/gstconfig.h:
10683         * win32/common/gstenumtypes.c:
10684         * win32/common/gstenumtypes.h:
10685         * win32/common/gstversion.h:
10686           add files that visual studio can't generate
10687
10688 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10689
10690         * Makefile.am:
10691           add a win32-update target
10692         * configure.ac:
10693
10694 2005-10-12  Wim Taymans  <wim@fluendo.com>
10695
10696         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10697         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
10698         * gst/gstelement.c: (gst_element_commit_state),
10699         (gst_element_set_state):
10700         Protect flags with proper lock.
10701         unref provided cached clock in dispose.
10702
10703 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10704
10705         * gst/gst.c:
10706         * gst/gstminiobject.h:
10707         * gst/gstpad.h:
10708         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
10709           removed unused flags from miniobject
10710           doc fixes
10711
10712 2005-10-12  Wim Taymans  <wim@fluendo.com>
10713
10714         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10715         (gst_file_sink_event), (gst_file_sink_render):
10716         Flush before seeking.
10717
10718 2005-10-12  Andy Wingo  <wingo@pobox.com>
10719
10720         * gst/gst.c (gst_init_check): Ignore unknown options, as has
10721         always been the case.
10722
10723 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10724
10725         * check/gst/gstbin.c: (GST_START_TEST):
10726         * docs/gst/gstreamer-sections.txt:
10727         * gst/base/gstbasesink.c: (gst_base_sink_init):
10728         * gst/base/gstbasesrc.c: (gst_base_src_init),
10729         (gst_base_src_get_range), (gst_base_src_check_get_range),
10730         (gst_base_src_start), (gst_base_src_stop):
10731         * gst/base/gstbasesrc.h:
10732         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
10733         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10734         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
10735         (bin_bus_handler):
10736         * gst/gstbin.h:
10737         * gst/gstbuffer.h:
10738         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
10739         * gst/gstbus.h:
10740         * gst/gstelement.c: (gst_element_is_locked_state),
10741         (gst_element_set_locked_state), (gst_element_commit_state),
10742         (gst_element_set_state):
10743         * gst/gstelement.h:
10744         * gst/gstindex.c: (gst_index_init):
10745         * gst/gstindex.h:
10746         * gst/gstminiobject.h:
10747         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
10748         (gst_object_set_parent):
10749         * gst/gstobject.h:
10750         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
10751         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
10752         * gst/gstpad.h:
10753         * gst/gstpadtemplate.h:
10754         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
10755         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10756         * gst/gstpipeline.h:
10757         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10758         (gst_file_index_commit):
10759         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
10760         * testsuite/pad/link.c: (gst_test_src_init),
10761         (gst_test_filter_init), (gst_test_sink_init):
10762         * testsuite/states/locked.c: (main):
10763           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
10764           moved bitshift from macro to enum definition
10765
10766 2005-10-12  Wim Taymans  <wim@fluendo.com>
10767
10768         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
10769         * gst/elements/gstfilesink.c: (gst_file_sink_event),
10770         (gst_file_sink_render):
10771         Some more debugging info.
10772
10773 2005-10-12  Wim Taymans  <wim@fluendo.com>
10774
10775         * docs/design/part-states.txt:
10776         * tools/gst-launch.c: (main):
10777         Some doc updates.
10778         Revert non-intentional change.
10779
10780 2005-10-12  Wim Taymans  <wim@fluendo.com>
10781
10782         * check/gst/gstbin.c: (GST_START_TEST):
10783         * check/gst/gstelement.c: (GST_START_TEST):
10784         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
10785         * check/gst/gstghostpad.c: (GST_START_TEST):
10786         * check/gst/gstpipeline.c: (GST_START_TEST):
10787         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10788         * check/states/sinks.c: (GST_START_TEST):
10789         * gst/elements/gsttypefindelement.c: (stop_typefinding):
10790         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10791         (gst_bin_remove_func), (gst_bin_get_state_func),
10792         (gst_bin_recalc_state), (gst_bin_change_state_func),
10793         (bin_bus_handler):
10794         * gst/gstelement.c: (gst_element_get_state_func),
10795         (gst_element_get_state), (gst_element_abort_state),
10796         (gst_element_commit_state), (gst_element_set_state),
10797         (gst_element_change_state), (gst_element_change_state_func):
10798         * gst/gstelement.h:
10799         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
10800         (gst_pipeline_provide_clock_func):
10801         * gst/gstutils.c: (gst_element_link_pads_filtered):
10802         * tools/gst-launch.c: (main):
10803         * tools/gst-typefind.c: (main):
10804         Use GstClockTime in _get_state() instead of GTimeVal.
10805         Remove old code in gstutils.c
10806
10807 2005-10-12  Andy Wingo  <wingo@pobox.com>
10808
10809         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
10810         removed.
10811
10812         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
10813         there is no task. Shouldn't affect any code, as nothing in our
10814         plugins checks this return value.
10815         (gst_pad_stop_task): Also take the stream lock if the pad has no
10816         task. Docs updated.
10817
10818 2005-10-12  Wim Taymans  <wim@fluendo.com>
10819
10820         * gst/gstpad.c: (pre_activate), (post_activate),
10821         (gst_pad_activate_pull), (gst_pad_activate_push):
10822         Cleanup activation code. Reset old state if
10823         activation failed.
10824
10825 2005-10-12  Wim Taymans  <wim@fluendo.com>
10826
10827         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10828         (gst_base_sink_change_state):
10829         No need to prerol after receiving EOS.
10830
10831         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10832         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
10833         * gst/elements/gstidentity.c: (gst_identity_event):
10834         Print events more verbosely.
10835
10836 2005-10-12  Wim Taymans  <wim@fluendo.com>
10837
10838         * check/Makefile.am:
10839         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10840         * check/states/sinks2.c:
10841         Moved sinks2 testcode in sinks check.
10842
10843         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10844         (gst_bin_remove_func), (gst_bin_recalc_state),
10845         (gst_bin_change_state_func), (bin_bus_handler):
10846         Fix potential race condition when _get_state() iterated over an
10847         ASYNC element right before it posted a state completion.
10848
10849         * gst/gstclock.h:
10850         Do proper cast here.
10851
10852         * gst/gstevent.c: (gst_event_new_newsegment),
10853         (gst_event_parse_newsegment):
10854         A playback rate of 0.0 is not allowed.
10855
10856 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10857
10858         * win32/common/config.h:
10859         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10860         (_trewinddir), (_ttelldir), (_tseekdir):
10861         * win32/common/dirent.h:
10862         * win32/common/gtchar.h:
10863         * win32/common/libgstbase.def:
10864         * win32/common/libgstreamer.def:
10865         * win32/vs6/grammar.dsp:
10866         * win32/vs6/gst_inspect.dsp:
10867         * win32/vs6/gst_launch.dsp:
10868         * win32/vs6/gstreamer.dsw:
10869         * win32/vs6/libgstbase.dsp:
10870         * win32/vs6/libgstelements.dsp:
10871         * win32/vs6/libgstreamer.dsp:
10872           Visual Studio 6 project files, and a new common directory.
10873           Phear.
10874
10875 2005-10-11  Wim Taymans  <wim@fluendo.com>
10876
10877         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10878         (gst_base_sink_do_sync), (gst_base_sink_query),
10879         (gst_base_sink_change_state):
10880         * gst/base/gstbasesink.h:
10881         Correctly parse newsegment info.
10882
10883 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10884
10885         * gst/gst.c: (init_post):
10886           split plugin paths correctly
10887
10888 2005-10-11  Wim Taymans  <wim@fluendo.com>
10889
10890         * check/gst/gstevent.c: (GST_START_TEST):
10891         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10892         (gst_base_sink_change_state):
10893         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
10894         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10895         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10896         * gst/gstevent.c: (gst_event_new_newsegment),
10897         (gst_event_parse_newsegment):
10898         * gst/gstevent.h:
10899         Added extra flag to newsegment for future API freeze.
10900         Updated check and base elements.
10901
10902 2005-10-11  Julien MOUTTE  <julien@moutte.net>
10903
10904         * gst/base/gstcollectpads.c: (gst_collectpads_init),
10905         (gst_collectpads_add_pad), (gst_collectpads_pop),
10906         (gst_collectpads_event), (gst_collectpads_chain):
10907         * gst/base/gstcollectpads.h: Handle EOS correctly.
10908
10909 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10910
10911         * tools/gst-launch.c: (main):
10912           more null protecting
10913
10914 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10915
10916         * gst/gst-i18n-lib.h:
10917           check for ENABLE_NLS, not GETTEXT_PACKAGE
10918         * gst/gstregistry.c: (gst_registry_add_plugin),
10919         (gst_registry_scan_path_level),
10920         (_gst_registry_remove_cache_plugins):
10921           protect possibly NULL strings
10922         * gst/parse/types.h:
10923           config.h already included before
10924         * tools/gst-inspect.c: (main):
10925           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
10926           check for ENABLE_NLS, not GETTEXT_PACKAGE
10927         * tools/gst-launch.c: (main):
10928           check for ENABLE_NLS, not GETTEXT_PACKAGE
10929
10930 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10931
10932         * configure.ac:
10933           if we don't have glib, fail before testing 2.8
10934         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
10935           fix a leak, should fix plugins-base testsuite
10936
10937 2005-10-11  Andy Wingo  <wingo@pobox.com>
10938
10939         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
10940         take the mode we're going to as an arg. Go head and set the mode
10941         and flushing flags now, so that if the activate function starts a
10942         thread all the flags will be in the right state.
10943         (post_activate): Renamed also. Just handle making sure streaming
10944         finishes for the deactivation case, and setting the deactivated
10945         mode.
10946         (gst_pad_set_active): Complain loudly if deactivation fails.
10947         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
10948         (gst_pad_activate_push): Adapt to pre/post_activate changes,
10949         remove the terrible hack.
10950
10951 2005-10-11  Wim Taymans  <wim@fluendo.com>
10952
10953         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10954         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
10955         (gst_bin_recalc_state), (gst_bin_change_state_func),
10956         (gst_bin_dispose), (bin_bus_handler):
10957         * gst/gstbin.h:
10958         Prepare to make current EOS message queue more generic.
10959         Fix some typos.
10960
10961         * gst/gstevent.c: (gst_event_new_newsegment),
10962         (gst_event_parse_newsegment):
10963         * gst/gstevent.h:
10964         Rename base to stream_time.
10965
10966         * gst/gstmessage.h:
10967         Fix typo in docs.
10968
10969 2005-10-11  Wim Taymans  <wim@fluendo.com>
10970
10971         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10972         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
10973         (gst_bin_change_state_func), (bin_bus_handler):
10974         * gst/gstbin.h:
10975         Work on proper clock selection.
10976
10977 2005-10-11  Edward Hervey  <edward@fluendo.com>
10978
10979         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
10980         * libs/gst/controller/gstcontroller.h:
10981         Added GList* version of _remove_properties() in order to be able to wrap
10982         it in bindings.
10983
10984 2005-10-11  Wim Taymans  <wim@fluendo.com>
10985
10986         * docs/design/part-states.txt:
10987         Some more docs.
10988
10989         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
10990         (gst_bin_change_state_func), (bin_bus_handler):
10991         Doc updates. Don't distribute the same clock over and over again.
10992
10993         * gst/gstclock.c:
10994         * gst/gstclock.h:
10995         Doc updates.
10996
10997         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
10998         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
10999         (gst_pad_send_event):
11000         * gst/gstpad.h:
11001         Make probe emission threadsafe again.
11002         Register quarks and move _get_name() from utils.
11003         Doc updates.
11004
11005         * gst/gstpipeline.c: (gst_pipeline_class_init),
11006         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11007         Only redistribute the clock of it changed.
11008
11009         * gst/gstsystemclock.h:
11010         Doc updates. 
11011
11012         * gst/gstutils.c:
11013         * gst/gstutils.h:
11014         Moved the _flow_get_name() to GstPad.
11015
11016 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11017
11018         * check/gst-libs/gdp.c: (GST_START_TEST):
11019         * check/gst/gstcaps.c: (GST_START_TEST):
11020         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
11021         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
11022         (gst_dp_packet_from_caps):
11023           fix more valgrind warnings before turning up the heat
11024
11025 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11026
11027         * gst/parse/grammar.y:
11028           some cleanup before the hacking
11029
11030 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11031
11032         * gst/base/gstbasesrc.c: (gst_base_src_query):
11033           use conversions
11034         * gst/gstutils.c: (gst_guint64_to_gdouble),
11035         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
11036         * gst/gstutils.h:
11037           externalize, basesrc uses it
11038           obviously the implementation needs testing
11039
11040 2005-10-10  Wim Taymans  <wim@fluendo.com>
11041
11042         * tests/sched/Makefile.am:
11043         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
11044         (make_pipeline3), (make_pipeline4), (print_elem), (main):
11045
11046 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11047
11048         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
11049           apparently converting from guint64 to double is not implemented
11050           on MSVC
11051
11052 2005-10-10  Wim Taymans  <wim@fluendo.com>
11053
11054         * check/Makefile.am:
11055         * check/generic/states.c: (GST_START_TEST):
11056         * check/gst/gstbin.c: (GST_START_TEST):
11057         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11058         * check/states/sinks.c: (GST_START_TEST):
11059         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
11060         (main):
11061         Check fixes, use API as stated in design docs, remove hacks.
11062
11063         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11064         (gst_base_sink_change_state):
11065         Catch stopping our task while we're shutting down.
11066
11067         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
11068         (gst_bin_remove_func), (gst_bin_get_state_func),
11069         (gst_bin_recalc_state), (gst_bin_change_state_func),
11070         (bin_bus_handler):
11071         * gst/gstbin.h:
11072         * gst/gstelement.c: (gst_element_init),
11073         (gst_element_get_state_func), (gst_element_abort_state),
11074         (gst_element_commit_state), (gst_element_lost_state),
11075         (gst_element_set_state), (gst_element_change_state),
11076         (gst_element_change_state_func):
11077         * gst/gstelement.h:
11078         New state change algorithm (see #318116)
11079
11080         * gst/gstpipeline.c: (gst_pipeline_class_init),
11081         (gst_pipeline_init), (gst_pipeline_set_property),
11082         (gst_pipeline_get_property), (do_pipeline_seek),
11083         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11084         * gst/gstpipeline.h:
11085         Remove crude state change hacks.
11086
11087         * gst/gstutils.h:
11088         Remove crude hacks.
11089
11090         * tools/gst-launch.c: (main):
11091         Fixes for state change. Needs some more work to fully use the
11092         new stuff.
11093
11094 2005-10-10  Andy Wingo  <wingo@pobox.com>
11095
11096         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
11097
11098         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
11099         this flag, but it's not even in GLib 2.6. Odd. Hack around the
11100         issue.
11101
11102 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11103
11104         * gst/gstiterator.c: (gst_iterator_new):
11105           Fix my previous commit: GTypes passed to gst_iterator_new()
11106           can be fundamental types.
11107
11108 2005-10-10  Wim Taymans  <wim@fluendo.com>
11109
11110         * gst/gstelement.c: (gst_element_iterate_pad_list),
11111         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
11112         (gst_element_iterate_sink_pads):
11113         Use src/sink pads lists for the respective iterators instead
11114         of filtering.
11115
11116 2005-10-10  Andy Wingo  <wingo@pobox.com>
11117
11118         Merged in popt removal + GOption addition patch from Ronald, bug
11119         #169772.
11120
11121         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
11122         GstElement macros around, remove popt-related symbols, add goption
11123         stuff.
11124
11125         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
11126         
11127         * docs/gst/Makefile.am:
11128         * docs/libs/Makefile.am: No POPT_CFLAGS.
11129         
11130         * examples/manual/Makefile.am:
11131         * docs/manual/basics-init.xml: Doc updates with an example.
11132         
11133         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11134         (gst_init), (parse_one_option), (parse_goption_arg):
11135         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
11136         bit of hand merging and debugging to get the GOption stuff working
11137         tho.
11138         
11139         * tests/Makefile.am:
11140         * tools/Makefile.am:
11141         * tools/gst-inspect.c: (main):
11142         * tools/gst-launch.c: (main):
11143         * tools/gst-run.c: (main):
11144         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11145
11146 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11147
11148         * gst/gstiterator.c: (gst_iterator_new):
11149           Add assertions to make sure passed GType is likely to really
11150           be a GType (as the compiler won't catch it if the size and
11151           GType arguments get mixed up, see #318447).
11152
11153 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
11154
11155         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11156
11157         * gst/gstbin.c: (gst_bin_iterate_sorted):
11158           Pass GType and size arguments to gst_iterator_new() in the right
11159           order (maybe we should make _new() take the GType as first argument
11160           just like _new_list()?) (#318447).
11161           
11162
11163 2005-10-10  Wim Taymans  <wim@fluendo.com>
11164
11165         * gst/gstelement.c: (gst_element_finalize):
11166         And free the GStaticRecMutex too
11167
11168 2005-10-10  Andy Wingo  <wingo@pobox.com>
11169
11170         * gst/gstelement.c (gst_element_init, gst_element_finalize):
11171         Allocate and free the mutex properly.
11172
11173         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11174         New macros.
11175         (GstElement): The state_lock is now recursive. Rebuild your
11176         plugins, suckers. Old macros adapted.
11177
11178         * docs/gst/gstreamer-sections.txt: Doc updates.
11179
11180         * gst/gstutils.h:
11181         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
11182         (g_static_rec_cond_wait): Ported from state changes patch, while
11183         we wait on bug #317802 to be solved in a well-distributed GLib.
11184
11185         * gst/gstelement.c (gst_element_change_state_func): Renamed from
11186         gst_element_change_state, variable name changes.
11187         (gst_element_change_state): Split out of gst_element_set_state in
11188         preparation for the state change merge. Doesn't pay attention to
11189         the 'transition' argument.
11190         (gst_element_set_state): Updates, hopefully purely cosmetic.
11191         (gst_element_sync_state_with_parent): MT-safety. Ported from the
11192         state change patch.
11193         (gst_element_get_state_func): Renamed from get_state, cosmetic
11194         changes.
11195
11196 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11197
11198         * gst/elements/gstelements.c:
11199         * win32/GStreamer.vcproj:
11200         * win32/config.h:
11201         * win32/dirent.c: (_tseekdir):
11202         * win32/gst-inspect.vcproj:
11203         * win32/gst-launch.vcproj:
11204         * win32/gstconfig.h:
11205         * win32/gstelements.vcproj:
11206         * win32/gstenumtypes.c: (gst_object_flags_get_type):
11207         * win32/gstreamer.def:
11208         * win32/msvc71.sln:
11209           updates for the win32 build (patch from Sebastien Moutte)
11210
11211 2005-10-10  Andy Wingo  <wingo@pobox.com>
11212
11213         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11214         gst_bin_get_state, cleaned up (but no logic changes).
11215         (bin_element_is_sink): Comment updates.
11216         (sink_iterator_filter): Remove needless cast.
11217         (gst_bin_iterate_sinks): Doc update.
11218         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11219         cleaned up (but no logic changes).
11220
11221         * check/states/sinks.c (test_src_sink): Cleanups from the state
11222         change patch.
11223         (test_livesrc_sink): Sync on the state.
11224
11225         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11226         the state change patch.
11227
11228         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11229         change patch.
11230
11231         * check/gst/gstbin.c: Merge in some style fixes and additional
11232         checks from Wim's state change patch.
11233
11234 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11235
11236         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11237         (gst_type_find_helper):
11238           Check whether we have the requested data already in our list of
11239           cached buffers before pulling a new buffer; also make the buffer
11240           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11241
11242 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11243
11244         * gst/gstcaps.c:
11245         * gst/gstevent.c:
11246           doc updates
11247         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11248           don't use long long, it's not portable.  Replacing with
11249           gint64 seems to work; let's hope no skeletons fall out of the closet.
11250
11251 2005-10-10  Andy Wingo  <wingo@pobox.com>
11252
11253         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11254
11255 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
11256
11257         * docs/gst/gstreamer-sections.txt:
11258         * gst/gstevent.c:
11259         * gst/gstevent.h:
11260         * gst/gstinfo.c:
11261         * gst/gstinfo.h:
11262         * gst/gstmessage.c: (gst_message_parse_state_changed):
11263         * gst/gstpad.c:
11264         * gst/gstpad.h:
11265           more docs, fix compilation
11266
11267 2005-10-09  Philippe Khalaf <burger@speedy.org>
11268         * gst/gstmessage.c:
11269           Fixed a few forgotten variables on previous commit
11270
11271 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11272
11273         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11274           Fix evil typefind crasher: getrange() might return a short
11275           buffer at the end of a file, but gst_type_find_peek() must
11276           either return the full data as requested or NULL, but
11277           never a short buffer.
11278
11279 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11280
11281         * gst/gstmessage.c: (gst_message_new_state_changed),
11282         (gst_message_parse_state_changed):
11283         * gst/gstmessage.h:
11284           don't use "new", it's a C++ keyword
11285
11286 2005-10-08  Wim Taymans  <wim@fluendo.com>
11287
11288         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11289         * gst/gstelement.c: (gst_element_post_message):
11290         * gst/gstpipeline.c: (gst_pipeline_change_state):
11291         Small docs and debug updates.
11292
11293 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11294
11295         * docs/gst/gstreamer-sections.txt:
11296         * gst/gstelementfactory.c:
11297         * gst/gstevent.c:
11298         * gst/gsttaglist.c:
11299           more docs
11300
11301 2005-10-08  Wim Taymans  <wim@fluendo.com>
11302
11303         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11304         (gst_bin_dispose), (bin_bus_handler):
11305         Fix typos, add comments.
11306         Clear EOS list when going to PAUSED from any direction and do it
11307         in a threadsafe way.
11308         Get base time in a threadsafe way too.
11309         Fix confusing debug in the change_state function.
11310         Various other small cleanups.
11311         
11312         * gst/gstelement.c: (gst_element_post_message):
11313         Fix very verbose bus posting code.
11314
11315         * gst/gstpipeline.c: (gst_pipeline_class_init),
11316         (gst_pipeline_set_property), (gst_pipeline_get_property),
11317         (gst_pipeline_change_state):
11318         Small ARG_ -> PROP_ cleanup
11319
11320 2005-10-08  Wim Taymans  <wim@fluendo.com>
11321
11322         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11323         Do a less CPU demanding EOS check because we can.
11324
11325 2005-10-08  Wim Taymans  <wim@fluendo.com>
11326
11327         * libs/gst/dataprotocol/dataprotocol.c:
11328         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11329         (gst_dp_packet_from_event):
11330         * libs/gst/dataprotocol/dataprotocol.h:
11331         * libs/gst/dataprotocol/dp-private.h:
11332         It's about time we bump the version number.
11333         Since event types don't fit in the guint8 anymore describing
11334         the payload type, make payload type 16 bits wide.
11335
11336 2005-10-08  Wim Taymans  <wim@fluendo.com>
11337
11338         * docs/design/part-TODO.txt:
11339         * docs/design/part-clocks.txt:
11340         * docs/design/part-events.txt:
11341         * docs/design/part-gstbin.txt:
11342         * docs/design/part-gstelement.txt:
11343         * docs/design/part-gstpipeline.txt:
11344         * docs/design/part-live-source.txt:
11345         * docs/design/part-messages.txt:
11346         * docs/design/part-overview.txt:
11347         * docs/design/part-states.txt:
11348         Many doc updates.
11349
11350 2005-10-08  Wim Taymans  <wim@fluendo.com>
11351
11352         * gst/gstevent.c:
11353         * gst/gstevent.h:
11354         Fix event quark registration.
11355         Add some space between events so we can insert them in the
11356         right groups.
11357
11358 2005-10-08  Wim Taymans  <wim@fluendo.com>
11359
11360         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11361         (gst_base_sink_handle_buffer):
11362         Better log message.
11363
11364         * gst/gstbus.h:
11365         * gst/gstelement.h:
11366         More docs.
11367
11368         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11369         (gst_queue_set_property), (gst_queue_get_property):
11370         * gst/gstqueue.h:
11371         Remove old unused properties.
11372
11373 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11374         * docs/gst/gstreamer-sections.txt:
11375         * gst/gstmessage.c:
11376         * gst/gstmessage.h:
11377         * gst/gstminiobject.c:
11378         * gst/gstminiobject.h:
11379         * gst/gstobject.h:
11380         * gst/gstpad.h:
11381         * gst/gstutils.h:
11382           lots of new docs and doc fixes
11383
11384 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11385
11386         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
11387         * gst/gstplugin.h:
11388         * gst/gstregistry.c: (gst_registry_lookup_locked),
11389         (gst_registry_scan_path_level):
11390         * gst/gstregistryxml.c: (load_plugin):
11391           Only ever load one plugin for a given plugin basename.
11392           This ensures correct overriding of GST_PLUGIN_PATH over
11393           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
11394           system installed plugins.
11395
11396 2005-10-08  Wim Taymans  <wim@fluendo.com>
11397
11398         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11399         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
11400         Prepare for doing QOS.
11401
11402 2005-10-08  Wim Taymans  <wim@fluendo.com>
11403
11404         * check/gst/gstbin.c: (GST_START_TEST):
11405         * check/pipelines/cleanup.c: (GST_START_TEST):
11406         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11407         Allow new clock message too.
11408
11409 2005-10-08  Wim Taymans  <wim@fluendo.com>
11410
11411         * gst/gstmessage.c: (gst_message_new_error),
11412         (gst_message_new_warning), (gst_message_new_tag),
11413         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11414         (gst_message_new_clock_lost), (gst_message_new_new_clock),
11415         (gst_message_new_segment_start), (gst_message_new_segment_done),
11416         (gst_message_parse_state_changed),
11417         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
11418         (gst_message_parse_new_clock):
11419         * gst/gstmessage.h:
11420         Also carry the clock in question.
11421
11422 2005-10-08  Wim Taymans  <wim@fluendo.com>
11423
11424         * gst/gstmessage.c: (gst_message_new_custom),
11425         (gst_message_new_eos), (gst_message_new_error),
11426         (gst_message_new_warning), (gst_message_new_tag),
11427         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11428         (gst_message_new_new_clock), (gst_message_new_segment_start),
11429         (gst_message_new_segment_done), (gst_message_parse_state_changed),
11430         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
11431         * gst/gstmessage.h:
11432         Clean up.
11433         Added clock related messages.
11434
11435         * gst/gstpipeline.c: (gst_pipeline_change_state):
11436         Post message when the clock changed.
11437
11438         * tools/gst-launch.c: (event_loop):
11439         Print new clock.
11440
11441 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11442
11443         * tools/gst-inspect.c: (print_element_properties_info):
11444           Can't pass NULL strings to g_print() on windows.
11445
11446 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11447
11448         * docs/Makefile.am:
11449         * docs/gst/Makefile.am:
11450         * docs/gst/gstreamer-docs.sgml:
11451         * docs/gst/running.xml:
11452         * docs/version.entities.in:
11453           add a chapter on running GStreamer.
11454           document GST_DEBUG and GST_PLUGIN* env vars
11455
11456 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11457
11458         * Makefile.am:
11459           remove include dir
11460         * configure.ac:
11461           remove PLUGINS_BUILDDIR stuff
11462         * gst/gst.c: (init_post):
11463           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
11464         * idiottest.mak:
11465           remove, it was condescending and not needed
11466
11467 2005-10-08  Wim Taymans  <wim@fluendo.com>
11468
11469         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
11470         (gst_base_sink_handle_object), (gst_base_sink_event),
11471         (gst_base_sink_wait), (gst_base_sink_handle_event),
11472         (gst_base_sink_change_state):
11473         * gst/base/gstbasesink.h:
11474         Repost EOS message while going to PLAYING if still EOS.
11475         Make sure that when receiving a FLUSH_START we don't attempt
11476         to sync on the clock anymore.
11477
11478 2005-10-08  Wim Taymans  <wim@fluendo.com>
11479
11480         * tools/gst-launch.c: (event_loop):
11481         Better message printout.
11482
11483 2005-10-08  Wim Taymans  <wim@fluendo.com>
11484
11485         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
11486         (gst_bin_child_proxy_get_children_count):
11487         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11488         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
11489         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
11490         (gst_child_proxy_set_valist):
11491         * gst/parse/grammar.y:
11492         Make ChildProxy threadsafe and fix mem leaks.
11493
11494 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11495
11496         * gst/gst.c: (init_post):
11497           debug the GST_PLUGIN_ env vars
11498
11499 2005-10-08  Wim Taymans  <wim@fluendo.com>
11500
11501         * check/gst/gstbin.c: (GST_START_TEST):
11502         * check/gst/gstmessage.c: (GST_START_TEST):
11503         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
11504         * gst/gstelement.c: (gst_element_commit_state),
11505         (gst_element_lost_state):
11506         * gst/gstmessage.c: (gst_message_new_state_changed),
11507         (gst_message_parse_state_changed):
11508         * gst/gstmessage.h:
11509         * tools/gst-launch.c: (event_loop):
11510         Added extra field to STATE_CHANGE message with the pending
11511         state, which will be different from the new state soon.
11512
11513 2005-10-08  Wim Taymans  <wim@fluendo.com>
11514
11515         * gst/gstbus.c: (gst_bus_pop):
11516         * gst/gstclock.c:
11517         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11518         Small cleanups and doc updates.
11519
11520 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11521
11522         * gst/gst.c: (init_pre):
11523         * gst/gstbin.c: (gst_bin_add_func):
11524           log distributing clocks and base time
11525         * gst/gstregistry.c: (gst_registry_add_plugin),
11526         (gst_registry_scan_path_level), (gst_registry_scan_path):
11527           clean up the debugging output a little
11528         * gst/gstutils.c: (gst_element_state_get_name):
11529           warn about a memleak (I've actually seen this be used, though
11530           it was probably a bug)
11531
11532 2005-10-07  Wim Taymans  <wim@fluendo.com>
11533
11534         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11535         (gst_base_src_init), (gst_base_src_default_newsegment),
11536         (gst_base_src_newsegment), (gst_base_src_do_seek),
11537         (gst_base_src_loop), (gst_base_src_start):
11538         * gst/base/gstbasesrc.h:
11539         Make the newsegment event customizable by subclasses.
11540
11541 2005-10-07  Wim Taymans  <wim@fluendo.com>
11542
11543         * gst/gstevent.c: (gst_event_new_buffersize),
11544         (gst_event_parse_buffersize):
11545         * gst/gstevent.h:
11546         New event for future idea.
11547
11548 2005-10-07  Andy Wingo  <wingo@pobox.com>
11549
11550         * gst/gstelement.c (gst_element_post_message): Doc update.
11551
11552         * docs/gst/gstreamer-sections.txt: Update.
11553
11554         * gst/gstmessage.c (gst_message_new_application): Made into a
11555         function like honest API calls.
11556         (gst_message_new_element): New message type.
11557
11558         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
11559
11560         * check/elements/fakesrc.c (test_no_preroll): New check, checks
11561         that setting a live fakesrc to PAUSED returns NO_PREROLL both
11562         times.
11563
11564         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
11565         NO_PREROLL from gst_element_change_state to fall through.
11566
11567 2005-10-07  Wim Taymans  <wim@fluendo.com>
11568
11569         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
11570         (gst_ghost_pad_do_activate_push):
11571         Activating a ghostpad with no internal pad in push mode
11572         is ok.
11573
11574 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11575
11576         * gst/gstobject.h:
11577           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
11578           Fixes compilation on Windows.
11579
11580 2005-10-07  Michael Smith <msmith@fluendo.com>
11581
11582         * tools/gst-inspect.c:
11583           Print out feature and plugin count at the end when printing out
11584           all features.
11585
11586 2005-10-04  Michael Smith <msmith@fluendo.com>
11587
11588         * gst/gsterror.c: (_gst_stream_errors_init):
11589           Add another error string used in a few existing plugins.
11590
11591         * gst/gstplugin.c:
11592         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11593         * tools/gst-inspect.c: (print_element_info):
11594           When a feature disappears from a plugin (and the feature exists in
11595           the cached registry file), things went horribly wrong. This isn't a
11596           complete fix, we should actually be removing the 'missing' features
11597           from the features list when we load the actual plugin. That's not
11598           yet implemented. 
11599
11600 2005-10-04  Johan Dahlin  <johan@gnome.org>
11601
11602         * check/gst/gstiterator.c: (GST_START_TEST):
11603         * gst/gstbin.c: (gst_bin_iterate_elements),
11604         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
11605         * gst/gstelement.c: (gst_element_iterate_pads):
11606         * gst/gstformat.c: (gst_format_iterate_definitions):
11607         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11608         (gst_iterator_new_list), (gst_iterator_filter):
11609         * gst/gstiterator.h:
11610         * gst/gstquery.c: (gst_query_type_iterate_definitions):
11611         Add a GType to GstIterator, update callsites and tests.
11612
11613 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11614
11615         * gst/gstpad.c: (gst_pad_event_default_dispatch):
11616           give events a chance to be handled by event probes when the pad
11617           is not linked
11618
11619 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11620
11621         * gst/gstevent.c: (gst_event_type_get_name),
11622         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
11623         * gst/gstevent.h:
11624           add string representations for event types
11625
11626 2005-10-06  Wim Taymans  <wim@fluendo.com>
11627
11628         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
11629         Don't use NULL pointers.
11630
11631 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11632
11633         * gst/gst_private.h:
11634         * gst/gstbus.c:
11635         * gst/gstelement.c:
11636         * gst/gstinfo.c:
11637         * gst/gstpluginfeature.c:
11638           widen the debug category in output to fit the biggest one we have
11639           add a bus category and use it
11640           play with the colors
11641           fix up some categories
11642
11643 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11644
11645         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
11646           add push activation of sink ghost pads.
11647           Andye, please verify
11648
11649 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11650
11651         * gst/gstutils.c: (gst_element_link_pads):
11652           fix a bug in the case where neither element has a pad
11653         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11654           add a test for that case
11655
11656 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11657
11658         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
11659           emit have-data before checking for peers.  This allows
11660           for probe handlers to connect elements.  This helps autopluggers.
11661         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
11662         (gst_pad_suite):
11663           add six checks, linked/unlinked with no/true/false probe
11664
11665 2005-10-04  Wim Taymans  <wim@fluendo.com>
11666
11667         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
11668         (gst_fake_sink_event), (gst_fake_sink_preroll),
11669         (gst_fake_sink_render), (gst_fake_sink_change_state):
11670         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
11671         (gst_fake_src_get_property), (gst_fake_src_create),
11672         (gst_fake_src_stop):
11673         * gst/elements/gstidentity.c: (gst_identity_stop):
11674         Protect last_message with lock.
11675
11676 2005-10-04  Edward Hervey  <edward@fluendo.com>
11677
11678         * gst/gstformat.h: 
11679         Added precision in the comments for GST_FORMAT_DEFAULT
11680
11681 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
11682
11683         * tools/gst-launch.c: (main):
11684           Don't try to run erroneous pipelines.
11685
11686 2005-10-04  Julien MOUTTE  <julien@moutte.net>
11687
11688         * gst/gstbus.c: We don't need this header.
11689
11690 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11691
11692         * configure.ac:
11693           back to development
11694
11695 === release 0.9.3 ===
11696
11697 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11698
11699         * README:
11700         * configure.ac:
11701           Releasing 0.9.3, "Unregistered"
11702
11703 2005-10-03  Andy Wingo  <wingo@pobox.com>
11704
11705         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
11706         whereby calling a pad's activatepush() function can start a thread
11707         that starts to push or pull before the pad gets the FLUSHING flag
11708         unset. Hack around it by holding the stream lock until the flag is
11709         set. Need to replace this with a proper solution. Together with
11710         the ghost pad fixes, this fixes mp3 playing/tagreading.
11711
11712         * docs/design/part-gstghostpad.txt: Add a note about activation of
11713         proxy pads outside of ghost pads.
11714
11715         * gst/gstghostpad.c: Implement the ghost pad activation design.
11716
11717 2005-10-02  Andy Wingo  <wingo@pobox.com>
11718
11719         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
11720         It is volatile, after all.
11721
11722         * docs/design/part-gstghostpad.txt: Flesh out activation with
11723         ghost pads.
11724
11725         * gst/base/gstbasesrc.c (gst_base_src_init): Use
11726         GST_DEBUG_FUNCPTR.
11727
11728 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11729
11730         * configure.ac:
11731           Fix (unused) AM_CONDITIONAL tests.
11732
11733 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
11734
11735         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11736
11737         * gst/gstutils.c: (gst_pad_query_convert):
11738           Add assertion that makes sure src_val is >=0, just like
11739           gst_query_new_convert() has. (#315895)
11740
11741 2005-09-30  Edward Hervey  <edward@fluendo.com>
11742
11743         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
11744         Let's not iterate pads we're not interested in, it avoids getting 
11745         sky-high refcounts on sinkpad.
11746
11747 2005-09-30  Wim Taymans  <wim@fluendo.com>
11748
11749         * gst/gstelement.c: (gst_element_set_state),
11750         (gst_element_change_state):
11751         Small tweak, element in ASYNC remains ASYNC.
11752
11753 2005-09-30  Wim Taymans  <wim@fluendo.com>
11754
11755         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11756         Only error is an error.
11757
11758         * gst/gstbin.c: (gst_bin_change_state):
11759         Better debugging.
11760
11761         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
11762         Also call pad_block in pad alloc.
11763
11764         * gst/gstutils.c: (gst_flow_get_name):
11765         Better debugging.
11766
11767 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11768
11769         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11770         (gst_base_src_get_range):
11771           Fix documentation typos. Add some more debug info.
11772
11773 2005-09-29  David Schleef  <ds@schleef.org>
11774
11775         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
11776           more end-user friendly.
11777         * tools/gst-inspect.c: (main): Check if command-line argument is
11778           a file and attempt to load that file as a plugin.
11779
11780 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11781
11782         * check/gst/gstbin.c:
11783         * check/states/sinks.c:
11784           fix tests for the new warning
11785         * check/gst/gstpipeline.c:
11786           add a test for pipeline and bus interaction
11787         * gst/gstelement.c:
11788           elements should be NULL if they get disposed; add a warning if not
11789
11790 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11791
11792         * gst/gstobject.c:
11793           for 2.6 refcounting, make debug log more correct by printing
11794           the actual refcounts at the time of swap (Wim)
11795
11796 2005-09-29  Andy Wingo  <wingo@pobox.com>
11797
11798         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
11799         removes signal watches previously added via
11800         gst_bus_add_signal_watch.
11801         (gst_bus_add_signal_watch): Don't return the source id, just store
11802         it on the bus if there wasn't an id already.
11803
11804         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
11805         add_signal_watch and remove_signal_watch.
11806
11807 2005-09-29  Edward Hervey  <edward@fluendo.com>
11808
11809         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
11810         Better if we actually iterate the list :)
11811
11812 2005-09-29  Wim Taymans  <wim@fluendo.com>
11813
11814         * check/gst/gstbin.c: (GST_START_TEST):
11815         Change for new bus API.
11816
11817         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11818         (send_messages), (GST_START_TEST), (gstbus_suite):
11819         Change for new bus signal API.
11820
11821         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
11822         (gst_bus_source_prepare), (gst_bus_source_check),
11823         (gst_bus_create_watch), (gst_bus_add_watch_full),
11824         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
11825         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
11826         * gst/gstbus.h:
11827         Remove support for multiple GSources operating on different
11828         message types as it is too complex and unneeded when using
11829         signals.
11830         Added support for receiving signals from the bus.
11831
11832 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11833
11834         * docs/libs/tmpl/gstdataprotocol.sgml:
11835         * docs/manual/advanced-dataaccess.xml:
11836         * gst/elements/gstcapsfilter.c:
11837         * gst/gstutils.c:
11838           rename filter-caps to caps property
11839
11840 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11841
11842         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11843           More robust fraction string parsing.
11844
11845         * docs/pwg/appendix-porting.xml:
11846           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
11847
11848 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11849
11850         * gst/gstcaps.c: (gst_caps_do_simplify):
11851           Thou shalt not free a structure and then continue using it
11852           in the next loop iteration.
11853
11854         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
11855         (gst_caps_suite):
11856           Add test case for caps simplification.
11857
11858 2005-09-29  Wim Taymans  <wim@fluendo.com>
11859
11860         * check/gst/gstbin.c: (GST_START_TEST):
11861         Oops.
11862
11863 2005-09-29  Wim Taymans  <wim@fluendo.com>
11864
11865         * check/gst/gstbin.c: (GST_START_TEST):
11866         Add bus to bin.
11867
11868         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
11869         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11870         (find_element), (gst_bin_sort_iterator_next),
11871         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11872         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11873         (gst_bin_change_state), (gst_bin_dispose):
11874         A bin does not have a bus, it gets the bus from the parent.
11875
11876         * gst/gstelement.c: (gst_element_requires_clock),
11877         (gst_element_provides_clock), (gst_element_is_indexable),
11878         (gst_element_is_locked_state), (gst_element_change_state),
11879         (gst_element_set_bus_func):
11880         Small cleanups.
11881
11882         * gst/gstpipeline.c: (gst_pipeline_class_init),
11883         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
11884         The pipeline provides a bus.
11885
11886 2005-09-28  Johan Dahlin  <johan@gnome.org>
11887
11888         * gst/gstmessage.c (gst_message_parse_state_changed): Use
11889         gst_structure_get_enum instead of gst_structure_get_int
11890
11891         * gst/gststructure.c (gst_structure_get_enum): Impl.
11892
11893         * gst/gststructure.h (gst_structure_get_enum): Add
11894
11895         * docs/gst/gstreamer-sections.txt: Ditto
11896
11897         * gst/gstmessage.c (gst_message_new_state_changed): Use
11898         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
11899         which does introspection.
11900         Reviewed by Christian Schaller
11901
11902 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11903
11904         * gst/gstinfo.c: (gst_debug_log_default):
11905           don't do dummy g_strdup()s
11906         * libs/gst/controller/gstcontroller.c:
11907         (on_object_controlled_property_changed),
11908         (gst_controlled_property_new), (gst_controller_new_valist),
11909         (gst_controller_new_list),
11910         (gst_controller_remove_properties_valist), (gst_controller_set),
11911         (gst_controller_get), (gst_controller_sync_values),
11912         (gst_controller_get_value_array), (_gst_controller_class_init),
11913         (gst_controller_get_type):
11914         * libs/gst/controller/gstcontroller.h:
11915         * libs/gst/controller/gstinterpolation.c:
11916         (gst_controlled_property_find_timed_value_node):
11917           convert // to /**/ comments
11918
11919 2005-09-28  Wim Taymans  <wim@fluendo.com>
11920
11921         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
11922         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
11923         (gst_bus_sync_signal_handler):
11924         * gst/gstbus.h:
11925         Added async-message and sync-message signals to the bus.
11926         Added helper BusFunc to emit signals for all posted messages.
11927
11928         * gst/gstmessage.c: (gst_message_type_get_name),
11929         (gst_message_type_to_quark), (gst_message_get_type):
11930         * gst/gstmessage.h:
11931         Register quarks for message names.
11932
11933 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11934
11935         * docs/libs/gstreamer-libs-sections.txt:
11936         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11937         (gst_controller_new_list):
11938         * libs/gst/controller/gstcontroller.h:
11939           added another constructor for language bindings
11940
11941 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11942
11943         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11944           add another check
11945         * gst/gstbus.c:
11946           add some doc
11947         * gst/gstinfo.c: (_gst_debug_init):
11948           slightly more readable color for refcount debugging
11949
11950 2005-09-28  Wim Taymans  <wim@fluendo.com>
11951
11952         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11953         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11954         (find_element), (gst_bin_sort_iterator_next),
11955         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11956         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11957         (gst_bin_change_state), (gst_bin_dispose):
11958         Small doc fixes. get_clock -> provide_clock.
11959
11960         * gst/gstelement.c: (gst_element_class_init),
11961         (gst_element_provides_clock), (gst_element_provide_clock),
11962         (gst_element_get_clock), (gst_element_commit_state),
11963         (gst_element_lost_state):
11964         * gst/gstelement.h:
11965         Make get/set_clock() symetric. Add provide_clock vmethod since
11966         that is actually what this function does.
11967
11968         * gst/gstpipeline.c: (gst_pipeline_class_init),
11969         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
11970         (gst_pipeline_get_clock):
11971         get_clock -> provide_clock.
11972
11973 2005-09-28  Andy Wingo  <wingo@pobox.com>
11974
11975         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
11976         lieu of real docs...
11977
11978         * gst/elements/gstfdsrc.c: Cleaned up a bit.
11979
11980 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
11981
11982         * gst/elements/gstcapsfilter.c:
11983         * gst/elements/gstfakesink.c:
11984         * gst/elements/gstfakesrc.c:
11985         * gst/elements/gstfdsink.c:
11986         * gst/elements/gstfdsrc.c:
11987         * gst/elements/gstfilesink.c:
11988         * gst/elements/gstfilesrc.c:
11989         * gst/elements/gstidentity.c:
11990         * gst/elements/gsttee.c:
11991         * gst/elements/gsttypefindelement.c:
11992           Make element details static.
11993
11994 2005-09-28  Wim Taymans  <wim@fluendo.com>
11995
11996         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11997         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11998         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11999         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12000         (gst_bin_change_state), (gst_bin_dispose):
12001         Some documentation updates.
12002         Clean up dispose handlers.
12003
12004         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
12005         * gst/gstpad.c: (gst_pad_dispose):
12006         Clean up dispose handler.
12007
12008         * gst/gstpipeline.c: (gst_pipeline_change_state):
12009         Removed spurious UNLOCK.
12010
12011 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
12012
12013         * docs/gst/gstreamer-sections.txt:
12014         * gst/base/gstbasesrc.h:
12015         * gst/gstelement.h:
12016         * gst/gstevent.h:
12017         * gst/gstobject.h:
12018         * gst/gstpad.h:
12019         * gst/gstpipeline.c:
12020         * gst/gstpipeline.h:
12021         * gst/gstutils.h:
12022         * gst/gstxml.h:
12023           added two new functions to the docs
12024                 documents all undocumented GstXXXFlags
12025                 completed some incomplete docs 
12026
12027 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12028
12029         * gst/gstbin.c: (gst_bin_dispose):
12030         * gst/gstelement.c: (gst_element_dispose):
12031           remove now useless and leaky resurrection code in dispose
12032         * gst/base/gstbasesrc.c: (gst_base_src_init):
12033         * gst/gstelementfactory.c: (gst_element_factory_create):
12034         * gst/gstobject.c: (gst_object_set_parent):
12035           add some debugging
12036
12037 2005-09-27  Wim Taymans  <wim@fluendo.com>
12038
12039         * docs/design/part-TODO.txt:
12040         Update TODO.
12041
12042         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12043         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12044         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12045         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12046         (gst_bin_change_state):
12047         * gst/gstelement.h:
12048         Remove element variable, we keep element info in the iterator now.
12049
12050 2005-09-27  Andy Wingo  <wingo@pobox.com>
12051
12052         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
12053         values.
12054
12055 2005-09-27  Wim Taymans  <wim@fluendo.com>
12056
12057         * check/gst/gstbin.c: (GST_START_TEST):
12058         Enable check that works now.
12059
12060         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12061         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12062         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12063         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12064         (gst_bin_change_state):
12065         * gst/gstbin.h:
12066         Redid the state change algorithm using a topological sort algo.
12067         Handles all cases correctly.
12068         Exposed iterator for state change order.
12069
12070         * gst/gstelement.h:
12071         Temp storage for state changes. Need to get rid of this soon.
12072
12073 2005-09-27  Wim Taymans  <wim@fluendo.com>
12074
12075         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
12076         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
12077         (link_fold_func), (gst_pad_proxy_setcaps):
12078         Leak fixes, the fold functions need to unref the passed object and
12079         _get_parent_*() returns ref to parent.
12080
12081 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12082
12083         * check/gst/gstbuffer.c: (test_make_writable):
12084           Plug leak in test case and fix 'make check-valgrind'
12085
12086 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12087
12088         * gst/gstbuffer.c: (gst_subbuffer_init):
12089           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
12090           works correctly in all circumstances (we could have just copied
12091           the parent buffer's readonly flag, but conceptually it seems
12092           cleaner to mark all subbuffers as read-only). (based on patch
12093           by Alessandro Decina, #314710).
12094         
12095         * check/gst/gstbuffer.c: (create_read_only_buffer),
12096         (test_make_writable), (test_subbuffer_make_writable),
12097         (gst_test_suite):
12098           Add some tests for gst_buffer_make_writable().
12099
12100 2005-09-27  Wim Taymans  <wim@fluendo.com>
12101
12102         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
12103         use gst_object_has_ancestor().
12104
12105         * gst/gstobject.c: (gst_object_has_ancestor):
12106         * gst/gstobject.h:
12107         gst_object_has_ancestor() copied from gstbin.c as it is a
12108         usefull function.
12109
12110         * tests/instantiate/create.c: (create_all_elements):
12111         * tests/lat.c: (handoff_src), (handoff_sink):
12112         * tests/sched/runxml.c: (main):
12113         * tests/seeking/seeking1.c: (main):
12114         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12115         (main):
12116         Fix compilation of some tests.
12117
12118 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12119
12120         * gst/gsterror.h:
12121           Remove comment. GST_TYPE_G_ERROR is here to stay,
12122           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
12123           (#316961, #300610).
12124
12125 2005-09-26  Wim Taymans  <wim@fluendo.com>
12126
12127         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12128         Added check that shows error in state change order.
12129
12130 2005-09-26  Wim Taymans  <wim@fluendo.com>
12131
12132         * gst/gstbin.c: (gst_bin_change_state):
12133         Make state change function use 3 queues again, we were
12134         adding elements in the wrong order.
12135
12136         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12137         Some debug info,
12138
12139         * gst/gstpad.c: (gst_pad_dispose):
12140         Added some debug info first.
12141
12142 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
12143
12144         * docs/design/draft-push-pull.txt:
12145         * docs/design/part-events.txt:
12146         * docs/design/part-overview.txt:
12147         * docs/design/part-scheduling.txt:
12148           Replace all _pull_region() with _pull_range()
12149           
12150 2005-09-26  Andy Wingo  <wingo@pobox.com>
12151
12152         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12153
12154         * check/gst-libs/controller.c: Update for controller api change.
12155
12156         * configure.ac: 
12157         * tests/Makefile.am:
12158         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12159         over by GLib bug 118439.
12160         
12161         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12162         routines to a function.
12163
12164         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12165
12166         * libs/gst/controller/gsthelper.c:
12167         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12168         (gst_object_sync_values): Renamed from sink_values. Ugh.
12169
12170         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12171
12172         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12173         Renamed from controller_key, as it is exported.
12174
12175         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12176
12177 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12178
12179         * gst/Makefile.am:
12180         * gst/gst.h:
12181         * gst/gstpad.h:
12182         * gst/gstpadtemplate.h:
12183         * gst/gstquery.c:
12184         * gst/gstquery.h:
12185         * gst/gstqueryutils.c:
12186         * gst/gstqueryutils.h:
12187           remove queryutils headers after moving the two used functions
12188           to gstquery.  also fixes build problem for gstsiddec
12189
12190 2005-09-26  Michael Smith <msmith@fluendo.com>
12191
12192         * tools/gst-launch.1.in:
12193         Correct documentation in manpage of debug syntax
12194
12195 2005-09-26  Wim Taymans  <wim@fluendo.com>
12196
12197         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12198         (gst_base_src_is_seekable), (gst_base_src_change_state):
12199         Some more debugging info.
12200
12201 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12202
12203         * docs/gst/gstreamer-sections.txt:
12204         * gst/base/gstbasetransform.h:
12205         * gst/gstindex.h:
12206           added more docs
12207
12208 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12209
12210         * docs/gst/.cvsignore:
12211         * docs/gst/tmpl/.cvsignore:
12212         * docs/gst/tmpl/gstpipeline.sgml:
12213         * docs/gst/tmpl/gstplugin.sgml:
12214         * gst/gstpipeline.c:
12215         * gst/gstplugin.c:
12216         * gst/gstplugin.h:
12217           inlined the last two docs files
12218           removed the tmpl directory from cvs (no more conflicts here!)
12219
12220 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12221
12222         * docs/gst/gstreamer-sections.txt:
12223         * docs/gst/tmpl/.cvsignore:
12224         * docs/gst/tmpl/gstpad.sgml:
12225         * docs/gst/tmpl/gstpadtemplate.sgml:
12226         * gst/Makefile.am:
12227         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12228         (gst_pad_finalize), (gst_pad_set_pad_template):
12229         * gst/gstpad.h:
12230         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12231         (gst_pad_template_class_init), (gst_pad_template_init),
12232         (gst_pad_template_dispose), (name_is_valid),
12233         (gst_static_pad_template_get), (gst_pad_template_new),
12234         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12235         (gst_pad_template_pad_created):
12236         * gst/gstpadtemplate.h:
12237           inlined two more docs
12238           factored gstpadtemplate out of gstpad
12239
12240 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
12241
12242         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12243         (test_children_state_change_order_semi_sink):
12244           Fix test case: we can't rely on a fixed state change order when
12245           going from READY => PAUSED because the sink might commit its 
12246           new state first when the first buffer created by the source 
12247           reaches the sink before the source has finished its change state.
12248           (Test case still fails at times, see #316856, comment 5 onwards)
12249
12250 2005-09-24  Wim Taymans  <wim@fluendo.com>
12251
12252         * docs/design/part-events.txt:
12253         * docs/design/part-gstbus.txt:
12254         * docs/design/part-gstpipeline.txt:
12255         * docs/design/part-messages.txt:
12256         * docs/design/part-overview.txt:
12257         * docs/design/part-segments.txt:
12258         * gst/gstbin.c:
12259         * gst/gstbuffer.c:
12260         * gst/gstclock.c:
12261         * gst/gstelement.c:
12262         * gst/gstevent.c:
12263         * gst/gstfilter.c:
12264         * gst/gstiterator.c:
12265         Various documentation updates.
12266
12267 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12268
12269         * gst/gstclock.h:
12270           Well, that's embarassing.  Luckily we weren't using
12271           GST_CLOCK_DIFF anywhere.
12272
12273 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12274
12275         * common/gtk-doc.mak:
12276           don't fail on building XML, FC4 slave shows a bunch of doc
12277           missing bits that I don't get
12278         * gst/gstpad.c:
12279         * gst/gstpipeline.c:
12280         * gst/gststructure.c:
12281           some doc updates
12282
12283 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12284
12285         * docs/design/part-gstbin.txt:
12286         * docs/design/part-gstbus.txt:
12287         * gst/gstbus.c:
12288           Add blurb about how the bus goes into flushing mode and
12289           drops all messages when its bin goes from READY into NULL 
12290           state.
12291
12292 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12293
12294         * docs/gst/gstreamer-sections.txt:
12295         * gst/gststructure.c: (gst_structure_get_clock_time):
12296         * gst/gststructure.h:
12297           add a method to get a GstClockTime out of a structure
12298
12299 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12300
12301         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12302         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12303           Added test to check state change order in bins (can still be made
12304           to fail here under heavy disk load; bails out with 'Push on pad
12305           fakesink:sink0, but it was not activated in push mode').
12306
12307         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12308           Fix state change order when there is only a semi sink (#316856)
12309
12310         * gst/gstbus.c: (gst_bus_class_init):
12311           Use _class_peek_parent(), not _class_ref(); fix docs to say
12312           'default main context' instead of 'mainloop' where that is
12313           what's meant.
12314
12315         * gst/gstelement.c: (gst_element_commit_state),
12316         (gst_element_set_state):
12317           Fix typos in debug messages
12318
12319 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12320
12321         * docs/README:
12322         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12323         * gst/gstpluginfeature.c:
12324         * gst/gstutils.c:
12325           various doc updates
12326         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12327           change an assert into an error until it gets fixed properly
12328
12329 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
12330
12331         * docs/gst/gstreamer-sections.txt:
12332         * docs/gst/tmpl/.cvsignore:
12333         * docs/gst/tmpl/gstelement.sgml:
12334         * docs/gst/tmpl/gstinfo.sgml:
12335         * docs/gst/tmpl/gstobject.sgml:
12336         * gst/gstelement.c:
12337         * gst/gstelement.h:
12338         * gst/gstinfo.c:
12339         * gst/gstinfo.h:
12340         * gst/gstobject.c: (gst_object_class_init):
12341         * gst/gstobject.h:
12342           inlined 3 more biiiig doc files and added some missing docs on the fly
12343
12344 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12345
12346         * check/gst/.cvsignore:
12347         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12348         * gst/gstregistryxml.c: (load_plugin),
12349         (gst_registry_xml_save_plugin):
12350           put back source in registry.  add checks for find_plugin.
12351         * testsuite/states/bin.c: (assert_state), (empty_bin),
12352         (test_adding_one_element), (main):
12353         * testsuite/states/locked.c: (main):
12354           some compile/run fixes
12355
12356 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12357
12358         * check/gst/gstvalue.c: (GST_START_TEST):
12359           fix leaks in the test itself
12360
12361 2005-09-22  Wim Taymans  <wim@fluendo.com>
12362
12363         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12364         (gst_base_sink_send_event), (gst_base_sink_peer_query),
12365         (gst_base_sink_query):
12366         Prepare for more accurate position reporting and query
12367         handling.
12368
12369         * gst/gstelement.c: (gst_element_send_event),
12370         (gst_element_set_state):
12371         Add some comment.
12372
12373 2005-09-22  Wim Taymans  <wim@fluendo.com>
12374
12375         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
12376         (gst_query_parse_segment):
12377         * gst/gstquery.h:
12378         More documentation.
12379         Add segment query for future use.
12380
12381 2005-09-22  Wim Taymans  <wim@fluendo.com>
12382
12383         * gst/gstbin.c: (gst_bin_add_func):
12384         Some more debug info.
12385
12386         * gst/gstelement.c: (gst_element_send_event):
12387         Simplify send_event
12388
12389         * gst/gstelement.h:
12390         Don't know how flags got broken.
12391
12392         * gst/gstquery.h:
12393         Added new query.
12394
12395 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12396
12397         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
12398           Add simplistic test suite for GST_TYPE_DATE serialisation and
12399           deserialisation.
12400
12401 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12402
12403         * docs/gst/gstreamer-sections.txt:
12404         * gst/gststructure.c: (gst_structure_set_valist),
12405         (gst_structure_get_date):
12406         * gst/gststructure.h:
12407         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
12408         (gst_date_copy), (gst_value_compare_date),
12409         (gst_value_serialize_date), (gst_value_deserialize_date),
12410         (gst_value_transform_date_string),
12411         (gst_value_transform_string_date), (_gst_value_initialize):
12412         * gst/gstvalue.h:
12413           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
12414           bunch of utility functions along with a hack that checks that
12415           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
12416           is required. Part of the grand scheme in #170777.
12417
12418 2005-09-22  Andy Wingo  <wingo@pobox.com>
12419
12420         * gst/gstconfig.h.in: Psych out gtk-doc.
12421
12422         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
12423
12424         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
12425
12426         * tools/gst-inspect.c (print_element_list): Plug some
12427         inconsequential leaks.
12428
12429         * gst/gstregistry.c (gst_registry_get_default): Doc.
12430
12431         * check/gst/gstplugin.c: 
12432         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
12433         * gst/gstelementfactory.c (gst_element_factory_create): 
12434         * gst/gstindexfactory.c (gst_index_factory_create): Update for
12435         refcount changes.
12436
12437         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
12438         (gst_plugin_feature_load): Doc, don't eat refs.
12439
12440         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
12441         (gst_plugin_list_free): Doc.
12442         (gst_plugin_load_file): Doc updates.
12443
12444         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
12445         accessors returning refcounted objects, return a ref.
12446
12447         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
12448         accessor for caps. IDEMPOTENCE. Oh yes.
12449
12450 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
12451
12452         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12453
12454         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12455         (_gst_debug_register_funcptr):
12456           Add mutex to serialise access to the hash table with
12457           the function pointer => function name string mapping;
12458           make that hash table static scope (#316809).
12459
12460         * gst/registries/.cvsignore:
12461           Remove left-over file.
12462
12463 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12464
12465         * docs/pwg/appendix-porting.xml:
12466           And something about newsegment events and caps-on-buffers to
12467           the porting guide (feel free to improve).
12468
12469 2005-09-21  Andy Wingo  <wingo@pobox.com>
12470
12471         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
12472         data and event probes on the same pad.
12473         (test_buffer_probe_once): Test that removing probes from within
12474         the probe functions works.
12475
12476 2005-09-21  Andy Wingo  <wingo@pobox.com>
12477
12478         * check/gst/gstutils.c: New file.
12479         (test_buffer_probe_n_times): A simple buffer probe test. More to
12480         come, foolios.
12481
12482         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
12483         have-data::buffer, not have-data.
12484         (gst_pad_add_event_probe): Likewise for have-data::event.
12485         (gst_pad_add_data_probe): More docs. The part about 'resolving the
12486         peer' isn't quite right yet though.
12487         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
12488         (gst_pad_remove_data_probe): Change to take the guint handler_id
12489         as their arg, not the function+data, which is more glib-like.
12490
12491         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
12492         the signal emission to indicate if the data is a buffer or an
12493         event.
12494         (gst_pad_get_type): Initialize buffer and event quarks.
12495         (gst_pad_class_init): have-data is now a detailed signal, yes it
12496         is.
12497
12498 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12499
12500         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12501         * gst/gstutils.c: (gst_util_set_value_from_string),
12502         (gst_util_set_object_arg):
12503           Don't put functional code in g_return_if_fail() or
12504           g_return_val_if_fail() statements, otherwise things will 
12505           break when G_DISABLE_CHECKS is defined during compilation.
12506
12507 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12508
12509         * docs/gst/tmpl/.cvsignore:
12510         * docs/gst/tmpl/gstvalue.sgml:
12511         * gst/gstvalue.c:
12512         * gst/gstvalue.h:
12513           inlied another one and added  some obvious docs
12514
12515 2005-09-21  Wim Taymans  <wim@fluendo.com>
12516
12517         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12518         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
12519         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
12520         (gst_fdsrc_get_property), (gst_fdsrc_create):
12521         * gst/elements/gstfdsrc.h:
12522         Properly implement fdsrc. Removed signal and timeout,
12523         better implemented somewhere else.
12524
12525 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12526
12527         * docs/gst/tmpl/.cvsignore:
12528         * docs/gst/tmpl/gstimplementsinterface.sgml:
12529         * gst/gstinterface.c:
12530           inlined more docs
12531
12532 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12533
12534         * docs/gst/gstreamer-sections.txt:
12535         * docs/gst/tmpl/.cvsignore:
12536         * docs/gst/tmpl/gstenumtypes.sgml:
12537           remove obsolete doc file
12538
12539 2005-09-21  David Schleef  <ds@schleef.org>
12540
12541         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
12542         little beer, fix a little leak.
12543
12544 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12545
12546         * docs/gst/gstreamer-docs.sgml:
12547         * docs/gst/gstreamer-sections.txt:
12548         * docs/gst/tmpl/.cvsignore:
12549         * gst/Makefile.am:
12550         * gst/gst.h:
12551         * gst/gstbin.c:
12552         * gst/gstelement.h:
12553         * gst/gstindex.c: (gst_index_class_init):
12554         * gst/gstindex.h:
12555         * gst/gstindexfactory.c: (gst_index_factory_get_type),
12556         (gst_index_factory_class_init), (gst_index_factory_init),
12557         (gst_index_factory_finalize), (gst_index_factory_new),
12558         (gst_index_factory_destroy), (gst_index_factory_find),
12559         (gst_index_factory_create), (gst_index_factory_make):
12560         * gst/gstindexfactory.h:
12561         * gst/gstpluginfeature.c:
12562         * gst/gstpluginfeature.h:
12563         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12564           more docs inlined, splitted gstindex.{c,h}
12565
12566 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12567
12568         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12569           fix a leak
12570
12571 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12572
12573         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12574           Set sync to FALSE by default.
12575
12576 2005-09-20  Wim Taymans  <wim@fluendo.com>
12577
12578         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12579         (gst_base_sink_init):
12580         Make sync property settable from subclass.
12581
12582         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12583         (gst_fake_sink_change_state):
12584         Set sync to FALSE by default.
12585
12586 2005-09-20  Wim Taymans  <wim@fluendo.com>
12587
12588         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
12589         * tools/gst-launch.c: (main):
12590         The timeout handler should have lower priority than the source
12591         so we don't timeout before popping a message with 0 timeout.
12592         Dump error messages after failed state change.
12593
12594 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12595
12596         * tools/gst-inspect.c: (print_element_properties_info):
12597           Fix two typos.
12598
12599 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12600
12601         * check/gst/gstevent.c:
12602         * gst/elements/gstfakesink.c:
12603         * gst/elements/gstfakesink.h:
12604           remove the sync property from fakesink.
12605           has the side effect of setting sync TRUE
12606           for fakesink, which is a change.  Anyone who knows how
12607           to fix this nicely in a GObject-y way, feel free.
12608
12609 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12610
12611         * docs/gst/gstreamer-docs.sgml:
12612           remove probe refsection
12613
12614 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12615
12616         * check/Makefile.am:
12617           disable valgrinding the controller test again
12618         * docs/gst/gstreamer-sections.txt:
12619           update for api-changes
12620
12621 2005-09-20  Wim Taymans  <wim@fluendo.com>
12622
12623         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12624         (gst_base_sink_set_property), (gst_base_sink_get_property),
12625         (gst_base_sink_do_sync):
12626         * gst/base/gstbasesink.h:
12627         Added sync property to basesink to disable clock sync.
12628
12629 2005-09-20  Andy Wingo  <wingo@pobox.com>
12630
12631         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
12632         eating the caller's refcount.
12633
12634         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
12635         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
12636         refcount.
12637
12638         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
12639         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
12640         of GLib 2.8 public, so we can know which refcount to check in
12641         tests.
12642
12643         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
12644         (gst_object_init): Only set the gst refcount if we're going ahead
12645         with the refcount hack.
12646
12647 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12648
12649         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12650         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12651           more leaks plumbed, added more debug-logging
12652         * gst/gstmacros.h:
12653           whitespace fix
12654
12655 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12656
12657         * gst/gstmessage.c:
12658           remove include of gstmemchunk.h
12659
12660 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12661
12662         * gst/gstclock.c: (_gst_clock_id_free):
12663           Commit from the Political Party For More Atomic CVS Commits,
12664           so that people don't waste too much of their day fishing
12665           out obvious leaks out of massive commits.
12666           Oh, and fix a pretty damn obvious leak in the memchunk
12667           removal code.
12668
12669 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12670
12671         * check/Makefile.am:
12672         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12673           plug mem-leak, re-add to valgrindable tests
12674
12675 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12676
12677         * gst/gstplugin.h:
12678           unbreak the build for those who have chronic arthritis
12679           and typing "make check" is just too taxing on the hands
12680
12681 2005-09-20  Andy Wingo  <wingo@pobox.com>
12682
12683         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
12684         really want it out, you should fix plugins at the same time.
12685
12686 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
12687
12688         * configure.ac:
12689         * docs/gst/gstreamer-sections.txt:
12690         * gst/gstobject.c:
12691           added missing symbols to api docs
12692           disable ref-count hack if we have glib >= 2.8
12693
12694 2005-09-19  David Schleef  <ds@schleef.org>
12695
12696         * docs/gst/Makefile.am: Ignore a few more internal headers
12697         * docs/gst/gstreamer-docs.sgml: Remove old sections
12698         * docs/gst/gstreamer-sections.txt: Remove old sections
12699         * docs/gst/tmpl/gstobject.sgml: update
12700         * docs/gst/tmpl/gstplugin.sgml: update
12701         * docs/gst/tmpl/gstpluginfeature.sgml: update
12702         * docs/random/ds/0.9-suggested-changes: update.
12703         * gst/Makefile.am: remove memchunk and trashstack, since they're
12704           not used.
12705         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
12706         * gst/gst.h: don't include some headers
12707         * gst/gstchildproxy.c: add gstmarshal.h
12708         * gst/gstclock.c: Don't use memchunks
12709         * gst/gstminiobject.c: Add some docs
12710         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
12711         * gst/gstobject.h: same
12712         * gst/gstplugin.c: include gstmacros.h
12713         * gst/gstplugin.h: don't include gstmacros.h, since it's private
12714         * gst/gstquery.c: don't use memchunks
12715         * gst/gstregistry.c: rename gst_registry_deinit()
12716         * gst/gstregistry.h: same
12717
12718 2005-09-19  David Schleef  <ds@schleef.org>
12719
12720         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
12721         * docs/libs/gstreamer-libs-sections.txt:
12722         * docs/libs/tmpl/gstgetbits.sgml:
12723         * docs/libs/tmpl/gstputbits.sgml:
12724
12725 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
12726
12727         * win32/gstenumtypes.c:
12728         * win32/gstenumtypes.h:
12729           Update.
12730
12731 2005-09-19  Wim Taymans  <wim@fluendo.com>
12732
12733         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
12734         Automatically PAUSE and RESUME a pipeline when a flushing seek
12735         is performed.
12736
12737 2005-09-19  Andy Wingo  <wingo@pobox.com>
12738
12739         * gst/gstregistry.h: Spacing fixen.
12740
12741 2005-09-19  Wim Taymans  <wim@fluendo.com>
12742
12743         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
12744         Handle state change failure more correctly.
12745
12746 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12747
12748         * check/Makefile.am:
12749         * check/pipelines/cleanup.c: (run_pipeline):
12750         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12751         (GST_START_TEST):
12752           enable cleanup again after fixing the leak
12753         * docs/README:
12754           some more info on docs
12755
12756 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12757
12758         * check/Makefile.am:
12759           re-enable tests now that leaks are plugged
12760         * check/gst/gst.c:
12761         * check/gst/gstbin.c:
12762         * check/gst/gstpipeline.c:
12763           add some more tests while fixing leaks
12764         * common/check.mak:
12765           make sure binaries are uptodate when valgrinding/gdbing
12766         * gst/gst.c:
12767         * gst/gstelementfactory.c:
12768           remove a ref too many, and add a FIXME for when we get
12769           round to disposing of classes
12770         * gst/gstplugin.c:
12771           fix the refcounting when loading a plugin from a file and
12772           the code pretends that the pointer is the same even though
12773           of course it can change
12774         * gst/gstpluginfeature.c:
12775           unref plugins marked cached (a bit confusing as a name)
12776           as the docs state should be done
12777           various doc additions to explain refcounting
12778         * gst/gstregistry.c:
12779         * gst/gstregistryxml.c:
12780           debugging
12781
12782 2005-09-19  Wim Taymans  <wim@fluendo.com>
12783
12784         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12785         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12786         (send_messages), (GST_START_TEST), (gstbus_suite):
12787         * check/gst/gstpipeline.c: (GST_START_TEST):
12788         * check/pipelines/cleanup.c: (run_pipeline):
12789         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12790         (GST_START_TEST):
12791         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
12792         (gst_bus_source_check), (gst_bus_source_dispatch),
12793         (gst_bus_create_watch), (gst_bus_add_watch_full),
12794         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
12795         * gst/gstbus.h:
12796         * tools/gst-launch.c: (event_loop):
12797         * tools/gst-md5sum.c: (event_loop):
12798         GstBusHandler -> GstBusFunc, return value has the same meaning as
12799         any other GSource (FALSE == remove source).
12800         _add_watch() and _add_watch_full() now take a MessageType mask to
12801         only handle specific types of messages.
12802         _poll() returns the GstMessage instead of the message type to avoid
12803         race conditions.
12804         _have_pending() takes a MessageType mask now too.
12805         Added testsuite for multiple bus watches.
12806         Fix testsuites and applications for new bus API.
12807
12808 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12809
12810         * check/Makefile.am:
12811           mark a bunch of the tests as to fix until we fix them
12812
12813 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12814
12815         * common/check.mak:
12816           use GST_PLUGIN settings for valgrind tests as well, so we're
12817           valgrinding the correct thing
12818         * gst/gst.c: (init_post):
12819           plug another leak
12820
12821 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12822
12823         * gst/gst.c: (init_post), (gst_deinit):
12824         * gst/gstelementfactory.c: (gst_element_factory_class_init),
12825         (gst_element_factory_finalize), (gst_element_factory_cleanup):
12826         * gst/gstindex.c: (gst_index_factory_class_init),
12827         (gst_index_factory_finalize):
12828         * gst/gstobject.c: (gst_object_dispose):
12829         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12830         (gst_plugin_load_file), (gst_plugin_desc_free):
12831         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
12832         (gst_plugin_feature_finalize):
12833         * gst/gstregistry.c: (gst_registry_class_init),
12834         (gst_registry_init), (gst_registry_finalize),
12835         (gst_registry_get_default), (gst_registry_deinit):
12836         * gst/gstregistry.h:
12837         * gst/gstregistryxml.c: (load_feature), (load_plugin):
12838           various cleanups and memleak plugging.  make valgrind is happy now.
12839
12840 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12841
12842         * common/check.mak:
12843           add a check-valgrind target
12844
12845 2005-09-18  David Schleef  <ds@schleef.org>
12846
12847         * tools/gst-inspect.c: Revert the GOption code.
12848
12849 2005-09-17  David Schleef  <ds@schleef.org>
12850
12851         * check/Makefile.am: Fix environment variables.
12852         * check/gst/gstplugin.c: Fix for API changes.
12853         * tools/gst-inspect.c: Fix for API changes.
12854         * tools/gst-xmlinspect.c: Fix for API changes.
12855         * gst/gstelementfactory.c:
12856         * gst/gstplugin.c:
12857         * gst/gstplugin.h:
12858         * gst/gstpluginfeature.c:
12859         * gst/gstpluginfeature.h:
12860         * gst/gstregistry.c:
12861         * gst/gstregistry.h:
12862         * gst/gstregistryxml.c:
12863         * gst/gsttypefind.c:
12864         * gst/gsttypefindfactory.c:
12865         * gst/indexers/gstfileindex.c:
12866         * gst/indexers/gstmemindex.c:
12867         * gst/schedulers/Makefile.am:
12868           Change registry to keep track of both plugins and features,
12869           removing the feature tracking from plugins themselves.
12870
12871 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12872
12873         * check/Makefile.am:
12874         * tools/gst-register.1.in:
12875           remove gst-register
12876
12877 2005-09-15  David Schleef  <ds@schleef.org>
12878
12879         * check/gst/gstplugin.c:
12880         * gst/gstelementfactory.c:
12881         * gst/gstplugin.c:
12882         * gst/gstpluginfeature.c:
12883         * gst/gstregistry.c:
12884           Getting tired of debugging.  Disabled all the unreffing of
12885           plugins and features, which fixes the segfaults, but of
12886           course leaks like crazy.  At least playbin works.
12887
12888 2005-09-15  David Schleef  <ds@schleef.org>
12889
12890         * check/gst/gstplugin.c: (register_check_elements),
12891         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
12892         More testing
12893         * gst/elements/gsttypefindelement.c: Fix refcounting.
12894         * gst/gsttypefind.c:
12895         * gst/gsttypefindfactory.c:
12896         * gst/gsttypefindfactory.h:
12897
12898 2005-09-15  David Schleef  <ds@schleef.org>
12899
12900         * gst/gstindex.c: get refcounting correct.
12901         * gst/gstregistry.c: Handle the case where a feature/plugin is
12902           not found.
12903
12904 2005-09-15  David Schleef  <ds@schleef.org>
12905
12906         * check/Makefile.am:
12907         * check/gst/gstplugin.c: Add test
12908         * gst/gstplugin.c: Fix problems noticed by testsuite
12909         * gst/gstplugin.h:
12910         * gst/gstregistry.c: 
12911         * gst/gstregistry.h:
12912
12913 2005-09-15  David Schleef  <ds@schleef.org>
12914
12915         * gst/gstplugin.c: Implement semi-decent recounting and locking
12916           in plugins and plugin features.
12917         * gst/gstplugin.h:
12918         * gst/gstpluginfeature.c:
12919         * gst/gstpluginfeature.h:
12920         * gst/gstregistry.c:
12921
12922 2005-09-15  Michael Smith <msmith@fluendo.com>
12923
12924         * gst/gstregistry.c: (gst_registry_get_feature_list):
12925           Implement this. Makes oggdemux work; decodebin still broken.
12926
12927 2005-09-14  David Schleef  <ds@schleef.org>
12928
12929         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
12930           #316076)
12931         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
12932         * gst/check/Makefile.am:
12933         * libs/gst/controller/Makefile.am:
12934         * libs/gst/dataprotocol/Makefile.am:
12935
12936 2005-09-14  David Schleef  <ds@schleef.org>
12937
12938         * configure.ac: Remove getbits library.  Nothing uses it, and
12939           it should be in something like liboil if someone did want
12940           to use it.
12941         * libs/gst/Makefile.am:
12942         * libs/gst/getbits/Makefile.am:
12943         * libs/gst/getbits/gbtest.c:
12944         * libs/gst/getbits/getbits.c:
12945         * libs/gst/getbits/getbits.h:
12946         * libs/gst/getbits/gstgetbits_generic.c:
12947         * libs/gst/getbits/gstgetbits_i386.s:
12948         * libs/gst/getbits/gstgetbits_inl.h:
12949
12950 2005-09-14  David Schleef  <ds@schleef.org>
12951
12952         * gst/Makefile.am: Dist glib-compat.h
12953
12954 2005-09-14  David Schleef  <ds@schleef.org>
12955
12956         * configure.ac: Remove gst/registries, since it's no longer used.
12957         * gst/registries/Makefile.am:
12958         * gst/registries/gstlibxmlregistry.c:
12959         * gst/registries/gstlibxmlregistry.h:
12960         * gst/registries/gstxmlregistry.c:
12961         * gst/registries/gstxmlregistry.h:
12962         * gst/registries/registrytest.c:
12963
12964 2005-09-14  David Schleef  <ds@schleef.org>
12965
12966         * gst/glib-compat.h:
12967         * gst/gstregistryxml.c:
12968           Convergence is near.  Seriously.
12969
12970 2005-09-14  David Schleef  <ds@schleef.org>
12971
12972         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12973         * gst/glib-compat.h:
12974           Attempt #4 to appease the buildbots.
12975
12976 2005-09-14  David Schleef  <ds@schleef.org>
12977
12978         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12979           Attempt #3.
12980
12981 2005-09-14  David Schleef  <ds@schleef.org>
12982
12983         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12984         Attempt #2.
12985
12986 2005-09-14  David Schleef  <ds@schleef.org>
12987
12988         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
12989           the new functions.
12990
12991 2005-09-14  David Schleef  <ds@schleef.org>
12992
12993         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12994         * gst/glib-compat.h: Add some functions that are in newer versions
12995           of glib than we care to require.
12996         * gst/gstregistryxml.c: Use them.
12997
12998 2005-09-14  David Schleef  <ds@schleef.org>
12999
13000         * po/POTFILES.in: remove gst-register.c
13001
13002 2005-09-14  David Schleef  <ds@schleef.org>
13003
13004         * docs/gst/gstreamer-docs.sgml:
13005         * docs/gst/gstreamer-sections.txt:
13006         * docs/gst/gstreamer.types:
13007         * docs/gst/tmpl/gstelement.sgml:
13008         * docs/gst/tmpl/gstplugin.sgml:
13009         * docs/gst/tmpl/gstpluginfeature.sgml:
13010           Documentation updates for registry changes.
13011
13012 2005-09-14  David Schleef  <ds@schleef.org>
13013
13014         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
13015           because we don't require glib-2.8.
13016
13017 2005-09-14  David Schleef  <ds@schleef.org>
13018
13019         * gst/gstregistryxml.c: Added.  Essentially moved out of the
13020           registries directory.
13021
13022 2005-09-14  David Schleef  <ds@schleef.org>
13023
13024         * check/Makefile.am:
13025         * check/generic/states.c:
13026         * gst/Makefile.am:
13027         * gst/gst.c:
13028         * gst/gst.h:
13029         * gst/gst_private.h:
13030         * gst/gstelementfactory.c:
13031         * gst/gstindex.c:
13032         * gst/gstinfo.c:
13033         * gst/gstplugin.c:
13034         * gst/gstplugin.h:
13035         * gst/gstpluginfeature.c:
13036         * gst/gstpluginfeature.h:
13037         * gst/gstregistry.c:
13038         * gst/gstregistry.h:
13039         * gst/gstregistrypool.c: remove
13040         * gst/gstregistrypool.h: remove
13041         * gst/gsttypefind.c:
13042         * gst/gsttypefindfactory.c:
13043         * gst/gsturi.c:
13044         * tools/Makefile.am:
13045         * tools/gst-compprep.c:
13046         * tools/gst-inspect.c:
13047         * tools/gst-register.c: remove
13048         * tools/gst-xmlinspect.c:
13049           Registry rewrite.  Changes registry from being a file created
13050           by a tool into a simple cache file created automatically by 
13051           libgstreamer.  Removed gst-register (because it's no longer
13052           needed).  Remove registry pools, because we only have one
13053           registry implementation (XML).  Fix up other subsystems as
13054           necessary.
13055
13056 2005-09-13  Michael Smith <msmith@fluendo.com>
13057
13058         * gst/gstconfig.h.in:
13059           Don't Use windows linking attributes for MinGW. Fixes #316157
13060
13061 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13062
13063         * gst/gstutils.c: (set_state_async_thread_func),
13064         (gst_element_set_state_async):
13065           Apparently people think it's better if this function doesn't
13066           try to set the state to whatever state was asked for on the first
13067           call to this function for any object.  Seriously.
13068
13069 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13070
13071         * check/gst/gstpipeline.c: (GST_START_TEST):
13072         * docs/gst/gstreamer-sections.txt:
13073         * gst/gstutils.c: (set_state_async_thread_func),
13074         (gst_element_set_state_async):
13075         * gst/gstutils.h:
13076           add a "gst_element_set_state_async" method that
13077           sets the state and starts a thread to make sure the state
13078           change completes as best as it can
13079
13080 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13081
13082         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13083           codify design+behaviour in testsuite after discussion
13084
13085 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13086
13087         * docs/gst/tmpl/gstelement.sgml:
13088         * docs/manual/appendix-quotes.xml:
13089           add a quote
13090         * gst/gstelement.c: (gst_element_set_state):
13091           add some debug
13092
13093 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
13094
13095         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13096         (gst_base_transform_prepare_output_buf),
13097         (gst_base_transform_handle_buffer):
13098         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
13099         (gst_capsfilter_prepare_buf):
13100           Remove the requirement for sub-classes to call the parent
13101           implementation of prepare_output_buffer with a wrapper function.
13102           
13103         * gst/gsttaglist.h:
13104         * gst/gsttagsetter.h:
13105           Fix #define wrapper
13106
13107 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
13108
13109         * docs/gst/gstreamer-sections.txt:
13110           more doc cleanups
13111
13112 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13113
13114         * docs/gst/gstreamer-sections.txt:
13115         * docs/gst/tmpl/gstelement.sgml:
13116         * docs/gst/tmpl/gstplugin.sgml:
13117         * gst/gstminiobject.c:
13118         * gst/gstvalue.h:
13119           docs now stop throwing warnings
13120
13121 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13122
13123         * docs/gst/gstreamer-sections.txt:
13124         * docs/gst/gstreamer.types:
13125         * docs/gst/tmpl/gstpad.sgml:
13126         * docs/gst/tmpl/gsttypes.sgml:
13127         * gst/base/gstadapter.h:
13128         * gst/base/gstbasesink.h:
13129         * gst/base/gstbasesrc.h:
13130         * gst/gstbin.h:
13131         * gst/gstbuffer.h:
13132         * gst/gstbus.h:
13133         * gst/gstcaps.h:
13134         * gst/gstclock.h:
13135         * gst/gstelement.h:
13136         * gst/gstevent.h:
13137         * gst/gstmessage.h:
13138         * gst/gstpad.h:
13139         * gst/gststructure.c:
13140         * gst/registries/gstlibxmlregistry.h:
13141           various documentation fixes
13142
13143 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13144
13145         * docs/gst/gstreamer-sections.txt:
13146         * docs/gst/tmpl/gstvalue.sgml:
13147           rearrange gstvalue section
13148         * gst/gstutils.c: (gst_element_state_get_name):
13149           NONE -> VOID
13150         * gst/gstvalue.c: (_gst_value_initialize):
13151         * gst/gstvalue.h:
13152           doc updates
13153
13154 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
13155
13156         * check/gst-libs/controller.c:
13157           Header include fix.
13158         * gst/base/gstbasetransform.c:
13159         (gst_base_transform_default_prepare_buf),
13160         (gst_base_transform_handle_buffer):
13161         * gst/base/gstbasetransform.h:
13162           Some more basetransform changes and fixes to enable sub-classes
13163           that modify buffer metadata only.
13164         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13165         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13166         (gst_capsfilter_prepare_buf):
13167           If the output pad has fixed allowed caps and input buffers 
13168           don't have any, set the fixed caps on outgoing buffers.
13169
13170 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
13171         * check/elements/identity.c: (GST_START_TEST):
13172           Make the error a little clearer when the test fails because
13173           identity made a copy of the buffer.
13174         * docs/gst/gstreamer-sections.txt:
13175           New symbols in gstbasetransform.h
13176         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13177         (gst_base_transform_init), (gst_base_transform_transform_size),
13178         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13179         (gst_base_transform_default_prepare_buf),
13180         (gst_base_transform_get_unit_size),
13181         (gst_base_transform_buffer_alloc),
13182         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13183         (gst_base_transform_change_state),
13184         (gst_base_transform_set_passthrough),
13185         (gst_base_transform_set_in_place),
13186         (gst_base_transform_is_in_place):
13187         * gst/base/gstbasetransform.h:
13188           Change BaseTransform to separate in_place operate from same_caps
13189           output. in_place implies that the element can perform the transform
13190           on incoming buffers in-place, even if the caps on the output are
13191           different.
13192           Sub-class elements can now implement special buffer allocation
13193           methods for outgoing buffers if they wish to.
13194           Big documentation addition.
13195         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13196         * gst/elements/gstelements.c:
13197           Changes for basetransform modifications.
13198         * gst/elements/Makefile.am:
13199         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13200           Compile fix. Extra debug output.
13201
13202 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13203
13204         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13205         (gst_pad_suite):
13206           add tests for valid pad naming
13207         * gst/check/gstcheck.c: (gst_check_log_message_func),
13208         (gst_check_log_critical_func):
13209           add ASSERT_WARNING
13210           remove printing of code, it is fragile when the code contains
13211           % and the line number is enough info
13212         * gst/check/gstcheck.h:
13213         * gst/gstpad.c: (gst_pad_template_new):
13214           fix memleaks
13215
13216 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13217
13218         * configure.ac:
13219           say what CHECK flags we use
13220         * docs/libs/gstreamer-libs.types:
13221         * libs/gst/controller/Makefile.am:
13222         * libs/gst/controller/gst-controller.c:
13223         * libs/gst/controller/gst-controller.h:
13224         * libs/gst/controller/gst-helper.c:
13225         * libs/gst/controller/gst-interpolation.c:
13226         * libs/gst/controller/gstcontroller.c:
13227         * libs/gst/controller/gsthelper.c:
13228         * libs/gst/controller/gstinterpolation.c:
13229         * tools/gst-inspect.c: (print_plugin_info):
13230           we don't use dashes in header names
13231
13232 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13233
13234         * check/Makefile.am:
13235         * check/gst/.cvsignore:
13236         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13237         (gst_pipeline_suite), (main):
13238           adding a test for pipelines and state changes
13239         * gst/gstutils.c: (get_state_func):
13240           add some debugging
13241         * gstreamer.spec.in:
13242           fix up spec file
13243
13244 2005-09-08  Michael Smith <msmith@fluendo.com>
13245
13246         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13247         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13248         (gst_file_src_is_seekable), (gst_file_src_get_size),
13249         (gst_file_src_start):
13250         * gst/elements/gstfilesrc.h:
13251           Various fixes for unseekable, unmmapable, and non-normal files, so
13252           that fallback to read() rather than mmap() works.
13253         * gst/gstevent.c: (gst_event_new_newsegment):
13254           Allow newsegment events with segment_start == segment_end, as will
13255           correctly happen if you use filesrc on a zero-size file, for
13256           example.
13257
13258 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13259
13260         * gst/gstplugin.c: (gst_plugin_load_file):
13261           Call g_module_close when we don't load the module
13262
13263         * gst/registries/gstlibxmlregistry.c:
13264         (gst_xml_registry_get_property):
13265           Port leak fix from 0.8
13266
13267 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13268
13269         * docs/gst/gstreamer-docs.sgml:
13270         * docs/gst/tmpl/.cvsignore:
13271         * docs/gst/tmpl/gsttrace.sgml:
13272         * docs/gst/tmpl/gsttrashstack.sgml:
13273         * gst/Makefile.am:
13274         * gst/gst.h:
13275         * gst/gstelement.h:
13276         * gst/gstevent.h:
13277         * gst/gstmessage.c:
13278         * gst/gstmessage.h:
13279         * gst/gsttag.c:
13280         * gst/gsttag.h:
13281         * gst/gsttaginterface.c:
13282         * gst/gsttaginterface.h:
13283         * gst/gsttaglist.c:
13284         * gst/gsttaglist.h:
13285         * gst/gsttagsetter.c:
13286         * gst/gsttagsetter.h:
13287         * gst/gsttrace.c:
13288         * gst/gsttrace.h:
13289         * gst/gsttrashstack.c:
13290           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13291           inlined docs for gsttrace, gsttrashstack
13292
13293 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13294
13295         * gst/Makefile.am:
13296         * gst/elements/gstbufferstore.h:
13297         * gst/elements/gsttypefindelement.c:
13298         * gst/elements/gsttypefindelement.h:
13299         * gst/gst.h:
13300         * gst/gsttypefind.c:
13301         * gst/gsttypefind.h:
13302         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13303         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13304         (gst_type_find_factory_dispose),
13305         (gst_type_find_factory_unload_thyself),
13306         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13307         (gst_type_find_factory_get_caps),
13308         (gst_type_find_factory_get_extensions),
13309         (gst_type_find_factory_call_function):
13310         * gst/gsttypefindfactory.h:
13311         * gst/registries/gstlibxmlregistry.c:
13312         * gst/registries/gstxmlregistry.c:
13313           splitted gsttypefind into gsttypefind, gsttypefindfactory
13314
13315 2005-09-07  Andy Wingo  <wingo@pobox.com>
13316
13317         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13318         condition whereby the pad's task function is entered before the
13319         pad_mode variable was set.
13320
13321 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13322
13323         * gst/gstpad.c: (gst_pad_alloc_buffer):
13324           Catch misbehaving pad_alloc functions that don't
13325           set up caps and do it for them.
13326
13327 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13328
13329         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13330           test for pipe!=NULL
13331         * docs/gst/tmpl/.cvsignore:
13332         * docs/gst/tmpl/gstmemchunk.sgml:
13333         * docs/gst/tmpl/gstparse.sgml:
13334         * docs/gst/tmpl/gsttaglist.sgml:
13335         * docs/gst/tmpl/gsttagsetter.sgml:
13336         * docs/gst/tmpl/gsttypefind.sgml:
13337         * docs/gst/tmpl/gsttypefindfactory.sgml:
13338         * gst/gstmemchunk.c:
13339         * gst/gstparse.c:
13340         * gst/gsttag.c:
13341         * gst/gsttaginterface.c:
13342         * gst/gsttypefind.c:
13343         * gst/gsttypefind.h:
13344           inlined more docs
13345
13346 === release 0.9.2 ===
13347
13348 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13349
13350         * NEWS:
13351         * RELEASE:
13352         * configure.ac:
13353           releasing 0.9.2, "South"
13354
13355 2005-09-05  Andy Wingo  <wingo@pobox.com>
13356
13357         * gst/registries/gstxmlregistry.h:
13358         * gst/registries/gstxmlregistry.c: Um... resurrect...
13359         
13360         * gst/registries/gstxmlregistry.h:
13361         * gst/registries/gstxmlregistry.c: and update to newer API.
13362         Incidentally they should be a bit faster now that they don't have
13363         to parse the caps.
13364         
13365 2005-09-05  Andy Wingo  <wingo@pobox.com>
13366
13367         * gst/registries/gstxmlregistry.h:
13368         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
13369         replaced by the libxml registry a while back
13370
13371 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13372
13373         * docs/gst/tmpl/gstplugin.sgml:
13374         * gst/elements/gstelements.c:
13375         * gst/gst.c:
13376         * gst/gstplugin.c: (gst_plugin_register_func),
13377         (gst_plugin_desc_copy), (gst_plugin_desc_free),
13378         (gst_plugin_get_source):
13379         * gst/gstplugin.h:
13380         * gst/registries/gstlibxmlregistry.c: (load_plugin),
13381         (gst_xml_registry_save_plugin):
13382         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
13383         (gst_xml_registry_save_plugin):
13384         * tools/gst-inspect.c: (print_plugin_info):
13385           add a "source" plugin description field, to represent the source
13386           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
13387           will set it to PACKAGE, which is automake's idea of the name of
13388           the source project.
13389
13390 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13391
13392         * Makefile.am:
13393         * autogen.sh:
13394         * configure.ac:
13395         * docs/Makefile.am:
13396         * docs/faq/Makefile.am:
13397         * docs/gst/tmpl/gstelement.sgml:
13398         * docs/gst/tmpl/gsttypes.sgml:
13399         * docs/htmlinstall.mak:
13400         * docs/manual/Makefile.am:
13401         * docs/pwg/Makefile.am:
13402           reorganize doc build a little
13403           split out docbook and gtk-doc stuff
13404           have two separate --enable's and enable them through autogen
13405           but disable by default in configure (to be similar to other
13406           projects)
13407         * gstreamer.spec.in:
13408           clean up docs install
13409         * po/af.po:
13410         * po/az.po:
13411         * po/ca.po:
13412         * po/cs.po:
13413         * po/de.po:
13414         * po/en_GB.po:
13415         * po/fr.po:
13416         * po/it.po:
13417         * po/nb.po:
13418         * po/nl.po:
13419         * po/ru.po:
13420         * po/sq.po:
13421         * po/sr.po:
13422         * po/sv.po:
13423         * po/tr.po:
13424         * po/uk.po:
13425         * po/vi.po:
13426           translation updates
13427
13428 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
13429
13430         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
13431           Add comment.
13432           
13433         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13434         (gst_fake_sink_change_state):
13435           Make state change function thread-safe.
13436           
13437         * gst/gstpad.c: (gst_pad_alloc_buffer):
13438           Set offset on generic buffer allocated by fallback.
13439
13440 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
13441
13442         * docs/gst/gstreamer-sections.txt:
13443         * docs/gst/tmpl/gstelement.sgml:
13444         * gst/gstpad.c:
13445         * libs/gst/controller/gst-controller.c:
13446         (gst_controlled_property_set_interpolation_mode),
13447         (gst_controlled_property_new),
13448         (gst_controller_find_controlled_property):
13449          run the wingo-magic script against the docs
13450
13451 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13452
13453         * docs/gst/gstreamer-docs.sgml:
13454         * docs/gst/gstreamer-sections.txt:
13455         * docs/gst/tmpl/.cvsignore:
13456         * docs/gst/tmpl/gstelementdetails.sgml:
13457         * docs/gst/tmpl/gstelementfactory.sgml:
13458         * gst/gst.c:
13459         * gst/gstbus.c:
13460         * gst/gstelementfactory.c:
13461         * gst/gstelementfactory.h:
13462           merged elementdetails docs into elementfactory docs
13463           inlined both
13464
13465 2005-09-02  Andy Wingo  <wingo@pobox.com>
13466
13467         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
13468         consider this enum an enum and not a flags.
13469
13470 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13471
13472         * docs/gst/gstreamer-docs.sgml:
13473         * docs/gst/tmpl/.cvsignore:
13474         * docs/gst/tmpl/gstghostpad.sgml:
13475         * docs/gst/tmpl/gstiterator.sgml:
13476         * docs/gst/tmpl/gstmacros.sgml:
13477         * docs/gst/tmpl/gstrealpad.sgml:
13478         * docs/gst/tmpl/gstregistry.sgml:
13479         * docs/gst/tmpl/gstregistrypool.sgml:
13480         * docs/gst/tmpl/gststructure.sgml:
13481         * docs/gst/tmpl/gstsystemclock.sgml:
13482         * docs/gst/tmpl/gsttrace.sgml:
13483         * gst/gstghostpad.c:
13484         * gst/gstmacros.h:
13485         * gst/gstmemchunk.c:
13486         * gst/gstmemchunk.h:
13487         * gst/gstqueue.c:
13488         * gst/gstregistry.c:
13489         * gst/gstregistrypool.c:
13490         * gst/gststructure.c:
13491         * gst/gstsystemclock.c:
13492           more docs inlined
13493
13494 2005-09-02  Andy Wingo  <wingo@pobox.com>
13495
13496         * gst/gstelement.h (GstState): Renamed from GstElementState,
13497         changed to be a normal enum instead of flags.
13498         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
13499         munged to be GST_STATE_CHANGE_*.
13500         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
13501         work with the new state representation.
13502         (GstStateChange): New enumeration of possible state transitions.
13503         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
13504         (GstElementClass::change_state): Pass the GstStateChange along as
13505         an argument. Helps language bindings, so they don't have to use
13506         tricky lock-needing macros like GST_STATE_CHANGE ().
13507
13508         * scripts/update-states (file): New script. Run it on a file to
13509         update it for state naming and API changes. Updates files in
13510         place.
13511
13512         * All files updated for the new API.
13513
13514 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13515
13516         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
13517         * gst/gstutils.c: (gst_util_set_value_from_string),
13518         (gst_util_set_object_arg):
13519           fix a bunch of unchecked return values
13520         * tools/gst-complete.c: (main):
13521         * gstreamer.spec.in:
13522           clean up a little
13523
13524 2005-09-01  Wim Taymans  <wim@fluendo.com>
13525
13526         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13527         (gst_base_sink_event), (gst_base_sink_do_sync),
13528         (gst_base_sink_handle_event):
13529         * gst/base/gstbasesink.h:
13530         Handle newsegments more correctly.
13531
13532         * gst/gstbus.c:
13533         Fix docs.
13534
13535         * gst/gstevent.c: (gst_event_new_newsegment):
13536         A newsegment cannot have a start_time of -1
13537
13538 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
13539
13540         * win32/gstenumtypes.c:
13541         * win32/gstenumtypes.h:
13542           Update
13543
13544 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13545
13546         * libs/gst/controller/gst-controller.c:
13547         (gst_controlled_property_set_interpolation_mode),
13548         (gst_controlled_property_new):
13549          fixed boolean again
13550
13551 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13552
13553         * docs/faq/gst-uninstalled:
13554           add -good
13555         * gst/gstevent.c:
13556         * gst/gstevent.h:
13557           remove wrong docs
13558         * gst/gstutils.c: (gst_element_link_filtered):
13559         * gst/gstutils.h:
13560           add gst_element_link_filtered
13561
13562 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13563
13564         * docs/gst/gstreamer-docs.sgml:
13565         * docs/gst/gstreamer-sections.txt:
13566         * docs/gst/tmpl/.cvsignore:
13567         * docs/gst/tmpl/gsterror.sgml:
13568         * docs/gst/tmpl/gstfilter.sgml:
13569         * docs/gst/tmpl/gsturihandler.sgml:
13570         * docs/gst/tmpl/gsturitype.sgml:
13571         * docs/gst/tmpl/gstutils.sgml:
13572         * docs/gst/tmpl/gstxml.sgml:
13573         * gst/gsterror.c:
13574         * gst/gsterror.h:
13575         * gst/gstfilter.c:
13576         * gst/gsturi.c:
13577         * gst/gsturitype.c:
13578         * gst/gstutils.c:
13579         * gst/gstxml.c:
13580           inlined more docs, fixed double id-ref
13581
13582 2005-08-31  Wim Taymans  <wim@fluendo.com>
13583
13584         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13585         (gst_base_transform_handle_buffer):
13586         Passthrough elements don't need the caps as they don't care.
13587
13588 2005-08-31  Wim Taymans  <wim@fluendo.com>
13589
13590         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13591         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
13592         Don't leak refcounts on buffers.
13593
13594 2005-08-31  Wim Taymans  <wim@fluendo.com>
13595
13596         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
13597         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13598         (gst_base_transform_chain), (gst_base_transform_change_state):
13599         * gst/base/gstbasetransform.h:
13600         Handle the case where we are not negotiated more gracefully.
13601
13602 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
13603
13604         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
13605         (gst_file_src_map_region):
13606           Set READONLY flag on mmap'ed buffers, otherwise
13607           gst_buffer_make_writable() won't work properly (#314708).
13608
13609 2005-08-31  Wim Taymans  <wim@fluendo.com>
13610
13611         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
13612         passthrough elements can even do inplace on non writable
13613         buffers (as they don't touch them).
13614
13615 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13616
13617         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13618         (gst_test_mono_source_set_property),
13619         (gst_test_mono_source_class_init), (GST_START_TEST),
13620         (gst_controller_suite):
13621           more tests (hehe I have the most)
13622         * gst/gstbus.c:
13623           describe popping messages whenusing mulltiple sources
13624         * libs/gst/controller/gst-controller.c:
13625         (gst_controlled_property_set_interpolation_mode),
13626         (gst_controlled_property_new):
13627         * libs/gst/controller/gst-controller.h:
13628         * libs/gst/controller/gst-interpolation.c:
13629           implement boolean properties
13630
13631 2005-08-31  Wim Taymans  <wim@fluendo.com>
13632
13633         * gst/gstminiobject.c: (gst_mini_object_ref):
13634         Cannot assert that the refcount has to be positive
13635         since a disposed object can be resurrected.
13636
13637 2005-08-31  Wim Taymans  <wim@fluendo.com>
13638
13639         * gst/gstpad.c: (gst_pad_init):
13640         Revert change, need to first fix badly behaving 
13641         apps.
13642
13643 2005-08-30  Wim Taymans  <wim@fluendo.com>
13644
13645         * check/elements/fakesrc.c: (setup_fakesrc):
13646         * check/elements/identity.c: (setup_identity):
13647         Activate pads before using them.
13648
13649 2005-08-30  Wim Taymans  <wim@fluendo.com>
13650
13651         * gst/base/gstadapter.c: (gst_adapter_flush):
13652         Flushing out 0 bytes is ok for this function.
13653
13654         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13655         no newsegment gives a warning and sets the start/stop to 
13656         invalid.
13657
13658         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
13659         (gst_base_transform_set_passthrough):
13660         Some debug info.
13661
13662         * gst/gstminiobject.c: (gst_mini_object_ref):
13663         Check refcount here too.
13664
13665         * gst/gstpad.c: (gst_pad_init):
13666         Pads are initially flushing and refusing data.
13667
13668         * gst/gstutils.c: (gst_element_link_pads_filtered):
13669         When adding a capsfilter element make sure it has the
13670         same state as the parent bin.
13671
13672 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13673
13674         * docs/gst/tmpl/.cvsignore:
13675         * docs/gst/tmpl/gstformat.sgml:
13676         * docs/gst/tmpl/gstversion.sgml:
13677         * gst/gstbus.h:
13678         * gst/gstformat.c:
13679         * gst/gstformat.h:
13680         * gst/gstversion.h.in:
13681           more docs and two more inlined
13682
13683 2005-08-30  Wim Taymans  <wim@fluendo.com>
13684
13685         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
13686         Don't sync to clock.
13687
13688 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13689
13690         * docs/gst/gstreamer-sections.txt:
13691           ultral33t func10ns deserve to appear in the docs actually
13692         * docs/gst/tmpl/.cvsignore:
13693         * docs/gst/tmpl/gstcompat.sgml:
13694         * docs/gst/tmpl/gstconfig.sgml:
13695         * gst/check/gstcheck.c:
13696         * gst/gstcompat.h:
13697         * gst/gstconfig.h.in:
13698           inlined more docs
13699
13700 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13701
13702         * docs/gst/tmpl/.cvsignore:
13703         * docs/gst/tmpl/gstquery.sgml:
13704         * docs/gst/tmpl/gstutils.sgml:
13705         * gst/gstquery.c:
13706         * gst/gstquery.h:
13707           inlined and extended docs
13708
13709 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13710
13711         * check/gst-libs/controller.c: (GST_START_TEST),
13712         (gst_controller_suite):
13713           more tests
13714         * docs/gst/tmpl/gstutils.sgml:
13715         * docs/libs/gstreamer-libs-sections.txt:
13716         * docs/libs/tmpl/gstdataprotocol.sgml:
13717           include path fixes
13718         * examples/controller/audio-example.c: (main):
13719           controller example works now
13720         * gst/gstclock.h:
13721           doc fixes
13722         * tools/gst-inspect.c: (print_element_properties_info):
13723           show param spec flags
13724
13725 2005-08-29  Andy Wingo  <wingo@pobox.com>
13726
13727         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
13728
13729 2005-08-28  Andy Wingo  <wingo@pobox.com>
13730
13731         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
13732         as having two arguments instead of just one. Allows superclasses
13733         to access information on subclasses -- see the terrible for() loop
13734         in gtype.c:g_type_create_instance for the reason why. All callers
13735         changed.
13736
13737 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13738
13739         * docs/design/part-messages.txt:
13740           update info
13741         * docs/gst/tmpl/.cvsignore:
13742         * docs/gst/tmpl/gstcaps.sgml:
13743         * docs/gst/tmpl/gstclock.sgml:
13744         * gst/gstbus.c:
13745         * gst/gstcaps.c:
13746         * gst/gstcaps.h:
13747         * gst/gstclock.c:
13748         * gst/gstclock.h:
13749         * gst/gstmessage.c:
13750           added descriptions for bus and message
13751           inline caps and clock docs
13752
13753 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13754
13755         * gst/gstmessage.c:
13756         * gst/gstmessage.h:
13757           doc fixes
13758
13759 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13760
13761         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13762           fix div-by-zero
13763
13764 2005-08-26  Andy Wingo  <wingo@pobox.com>
13765
13766         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
13767         element_set_state's return val.
13768         (test_2_elements): Add test that's been disabled for months.
13769
13770         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
13771         can-activate-pull properties.
13772
13773         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
13774         can-activate-pull properties. Implement is_seekable so fakesrc can
13775         operate in pull mode.
13776
13777         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
13778         properties.
13779         (gst_base_sink_activate, gst_base_sink_activate_pull)
13780         (gst_base_sink_activate_push): Make activation mode choosing work.
13781         Cleanups.
13782         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
13783         is right. Make pull mode work. Post an eos before pausing in pull
13784         mode.
13785         (gst_base_sink_change_state): Pay attention to the core's
13786         change_state() return val.
13787         
13788         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
13789         has-getrange properties. Cleanups.
13790         
13791         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
13792         has_getrange and replace with can_activate_pull and
13793         can_activate_push.
13794
13795         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
13796         locking comments. Remove has_loop, has_chain and replace with
13797         can_activate_pull and can_activate_push.
13798
13799 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
13800
13801         * configure.ac:
13802         * examples/Makefile.am:
13803         * examples/metadata/Makefile.am:
13804         * examples/metadata/read-metadata.c: (message_loop),
13805         (have_pad_handler), (make_pipeline), (print_tag), (main):
13806           Add metadata reading example that loops over a list of filenames,
13807           dumping any tags found.
13808
13809         * gst/gstbus.c: (gst_bus_dispose):
13810         * gst/gstelement.c: (gst_element_dispose):
13811           Release a few potentially-held references in dispose.
13812
13813 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13814
13815         * docs/gst/tmpl/gstminiobject.sgml:
13816           do *not* add tmpl/*.sgml files to CVS!
13817
13818 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13819
13820         * libs/gst/bytestream/.cvsignore:
13821         * libs/gst/bytestream/Makefile.am:
13822         * libs/gst/bytestream/adapter.c:
13823         * libs/gst/bytestream/adapter.h:
13824         * libs/gst/bytestream/bytestream.c:
13825         * libs/gst/bytestream/bytestream.h:
13826         * libs/gst/bytestream/filepad.c:
13827         * libs/gst/bytestream/filepad.h:
13828           removing obsolete files
13829
13830 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13831
13832         * docs/gst/gstreamer-docs.sgml:
13833         * docs/libs/gstreamer-libs-docs.sgml:
13834           disabed additional index entries again, as this makes docs-gen just
13835           slow and they aren't useful yet
13836         * docs/libs/gstreamer-libs-sections.txt:
13837           little -section.txt cleanup for libs
13838
13839 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13840
13841         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13842         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
13843           fix up some debugging
13844         (gst_base_transform_get_unit_size),
13845         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13846         (gst_base_transform_handle_buffer):
13847         * gst/base/gstbasetransform.h:
13848           handle and store timed NEWSEGMENT events so that subclasses that
13849           calculate time by counting samples have a segment_start time they
13850           need to add to their timestamps - see audioresample
13851
13852 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13853
13854         * gst/gstbin.h:
13855           removed ';' from the end of macro defs
13856         * docs/gst/gstreamer-docs.sgml:
13857         * docs/gst/gstreamer-sections.txt:
13858         * docs/gst/tmpl/.cvsignore:
13859         * gst/gstbus.h:
13860         * gst/gstelement.c: (gst_element_class_init),
13861         (gst_element_set_state), (activate_pads),
13862         (gst_element_save_thyself):
13863         * gst/gstevent.c: (gst_event_new_newsegment):
13864         * gst/gstevent.h:
13865         * gst/gstiterator.c:
13866         * gst/gstiterator.h:
13867         * gst/gstpad.c:
13868         * gst/gstprobe.h:
13869         * gst/gstutils.c: (gst_pad_query_convert):
13870         * gst/gstutils.h:
13871           fixed parameter name mismatches between source, header and docs
13872           added some more docs, resolved the last batch of unused elements in
13873           docs (now someone needs to doc them)
13874
13875 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13876
13877         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
13878         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
13879           don't walk through the plugins backwards.  Where is all this
13880           reversed logic coming from ?
13881
13882 2005-08-25  Wim Taymans  <wim@fluendo.com>
13883
13884         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13885         (gst_base_transform_transform_size),
13886         (gst_base_transform_configure_caps),
13887         (gst_base_transform_get_unit_size),
13888         (gst_base_transform_buffer_alloc),
13889         (gst_base_transform_change_state):
13890         * gst/base/gstbasetransform.h:
13891         Cache caps unit_size.
13892         Make sure we cannot negotiate up and downstream at the
13893         same time.
13894
13895 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13896
13897         * gst/gst.c: (init_pre), (init_post):
13898           register the installed plugin path after the env var
13899         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
13900         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
13901           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
13902           directories, so the tests can prefer uninstalled over installed
13903
13904 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13905
13906         * gst/base/gstbasetransform.h:
13907           comment
13908         * gst/gstpad.c:
13909           add to docs
13910
13911 2005-08-25  Wim Taymans  <wim@fluendo.com>
13912
13913         * gst/gstbin.c: (bin_bus_handler):
13914         Be a bit more conservative about the posted message.
13915         
13916         * gst/gstbus.c: (gst_bus_post):
13917         Some cleanups, warn wrong return values.
13918
13919 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
13920
13921         * check/gst/gstbin.c: (GST_START_TEST):
13922         * gst/gstbin.c: (bin_bus_handler):
13923         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13924         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13925         (gst_message_new_warning), (gst_message_new_tag),
13926         (gst_message_new_state_changed), (gst_message_new_segment_start),
13927         (gst_message_new_segment_done), (gst_message_new_custom):
13928         * gst/gstmessage.h:
13929         * tools/gst-launch.c: (event_loop):
13930         * tools/gst-md5sum.c: (event_loop):
13931           Revert unpopular change for GST_MESSAGE_SRC to GObject.
13932
13933 2005-08-25  Wim Taymans  <wim@fluendo.com>
13934
13935         * check/generic/states.c: (GST_START_TEST):
13936         Cleanup can be done at the end.
13937
13938         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
13939         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13940         (gst_task_get_state), (gst_task_start), (gst_task_pause):
13941         Oh boy.. Thanks for finding this, Thomas. 
13942
13943 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13944
13945         * docs/gst/gstreamer.types:
13946           added missing types
13947
13948 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13949
13950         * docs/gst/gstreamer-docs.sgml:
13951         * docs/gst/gstreamer-sections.txt:
13952         * docs/gst/tmpl/.cvsignore:
13953         * gst/gstbin.c:
13954         * gst/gstiterator.c:
13955         * gst/gstutils.c:
13956         * gst/registries/gstxmlregistry.h:
13957           added missing classes and symbols (123 more to go)
13958           removed removed symbols from section file
13959           fixed many doc-comments
13960
13961 2005-08-24  Wim Taymans  <wim@fluendo.com>
13962
13963         * check/generic/states.c: (GST_START_TEST):
13964         Make sure all tasks are stopped.
13965
13966         * check/gst/gstbin.c: (GST_START_TEST):
13967         Unref after usage for proper valgrinding.
13968
13969         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
13970         Really wait for the task to stop before destroying the
13971         mutex.
13972
13973         * gst/gstqueue.c: (gst_queue_sink_activate_push),
13974         (gst_queue_src_activate_push):
13975         Small cleanups. Don't stop the task when we did not start
13976         it.
13977
13978         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
13979         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13980         (gst_task_get_state), (gst_task_start), (gst_task_pause),
13981         (gst_task_join):
13982         * gst/gsttask.h:
13983         Protect the stream lock with the object lock.
13984         Disallow setting the stream lock when running.
13985         Add cleanup_all to wait for the threadpool to finish.
13986         Remove code to autoallocate a mutex if none was provided.
13987         Add _join() to wait for a task to stop.
13988         Protect the thread pool with a global lock.
13989
13990 2005-08-24  Wim Taymans  <wim@fluendo.com>
13991
13992         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13993         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13994         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
13995         * gst/base/gstbasesink.h:
13996         Handle newsegment events correctly.
13997         Drop buffers out of the segment range.
13998
13999 2005-08-22  Andy Wingo  <wingo@pobox.com>
14000
14001         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
14002         macro, implements an interface and gstimplementsinterface for a
14003         new type.
14004
14005 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14006
14007         * check/Makefile.am:
14008         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
14009           add a test that does a bunch of state changes on elements
14010           needs some fixing for valgrind
14011         * check/states/sinks.c: (gst_object_suite):
14012           whitespace
14013         * gst/gstcaps.h:
14014           add prototype for gst_caps_is_equal_fixed
14015         * gst/gstplugin.c:
14016         * gst/gstregistrypool.c:
14017           doc fixes
14018
14019 2005-08-24  Andy Wingo  <wingo@pobox.com>
14020
14021         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
14022         convert a negative value. Doesn't make much sense. Mostly this is
14023         here to force callers to ensure -1 maps to -1.
14024
14025 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14026
14027         * docs/pwg/advanced-types.xml:
14028           Well done to Michael for catching my deliberate introduction
14029           of this spelling mistake. 
14030         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
14031         * gst/gstelement.h:
14032           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
14033           unlink pads before removing the element from the bin.
14034
14035 2005-08-24  Andy Wingo  <wingo@pobox.com>
14036
14037         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
14038         the same thing as GST_DEBUG=*:4.
14039         (parse_debug_level, parse_debug_category): New helper parsers.
14040
14041 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14042
14043         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14044         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
14045         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
14046         (gst_base_transform_buffer_alloc),
14047         (gst_base_transform_handle_buffer):
14048           use gboolean return values and pointers to size so we can use the
14049           full GST_BUFFER_SIZE range (guint) for buffer sizes
14050           use GstPadDirection for transform_caps
14051         * gst/base/gstbasetransform.h:
14052           rename get_size to get_unit_size since that's what it is
14053         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
14054           use GstPadDirection for transform_caps
14055         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14056         * gst/gstutils.h:
14057           cleanup and debugging
14058
14059 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14060
14061         * gst/gstelement.c: (gst_element_class_init),
14062         (gst_element_set_state), (activate_pads),
14063         (gst_element_save_thyself):
14064         * tools/gst-compprep.c: (main):
14065         * tools/gst-inspect.c: (print_element_properties_info):
14066         * tools/gst-xmlinspect.c: (print_element_properties):
14067           Fixed long standing mem-leak
14068
14069 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14070
14071         * check/gst/gstbin.c: (GST_START_TEST):
14072         * gst/gstbin.c: (bin_bus_handler):
14073         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14074         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14075         (gst_message_new_warning), (gst_message_new_tag),
14076         (gst_message_new_state_changed), (gst_message_new_segment_start),
14077         (gst_message_new_segment_done), (gst_message_new_custom):
14078         * gst/gstmessage.h:
14079         * tools/gst-launch.c: (event_loop):
14080         * tools/gst-md5sum.c: (event_loop):
14081           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
14082           that applications can sensibly post custom messages with references
14083           to their own objects.
14084
14085 2005-08-24  Andy Wingo  <wingo@pobox.com>
14086
14087         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
14088         already.
14089
14090 2005-08-24  Wim Taymans  <wim@fluendo.com>
14091
14092         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14093         (gst_base_transform_transform_caps),
14094         (gst_base_transform_transform_size),
14095         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14096         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14097         (gst_base_transform_handle_buffer):
14098         * gst/base/gstbasetransform.h:
14099         Many fixes and new features added by Thomas. Can now also do
14100         transforms with variable sizes and a custom fixate_caps function.
14101
14102 2005-08-24  Wim Taymans  <wim@fluendo.com>
14103
14104         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14105         Some debugging.
14106
14107         * gst/gstclock.h:
14108         Cast to ClockTime before formatting to time.
14109
14110         * gst/gstutils.h:
14111         Cleanups.
14112
14113 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14114
14115         * check/gst-libs/controller.c: (GST_START_TEST),
14116         (gst_controller_suite):
14117         * docs/gst/tmpl/gstcaps.sgml:
14118         * docs/gst/tmpl/gstghostpad.sgml:
14119         * docs/gst/tmpl/gstquery.sgml:
14120         * docs/gst/tmpl/gstutils.sgml:
14121         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
14122         (gst_object_sink_values), (gst_object_get_value_arrays),
14123         (gst_object_get_value_array):
14124           gracefully handle helper method calls to objects that are not beeing
14125           controlled, added test case for that          
14126
14127 2005-08-23  Wim Taymans  <wim@fluendo.com>
14128
14129         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
14130         (gst_event_new_newsegment), (gst_event_parse_newsegment),
14131         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
14132         (gst_event_parse_qos), (gst_event_new_seek),
14133         (gst_event_parse_seek):
14134         * gst/gstevent.h:
14135         Some more debugging output and doc cleanups.
14136
14137         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14138         Fix possible deadlock.
14139
14140 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14141
14142         * docs/gst/gstreamer-docs.sgml:
14143         * docs/gst/gstreamer-sections.txt:
14144         * docs/gst/gstreamer.types:
14145         * docs/gst/tmpl/.cvsignore:
14146         * gst/gstbin.h:
14147         * gst/gstbus.c:
14148         * gst/gstelement.c:
14149         * gst/gstevent.h:
14150           added 100 symbols from gstreamer-unused.txt to the right sections
14151           fixed more broken comments
14152           added GstBus to docs
14153
14154 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14155
14156         * docs/gst/gstreamer-sections.txt:
14157         * docs/gst/tmpl/.cvsignore:
14158         * docs/gst/tmpl/gstbin.sgml:
14159         * docs/gst/tmpl/gstbuffer.sgml:
14160         * gst/base/gstbasesrc.c:
14161         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14162         * gst/gstbuffer.c:
14163         * gst/gstbuffer.h:
14164         * tools/gst-launch.1.in:
14165           inlined more doc comments, added missing comments and fixed comments
14166           fixed typos
14167
14168 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14169
14170         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14171           some debugging
14172         * gst/gstcaps.h:
14173           whitespace fixes
14174         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14175           more debugging
14176         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14177         * gst/gststructure.h:
14178           add a fixate function for booleans; add a FIXME that these func
14179           names should probably be gst_structure_fixate_*
14180
14181 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14182
14183         * docs/gst/gstreamer-docs.sgml:
14184         * docs/gst/gstreamer-sections.txt:
14185         * gst/Makefile.am:
14186         * gst/gstbin.c: (gst_bin_get_type),
14187         (gst_bin_child_proxy_get_child_by_index),
14188         (gst_bin_child_proxy_get_children_count),
14189         (gst_bin_child_proxy_init):
14190         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14191         (gst_child_proxy_get_child_by_index),
14192         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14193         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14194         (gst_child_proxy_get), (gst_child_proxy_set_property),
14195         (gst_child_proxy_set_valist), (gst_child_proxy_set),
14196         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14197         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14198         * gst/gstchildproxy.h:
14199         * gst/parse/grammar.y:
14200         * tools/gst-inspect.c: (print_interfaces),
14201         (print_element_properties_info), (print_element_info):
14202           ported gstchildproxy over from 0.8
14203           ported gst-inspect fixes and enhancements over from 0.8
14204
14205 2005-08-22  Wim Taymans  <wim@fluendo.com>
14206
14207         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14208         (gst_base_transform_handle_buffer):
14209         Also call the transform function if we have ANY caps.
14210
14211         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14212         Fix debug info.
14213
14214 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14215
14216         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14217           Don't pretend to handle seek events if the source is not seekable
14218
14219 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14220
14221         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14222           Remove extra parameter to debug output
14223
14224         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14225         (gst_base_src_do_seek), (gst_base_src_activate_push):
14226           Fix seek event handling.
14227
14228         * gst/gstpipeline.c: (gst_pipeline_change_state):
14229         * gst/gstqueue.c: (gst_queue_handle_sink_event),
14230         (gst_queue_src_activate_push):
14231           Don't start the src pad task on FLUSH_STOP if the pad
14232           isn't linked.
14233           Debug changes.
14234
14235 2005-08-22  Wim Taymans  <wim@fluendo.com>
14236
14237         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14238         Added check for gst_static_caps_get() refcounting.
14239
14240 2005-08-22  Wim Taymans  <wim@fluendo.com>
14241
14242         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14243         Make _static_caps_get() refcounting sane.
14244         
14245         * gst/gstelement.c: (gst_element_set_state):
14246         Add g_return_val_if_fail() to protect against segfaults.
14247
14248 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
14249
14250         * docs/gst/tmpl/gstevent.sgml:
14251         * gst/gstevent.c:
14252         * gst/gstevent.h:
14253           inlined remaining docs, added missing doc comments
14254
14255 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14256
14257         * check/gst/gstbin.c: (GST_START_TEST):
14258           since we don't know when preroll is done, use refcount range
14259           check for the sink
14260         * gst/check/gstcheck.h:
14261           add macro for checking refcount range
14262
14263 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14264
14265         * check/Makefile.am:
14266           clean up environment for when registry gets built versus
14267           when actual tests are run; valgrind seems to not report
14268           leaks if GST_PLUGIN_PATH is set to some specific values
14269         * check/gst/gstbin.c: (GST_START_TEST):
14270           add more refcounting checks; maybe this exposes a
14271           preroll lock bug ?
14272         * common/check.mak:
14273         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14274         * gst/check/gstcheck.h:
14275         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14276         (gst_bin_change_state):
14277         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14278           add/fix debugging/whitespace
14279
14280 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14281
14282         * check/gst/gstevent.c: (event_probe), (test_event),
14283         (GST_START_TEST):
14284          Er, don't call gst_bin_watch_for_state_change you idiot.
14285
14286 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14287
14288         * check/Makefile.am:
14289           Use CHECK_CFLAGS and CHECK_LIBS
14290         * check/gst/gstevent.c: (event_probe), (test_event),
14291         (GST_START_TEST):
14292           Don't leak events.
14293         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14294         (gst_base_src_start), (gst_base_src_stop),
14295         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14296         (gst_base_src_change_state):
14297           Sprinkle gst_base_src_stop liberally around error paths to fix
14298           problems reusing a source after failed state changes.
14299         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14300         (helper_find_suggest), (gst_type_find_helper):
14301           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14302         * gst/gstevent.h:
14303         * docs/gst/tmpl/gstevent.sgml:
14304           Migrate part of the docs from the SGML file. Wait for ensonic to
14305           tell me how I did it wrong ;)
14306         * tools/gst-typefind.c: (main):
14307           Extra robustness to state changes between files.
14308
14309 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14310
14311         * check/Makefile.am:
14312           don't valgrind the controller test - it's leaking - Stefan, HELP
14313         * gst/check/gstcheck.c: (gst_check_message_error),
14314         (gst_check_chain_func), (gst_check_setup_element),
14315         (gst_check_teardown_element), (gst_check_setup_src_pad),
14316         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14317         (gst_check_teardown_sink_pad):
14318         * gst/check/gstcheck.h:
14319           add a bunch of methods to set up elements, and src and sink pads
14320         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14321         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14322         (GST_START_TEST):
14323           use them
14324         * gst/gstmessage.c:
14325         * gst/gsttag.h:
14326           whitespace/doc fixes
14327
14328 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14329
14330         * gst/gstelement.h:
14331           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14332           be handled by the application and not always printed as well
14333
14334 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14335
14336         * check/Makefile.am:
14337           set GST_TOOLS_DIR
14338         * gst/check/gstcheck.c: (gst_check_message_error):
14339         * gst/check/gstcheck.h:
14340           add a fail_unless_equals_int
14341           add fail_unless for error messages
14342
14343 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14344
14345         * check/Makefile.am:
14346         * check/gst.supp:
14347         * common/Makefile.am:
14348         * common/check.mak:
14349         * common/gst.supp:
14350           factor out some of the common stuff so we can use it
14351
14352 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14353
14354         * check/Makefile.am:
14355         * check/gst/gstiterator.c: (GST_START_TEST):
14356         * check/gst/gstsystemclock.c: (GST_START_TEST),
14357         (gst_systemclock_suite):
14358         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14359         * gst/gstclock.c:
14360           valgrind more tests
14361
14362 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14363
14364         * check/elements/.cvsignore:
14365         * check/elements/gstfakesrc.c:
14366           rename to name of element
14367         * check/elements/identity.c: (chain_func), (event_func),
14368         (setup_identity), (cleanup_identity), (GST_START_TEST),
14369         (identity_suite), (main):
14370           add a test for identity
14371         * check/Makefile.am:
14372         * pkgconfig/Makefile.am:
14373         * pkgconfig/gstreamer-check.pc.in:
14374         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14375         * gst/check:
14376         * gst/Makefile.am:
14377         * configure.ac:
14378           move the check stuff to a library that gets installed
14379         * check/gst-libs/controller.c: (GST_START_TEST):
14380         * check/gst-libs/gdp.c:
14381         * check/gst/gst.c: (GST_START_TEST):
14382         * check/gst/gstbin.c:
14383         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14384         * check/gst/gstbus.c:
14385         * check/gst/gstcaps.c: (GST_START_TEST):
14386         * check/gst/gstelement.c:
14387         * check/gst/gstghostpad.c:
14388         * check/gst/gstiterator.c:
14389         * check/gst/gstmessage.c:
14390         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
14391         * check/gst/gstobject.c:
14392         * check/gst/gstpad.c: (GST_START_TEST):
14393         * check/gst/gststructure.c: (GST_START_TEST):
14394         * check/gst/gstsystemclock.c: (GST_START_TEST),
14395         (gst_systemclock_suite):
14396         * check/gst/gsttag.c: (gst_tag_suite):
14397         * check/gst/gstvalue.c:
14398         * check/pipelines/cleanup.c:
14399         * check/pipelines/simple_launch_lines.c:
14400         * check/states/sinks.c:
14401           change include statement
14402
14403         * docs/gst/gstreamer-sections.txt:
14404         * docs/gst/tmpl/gstpad.sgml:
14405           document more pad stuff
14406         * gst/gstminiobject.c: (gst_mini_object_ref),
14407         (gst_mini_object_unref):
14408           debug refcounting
14409
14410 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
14411
14412         * docs/gst/tmpl/gst.sgml:
14413         * gst/gst.c:
14414           eliminate another tmpl file, fix spelling in the long-description
14415
14416 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14417
14418         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14419         (test_event), (timediff), (gstevents_suite):
14420           Should fix build on 64-bit arch's
14421
14422 2005-08-18  Andy Wingo  <wingo@pobox.com>
14423
14424         Make sure that when a pipeline goes to PLAYING, that data has
14425         actually hit the sink.
14426
14427         * check/states/sinks.c (test_sink): A sink that doesn't get any
14428         data shouldn't return SUCCESS for going to either PLAYING or
14429         PAUSED. Test also the return values on the way back down.
14430
14431         * gst/gstelement.c (gst_element_set_state): When changing the
14432         state of an element currently changing state asynchronously, go to
14433         lost-state after commiting the pending state. Makes future calls
14434         to get_state continue to return ASYNC.
14435
14436         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
14437         ASYNC when going to PLAYING if we still don't have preroll, as can
14438         happen with live sources.
14439
14440 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14441
14442         * docs/pwg/advanced-types.xml:
14443           Hack long paragraph into 2 chunks as a workaround for buggy
14444           jadetex version in sid and breezy that loops infinitely and
14445           eats all RAM.
14446
14447 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14448
14449         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14450         (test_event), (timediff), (gstevents_suite):
14451           Provide more error margin in clock measurements to allow for 
14452           g_get_current_time inaccuracies.
14453
14454 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14455
14456         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14457         (test_event), (timediff), (gstevents_suite):
14458            Fix error message output so I might be able to tell why the
14459            test works here but fails on the build farm.
14460
14461 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14462
14463         * check/Makefile.am:
14464         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14465         (test_event), (timediff), (gstevents_suite), (main):
14466           I wrote a test!
14467
14468         * docs/design/part-seeking.txt:
14469           Spelling correction
14470
14471         * docs/gst/tmpl/gstevent.sgml:
14472         * docs/gst/tmpl/gstfakesrc.sgml:
14473           Docs updates.
14474
14475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14476           Treat a buffer-without-newsegment the same as a receiving 
14477           a newsegment not in time format, and disable syncing to the clock
14478           with a warning.
14479
14480         * gst/gstbus.c: (gst_bus_set_sync_handler):
14481           Assert if anyone tries to replace the existing sync_handler for bus, 
14482           as only the owner should be setting it.
14483
14484         * gst/gstevent.h:
14485           Have a fixed set of custom event enums with events identified by
14486           their structure name (as in 0.8), rather than a free-for-all
14487           allowing collisions between enum values from different plugins.
14488
14489         * gst/gstpad.c: (gst_pad_class_init):
14490           Docs change.
14491           
14492         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14493           Handle out-of-band downstream events from the sending thread.
14494
14495 2005-08-17  Andy Wingo  <wingo@pobox.com>
14496
14497         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
14498         play-timeout==0 to mean no timeout at all. In that case, don't
14499         bother with a get_state or a warning, just return directly, even
14500         if it's ASYNC.
14501
14502         * gst/base/gstbasetransform.c: Debug changes.
14503
14504         * gst/gstutils.h:
14505         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
14506         ensure bins post state change messages. A bit of a hack but I can't
14507         think of a way to avoid it.
14508
14509         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
14510
14511 2005-08-16  Andy Wingo  <wingo@pobox.com>
14512
14513         * gst/base/gstadapter.h:
14514         * gst/base/gstadapter.c (gst_adapter_take): New function, like
14515         peek() but you own the data. Not terribly efficient atm.
14516
14517 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14518
14519         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
14520         (gst_element_found_tags):
14521         * gst/gstutils.h:
14522           Add two utility functions for tag handling.
14523
14524 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14525
14526         * docs/manual/advanced-dataaccess.xml:
14527         * docs/manual/basics-helloworld.xml:
14528           Fix docs to use _bin_add() before _link(), which fixes the examples
14529           with recent core versions (reported by Madhan Raj M
14530           <raj_madan@rediffmail.com>, #313199).
14531
14532 2005-08-16  Wim Taymans  <wim@fluendo.com>
14533
14534         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14535         Added subtract checks.
14536
14537         * docs/design/part-events.txt:
14538         Some more docs about newsegment
14539
14540         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14541         Fix FIXME
14542
14543         * gst/gstcaps.c: (gst_caps_to_string):
14544         Add comments, cleanups.
14545         
14546         * gst/gstelement.c: (gst_element_save_thyself):
14547         cleanups
14548         
14549         * gst/gstvalue.c: (gst_value_collect_int_range),
14550         (gst_string_unwrap), (gst_value_union_int_int_range),
14551         (gst_value_union_int_range_int_range),
14552         (gst_value_intersect_int_int_range),
14553         (gst_value_intersect_int_range_int_range),
14554         (gst_value_intersect_double_double_range),
14555         (gst_value_intersect_double_range_double_range),
14556         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
14557         (gst_value_subtract_int_range_int),
14558         (gst_value_subtract_double_range_double),
14559         (gst_value_subtract_double_range_double_range),
14560         (gst_value_subtract_from_list), (gst_value_subtract_list),
14561         (gst_value_can_compare), (gst_value_compare_fraction):
14562         Cleanups, add comments, remove unneeded asserts.
14563
14564 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14565
14566         * tools/gst-launch.c: (event_loop):
14567           don't convert NULL structures to strings
14568
14569 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
14570
14571         * docs/gst/gstreamer-sections.txt:
14572           made some defines private
14573         * docs/gst/tmpl/gstconfig.sgml:
14574         * docs/gst/tmpl/gstqueue.sgml:
14575         * docs/gst/tmpl/gsttaglist.sgml:
14576         * docs/gst/tmpl/gsttypes.sgml:
14577         * docs/gst/tmpl/gstutils.sgml:
14578         * docs/pwg/appendix-porting.xml:
14579         * gst/base/gstbasesink.h:
14580         * gst/base/gstbasesrc.c:
14581         * gst/base/gstbasesrc.h:
14582         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
14583         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
14584         * gst/gstelement.c: (gst_element_class_init):
14585         * gst/gstpad.c: (gst_pad_class_init):
14586         * gst/gstqueue.c: (gst_queue_class_init):
14587         * gst/gstxml.c: (gst_xml_class_init):
14588           documented all undocumented signal inline
14589         * libs/gst/controller/gst-controller.h:
14590           added padding
14591
14592 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14593
14594         * docs/pwg/appendix-porting.xml:
14595           Document _set_link_function -> _set_setcaps_function.
14596
14597 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14598
14599         * check/Makefile.am:
14600           add a .check target for running the check
14601         * check/gst-libs/controller.c: (GST_START_TEST):
14602           cosmetic fixups
14603         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14604           complete checks for gstbuffer; would be nice if I could get the
14605           gcov stuff to work so I can see if I actually completed gstbuffer.c
14606         * check/gstcheck.h:
14607           add ASSERT_BUFFER_REFCOUNT
14608
14609 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
14610
14611         * docs/gst/gstreamer-sections.txt:
14612         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
14613         * gst/gsttag.h:
14614           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
14615           spew out a warning if a tag that is already registered
14616           is re-registered, unless it is re-registered with a 
14617           different type (#308438).
14618
14619 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
14620
14621         * docs/pwg/appendix-porting.xml:
14622         * docs/pwg/building-state.xml:
14623           Add some paragraphs about state changes in 0.9 to the PWG
14624           and the porting guide, in particular about the new meaning
14625           of GST_STATE_PAUSED and how to write state change functions
14626           with concurrent access by multiple threads in mind.
14627
14628 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
14629
14630         * docs/gst/gstreamer-docs.sgml:
14631         * docs/libs/gstreamer-libs-docs.sgml:
14632           added deprecation and since indexes
14633         * libs/gst/controller/gst-controller.c:
14634         * libs/gst/controller/gst-helper.c:
14635           added since tags
14636
14637
14638 2005-08-11  Wim Taymans  <wim@fluendo.com>
14639
14640         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
14641         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
14642         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
14643         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
14644         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
14645         (gst_ghost_pad_set_target):
14646         Actually implement (re)setting the target on a ghostpad
14647         as described in the docs.
14648
14649 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14650
14651         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
14652           Check whether GST_DEBUG_NO_COLOR environment variable is
14653           set and disable coloured debug output if that is the case.
14654
14655 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14656
14657         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14658         (gst_type_find_helper):
14659           The memory returned by gst_type_find_peek() needs to
14660           stay valid until the end of a typefind function, and
14661           typefind functions may keep results from different 
14662           offsets around, so we can't just unref the buffer from
14663           the previous _peek(), but have to save all buffers 
14664           returned by _peek() until typefinding is done and only
14665           free them then.
14666
14667 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
14668
14669         * docs/gst/gstreamer-sections.txt:
14670         * gst/gstutils.h:
14671           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
14672
14673 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14674
14675         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
14676           Fix a pretty good memleak.
14677
14678 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14679
14680         * gst/gstiterator.h:
14681           Fix wrong include and 'make distcheck'.
14682
14683 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14684
14685         * gst/gstbin.c: (bin_bus_handler):
14686           Use gst_element_post_message() instead.
14687
14688 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14689
14690         * gst/base/gstadapter.h:
14691         * gst/base/gstbasesink.h:
14692         * gst/base/gstbasesrc.h:
14693         * gst/base/gstbasetransform.h:
14694         * gst/base/gstcollectpads.h:
14695         * gst/base/gstpushsrc.h:
14696         * gst/gstiterator.h:
14697           Add padding to our base elements' class and instance structs and
14698           to GstIterator (you will need to rebuild all plugins and apps!)
14699
14700 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14701
14702         * gst/gstbin.c: (bin_bus_handler):
14703           Make default message forwarding from child->bus to bin->bus
14704           threadsafe and make it not emit warnings if the parent has no bus.
14705
14706 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14707
14708         * gst/gstelement.c: (activate_pads):
14709           On paused->ready, set pad->caps to NULL, as is the documented
14710           behaviour in this state change. Fixes playback of series of
14711           media files when visualization is enabled in Totem.
14712
14713 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14714
14715         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
14716           Allow NULL as filter-caps (which means "any").
14717
14718 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14719
14720         * docs/libs/gstreamer-libs-sections.txt:
14721         * libs/gst/controller/gst-controller.c:
14722         * libs/gst/controller/gst-controller.h:
14723         * libs/gst/controller/gst-helper.c:
14724           adding more entries to the docs and fix small doc-bugs
14725
14726 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14727
14728         * docs/gst/gstreamer-docs.sgml:
14729         * docs/gst/gstreamer-sections.txt:
14730         * docs/gst/gstreamer.types:
14731         * docs/gst/tmpl/gstbasesink.sgml:
14732         * docs/gst/tmpl/gstbasesrc.sgml:
14733         * docs/gst/tmpl/gstbasetransform.sgml:
14734         * docs/gst/tmpl/gstfakesrc.sgml:
14735         * gst/base/gstcollectpads.c:
14736         * gst/base/gstcollectpads.h:
14737         * libs/gst/controller/gst-controller.c:
14738         * libs/gst/controller/gst-controller.h:
14739         * libs/gst/controller/gst-helper.c:
14740         * libs/gst/controller/gst-interpolation.c:
14741         * libs/gst/controller/lib.c:
14742           added long/short desc for controller docs
14743           added collectpads base class docs
14744           added correct includes to base-class docs
14745
14746 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14747
14748         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14749         (gst_test_mono_source_set_property),
14750         (gst_test_mono_source_class_init), (GST_START_TEST),
14751         (gst_controller_suite):
14752         * docs/gst/gstreamer-docs.sgml:
14753         * docs/gst/gstreamer-sections.txt:
14754         * docs/gst/gstreamer.types:
14755         * docs/libs/gstreamer-libs-docs.sgml:
14756         * docs/libs/gstreamer-libs-sections.txt:
14757         * gst/base/gstadapter.c:
14758         * libs/gst/controller/gst-controller.c:
14759         (gst_controlled_property_new), (gst_controlled_property_free),
14760         (gst_controller_new_valist),
14761         (gst_controller_remove_properties_valist),
14762         (gst_controller_sink_values), (_gst_controller_finalize):
14763         * libs/gst/controller/gst-controller.h:
14764         * libs/gst/controller/gst-helper.c:
14765         (gst_object_control_properties), (gst_object_uncontrol_properties),
14766         (gst_object_get_controller), (gst_object_set_controller),
14767         (gst_object_sink_values), (gst_object_get_value_arrays),
14768         (gst_object_get_value_array):
14769           more tests (and fixes) for the controller
14770           more docs for the controller
14771           integrated companies docs for the adapter 
14772
14773 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14774
14775         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
14776         (GST_START_TEST), (fakesrc_suite):
14777           add tests for sizetype
14778
14779 2005-08-04  Andy Wingo  <wingo@pobox.com>
14780
14781         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
14782         fixes buffer_alloc proxying among other things.
14783
14784         * gst/base/gstbasetransform.c:
14785         * gst/base/gstbasetransform.h:
14786         Revert patch to gstbasetransform from 7-28 removing
14787         delay_configure.
14788
14789         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
14790         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
14791         Semantics changed, should return not the size of the output buffer
14792         but the byte size of a buffer with a given caps.
14793
14794         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
14795         debug object.
14796         (gst_base_transform_configure_caps): Don't set out_size here: (in,
14797         out) are not the pad caps until setcaps finishes.
14798         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
14799         not-in-place case as well. Deal with changing from in-place to
14800         not-in-place within calling pad_alloc_buffer. Still a bit
14801         concerned about the overhead here...
14802
14803 2005-08-03  Andy Wingo  <wingo@pobox.com>
14804
14805         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
14806         fixating is an error.
14807
14808 2005-08-04  Edward Hervey  <edward@fluendo.com>
14809
14810         * gst/base/gstadapter.h: 
14811         Added gst_adapter_get_type() to the header
14812
14813 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14814
14815         * check/Makefile.am:
14816         * check/gst-libs/controller.c:
14817         * libs/gst/controller/gst-controller.c:
14818         (gst_controller_new_valist):
14819           added check test suite for the controller
14820         * gst/base/gstpushsrc.c:
14821           fixed a doc typo
14822
14823 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14824
14825         * docs/gst/Makefile.am:
14826         * docs/gst/gstreamer-docs.sgml:
14827         * docs/gst/gstreamer-sections.txt:
14828         * docs/gst/gstreamer.types:
14829         * docs/gst/tmpl/gstfakesrc.sgml:
14830         * gst/base/README:
14831         * gst/base/gstbasesink.c:
14832         * gst/base/gstbasesink.h:
14833         * gst/base/gstbasesrc.c:
14834         * gst/base/gstbasesrc.h:
14835         * gst/base/gstbasetransform.c:
14836         * gst/base/gstpushsrc.c:
14837         * gst/base/gstpushsrc.h:
14838           add short/long description docs to base classes
14839           add pushsrc to the docs
14840           remove consolidated doc fragments
14841
14842 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14843
14844         * configure.ac:
14845         * docs/libs/Makefile.am:
14846         * docs/libs/gstreamer-libs-docs.sgml:
14847         * docs/libs/gstreamer-libs-sections.txt:
14848         * docs/libs/gstreamer-libs.types:
14849         * examples/Makefile.am:
14850         * examples/controller/.cvsignore:
14851         * examples/controller/Makefile.am:
14852         * examples/controller/audio-example.c: (main):
14853         * libs/gst/Makefile.am:
14854         * libs/gst/controller/.cvsignore:
14855         * libs/gst/controller/Makefile.am:
14856         * libs/gst/controller/gst-controller.c:
14857         (on_object_controlled_property_changed), (gst_timed_value_compare),
14858         (gst_timed_value_find),
14859         (gst_controlled_property_set_interpolation_mode),
14860         (gst_controlled_property_new), (gst_controlled_property_free),
14861         (gst_controller_find_controlled_property),
14862         (gst_controller_new_valist), (gst_controller_new),
14863         (gst_controller_remove_properties_valist),
14864         (gst_controller_remove_properties), (gst_controller_set),
14865         (gst_controller_set_from_list), (gst_controller_unset),
14866         (gst_controller_get), (gst_controller_get_all),
14867         (gst_controller_sink_values), (gst_controller_get_value_arrays),
14868         (gst_controller_get_value_array),
14869         (gst_controller_set_interpolation_mode),
14870         (_gst_controller_finalize), (_gst_controller_init),
14871         (_gst_controller_class_init), (gst_controller_get_type):
14872         * libs/gst/controller/gst-controller.h:
14873         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
14874         (g_object_uncontrol_properties), (g_object_get_controller),
14875         (g_object_set_controller), (g_object_sink_values),
14876         (g_object_get_value_arrays), (g_object_get_value_array):
14877         * libs/gst/controller/gst-interpolation.c:
14878         (gst_controlled_property_find_timed_value_node),
14879         (interpolate_none_get), (interpolate_trigger_get),
14880         (interpolate_trigger_get_value_array):
14881         * libs/gst/controller/lib.c: (gst_controller_init):
14882         * pkgconfig/Makefile.am:
14883         * pkgconfig/gstreamer-control-uninstalled.pc.in:
14884         * pkgconfig/gstreamer-control.pc.in:
14885         * testsuite/Makefile.am:
14886         * testsuite/controller/.cvsignore:
14887         * testsuite/controller/Makefile.am:
14888         * testsuite/controller/interpolator.c: (main):
14889           added controller code
14890           removed dparam pc files
14891
14892 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14893         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
14894         (gst_collectpads_stop):
14895           Broadcast the condition when shutting down, to make sure we wake all
14896           threads up. Shut down pads on finalize, for safety.
14897
14898 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14899         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14900         (gst_base_transform_handle_buffer),
14901         (gst_base_transform_change_state):
14902           Handle PAUSED->READY->PAUSED transition after negotiation
14903           occurred already.
14904         * gst/gstmessage.c: (gst_message_init):
14905           Extra piece of debug for new messages.
14906
14907 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
14908
14909         * configure.ac:
14910         * docs/gst/tmpl/gstbasesrc.sgml:
14911         * docs/gst/tmpl/gstelement.sgml:
14912         * docs/gst/tmpl/gstevent.sgml:
14913         * docs/gst/tmpl/gstfakesrc.sgml:
14914         * docs/gst/tmpl/gstformat.sgml:
14915         * docs/gst/tmpl/gstghostpad.sgml:
14916         * docs/gst/tmpl/gstpad.sgml:
14917         * docs/gst/tmpl/gstquery.sgml:
14918         * docs/gst/tmpl/gststructure.sgml:
14919         * docs/gst/tmpl/gsttaglist.sgml:
14920         * docs/gst/tmpl/gstvalue.sgml:
14921         * docs/libs/gstreamer-libs-docs.sgml:
14922         * docs/libs/gstreamer-libs-sections.txt:
14923         * docs/libs/gstreamer-libs.types:
14924         * libs/gst/Makefile.am:
14925         * libs/gst/control/.cvsignore:
14926         * libs/gst/control/Makefile.am:
14927         * libs/gst/control/control.c:
14928         * libs/gst/control/control.h:
14929         * libs/gst/control/dparam.c:
14930         * libs/gst/control/dparam.h:
14931         * libs/gst/control/dparam_smooth.c:
14932         * libs/gst/control/dparam_smooth.h:
14933         * libs/gst/control/dparamcommon.h:
14934         * libs/gst/control/dparammanager.c:
14935         * libs/gst/control/dparammanager.h:
14936         * libs/gst/control/dplinearinterp.c:
14937         * libs/gst/control/dplinearinterp.h:
14938         * libs/gst/control/unitconvert.c:
14939         * libs/gst/control/unitconvert.h:
14940         * testsuite/Makefile.am:
14941         * testsuite/dynparams/.cvsignore:
14942         * testsuite/dynparams/Makefile.am:
14943         * testsuite/dynparams/dparamstest.c:
14944         * tools/Makefile.am:
14945         * tools/gst-inspect.c: (print_element_info), (main):
14946         * tools/gst-xmlinspect.c: (print_element_info), (main):
14947           deactivate and remove dparams (libgstcontrol)
14948
14949 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14950
14951         * gst/elements/gsttypefindelement.c:
14952         (gst_type_find_element_have_type), (gst_type_find_element_init),
14953         (stop_typefinding), (gst_type_find_element_handle_event),
14954         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14955         * gst/elements/gsttypefindelement.h:
14956           Set caps on all outgoing buffers, not just the first one.
14957
14958 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14959
14960         * gst/elements/gsttypefindelement.c:
14961         (gst_type_find_element_have_type),
14962         (gst_type_find_element_check_set_buffer_caps),
14963         (gst_type_find_element_init), (stop_typefinding),
14964         (gst_type_find_element_handle_event),
14965         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14966         * gst/elements/gsttypefindelement.h:
14967           Set caps on first outgoing buffer when we've found the type.
14968
14969 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14970
14971         * docs/gst/gstreamer-docs.sgml:
14972         * docs/gst/gstreamer-sections.txt:
14973         * docs/gst/tmpl/gstscheduler.sgml:
14974         * docs/gst/tmpl/gstschedulerfactory.sgml:
14975           Remove some old cruft from docs.
14976
14977 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
14978
14979         * gst/gstpad.h:
14980           Fix inline docs for GstPadLinkReturn.
14981           
14982         * gst/gststructure.c: (gst_structure_has_name):
14983         * gst/gststructure.h:
14984         * docs/gst/gstreamer-sections.txt:
14985           New API: gst_structure_has_name().
14986
14987 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
14988
14989         * configure.ac:
14990           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
14991           and _LARGEFILE_SOURCE in config.h as required. Do not 
14992           export those flags in our .pc files any longer (#142209).
14993
14994           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
14995
14996         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
14997         (gst_file_sink_do_seek), (gst_file_sink_event),
14998         (gst_file_sink_get_current_offset), (gst_file_sink_render):
14999           Redo seek/tell calls with large file support in mind; add some
15000           debugging messages; add log message that tells us when large
15001           file support is unavailable or not enabled for some reason.
15002
15003         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
15004           Add log message that tells us when large file support 
15005           is unavailable or not enabled for some reason.
15006
15007 2005-07-29  Wim Taymans  <wim@fluendo.com>
15008
15009         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15010         Added test for removing an element with ghostpad from a bin.
15011         Fixed test as current implementation does the right thing.
15012
15013         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
15014         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
15015         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
15016         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
15017         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
15018         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
15019         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
15020         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15021         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
15022         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
15023         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
15024         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
15025         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
15026         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
15027         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
15028         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
15029         * gst/gstghostpad.h:
15030         Clean up ghostpads, remove properties for internal stuff.
15031         Make threadsafe.
15032         Fix refcounting.
15033         Prepare for switching targets, not all use cases work yet.
15034
15035 2005-07-29  Wim Taymans  <wim@fluendo.com>
15036
15037         * docs/design/part-gstghostpad.txt:
15038         Small update.
15039
15040         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15041         (gst_bin_remove_func):
15042         Unlinking pads while holding the bin LOCK is not a good
15043         idea.
15044
15045         * gst/gstpad.c: (gst_pad_class_init),
15046         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
15047         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
15048         No prob setting template after creating the pad.
15049
15050 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
15051
15052         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
15053         (gst_bus_peek), (gst_bus_source_dispatch),
15054         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
15055         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
15056           gst_bus_poll may be called from other threads. Handle
15057           this nicely by not making poll_data disappear off the
15058           stack once gst_bus_poll returns.
15059           gst_bus_peek now increments the refcount on the returned
15060           message.
15061
15062 2005-07-29  Wim Taymans  <wim@fluendo.com>
15063
15064         * docs/design/part-gstghostpad.txt:
15065         Overview of current GhostPad datastructures and use
15066         cases for changing the target.
15067
15068 2005-07-28  Wim Taymans  <wim@fluendo.com>
15069
15070         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15071         Added checks for hierarchy consistency whan adding linked
15072         elements to bins.
15073
15074         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15075         Added check to test element scheduling without bin/pipeline.
15076
15077         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15078         First add elements to bin, then link.
15079         
15080         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15081         (gst_bin_remove_func):
15082         Unlink pads from elements added/removed from bin to maintain
15083         hierarchy consistency.
15084
15085 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15086
15087         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15088         (gst_base_transform_handle_buffer):
15089         * gst/base/gstbasetransform.h:
15090           Remove broken delay_configure (fixes renegotiation of software
15091           scaling pipelines); remove some leftover printf()s.
15092
15093 2005-07-28  Wim Taymans  <wim@fluendo.com>
15094
15095         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15096         Added some more tests for wrong hierarchy
15097
15098         * docs/design/part-overview.txt:
15099         Some updates.
15100
15101         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
15102         Cleanups.
15103
15104         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
15105         (gst_element_dispose):
15106         Some more cleanups.
15107
15108         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15109         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
15110         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15111         (gst_pad_set_caps), (gst_pad_send_event):
15112         Check for correct hierarchy when linking pads. Moving to
15113         strict requirement for ghostpads when linking elements in
15114         different bins.
15115
15116         * gst/gstpad.h:
15117         Clean ups. Added WRONG_HIERARCHY return value.
15118
15119 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15120
15121         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15122           Better debug if no transform is possible.
15123
15124 2005-07-27  Wim Taymans  <wim@fluendo.com>
15125
15126         * docs/random/wtay/network-transp:
15127         Some old doc I had.
15128
15129 2005-07-27  Wim Taymans  <wim@fluendo.com>
15130
15131         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15132         (gst_dp_event_from_packet):
15133         Fix serialization of seek events.
15134
15135 2005-07-27  Wim Taymans  <wim@fluendo.com>
15136
15137         * check/gst-libs/gdp.c: (GST_START_TEST):
15138         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15139         Fix compilation and fix event serialization.
15140
15141 2005-07-27  Wim Taymans  <wim@fluendo.com>
15142
15143         * CHANGES-0.9:
15144         * docs/design/part-TODO.txt:
15145         * docs/design/part-events.txt:
15146         Some docs updates
15147
15148         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15149         (gst_base_sink_event), (gst_base_sink_do_sync),
15150         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15151         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15152         (gst_base_src_do_seek), (gst_base_src_event_handler),
15153         (gst_base_src_loop):
15154         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15155         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15156         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15157         (gst_base_transform_event), (gst_base_transform_handle_buffer),
15158         (gst_base_transform_set_passthrough),
15159         (gst_base_transform_is_passthrough):
15160         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15161         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15162         Event updates.
15163
15164         * gst/gstbuffer.h:
15165         Use faster casts.
15166
15167         * gst/gstelement.c: (gst_element_seek):
15168         * gst/gstelement.h:
15169         Update gst_element_seek.
15170
15171         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15172         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15173         (gst_event_new_flush_start), (gst_event_new_flush_stop),
15174         (gst_event_new_eos), (gst_event_new_newsegment),
15175         (gst_event_parse_newsegment), (gst_event_new_tag),
15176         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15177         (gst_event_parse_qos), (gst_event_new_seek),
15178         (gst_event_parse_seek), (gst_event_new_navigation):
15179         * gst/gstevent.h:
15180         Make GstEvent use GstStructure. Add parsing code, make sure the
15181         API is sufficiently generic.
15182         Mark possible directions of events and serialization.
15183
15184         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15185         (_gst_message_copy), (gst_message_new_segment_start),
15186         (gst_message_new_segment_done), (gst_message_new_custom),
15187         (gst_message_parse_segment_start),
15188         (gst_message_parse_segment_done):
15189         Small cleanups.
15190
15191         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15192         (gst_pad_set_caps), (gst_pad_send_event):
15193         Update for new events. 
15194         Catch events sent in wrong directions.
15195
15196         * gst/gstqueue.c: (gst_queue_link_src),
15197         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15198         (gst_queue_handle_src_query):
15199         Event updates.
15200
15201         * gst/gsttag.c:
15202         * gst/gsttag.h:
15203         Remove event code from this file.
15204
15205         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15206         (gst_dp_event_from_packet):
15207         Event updates.
15208
15209 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15210
15211         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15212         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15213         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15214           Make debugging actually useful.
15215
15216 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15217
15218         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15219         (gst_pad_fixate_caps):
15220           Implement default fixation once again, so that gst_pad_fixate()
15221           actually does anything at all. This probably needs to be some
15222           sort of a last resort, and use profile-based fixation first, but
15223           since that doesn't exist yet, this is the best we have. Fixes
15224           visualization in Totem.
15225
15226 2005-07-22  Wim Taymans  <wim@fluendo.com>
15227
15228         * docs/design/part-events.txt:
15229         Small update.
15230
15231         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15232         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15233         (gst_base_sink_activate_pull):
15234         Some more comments.
15235
15236         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15237         (gst_fake_src_create):
15238         Fix handoff marshall.
15239
15240         * gst/elements/gstidentity.c: (gst_identity_class_init),
15241         (gst_identity_transform_ip):
15242         We're a real inplace element.
15243
15244         * gst/gstbus.c: (gst_bus_post):
15245         Added some comments.
15246
15247         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15248         * tests/muxing/case1.c: (main):
15249         * tests/sched/dynamic-pipeline.c: (main):
15250         * tests/sched/interrupt1.c: (main):
15251         * tests/sched/interrupt2.c: (main):
15252         * tests/sched/interrupt3.c: (main):
15253         * tests/sched/runxml.c: (main):
15254         * tests/sched/sched-stress.c: (main):
15255         * tests/seeking/seeking1.c: (event_received), (main):
15256         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15257         (main):
15258         * tests/threadstate/threadstate3.c: (main):
15259         * tests/threadstate/threadstate4.c: (main):
15260         * tests/threadstate/threadstate5.c: (main):
15261         Fix the tests.
15262
15263 2005-07-21  Wim Taymans  <wim@fluendo.com>
15264
15265         * docs/design/part-seeking.txt:
15266         Some small additions.
15267
15268         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15269         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15270         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15271         * gst/base/gstbasesink.h:
15272         discont values are gint64, handle the math correctly.
15273
15274         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15275         Make the basesrc report error if the source pad is not linked.
15276
15277         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15278         (gst_queue_loop), (gst_queue_handle_src_query),
15279         (gst_queue_src_activate_push):
15280         Make queue collect data even if the srcpad is not linked.
15281         Start pushing out data as soon as it is linked.
15282
15283         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15284         * gst/gstutils.h:
15285         Added gst_flow_get_name() to ease error reporting.
15286
15287 2005-07-20  Wim Taymans  <wim@fluendo.com>
15288
15289         * gst/gstmessage.c: (gst_message_new_segment_start),
15290         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15291         (gst_message_parse_segment_done):
15292         * gst/gstmessage.h:
15293         Added a bunch of messages for advanced seeking.
15294
15295         * gst/parse/grammar.y:
15296         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15297         (gst_dpman_state_changed):
15298         Fix some new-pad -> pad-added signals
15299
15300 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15301
15302         * docs/manual/appendix-porting.xml:
15303         * docs/pwg/appendix-porting.xml:
15304           Document new-pad/state-change signal renames and the FixedList
15305           type rename.
15306
15307 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15308
15309         * docs/manual/advanced-autoplugging.xml:
15310         * docs/manual/basics-helloworld.xml:
15311         * docs/manual/basics-pads.xml:
15312         * docs/random/ds/0.9-suggested-changes:
15313         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15314         * gst/gstelement.h:
15315         * gst/gstevent.h:
15316         * gst/gstformat.h:
15317         * gst/gstquery.h:
15318         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15319         (gst_structure_parse_array), (gst_structure_parse_value):
15320         * gst/gstvalue.c: (gst_type_is_fixed),
15321         (gst_value_list_prepend_value), (gst_value_list_append_value),
15322         (gst_value_list_get_size), (gst_value_list_get_value),
15323         (gst_value_transform_array_string), (gst_value_serialize_array),
15324         (gst_value_deserialize_array), (gst_value_intersect_array),
15325         (gst_value_is_fixed), (_gst_value_initialize):
15326         * gst/gstvalue.h:
15327           GstElement::new-pad -> pad-added, GstElement::state-change ->
15328           state-changed, GstValueFixedList -> GstValueArray, add format and
15329           flags as their own arguments in gst_element_seek() (should improve
15330           "bindeability"), remove function generators since they don't work
15331           under a whole bunch of compilers (they were deprecated already
15332           anyway).
15333
15334 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15335
15336         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15337         (_gst_debug_register_funcptr):
15338         * gst/gstinfo.h:
15339           Fix illegal cast on some platforms (#309253).
15340
15341 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15342
15343         * gst/gstmessage.c: (gst_message_new_custom):
15344         * gst/gstmessage.h:
15345           Add _new_custom, make _new_application a macro to _new_custom.
15346
15347 2005-07-20  Wim Taymans  <wim@fluendo.com>
15348
15349         * gst/base/gstbasesrc.c: (gst_base_src_init),
15350         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15351         * gst/base/gstbasesrc.h:
15352         Add a gboolean to decide when to push out a discont.
15353
15354         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15355         (gst_queue_loop), (gst_queue_handle_src_query),
15356         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15357         (gst_queue_set_property), (gst_queue_get_property):
15358         Some cleanups.
15359
15360         * tests/threadstate/threadstate1.c: (main):
15361         Make a thread test compile and run... very silly..
15362
15363
15364 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15365
15366         * docs/manual/appendix-porting.xml:
15367           Mention removal of libgstgconf-0.9.la and existence of gconf
15368           elements.
15369
15370 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15371
15372         * docs/pwg/advanced-clock.xml:
15373         * docs/pwg/appendix-porting.xml:
15374         * docs/pwg/intro-preface.xml:
15375         * docs/pwg/other-base.xml:
15376         * docs/pwg/other-manager.xml:
15377         * docs/pwg/other-nton.xml:
15378         * docs/pwg/other-ntoone.xml:
15379         * docs/pwg/other-oneton.xml:
15380         * docs/pwg/pwg.xml:
15381           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
15382           demuxer), remove n-to-n (was never written), fix some code examples
15383           and links and update the porting section to include all this.
15384
15385 2005-07-19  Wim Taymans  <wim@fluendo.com>
15386
15387         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
15388         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
15389         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
15390         (gst_queue_src_activate_push), (gst_queue_change_state),
15391         (gst_queue_get_property):
15392         * gst/gstqueue.h:
15393         Propagate GstFlowReturn more intelligently upstream and output
15394         an ERROR/EOS when streaming stopped due to fatal error.
15395
15396 2005-07-19  Wim Taymans  <wim@fluendo.com>
15397
15398         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15399         Don't block forever for the state change to complete, the
15400         pipeline already did with a sensible timeout.
15401
15402 2005-07-19  Wim Taymans  <wim@fluendo.com>
15403
15404         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15405         Make sure we never call the create function is we
15406         got deactivated.
15407
15408 2005-07-19  Andy Wingo  <wingo@pobox.com>
15409
15410         * gst/parse/parse.l: Attempt to solve bug #172815.
15411
15412 2005-07-19  Wim Taymans  <wim@fluendo.com>
15413
15414         * docs/design/part-clocks.txt:
15415         * docs/design/part-events.txt:
15416         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
15417         Small docs updates.
15418         Only update the seeking values when we are not
15419         busy streaming.
15420
15421 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15422
15423         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15424           Oops, ignore the result of gst_pad_push_event here.
15425
15426 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15427
15428         * gst/base/gstbasesrc.c: (gst_base_src_loop),
15429         (gst_base_src_activate_push):
15430           Send discont event from the loop function, as pads
15431           aren't activated yet in the activate_push handler.
15432
15433         * gst/gstbin.c: (bin_bus_handler):
15434           Don't leak element name.
15435
15436 2005-07-18  Andy Wingo  <wingo@pobox.com>
15437
15438         * configure.ac: Use AS_LIBTOOL_TAGS.
15439
15440 2005-07-18  Wim Taymans  <wim@fluendo.com>
15441
15442         * docs/gst/gstreamer.types:
15443         Remove deleted types.
15444
15445 2005-07-18  Wim Taymans  <wim@fluendo.com>
15446
15447         * check/elements/gstfakesrc.c: (GST_START_TEST):
15448         * configure.ac:
15449         * gst/Makefile.am:
15450         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
15451         (init_popt_callback):
15452         * gst/gst.h:
15453         * gst/gst_private.h:
15454         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
15455         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
15456         * gst/gstbin.h:
15457         * gst/gstbus.h:
15458         * gst/gstconfig.h.in:
15459         * gst/gstelement.c: (gst_element_class_init),
15460         (gst_element_set_base_time), (gst_element_get_base_time),
15461         (iterator_fold_with_resync), (gst_element_change_state),
15462         (gst_element_dispose), (gst_element_get_bus):
15463         * gst/gstelement.h:
15464         * gst/gstelementfactory.h:
15465         * gst/gsterror.c: (_gst_core_errors_init):
15466         * gst/gsterror.h:
15467         * gst/gstevent.h:
15468         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15469         * gst/gstindex.c:
15470         * gst/gstinfo.c: (_gst_debug_init):
15471         * gst/gstmessage.c: (_gst_message_copy):
15472         * gst/gstmessage.h:
15473         * gst/gstminiobject.h:
15474         * gst/gstobject.c:
15475         * gst/gstobject.h:
15476         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15477         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
15478         * gst/gstpad.h:
15479         * gst/gstparse.h:
15480         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15481         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15482         (gst_pipeline_get_last_stream_time):
15483         * gst/gstpipeline.h:
15484         * gst/gstpluginfeature.h:
15485         * gst/gstquery.h:
15486         * gst/gstscheduler.c:
15487         * gst/gstscheduler.h:
15488         * gst/gststructure.h:
15489         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15490         (gst_task_finalize), (gst_task_func), (gst_task_create),
15491         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
15492         (gst_task_stop), (gst_task_pause):
15493         * gst/gsttask.h:
15494         * gst/gsttypefind.h:
15495         * gst/gsttypes.h:
15496         * gst/registries/gstlibxmlregistry.c: (load_feature),
15497         (gst_xml_registry_load), (gst_xml_registry_save_feature):
15498         * gst/registries/gstxmlregistry.c:
15499         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
15500         * gst/schedulers/threadscheduler.c:
15501         * libs/gst/control/dparammanager.h:
15502         * tools/gst-inspect.c: (print_element_list),
15503         (print_plugin_features), (print_element_features):
15504         * tools/gst-xmlinspect.c: (print_element_list),
15505         (print_plugin_info), (main):
15506         Removed plugable schedulers.
15507         Removed Scheduler/Manager from elements.
15508         Removed gsttypes.h, rearranged includes.
15509         Removed dependency pad<->element, element<>pipeline, and
15510         various others,  fix includes.
15511         implement gst_pad_get_parent() with gst_object_get_parent()
15512         Make GstTask sefcontained.
15513         Fix _get_state() on GstBin, it did not return ASYNC with a 0
15514         timeout.
15515         Fix endless loop in iterator_fold_with_resync.
15516
15517
15518 2005-07-18  Wim Taymans  <wim@fluendo.com>
15519
15520         * gst/Makefile.am:
15521         * gst/gstarch.h:
15522         Remove old file.
15523
15524 2005-07-18  Wim Taymans  <wim@fluendo.com>
15525
15526         * gst/Makefile.am:
15527         No more cothreads.h
15528
15529 2005-07-18  Wim Taymans  <wim@fluendo.com>
15530
15531         * gst/cothreads.c:
15532         * gst/cothreads.h:
15533         Let's remove these.
15534
15535 2005-07-18  Wim Taymans  <wim@fluendo.com>
15536
15537         * docs/design/part-dynamic.txt:
15538         * docs/design/part-events.txt:
15539         * docs/design/part-seeking.txt:
15540         Some more docs in the works.
15541
15542         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15543         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
15544         (gst_base_transform_setcaps), (gst_base_transform_get_size),
15545         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
15546         (gst_base_transform_handle_buffer),
15547         (gst_base_transform_sink_activate_push),
15548         (gst_base_transform_src_activate_pull),
15549         (gst_base_transform_set_passthrough),
15550         (gst_base_transform_is_passthrough):
15551         Refcounting fixes.
15552
15553         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
15554         Cleanups.
15555
15556         * gst/gstevent.c: (gst_event_finalize):
15557         Set SRC to NULL.
15558
15559         * gst/gstutils.c: (gst_element_unlink),
15560         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
15561         (gst_pad_proxy_setcaps):
15562         * gst/gstutils.h:
15563         Add _get_parent_element() to get a pads parent as an element.
15564
15565 2005-07-18  Wim Taymans  <wim@fluendo.com>
15566
15567         * check/gst/gstbin.c: (GST_START_TEST):
15568         Remove bogus test.
15569
15570 2005-07-18  Wim Taymans  <wim@fluendo.com>
15571
15572         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
15573         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
15574         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15575         (gst_base_sink_event), (gst_base_sink_do_sync),
15576         (gst_base_sink_chain), (gst_base_sink_loop),
15577         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
15578         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
15579         Refcounting fixes.
15580         Fix logic for returning ASYNC when not prerolled.
15581
15582 2005-07-18  Wim Taymans  <wim@fluendo.com>
15583
15584         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15585         Fix nasty refcount bug.
15586
15587 2005-07-16 Philippe Khalaf <burger@speedy.org>
15588
15589         * gst/elements/gstfdsrc.c:
15590         * gst/elements/gstfdsrc.h:
15591         * gst/elements/gstelements.c:
15592         * gst/elements/Makefile.am:
15593         Ported fdsrc to 0.9.
15594
15595 2005-07-16  Wim Taymans  <wim@fluendo.com>
15596
15597         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15598         (gst_base_sink_do_sync):
15599         Fix compile error.
15600
15601 2005-07-16  Wim Taymans  <wim@fluendo.com>
15602
15603         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15604         (gst_base_sink_event), (gst_base_sink_get_times),
15605         (gst_base_sink_do_sync), (gst_base_sink_change_state):
15606         * gst/base/gstbasesink.h:
15607         Store and use discont values when syncing buffers as described
15608         in design docs.
15609         
15610         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15611         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
15612         (gst_base_src_activate_push):
15613         Push discont event when starting.
15614
15615         * gst/elements/gstidentity.c: (gst_identity_transform):
15616         Small cleanups.
15617
15618         * gst/gstbin.c: (gst_bin_change_state):
15619         Small cleanups in base_time  distribution.
15620
15621         * gst/gstelement.c: (gst_element_set_base_time),
15622         (gst_element_get_base_time), (gst_element_change_state):
15623         * gst/gstelement.h:
15624         Added methods for the base_time of the element.
15625         Some MT fixes.
15626
15627         * gst/gstpipeline.c: (gst_pipeline_send_event),
15628         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15629         (gst_pipeline_get_last_stream_time):
15630         * gst/gstpipeline.h:
15631         MT fixes.
15632         Handle seeking as described in design doc, remove stream_time
15633         hack.
15634         Cleanups clock and stream_time selection code. Added accessors
15635         for the stream_time.
15636         
15637
15638 2005-07-16  Andy Wingo  <wingo@pobox.com>
15639
15640         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
15641         (#305291).
15642
15643 2005-07-16  Wim Taymans  <wim@fluendo.com>
15644
15645         * check/gst/gstbin.c: (GST_START_TEST):
15646         Make elements silent as the deep_notify refs the
15647         parent, which might make the test fail.
15648
15649         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15650         Don't hold the lock for too long.
15651
15652 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
15653
15654         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15655           Don't unref the caps we passed to gst_caps_make_writable() after
15656           passing them. gst_caps_make_writable() will do that for us.
15657
15658 2005-07-15  Andy Wingo  <wingo@pobox.com>
15659
15660         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
15661         (#157311).
15662
15663         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
15664         own marshalling function for the handoff signal. Properly type the
15665         buffer as a buffer. Fixes some warnings. Should do a more general
15666         solution.
15667         (gst_identity_class_init): Plug into the right marshaller.
15668
15669 2005-07-15  Wim Taymans  <wim@fluendo.com>
15670
15671         * docs/design/part-TODO.txt:
15672         * docs/design/part-clocks.txt:
15673         * docs/design/part-element-sink.txt:
15674         * docs/design/part-events.txt:
15675         * docs/design/part-gstpipeline.txt:
15676         Updated docs, mostly DISCONT related.
15677
15678 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
15679
15680         * docs/pwg/building-pads.xml:
15681           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
15682
15683 2005-07-15  Andy Wingo  <wingo@pobox.com>
15684
15685         * tools/gst-typefind.c: Update, add copyright block.
15686
15687         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
15688         Normalize and truncate caps before fixation.
15689
15690         * gst/gstcaps.h:
15691         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
15692         discards all but the first structure from its argument.
15693
15694 2005-07-15  Wim Taymans  <wim@fluendo.com>
15695
15696         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15697         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
15698         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15699         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15700         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
15701         (gst_base_transform_chain), (gst_base_transform_change_state),
15702         (gst_base_transform_set_passthrough),
15703         (gst_base_transform_is_passthrough):
15704         * gst/base/gstbasetransform.h:
15705         Make passthrough work using the bufferpools.
15706         Changed API a bit, subclasses have to write into a buffer
15707         provided by the base class.
15708         More debug info in nego functions.
15709         
15710         * gst/elements/gstidentity.c: (gst_identity_init),
15711         (gst_identity_transform):
15712         Port to new base class.
15713
15714 2005-07-15  Wim Taymans  <wim@fluendo.com>
15715
15716         * gst/gstmessage.c: (gst_message_new_state_changed):
15717         * tools/gst-launch.c: (event_loop), (main):
15718         Totally dump messages in -launch with the -m option.
15719         Fix message name for State messages,
15720
15721 2005-07-14  Wim Taymans  <wim@fluendo.com>
15722
15723         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15724         Post error messages on errors.
15725
15726 2005-07-14  Wim Taymans  <wim@fluendo.com>
15727
15728         * gst/gstcaps.c: (gst_caps_do_simplify):
15729         Remove debug info.
15730
15731         * gst/gsterror.h:
15732         Define error for stream stopped.
15733
15734         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15735         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
15736         Do proper return values.
15737
15738         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15739         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
15740         (gst_pad_get_range):
15741         Better return values.
15742
15743         * gst/gstpad.h:
15744         Reorganise return values, add macro to check for fatal errors.
15745
15746         * gst/gstqueue.c: (gst_queue_chain):
15747         Return proper GstFlowReturn values,
15748
15749 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15750
15751         * docs/gst/gstreamer-sections.txt:
15752         * docs/gst/gstreamer.types:
15753         * docs/gst/tmpl/gst.sgml:
15754         * docs/gst/tmpl/gstbasesink.sgml:
15755         * docs/gst/tmpl/gstbasesrc.sgml:
15756         * docs/gst/tmpl/gstbasetransform.sgml:
15757         * docs/gst/tmpl/gstbin.sgml:
15758         * docs/gst/tmpl/gstbuffer.sgml:
15759         * docs/gst/tmpl/gstcaps.sgml:
15760         * docs/gst/tmpl/gstclock.sgml:
15761         * docs/gst/tmpl/gstcompat.sgml:
15762         * docs/gst/tmpl/gstconfig.sgml:
15763         * docs/gst/tmpl/gstelement.sgml:
15764         * docs/gst/tmpl/gstelementdetails.sgml:
15765         * docs/gst/tmpl/gstelementfactory.sgml:
15766         * docs/gst/tmpl/gstenumtypes.sgml:
15767         * docs/gst/tmpl/gsterror.sgml:
15768         * docs/gst/tmpl/gstevent.sgml:
15769         * docs/gst/tmpl/gstfakesink.sgml:
15770         * docs/gst/tmpl/gstfakesrc.sgml:
15771         * docs/gst/tmpl/gstfilesink.sgml:
15772         * docs/gst/tmpl/gstfilesrc.sgml:
15773         * docs/gst/tmpl/gstfilter.sgml:
15774         * docs/gst/tmpl/gstformat.sgml:
15775         * docs/gst/tmpl/gstghostpad.sgml:
15776         * docs/gst/tmpl/gstimplementsinterface.sgml:
15777         * docs/gst/tmpl/gstindex.sgml:
15778         * docs/gst/tmpl/gstindexfactory.sgml:
15779         * docs/gst/tmpl/gstinfo.sgml:
15780         * docs/gst/tmpl/gstiterator.sgml:
15781         * docs/gst/tmpl/gstmacros.sgml:
15782         * docs/gst/tmpl/gstmemchunk.sgml:
15783         * docs/gst/tmpl/gstminiobject.sgml:
15784         * docs/gst/tmpl/gstobject.sgml:
15785         * docs/gst/tmpl/gstpad.sgml:
15786         * docs/gst/tmpl/gstpadtemplate.sgml:
15787         * docs/gst/tmpl/gstparse.sgml:
15788         * docs/gst/tmpl/gstpipeline.sgml:
15789         * docs/gst/tmpl/gstplugin.sgml:
15790         * docs/gst/tmpl/gstpluginfeature.sgml:
15791         * docs/gst/tmpl/gstquery.sgml:
15792         * docs/gst/tmpl/gstqueue.sgml:
15793         * docs/gst/tmpl/gstregistry.sgml:
15794         * docs/gst/tmpl/gstregistrypool.sgml:
15795         * docs/gst/tmpl/gstscheduler.sgml:
15796         * docs/gst/tmpl/gstschedulerfactory.sgml:
15797         * docs/gst/tmpl/gststructure.sgml:
15798         * docs/gst/tmpl/gstsystemclock.sgml:
15799         * docs/gst/tmpl/gsttaglist.sgml:
15800         * docs/gst/tmpl/gsttagsetter.sgml:
15801         * docs/gst/tmpl/gsttrace.sgml:
15802         * docs/gst/tmpl/gsttrashstack.sgml:
15803         * docs/gst/tmpl/gsttypefind.sgml:
15804         * docs/gst/tmpl/gsttypefindfactory.sgml:
15805         * docs/gst/tmpl/gsttypes.sgml:
15806         * docs/gst/tmpl/gsturihandler.sgml:
15807         * docs/gst/tmpl/gsturitype.sgml:
15808         * docs/gst/tmpl/gstutils.sgml:
15809         * docs/gst/tmpl/gstvalue.sgml:
15810         * docs/gst/tmpl/gstversion.sgml:
15811         * docs/gst/tmpl/gstxml.sgml:
15812         * docs/libs/tmpl/gstcontrol.sgml:
15813         * docs/libs/tmpl/gstdataprotocol.sgml:
15814         * docs/libs/tmpl/gstdparam.sgml:
15815         * docs/libs/tmpl/gstdplinint.sgml:
15816         * docs/libs/tmpl/gstdpman.sgml:
15817         * docs/libs/tmpl/gstdpsmooth.sgml:
15818         * docs/libs/tmpl/gstgetbits.sgml:
15819         * docs/libs/tmpl/gstunitconvert.sgml:
15820         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
15821         (gst_push_src_base_init), (gst_push_src_class_init),
15822         (gst_push_src_init), (gst_push_src_create):
15823         * gst/base/gstpushsrc.h:
15824         * gst/elements/gstelements.c:
15825         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
15826         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
15827         (gst_fake_sink_init), (gst_fake_sink_set_property),
15828         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
15829         (gst_fake_sink_event), (gst_fake_sink_preroll),
15830         (gst_fake_sink_render), (gst_fake_sink_change_state):
15831         * gst/elements/gstfakesink.h:
15832         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15833         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
15834         (gst_fake_src_base_init), (gst_fake_src_class_init),
15835         (gst_fake_src_init), (gst_fake_src_event_handler),
15836         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
15837         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
15838         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
15839         (gst_fake_src_create_buffer), (gst_fake_src_create),
15840         (gst_fake_src_start), (gst_fake_src_stop):
15841         * gst/elements/gstfakesrc.h:
15842         * gst/elements/gstfilesink.c: (_do_init),
15843         (gst_file_sink_base_init), (gst_file_sink_class_init),
15844         (gst_file_sink_init), (gst_file_sink_dispose),
15845         (gst_file_sink_set_location), (gst_file_sink_set_property),
15846         (gst_file_sink_get_property), (gst_file_sink_open_file),
15847         (gst_file_sink_close_file), (gst_file_sink_query),
15848         (gst_file_sink_event), (gst_file_sink_render),
15849         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
15850         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
15851         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
15852         * gst/elements/gstfilesink.h:
15853         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
15854         (gst_file_src_class_init), (gst_file_src_init),
15855         (gst_file_src_finalize), (gst_file_src_set_location),
15856         (gst_file_src_set_property), (gst_file_src_get_property),
15857         (gst_file_src_map_region), (gst_file_src_map_small_region),
15858         (gst_file_src_create_mmap), (gst_file_src_create_read),
15859         (gst_file_src_create), (gst_file_src_is_seekable),
15860         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
15861         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
15862         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
15863         (gst_file_src_uri_handler_init):
15864         * gst/elements/gstfilesrc.h:
15865           more autistic cleanliness in functions/names/defines
15866
15867 2005-07-13  Andy Wingo  <wingo@pobox.com>
15868
15869         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
15870         source couldn't negotiate.
15871
15872         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
15873         connections again.
15874
15875         * gst/gstutils.h:
15876         * gst/gstutils.c (gst_element_link_pads_filtered): New old
15877         function. I am channeling Hades. Put your boots on suckers!!!
15878
15879 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15880
15881         * testsuite/caps/Makefile.am:
15882         * testsuite/caps/value_compare.c:
15883         * testsuite/caps/value_intersect.c:
15884         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15885           move two testsuite apps over to the check dir
15886
15887 2005-07-12  Wim Taymans  <wim@fluendo.com>
15888
15889         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15890         Added more debug info in the negotiate process.
15891
15892         * gst/gstmessage.h:
15893         Prepare for segment playback.
15894
15895         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
15896         Better debugging.
15897
15898         * gst/gstutils.c:
15899         Some more docs.
15900
15901         * tools/gst-launch.c: (main):
15902         NULL pipeline on errors.
15903
15904 2005-07-12  Andy Wingo  <wingo@pobox.com>
15905
15906         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
15907         not it comes from a malloc region. Make sure our copy gets freed.
15908
15909 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15910
15911         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15912         * check/gst/gstmessage.c: (GST_START_TEST):
15913         * check/gst/gststructure.c: (GST_START_TEST),
15914         (gst_structure_suite), (main):
15915           more testing
15916         * gst/gstelement.c: (gst_element_message_full):
15917           clean up GError and debug string now that they get copied
15918         * gst/gstmessage.c: (gst_message_new_error),
15919         (gst_message_new_warning), (gst_message_parse_error),
15920         (gst_message_parse_warning):
15921           use GST_TYPE_G_ERROR for structure_new, and take copies of
15922           arguments, so that we don't mess up refcounting
15923
15924 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15925
15926         * check/Makefile.am:
15927           add per-test valgrind targets
15928         * check/gst-libs/gdp.c: (GST_START_TEST),
15929         (gst_data_protocol_suite), (main):
15930           clean up
15931
15932 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15933
15934         * check/Makefile.am:
15935           instate more valgrindable tests
15936         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15937         (GST_START_TEST), (fakesrc_suite):
15938         * check/gst/gstpad.c: (GST_START_TEST):
15939         * check/gst/gststructure.c: (GST_START_TEST):
15940           fix test leaks
15941         * docs/gst/tmpl/gstminiobject.sgml:
15942         * gst/gstpad.c: (gst_pad_finalize):
15943           fix the static mutex leak
15944
15945 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15946
15947         * check/Makefile.am:
15948           add two more tests for valgrinding
15949         * check/gst/gstvalue.c: (GST_START_TEST):
15950           test refcount of deserialized buffer, found a leak
15951         * docs/gst/gstreamer-docs.sgml:
15952         * docs/gst/gstreamer-sections.txt:
15953         * docs/gst/gstreamer.types:
15954         * docs/gst/tmpl/gstminiobject.sgml:
15955           add miniobject to docs
15956         * gst/gstminiobject.c:
15957           add some docs
15958         * gst/gstvalue.c: (gst_value_deserialize_buffer),
15959         (gst_string_unwrap):
15960           fix a hard-to-find invalid write for one of the tests
15961           fix a leak for deserialized buffers
15962
15963 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15964
15965         * docs/pwg/advanced-events.xml:
15966         * docs/pwg/advanced-request.xml:
15967         * docs/pwg/advanced-scheduling.xml:
15968         * docs/pwg/appendix-porting.xml:
15969         * docs/pwg/building-boiler.xml:
15970         * docs/pwg/intro-preface.xml:
15971         * docs/pwg/other-ntoone.xml:
15972           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
15973           of example code and explanation for pad activation, loop() and
15974           getrange() functions and a bit more. Remove old comments pointing
15975           to loop-functions.
15976         * examples/pwg/Makefile.am:
15977           Add loop/getrange examples.
15978
15979 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15980
15981         * configure.ac:
15982           check for valgrind binary + some fixes
15983         * check/gst.supp:
15984           valgrind suppressions for the tests
15985         * check/Makefile.am:
15986           add a valgrind: target that valgrinds the unit tests
15987         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
15988         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15989         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15990         * check/gst/gstghostpad.c:
15991           added some cleanup
15992         * check/gst/gstdata.c:
15993           removed
15994         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
15995         (thread_unref), (gst_mini_object_suite), (main):
15996           added
15997         * gst/gst.c: (gst_deinit):
15998         * gst/gst.h:
15999           add a method to clean up.
16000         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16001         (gst_system_clock_obtain):
16002           allow for disposing the system clock.
16003         * tools/gst-launch.c: (main):
16004           deinit
16005
16006 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16007
16008         * docs/gst/tmpl/gstbasesrc.sgml:
16009         * docs/gst/tmpl/gstfakesrc.sgml:
16010         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16011         (gst_base_src_init), (gst_base_src_set_property),
16012         (gst_base_src_get_property), (gst_base_src_get_range),
16013         (gst_base_src_start):
16014         * gst/base/gstbasesrc.h:
16015           add num-buffers property
16016         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16017         (gst_fakesrc_init), (gst_fakesrc_set_property),
16018         (gst_fakesrc_get_property), (gst_fakesrc_create),
16019         (gst_fakesrc_start):
16020           remove num-buffers property
16021
16022 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16023
16024         * docs/gst/gstreamer-sections.txt:
16025         * docs/gst/tmpl/gstbasesink.sgml:
16026         * docs/gst/tmpl/gstbasesrc.sgml:
16027         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16028         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16029         (gst_base_sink_finalize), (gst_base_sink_set_clock),
16030         (gst_base_sink_set_property), (gst_base_sink_get_property),
16031         (gst_base_sink_handle_object), (gst_base_sink_event),
16032         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16033         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
16034         (gst_base_sink_loop), (gst_base_sink_deactivate),
16035         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
16036         (gst_base_sink_change_state):
16037         * gst/base/gstbasesink.h:
16038         * gst/base/gstbasesrc.h:
16039         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
16040         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16041         (gst_filesink_init):
16042           more macro splitting
16043
16044 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16045
16046         * gst/gstelement.c: (gst_element_get_bus):
16047           add debug
16048         * tools/gst-launch.c: (check_intr), (event_loop):
16049           fix bus leaks
16050
16051 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16052
16053         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16054           fix a caps leak
16055
16056 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16057
16058         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16059         (gst_base_src_finalize):
16060           add finalize method and clean up properly
16061         * gst/gstpipeline.c: (gst_pipeline_dispose):
16062           add debug
16063
16064 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16065
16066         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
16067         (gst_bin_suite):
16068           add more things to check
16069         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
16070         * gst/gstelement.c:
16071           more debug
16072
16073 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16074
16075         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16076         (GST_START_TEST), (fakesrc_suite):
16077         * check/gst-libs/gdp.c: (GST_START_TEST):
16078         * check/gst/gst.c: (GST_START_TEST):
16079         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16080         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16081         * check/gst/gstbus.c: (GST_START_TEST):
16082         * check/gst/gstcaps.c: (GST_START_TEST):
16083         * check/gst/gstdata.c: (GST_START_TEST):
16084         * check/gst/gstelement.c: (GST_START_TEST):
16085         * check/gst/gstghostpad.c: (GST_START_TEST):
16086         * check/gst/gstiterator.c: (GST_START_TEST):
16087         * check/gst/gstmessage.c: (GST_START_TEST):
16088         * check/gst/gstobject.c: (GST_START_TEST):
16089         * check/gst/gstpad.c: (GST_START_TEST):
16090         * check/gst/gststructure.c: (GST_START_TEST):
16091         * check/gst/gstsystemclock.c: (GST_START_TEST),
16092         (gst_systemclock_suite):
16093         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
16094         * check/gst/gstvalue.c: (GST_START_TEST):
16095         * check/pipelines/cleanup.c: (GST_START_TEST):
16096         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16097         * check/states/sinks.c: (GST_START_TEST):
16098         * check/gstcheck.c: (gst_check_init):
16099         * check/gstcheck.h:
16100           add debugging category
16101           use GST_START_TEST now, so we add a debug line
16102
16103 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16104
16105         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
16106           add test for state change message on a bin
16107         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
16108           add another test
16109         * gst/gstbin.c: (gst_bin_init):
16110         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
16111         * gst/gstelement.c: (gst_element_post_message),
16112         (gst_element_set_state):
16113         * gst/gstelementfactory.c: (gst_element_factory_create):
16114         * gst/gstmessage.c: (gst_message_new):
16115         * gst/gstscheduler.c:
16116           various debugging additions and cleanups
16117
16118 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16119
16120         * check/Makefile.am:
16121         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
16122         (main):
16123           adding tests for elements
16124         * gst/gstelement.c: (gst_element_dispose):
16125
16126 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16127
16128         * gst/registries/gstlibxmlregistry.c: (load_feature):
16129           plug more leaks.  A simple gst_init() now is leakfree, yay.
16130
16131 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16132
16133         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
16134         (gst_xml_registry_load):
16135           plug another memleak
16136
16137 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16138
16139         * configure.ac:
16140           use GST_SET_ERROR_CFLAGS
16141         * docs/faq/cvs.xml:
16142           change to ERROR_CFLAGS
16143
16144 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16145
16146         * configure.ac:
16147           make GST_ERROR_CFLAGS overridable and re-enable Werror
16148         * docs/faq/cvs.xml:
16149           add a note about error CFLAGS
16150         * docs/gst/tmpl/gstfakesrc.sgml:
16151         * gst/elements/gstfakesrc.c:
16152           comment out some unused code
16153         * gst/gst.c: (split_and_iterate):
16154         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16155         (load_feature):
16156           plug some memleaks
16157
16158 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16159
16160         * common/Makefile.am:
16161         * common/gtk-doc.mak:
16162         * docs/gst/Makefile.am:
16163           factor out gtk-doc.mak
16164
16165 2005-07-07  Wim Taymans  <wim@fluendo.com>
16166
16167         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16168         (gst_thread_scheduler_dispose):
16169         Unlock the STREAM_LOCK completely.
16170
16171 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16172
16173         * check/Makefile.am:
16174         * check/elements/.cvsignore:
16175         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16176         (START_TEST), (fakesrc_suite), (main):
16177         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16178         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16179         (gst_fakesrc_create), (gst_fakesrc_start):
16180         * gst/elements/gstfakesrc.h:
16181           adding a first element test
16182
16183 2005-07-07  Andy Wingo  <wingo@pobox.com>
16184
16185         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16186         debug message.
16187
16188 2005-07-07  Wim Taymans  <wim@fluendo.com>
16189
16190         * gst/gstquery.c:
16191         * gst/gstquery.h:
16192         Remove old types
16193
16194 2005-07-07  Wim Taymans  <wim@fluendo.com>
16195
16196         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16197         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16198         Allow subclasses to implement their own negotiation.
16199
16200 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16201
16202         * docs/design/part-gstbin.txt:
16203         * docs/design/part-gstpipeline.txt:
16204           Update design notes to reflect the movement of
16205           responsibility for bus handling from GstPipeline to
16206           GstBin
16207
16208 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16209
16210         * configure.ac:
16211           Remove unnecessary queue2/3/4 examples.
16212
16213 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16214
16215         * examples/Makefile.am:
16216         * examples/helloworld/helloworld.c: (event_loop), (main):
16217         * examples/queue/queue.c: (event_loop), (main):
16218         * examples/queue2/queue2.c: (main):
16219           Update a couple of the examples to work again.
16220
16221         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16222         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16223          Spelling corrections and extra debug.
16224         
16225         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16226         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16227         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16228         * gst/gstbin.h:
16229         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16230         (gst_pipeline_change_state):
16231         * gst/gstpipeline.h:
16232           Move the bus handler for children to the GstBin, and create a
16233           separate bus for receiving messages from children to the one the
16234           bus sends 'upwards' on.
16235
16236 2005-07-06  Wim Taymans  <wim@fluendo.com>
16237
16238         * gst/base/README:
16239         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16240         (gst_base_sink_handle_object), (gst_base_sink_loop),
16241         (gst_base_sink_change_state):
16242         * gst/base/gstbasesink.h:
16243         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16244         (gst_base_src_init), (gst_base_src_setcaps),
16245         (gst_base_src_getcaps), (gst_base_src_loop),
16246         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16247         (gst_base_src_start), (gst_base_src_change_state):
16248         * gst/base/gstbasesrc.h:
16249         Make basesrc negotiate.
16250         Handle the case where preroll fails in basesink.
16251         Update README.
16252
16253 2005-07-06  Wim Taymans  <wim@fluendo.com>
16254
16255         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16256         Implement the fixate function.
16257         Clean up acceptcaps.
16258
16259 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16260
16261         * docs/pwg/building-filterfactory.xml:
16262         * docs/pwg/pwg.xml:
16263           Remove never-written filter-factory chapter; I'll add the various
16264           base classes to part 4 ("other element types") later on.
16265
16266 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16267
16268         * docs/pwg/advanced-negotiation.xml:
16269         * docs/pwg/building-boiler.xml:
16270         * docs/pwg/building-pads.xml:
16271         * docs/pwg/pwg.xml:
16272         * examples/pwg/Makefile.am:
16273           Add a chapter on caps negotiation, simplify the original code
16274           samples a bit w.r.t. caps negotiation, add link to the advanced
16275           section. Add a bunch of examples showing different use cases of
16276           different types of caps negotiation. Upstream renegotiation isn't
16277           fully documented yet since nobody knows how that works.
16278
16279 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16280
16281         * check/gst/gstpad.c:
16282         * check/gstcheck.c:
16283         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16284           if pad has no parent, return NULL as list of internal links
16285
16286 2005-07-05  Andy Wingo  <wingo@pobox.com>
16287
16288         * gst/elements/gstfilesrc.c:
16289         * gst/elements/gstfakesrc.c: 
16290         * gst/base/gstpushsrc.c:
16291         * gst/base/gstbasesrc.h: 
16292         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16293         
16294 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16295
16296         * Makefile.am:
16297           better report generation target (lcov needs a patch)
16298
16299 2005-07-05  Andy Wingo  <wingo@pobox.com>
16300
16301         * gst/elements, testsuite: Null if we got it...
16302
16303 2005-07-05  Wim Taymans  <wim@fluendo.com>
16304
16305         * configure.ac:
16306         * libs/gst/dataprotocol/Makefile.am:
16307         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16308         * libs/gst/dataprotocol/dataprotocol.h:
16309         * pkgconfig/Makefile.am:
16310         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16311         * pkgconfig/gstreamer-dataprotocol.pc.in:
16312         Ported dataprotol to 0.9. 
16313         Added pkgconfig files.
16314
16315 2005-07-05  Andy Wingo  <wingo@pobox.com>
16316
16317         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16318         Default to returning TRUE for the case when tranform_caps returns
16319         a fixed caps, like for identity or volume.
16320
16321         * check/gst/gstbus.c (pound_bus_with_messages): 
16322         * check/gst/gstmessage.c (START_TEST): 
16323         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16324         message API change.
16325
16326         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16327         logic weaks here: always run transform_caps, trying passthrough
16328         operation only if the original caps intersects with the transform.
16329
16330         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16331         source and sink caps.
16332
16333         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16334         Intersect the peer caps with the pad template before going into
16335         transform_caps.
16336         (gst_base_transform_transform_caps): More debugging.
16337
16338         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16339         src argument.
16340
16341 2005-07-04  Edward Hervey  <edward@fluendo.com>
16342
16343         * gst/gstutils.c:
16344         * gst/gstutils.h:
16345         (gst_pad_add_*_probe): now returns the signal id for better wrapping
16346         in bindings.
16347
16348 2005-07-04  Andy Wingo  <wingo@pobox.com>
16349
16350         * check/gst/gstpad.c: Only set explicit caps on pads.
16351
16352 2005-07-01  Andy Wingo  <wingo@pobox.com>
16353
16354         * tests/network-clock.scm: Commentary update.
16355
16356         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16357         Didn't really make sense, not implementable with basetransform,
16358         etc.
16359         (gst_identity_transform): Unref inbuf via make_writable. Feeble
16360         attempt at implementing the sync property, needs an unlock method.
16361
16362         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16363         New func, by default returns the same caps (the identity
16364         transformation).
16365         (gst_base_transform_getcaps): Uses transform_caps to return
16366         something sensible.
16367         (gst_base_transform_setcaps): Complicated logic to get caps on
16368         both pads, even if they are different, and to call set_caps once
16369         for every time both pads get their caps set.
16370         (gst_base_transform_handle_buffer): Give the ref to the transform
16371         function. Allows in-place modification of the buffer.
16372
16373         * gst/base/gstbasetransform.h (transform_caps): New class method.
16374         Given caps on one side, what can I do on the other.
16375         (set_caps): Take two caps, one for each side of the element.
16376
16377         * gst/gstpad.h:
16378         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
16379         caps in place. This is safe because we can check the mutability of
16380         the caps, and a good idea because fixate functions are just called
16381         as a matter of last resort. (Not actually implemented.)
16382         (gst_pad_set_caps): If the caps we're setting is actually the same
16383         as the existing pad caps, just update the pointer without calling
16384         setcaps. Assert that caps is either NULL or fixed, as per the
16385         docs.
16386
16387         * gst/gstghostpad.c: Update for fixate changes.
16388
16389 2005-07-02  Andy Wingo  <wingo@pobox.com>
16390
16391         * gst/gstcaps.c:
16392         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
16393         two refcounts makes it immutable, which is enough. Doc more.
16394
16395 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
16396
16397         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
16398           Put the mini_object into GValue as a mini_object,
16399           not a gpointer, since that's how we declared
16400           the signal.
16401
16402 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16403
16404         * examples/pwg/Makefile.am:
16405           Fix buildbot again.
16406
16407 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16408
16409         * docs/pwg/building-testapp.xml:
16410           Add extra check.
16411         * examples/pwg/Makefile.am:
16412           Fix buildbot.
16413
16414 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16415
16416         * configure.ac:
16417         * examples/Makefile.am:
16418         * examples/pwg/Makefile.am:
16419         * examples/pwg/extract.pl:
16420           Enable building the PWG examples.
16421         * docs/pwg/advanced-interfaces.xml:
16422           Add URI interface stub.
16423         * docs/pwg/advanced-types.xml:
16424         * docs/pwg/other-autoplugger.xml:
16425         * docs/pwg/appendix-porting.xml:
16426         * docs/pwg/pwg.xml:
16427           Add porting guide (mostly stubs), remove autoplugging (see ADM).
16428         * docs/pwg/building-boiler.xml:
16429         * docs/pwg/building-chainfn.xml:
16430         * docs/pwg/building-pads.xml:
16431         * docs/pwg/building-props.xml:
16432         * docs/pwg/building-state.xml:
16433         * docs/pwg/building-testapp.xml:
16434           Update the building-*.xml parts for 0.9 changes. All examples
16435           code blocks compile in examples/pwg/*.
16436
16437 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16438
16439         * docs/manual/advanced-autoplugging.xml:
16440         * docs/manual/appendix-checklist.xml:
16441         * docs/manual/appendix-integration.xml:
16442         * docs/manual/highlevel-components.xml:
16443           Fix playbin/decodebin examples, update docs a bit, mention bus
16444           instead of signals in various places, mention kmplayer and
16445           kaffeine since they have a working GStreamer backend in the KDE
16446           section.
16447
16448 2005-06-30  Wim Taymans  <wim@fluendo.com>
16449
16450         * CHANGES-0.9:
16451         * docs/design/draft-ghostpads.txt:
16452         * docs/design/draft-push-pull.txt:
16453         * docs/design/draft-query.txt:
16454         * docs/design/part-TODO.txt:
16455         * docs/design/part-query.txt:
16456         Added CHANGES-0.9 doc, updated status of other docs.
16457         
16458         * gst/gstquery.h:
16459         Remove "hmm" macro
16460
16461 2005-06-30  Wim Taymans  <wim@fluendo.com>
16462
16463         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16464         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16465         (gst_base_sink_change_state):
16466         * gst/base/gstbasesink.h:
16467         Some tweaks, only EOS and a buffer complete a preroll.
16468
16469 2005-06-30  Andy Wingo  <wingo@pobox.com>
16470
16471         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
16472         activate_push down to the internal pad as well.
16473
16474 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
16475
16476         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16477
16478         * gst/gsttaginterface.c:
16479           Some documentation fixes (#307394 and #307397).
16480
16481 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
16482
16483         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16484
16485         * gst/gstvalue.c: (gst_value_intersect_list):
16486           Fix memleak (#309125).
16487
16488 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16489
16490         * docs/manual/advanced-dataaccess.xml:
16491           Fix fakesrc example to compile; doesn't work, bug somewhere...?
16492         * docs/manual/basics-pads.xml:
16493           Add reference for filtered caps to above chapter.
16494
16495 2005-06-30  Wim Taymans  <wim@fluendo.com>
16496
16497         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
16498         (gst_bin_change_state):
16499         Probes are gone.
16500         Lame attempt at making the state change function a bit
16501         more readable.
16502
16503 2005-06-30  Wim Taymans  <wim@fluendo.com>
16504
16505         * docs/design/part-clocks.txt:
16506         * docs/design/part-element-sink.txt:
16507         * docs/design/part-events.txt:
16508         * docs/design/part-preroll.txt:
16509         * docs/design/part-states.txt:
16510         Some more tweeks and additions to the docs.
16511
16512 2005-06-30  Wim Taymans  <wim@fluendo.com>
16513
16514         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16515         (default_have_data), (gst_pad_class_init), (gst_pad_init),
16516         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16517         (gst_pad_check_pull_range), (gst_pad_get_range),
16518         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
16519         * gst/gstpad.h:
16520         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
16521         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16522         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16523         (gst_pad_remove_buffer_probe):
16524         Removed atomic operations, use existing LOCK.
16525         Move exception handling out of main code path.
16526
16527 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16528
16529         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16530         (silly_return_true_function), (gst_pad_class_init),
16531         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16532         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
16533         (gst_pad_send_event):
16534           Fix accumulator, add default value by using _emitv() instead
16535           of _emit() for signal emission.
16536
16537 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16538
16539         * docs/manual/advanced-dataaccess.xml:
16540         * examples/manual/Makefile.am:
16541           Add probe example.
16542         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
16543           Make work (??).
16544
16545 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
16546
16547         * gst/elements/gstfilesink.c: (gst_filesink_render):
16548           Simplify code so that we don't have to handle short
16549           writes and return GST_FLOW_ERROR if an error occured.
16550
16551 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16552
16553         * docs/gst/gstreamer-docs.sgml:
16554           Remove probes more.
16555
16556 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16557
16558         * docs/gst/gstreamer-sections.txt:
16559         * docs/gst/tmpl/gstpad.sgml:
16560         * docs/gst/tmpl/gstprobe.sgml:
16561         * gst/Makefile.am:
16562         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16563         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
16564         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16565         (gst_pad_push_event), (gst_pad_send_event):
16566         * gst/gstpad.h:
16567         * gst/gstutils.c: (gst_pad_add_data_probe),
16568         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16569         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16570         (gst_pad_remove_buffer_probe):
16571         * gst/gstutils.h:
16572           Remove old probes, add new g-signal-based probes and some utility
16573           functions.
16574
16575 2005-06-29  Edward Hervey  <edward@fluendo.com>
16576
16577         * gst/gstelementfactory.c:
16578         * gst/gstutils.h:
16579         * gst/gstutils.c:
16580         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
16581         the definition to the header file.
16582
16583 2005-06-29  Andy Wingo  <wingo@pobox.com>
16584
16585         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
16586         plugins from the source directory.
16587
16588 2005-06-29  Wim Taymans  <wim@fluendo.com>
16589
16590         * docs/gst/tmpl/gstbuffer.sgml:
16591         * docs/gst/tmpl/gstclock.sgml:
16592         Some fixings for blantently wrong text.
16593
16594 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16595
16596         * check/Makefile.am:
16597         * gst/gst.c: (add_path_func), (init_pre):
16598         * gst/gstregistry.c: (gst_registry_add_path):
16599           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
16600           only scan the GST_PLUGIN_PATH locations, and not add
16601           system locations
16602
16603 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16604
16605         * docs/gst/gstreamer-sections.txt:
16606         * docs/gst/tmpl/gstbasesrc.sgml:
16607         * gst/gstelement.c:
16608         * gst/gstelement.h:
16609         * gst/gstevent.c:
16610         * gst/gstutils.c:
16611           doc fixes
16612
16613 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16614
16615         * docs/manual/advanced-autoplugging.xml:
16616           Fix autoplugging example.
16617
16618 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16619
16620         * docs/manual/advanced-autoplugging.xml:
16621         * docs/manual/mime-world.fig:
16622           Try to get autoplugging working, fix type detection. Fix text
16623           in hello-world image.
16624
16625 2005-06-29  Wim Taymans  <wim@fluendo.com>
16626
16627         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16628         (gst_base_sink_change_state):
16629         Small debug line.
16630
16631         * gst/gstclock.h:
16632         map SIGNAL and BROADCAST to the right function.
16633
16634         * gst/gstobject.h:
16635         Remove redundant braces.
16636
16637         * gst/gstpad.c: (gst_pad_set_caps):
16638         Don't call setcaps function when reseting caps to NULL.
16639
16640         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16641         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
16642         (gst_system_clock_id_unschedule):
16643         Use BROADCAST as this is what we do.
16644
16645 2005-06-29  Wim Taymans  <wim@fluendo.com>
16646
16647         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16648         We are actually prerolling before commiting the state
16649         change. 
16650
16651 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16652
16653         * docs/manual/advanced-clocks.xml:
16654         * docs/manual/advanced-interfaces.xml:
16655         * docs/manual/advanced-metadata.xml:
16656         * docs/manual/advanced-position.xml:
16657         * docs/manual/advanced-schedulers.xml:
16658         * docs/manual/advanced-threads.xml:
16659         * docs/manual/appendix-porting.xml:
16660         * docs/manual/basics-bins.xml:
16661         * docs/manual/basics-bus.xml:
16662         * docs/manual/basics-elements.xml:
16663         * docs/manual/basics-helloworld.xml:
16664         * docs/manual/basics-pads.xml:
16665         * docs/manual/highlevel-components.xml:
16666         * docs/manual/manual.xml:
16667         * docs/manual/thread.fig:
16668           Update (until threads/scheduling) Application Development Manual;
16669           remove GstThread, add GstBus, add simple porting checklist, add
16670           documentation for tag writing, clocks, make all examples until this
16671           part compile and run.
16672         * examples/manual/Makefile.am:
16673           Update from changes to Application Development Manual; add bus
16674           example, remove thread example.
16675
16676 2005-06-28  Wim Taymans  <wim@fluendo.com>
16677
16678         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
16679         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
16680         (gst_bus_source_dispatch):
16681         Add debugging messages.
16682         Make internal methods static.
16683         Handle the case where the bus is flushed in the handler.
16684         
16685         * gst/gstelement.c: (gst_element_get_bus):
16686         Fix refcount in _get_bus();
16687
16688         * gst/gstpipeline.c: (gst_pipeline_change_state),
16689         (gst_pipeline_get_clock_func):
16690         Clock refcounting fixes.
16691         Handle the case where preroll timed out more gracefully.
16692         
16693         * gst/gstsystemclock.c: (gst_system_clock_dispose):
16694         Clean up the internal thread in dispose. This is needed
16695         for subclasses that actually get disposed.
16696         
16697         * gst/schedulers/threadscheduler.c:
16698         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16699         (gst_thread_scheduler_dispose):
16700         Free thread pool in dispose.
16701
16702 2005-06-28  Andy Wingo  <wingo@pobox.com>
16703
16704         * tests/network-clock-utils.scm (debug, print-event): New utils.
16705
16706         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
16707         (*packet-loss*): Unified loss probability.
16708         (network-time): Report out-of-band events.
16709
16710         * tests/plot-data: Add support for out-of-band events. Hack it
16711         into this script instead of passing it down the pipe; should fix
16712         this later.
16713
16714 2005-06-28  Wim Taymans  <wim@fluendo.com>
16715
16716         * docs/gst/gstreamer.types:
16717         * docs/gst/tmpl/gstbasesrc.sgml:
16718         * docs/gst/tmpl/gstpad.sgml:
16719         Docs fixes.
16720
16721 2005-06-28  Wim Taymans  <wim@fluendo.com>
16722
16723         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16724         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
16725         (gst_proxy_pad_do_fixatecaps):
16726         Correctly proxy the check_pull_range function.
16727
16728 2005-06-28  Andy Wingo  <wingo@pobox.com>
16729
16730         * tests/network-clock.scm: Removed need for slib.
16731         
16732 2005-06-28  Wim Taymans  <wim@fluendo.com>
16733
16734         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
16735         (gst_basesink_preroll_queue_flush):
16736         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
16737         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
16738         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16739         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
16740         (gst_proxy_pad_set_property):
16741         * gst/gstpad.c:
16742         * gst/gstpad.h:
16743         * gst/gstqueue.c: (gst_queue_init):
16744         The deprecated pad loop function is removed now.
16745
16746 2005-06-28  Andy Wingo  <wingo@pobox.com>
16747
16748         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
16749         New parameters, simulate network packet loss.
16750
16751         * tests/network-clock-utils.scm: Initialize the RNG.
16752
16753 2005-06-28  Wim Taymans  <wim@fluendo.com>
16754
16755         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
16756         (gst_basesink_event), (gst_basesink_deactivate):
16757         Flushing the preroll queue always needs to unlock the waiters.
16758
16759 2005-06-28  Edward Hervey  <edward@fluendo.com>
16760
16761         * gst/gstpipeline.c: (gst_pipeline_send_event): 
16762         Wheen a seek was successful on a pipeline, set the stream_time to the
16763         seek offset in order to have a synchronized stream_time.
16764
16765 2005-06-28  Wim Taymans  <wim@fluendo.com>
16766
16767         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16768         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
16769         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
16770         (gst_proxy_pad_do_fixatecaps):
16771         Call wrapper function instead of just calling the function
16772         pointers. This takes care of any locking and whatmore.
16773
16774 2005-06-28  Wim Taymans  <wim@fluendo.com>
16775
16776         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
16777         (gst_pad_pull_range):
16778         * gst/gstpad.h:
16779         CONNECTED -> LINKED.
16780
16781 2005-06-28  Andy Wingo  <wingo@pobox.com>
16782
16783         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
16784         source-munging commit!!!
16785
16786         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
16787         (gst_object_sink): Take gpointer arguments, not GstObject --
16788         avoids casts. Like GLib.
16789
16790         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
16791         activate.
16792
16793 2005-06-27  Andy Wingo  <wingo@pobox.com>
16794
16795         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
16796         remaining buffer.
16797
16798         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
16799         returns a sorted copy of the trace list.
16800         (gst_alloc_trace_print_live): New API, only prints traces with
16801         live objects. Sort the list.
16802         (gst_alloc_trace_print_all): Sort the list.
16803         (gst_alloc_trace_print): Align columns.
16804
16805         * gst/elements/gstttypefindelement.c:
16806         * gst/elements/gsttee.c:
16807         * gst/base/gstbasesrc.c:
16808         * gst/base/gstbasesink.c:
16809         * gst/base/gstbasetransform.c:
16810         * gst/gstqueue.c: Adapt for pad activation changes.
16811
16812         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
16813         sched.
16814         (gst_pipeline_dispose): Drop ref on sched.
16815
16816         * gst/gstpad.c (gst_pad_init): Set the default activate func.
16817         (gst_pad_activate_default): Push mode by default.
16818         (pre_activate_switch, post_activate_switch): New stubs, things to
16819         do before and after switching activation modes on pads.
16820         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
16821         the pad's activate function to choose which mode to activate.
16822         Shortcut on deactivation and call the right function directly.
16823         (gst_pad_activate_pull): New API, (de)activates a pad in pull
16824         mode.
16825         (gst_pad_activate_push): New API, same for push mode.
16826         (gst_pad_set_activate_function) 
16827         (gst_pad_set_activatepull_function) 
16828         (gst_pad_set_activatepush_function): Setters for new API.
16829
16830         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
16831         Trace all miniobjects.
16832         (gst_mini_object_make_writable): Unref the arg if we copy, like
16833         gst_caps_make_writable.
16834
16835         * gst/gstmessage.c (_gst_message_initialize): No trace init.
16836
16837         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
16838         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
16839         Adapt for new pad API.
16840
16841         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
16842
16843         * gst/gstelement.h:
16844         * gst/gstelement.c (gst_element_iterate_src_pads) 
16845         (gst_element_iterate_sink_pads): New API functions.
16846         
16847         * gst/gstelement.c (iterator_fold_with_resync): New utility,
16848         should fold into gstiterator.c in some form.
16849         (gst_element_pads_activate): Simplified via use of fold and
16850         delegation of decisions to gstpad->activate.
16851
16852         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
16853         help in debugging.
16854
16855         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
16856         class once in init, like gstmessage. Didn't run into this issue
16857         but it seems correct. Don't initialize a trace, gstminiobject does
16858         that.
16859
16860         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
16861         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
16862         to the bus.
16863         (assert_live_count): New util function, uses alloc traces to check
16864         cleanup.
16865
16866         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
16867         To be modified when unlink drops the internal pad.
16868
16869 2005-06-27  Wim Taymans  <wim@fluendo.com>
16870
16871         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
16872         (gst_bin_change_state):
16873         Cleanup the get_state() function a little, make sure it
16874         iterates the same set of elements.
16875         Added stub iterate_state_order().
16876
16877 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16878
16879         * docs/gst/gstreamer-docs.sgml:
16880         * docs/gst/gstreamer-sections.txt:
16881         * docs/gst/gstreamer.types:
16882         * docs/gst/tmpl/gstbasesink.sgml:
16883         * docs/gst/tmpl/gstbasesrc.sgml:
16884         * docs/gst/tmpl/gstbasetransform.sgml:
16885         * docs/gst/tmpl/gstelement.sgml:
16886         * docs/gst/tmpl/gstiterator.sgml:
16887         * gst/base/gstbasesrc.c:
16888         * gst/base/gstbasesrc.h:
16889         * gst/base/gstbasetransform.h:
16890         * gst/gstelement.c:
16891         * gst/gstiterator.h:
16892           adding basetransform and iterator docs
16893
16894 2005-06-27  Andy Wingo  <wingo@pobox.com>
16895
16896         * docs/design/part-activation.txt: Notes on how activation should
16897         work -- not quite implemented yet.
16898
16899 2005-06-25  Wim Taymans  <wim@fluendo.com>
16900
16901         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
16902         At least get the chain function correct, needs more
16903         fixing.
16904
16905 2005-06-25  Wim Taymans  <wim@fluendo.com>
16906
16907         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16908         (gst_basesink_handle_object), (gst_basesink_event),
16909         (gst_basesink_do_sync), (gst_basesink_handle_event),
16910         (gst_basesink_change_state):
16911         * gst/gsttask.h:
16912         Right, two problems here: ghostpads don't take locks and
16913         glib _rec_mutex_lock_full() with depth==0 still locks.
16914         Catch illegal locking and g_warn them.
16915
16916 2005-06-25  Wim Taymans  <wim@fluendo.com>
16917
16918         * check/states/sinks.c: (START_TEST), (gst_object_suite):
16919         Have to check for completion now...
16920
16921 2005-06-25  Wim Taymans  <wim@fluendo.com>
16922
16923         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16924         (gst_basesink_handle_object), (gst_basesink_event),
16925         (gst_basesink_do_sync), (gst_basesink_handle_event),
16926         (gst_basesink_change_state):
16927         * gst/gstpad.h:
16928         Unlock STREAM_LOCK whatever the recursion was.
16929
16930 2005-06-25  Wim Taymans  <wim@fluendo.com>
16931
16932         * gst/base/gstbasesink.c: (gst_basesink_set_property),
16933         (gst_basesink_preroll_queue_empty),
16934         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
16935         (gst_basesink_event), (gst_basesink_do_sync),
16936         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
16937         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
16938         (gst_basesink_change_state):
16939         Reworked the base sink, handle event and buffer serialisation
16940         correctly and removed possible deadlock.
16941         Handle EOS correctly.
16942
16943 2005-06-25  Wim Taymans  <wim@fluendo.com>
16944
16945         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
16946         (gst_pipeline_change_state):
16947         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16948         Allow elements to post EOS in the state change function.
16949         Fix up -launch, make it exit the poll loop when the
16950         pipeline actually changed state.
16951         Fix up warning parsing in -launch.
16952
16953 2005-06-25  Wim Taymans  <wim@fluendo.com>
16954
16955         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
16956         (gst_tee_sink_activate):
16957         Core takes STREAM_LOCK for us now.
16958
16959 2005-06-25  Wim Taymans  <wim@fluendo.com>
16960
16961         * gst/gstelement.c: (gst_element_get_state_func),
16962         (gst_element_set_state):
16963         * gst/gstelement.h:
16964         * gst/gstmessage.c: (gst_message_parse_error),
16965         (gst_message_parse_warning):
16966         Keep track of current target state while performing a state
16967         change so that subclasses can do something interesting.
16968         Fix parsing of warning/error messages when GError is NULL.
16969
16970 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16971
16972         * docs/gst/Makefile.am:
16973         * docs/gst/gstreamer-docs.sgml:
16974         * docs/gst/gstreamer-sections.txt:
16975         * docs/gst/gstreamer.types:
16976         * docs/gst/tmpl/gstbasesink.sgml:
16977         * docs/gst/tmpl/gstbasesrc.sgml:
16978         * docs/gst/tmpl/gstbin.sgml:
16979         * docs/gst/tmpl/gstcompat.sgml:
16980         * docs/gst/tmpl/gstfakesink.sgml:
16981         * docs/gst/tmpl/gstfakesrc.sgml:
16982         * docs/gst/tmpl/gstfilesink.sgml:
16983         * docs/gst/tmpl/gstfilesrc.sgml:
16984         * docs/gst/tmpl/gstindex.sgml:
16985         * docs/manual/appendix-quotes.xml:
16986         * gst/base/gstbasesrc.h:
16987         * gst/elements/gstfakesrc.h:
16988         * gst/gstmessage.h:
16989           start pulling in base classes and elements in our docs
16990
16991 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
16992
16993         * docs/gst/Makefile.am:
16994         * docs/libs/Makefile.am:
16995           fixed make distcheck with gtk-doc 1.3
16996
16997 2005-06-23  Wim Taymans  <wim@fluendo.com>
16998
16999         * gst/gstelement.c: (gst_element_get_state_func),
17000         (gst_element_set_state), (gst_element_change_state):
17001         When the state did not change, also report NO_PREROLL
17002         when it matters.
17003
17004 2005-06-23  Wim Taymans  <wim@fluendo.com>
17005
17006         * gst/gstpad.c: (gst_pad_event_default):
17007         * gst/gstqueue.c: (gst_queue_loop):
17008         No unsafe task pausing please.
17009
17010 2005-06-23  Wim Taymans  <wim@fluendo.com>
17011
17012         * gst/schedulers/threadscheduler.c:
17013         (gst_thread_scheduler_task_start),
17014         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
17015         Ref the task before pushing it on the threadpool. This
17016         makes sure that we have a ref when the threadfunction is
17017         actually called.
17018
17019 2005-06-23  Andy Wingo  <wingo@pobox.com>
17020
17021         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
17022         offset is greater than the file's size.
17023
17024         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
17025         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
17026         * gst/gstobject.c (gst_object_class_init): Make the class lock
17027         recursive. Wim won't let me drop deep_notify. Decodebin works
17028         again, whoopdy doo.
17029
17030         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
17031         internal pad, and hacks accordingly. Doesn't do it on the target
17032         pad because we change its caps. Probably catches all cases of
17033         interest tho.
17034         (gst_ghost_pad_set_property): Connect to notify::caps as
17035         appropritate.
17036
17037         * tests/network-clock.scm (plot-simulation): Pipe data to the
17038         elite python skript.
17039
17040         * tests/network-clock-utils.scm (define-parameter): New macro,
17041         defines a parameter that can be set via the command line.
17042         (set-parameter!, parse-parameter-arguments): Command line args
17043         parser.
17044
17045         * tests/plot-data: Simple matplotlib-based plotter, takes input on
17046         stdin.
17047
17048 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
17049
17050         * gst/elements/gsttypefindelement.c:
17051         (gst_type_find_element_handle_event):
17052           Don't restart typefinding on a discont.
17053         * gst/gstelement.c: (gst_element_set_state):
17054           Debug spelling fix.
17055         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
17056           Allow changing mode of an active pad.
17057           Debug output fixes.
17058         * gst/registries/gstlibxmlregistry.c: (load_feature):
17059           Don't cast a static pad template to a normal pad template.
17060
17061 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17062
17063         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17064         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17065           remove gst_strtoll completely, since it didn't actually do
17066           anything more than what g_ascii_strtoull already does.
17067           check for range errors when deserializing
17068           do a cast for the unsigned cases; but further fixing needs
17069           a decision on what the interpretation of "(int)" and
17070           deserialization should be for values that fall outside the
17071           type's boundaries (ie, refuse, or interpret as casting)
17072
17073 2005-06-23  Wim Taymans  <wim@fluendo.com>
17074
17075         * check/Makefile.am:
17076         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
17077         * docs/design/part-live-source.txt:
17078         * docs/design/part-states.txt:
17079         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17080         (gst_basesrc_set_live), (gst_basesrc_is_live),
17081         (gst_basesrc_get_range), (gst_basesrc_activate),
17082         (gst_basesrc_change_state):
17083         * gst/base/gstbasesrc.h:
17084         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17085         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17086         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
17087         * gst/gstelement.c: (gst_element_get_state_func),
17088         (gst_element_set_state):
17089         * gst/gstelement.h:
17090         * gst/gsttypes.h:
17091         * tools/gst-launch.c: (event_loop), (main):
17092         Added support for live sources and other elements that
17093         cannot do preroll.
17094         Updated design docs, added live-source design doc.
17095         Implemented live source functionality in basesrc
17096         Fix error condition in _bin_get_state()
17097         Implement live source handling in -launch.
17098         Added check for live sources.
17099         Fixed case in GstBin where elements were changed state
17100         multiple times.
17101
17102
17103 2005-06-23  Andy Wingo  <wingo@pobox.com>
17104
17105         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
17106         borken refcounting.
17107
17108         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
17109         gst_caps_replace takes care of this for us.
17110
17111         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
17112         gst_pad_set_caps on the target, not just its setcaps() function.
17113
17114         * tests/network-clock.scm: 
17115         * tests/network-clock-utils.scm: A network clock simulator.
17116         Something of an algorithmic testbed before doing something in C.
17117
17118 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17119
17120         * check/Makefile.am:
17121         * check/gst/capslist.h:
17122           copy over from 0.8, and add two with bitmasks specified with
17123           (int) 0xFF...
17124         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17125           add test to parse everything from capslist.h
17126         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
17127         (main):
17128           add test for structure deserialization
17129         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17130           add tests for deserialization of strings to int types
17131         * gst/gststructure.c: (gst_structure_nth_field_name):
17132         * gst/gststructure.h:
17133           add a way to get the name of a field referenced by index
17134         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17135           instead of checking if the resulting long long lies between
17136           min and max, we check if the long long would fit into
17137           a number of bytes for the final type.
17138           This fixes cases where a string represents 2^32 - 1, which
17139           when cast to int would be the (valid) -1, but is bigger than
17140           G_MAXINT
17141
17142 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17143
17144         * gst/parse/grammar.y:
17145           add a log line for type deserialization
17146
17147 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17148
17149         * check/gst/gstvalue.c: (START_TEST):
17150         * gst/gstvalue.c: (gst_value_deserialize):
17151           return long long, not int, so gint64 deserialization actually
17152           works.  Is there any flag that makes the compiler check this ?
17153           Fixes #308559
17154
17155 2005-06-22  Wim Taymans  <wim@fluendo.com>
17156
17157         * gst/gstbuffer.h:
17158         Added convenience macros for setting buffers in GValue.
17159
17160 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17161
17162         * check/gst/.cvsignore:
17163         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17164           add a test deserializing int64, and comment part out because
17165           it fails, yay !
17166
17167 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17168
17169         * check/Makefile.am:
17170         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17171         * testsuite/Makefile.am:
17172         * testsuite/caps/Makefile.am:
17173         * testsuite/caps/value_serialize.c:
17174         * testsuite/test_gst_init.c:
17175           move a value_serialize test over
17176
17177 2005-06-20  Wim Taymans  <wim@fluendo.com>
17178
17179         * gst/gstpad.c:
17180         Small doc updates.
17181         
17182         * gst/gstvalue.c: (gst_value_compare_buffer),
17183         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17184         (gst_value_compare_flags), (gst_value_serialize_flags),
17185         (gst_value_deserialize_flags), (_gst_value_initialize):
17186         Fix serialisation of buffers, they are not boxed types anymore
17187
17188 2005-06-20  Wim Taymans  <wim@fluendo.com>
17189
17190         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17191         Testcase to show error in buffer-on-caps serialisation.
17192
17193 2005-06-20  Andy Wingo  <wingo@pobox.com>
17194
17195         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17196         will be adding to later.
17197
17198         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17199         if its socks fill with rocks.
17200         (gst_system_clock_obtain): Set the name on object construction.
17201         Avoid double-checked locking.
17202
17203 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
17204
17205         * gst/gsturi.c: (gst_element_make_from_uri):
17206           Fix potential endless loop.
17207
17208 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17209
17210         * check/Makefile.am:
17211           add gsttag
17212         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17213         (main):
17214           move over from testsuite dir and clean up
17215         * configure.ac:
17216         * gst/gsttag.c:
17217         * testsuite/Makefile.am:
17218         * testsuite/tags/.cvsignore:
17219         * testsuite/tags/Makefile.am:
17220         * testsuite/tags/merge.c:
17221           remove testsuite/tags
17222
17223 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17224
17225         * docs/gst/gstreamer-sections.txt:
17226         * docs/gst/tmpl/gstenumtypes.sgml:
17227         * win32/gstenumtypes.c:
17228           clean up documentation build a little
17229
17230 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17231
17232         * check/gstcheck.h:
17233           add macros for checking refcounts on objects and caps
17234         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17235           add some more unit tests
17236         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17237         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17238           fix leaked refcounts (I hope :)) so unittest works
17239         * gst/gstpad.h:
17240           whitespace removal
17241
17242 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17243
17244         * configure.ac: back to HEAD
17245
17246 === release 0.9.1 ===
17247
17248 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17249
17250         * NEWS:
17251         * RELEASE:
17252           updated
17253
17254 2005-06-17  Andy Wingo  <wingo@pobox.com>
17255
17256         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17257         assert; it's always possible that the pad gets deactivated in
17258         between the checks in gstpad.c and the implementation. Rely on
17259         finish_preroll() to return a FLUSHING or similar instead of on the
17260         assert.
17261         
17262         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17263         clock and post an EOS message if we come out of finish_preroll in
17264         the playing state.
17265
17266 2005-06-16  David Schleef  <ds@schleef.org>
17267
17268         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17269         (gst_capsfilter_set_property): Allow NULL as possible value
17270         for filter_caps property, indicating GST_CAPS_ANY.
17271
17272 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17273
17274         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17275           fix debug output
17276         * gst/schedulers/Makefile.am:
17277           use libgst prefix
17278         * gstreamer.spec.in:
17279           fix spec for it
17280
17281 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17282
17283         * gstreamer.spec.in:
17284           clean up
17285
17286 2005-06-08  Andy Wingo  <wingo@pobox.com>
17287
17288         * gst/gstutils.c: RPAD fixes all around.
17289         (gst_element_link_pads): Refcounting fixes.
17290
17291         * tools/gst-inspect.c:
17292         * tools/gst-xmlinspect.c:
17293         * parse/grammar.y:
17294         * gst/base/gsttypefindhelper.c:
17295         * gst/base/gstbasesink.c:
17296         * gst/gstqueue.c: RPAD fixes.
17297
17298         * gst/gstghostpad.h:
17299         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17300         pads. The tricky thing is they provide both source and sink
17301         interfaces, since they proxy the internal pad for the external
17302         pad, and vice versa. Implement with lower-level ProxyPad objects,
17303         with the interior proxy pad as a child of the exterior ghost pad.
17304         Should write a doc on this.
17305         
17306         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17307         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17308         gst_object API.
17309         
17310         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17311         pads are real pads. No ghost pads in this file. Not documenting
17312         the myriad s/RPAD/PAD/ and REALIZE fixes.
17313         (gst_pad_class_init): Add properties for "direction" and
17314         "template". Both are construct-only, so they can't change during
17315         the life of the pad. Fixes properly deriving from GstPad.
17316         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17317         derived objects, just set properties when creating the objects via
17318         g_object_new.
17319         (gst_pad_get_parent): Implement as a function, return NULL if the
17320         parent is not an element.
17321         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17322         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17323         
17324         * gst/gstobject.c (gst_object_class_init): Make name a construct
17325         property. Don't set it in the object init.
17326
17327         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17328         with UNKNOWN direction.
17329         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17330         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17331         (gst_element_remove_pad): Remove ghost-pad special cases.
17332         (gst_element_pads_activate): Remove rpad cruft.
17333
17334         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17335         catch the pad's-parent-not-an-element case.
17336
17337         * gst/gst.h: Include gstghostpad.h.
17338
17339         * gst/gst.c (init_post): No more real, ghost pads.
17340
17341         * gst/Makefile.am: Add gstghostpad.[ch].
17342
17343         * check/Makefile.am:
17344         * check/gst/gstbin.c:
17345         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17346         into a bin creates ghost pads, and that the refcounts are right.
17347         Partly moved from gstbin.c.
17348
17349 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17350
17351         * check/gst-libs/.cvsignore:
17352         * check/gst/.cvsignore:
17353         * check/pipelines/.cvsignore:
17354           ignore more
17355         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17356         (START_TEST), (cleanup_suite), (main):
17357           add some tests related to cleanup after running pipelines
17358
17359 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17360
17361         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17362           add a testsuite for GstBuffer
17363
17364 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17365
17366         * gst/gstminiobject.h:
17367           add defines for accessing the refcount
17368
17369 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
17370
17371         * Makefile.am: added support for html unit test coverage reports
17372
17373 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
17374
17375         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17376           Free existing caps if the capsfilter changes. Add a FIXME about
17377           setting those caps on the pads.
17378
17379         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
17380           Before adding a ghost pad to a parent bin, check that there isn't
17381           already one for the element on the bin. Prevents infinite recursion
17382           when using decodebin in parse pipelines. Andy says he'll rewrite the
17383           way this works anyway, so ignore the hack.
17384
17385 2005-06-02  Andy Wingo  <wingo@pobox.com>
17386
17387         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
17388         file size, pass it on to the type find helper.
17389
17390         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
17391         segment_start and segment_end properly according to the seek
17392         method. Segment_end is still a bit flaky because offset can be
17393         negative for CUR and END cases, but it takes -1 as an "unset"
17394         value.
17395
17396 2005-06-02  Wim Taymans  <wim@fluendo.com>
17397
17398         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
17399         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
17400         (gst_basesink_activate):
17401         * gst/base/gstbasesink.h:
17402         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17403         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17404         (gst_pad_query), (gst_pad_start_task):
17405         * gst/gstpad.h:
17406         * gst/gstqueue.c: (gst_queue_bufferalloc),
17407         (gst_queue_handle_sink_event), (gst_queue_chain):
17408         Bufferalloc: return GstFlowReturn to more accuratly report
17409         why allocation failed.
17410
17411 2005-06-02  Wim Taymans  <wim@fluendo.com>
17412
17413         * gst/gstpipeline.c: (gst_pipeline_send_event):
17414         Take snapshot of state without blocking.
17415
17416 2005-06-02  Wim Taymans  <wim@fluendo.com>
17417
17418         * docs/design/part-TODO.txt:
17419         * docs/design/part-caps.txt:
17420         * docs/design/part-clocks.txt:
17421         * docs/design/part-negotiation.txt:
17422         * docs/design/part-preroll.txt:
17423         Small doc updates 
17424
17425 2005-05-30  Wim Taymans  <wim@fluendo.com>
17426
17427         * gst/elements/gstidentity.c: (gst_identity_event),
17428         (gst_identity_transform), (gst_identity_get_property):
17429         Protect last_message property as it is accessed from
17430         multiple threads.
17431
17432 2005-05-30  Wim Taymans  <wim@fluendo.com>
17433
17434         * gst/gstelement.c: (gst_element_init),
17435         (gst_element_pads_activate), (gst_element_change_state):
17436         Slicker pad activation code.
17437
17438 2005-05-30  Wim Taymans  <wim@fluendo.com>
17439
17440         * gst/Makefile.am:
17441         * gst/gstelement.h:
17442         * gst/gstelementfactory.h:
17443         * gst/gsttypes.h:
17444         Move elementfactory methods to separate .h file.
17445
17446 2005-05-30  Wim Taymans  <wim@fluendo.com>
17447
17448         * docs/design/part-overview.txt:
17449         * gst/gstsystemclock.h:
17450         Small typo fixes, doc updates.
17451
17452 2005-05-30  Wim Taymans  <wim@fluendo.com>
17453
17454         * gst/gst.c: (gst_init_get_popt_table), (init_post),
17455         (init_popt_callback):
17456         Remove cpu-opt flag.
17457
17458 2005-05-30  Wim Taymans  <wim@fluendo.com>
17459
17460         * gst/gstbuffer.c: (gst_subbuffer_finalize),
17461         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
17462         * gst/gstbuffer.h:
17463         Avoid typechecking in places where not needed.
17464         Added accessor for malloc_data.
17465
17466 2005-05-30  Wim Taymans  <wim@fluendo.com>
17467
17468         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
17469         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
17470         (gst_pad_configure_sink), (gst_pad_configure_src),
17471         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
17472         (gst_pad_start_task):
17473         Propagate errors from _set_caps() in configure_src/sink
17474         functions instead of returning TRUE.
17475         FLUSH events can travel up and downstream
17476
17477
17478 2005-05-30  Wim Taymans  <wim@fluendo.com>
17479
17480         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17481         (gst_basesink_activate):
17482         Handle EOS in preroll.
17483
17484 2005-05-30  Wim Taymans  <wim@fluendo.com>
17485
17486         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17487         (gst_queue_loop), (gst_queue_handle_src_event):
17488         Remove old pieces of code
17489         Flushing the queue in an upstream event is a very bad idea.
17490
17491 2005-05-26  Andy Wingo  <wingo@pobox.com>
17492
17493         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
17494         gst_value_set_mini_object so as to add a ref on the object (which
17495         will be removed when the value is unset).
17496
17497         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
17498         arg type in ::handoff.
17499
17500         * gst/gstelement.c (gst_element_change_state): Also deactivate
17501         pads in READY->NULL, just in case the element didn't make it to
17502         PAUSED. Wingo tested, Wim approved.
17503
17504 2005-05-26  Wim Taymans  <wim@fluendo.com>
17505
17506         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17507         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17508         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
17509         A flushing pad cannot be used to alloc_buffer from.
17510
17511 2005-05-26  Wim Taymans  <wim@fluendo.com>
17512
17513         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
17514         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
17515         (gst_bus_source_dispatch), (gst_bus_source_finalize),
17516         (gst_bus_create_watch), (gst_bus_add_watch_full):
17517         * gst/gstbus.h:
17518         Implement a real GSource and use g_main_context_wakeup() to
17519         signal new messages instead of the socketpair.
17520
17521 2005-05-25  Wim Taymans  <wim@fluendo.com>
17522
17523         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
17524         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
17525         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17526         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17527         (gst_pad_send_event), (gst_pad_start_task):
17528         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
17529         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
17530         (gst_queue_sink_activate), (gst_queue_src_activate),
17531         (gst_queue_change_state):
17532         * gst/gstqueue.h:
17533         Fix state changes for non sinks. We now change sinks, then elements
17534         with unconnected srcpads, then the rest.
17535         More efficient queue unlocking in flush and state changes.
17536         Set the pad activate mode even if it does not have an activate
17537         function.
17538
17539 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17540
17541         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
17542           Don't go in pull mode for non-seekable sources.
17543         * gst/elements/gsttypefindelement.h:
17544         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17545         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
17546         (free_entry), (stop_typefinding),
17547         (gst_type_find_element_handle_event), (find_peek),
17548         (gst_type_find_element_chain), (do_pull_typefind),
17549         (gst_type_find_element_change_state):
17550           Allow typefinding (w/o seeking) in push-mode, simplified version
17551           of what was in 0.8.
17552         * gst/gstutils.c: (gst_buffer_join):
17553         * gst/gstutils.h:
17554           gst_buffer_join() from 0.8.
17555
17556 2005-05-25  Wim Taymans  <wim@fluendo.com>
17557
17558         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17559         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17560         (gst_pad_send_event), (gst_pad_start_task):
17561         Disable attempt at mode switching until it is figured out.
17562
17563 2005-05-25  Wim Taymans  <wim@fluendo.com>
17564
17565         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
17566         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17567         (gst_basesink_finish_preroll), (gst_basesink_chain),
17568         (gst_basesink_loop), (gst_basesink_activate),
17569         (gst_basesink_change_state):
17570         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
17571         (gst_basesrc_get_range), (gst_basesrc_loop),
17572         (gst_basesrc_activate):
17573         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17574         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17575         (gst_real_pad_init), (gst_real_pad_set_property),
17576         (gst_real_pad_get_property), (gst_pad_set_active),
17577         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
17578         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
17579         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
17580         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
17581         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17582         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
17583         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
17584         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17585         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
17586         (gst_pad_stop_task):
17587         * gst/gstpad.h:
17588         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17589         (gst_queue_loop), (gst_queue_src_activate):
17590         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
17591         (gst_task_get_state):
17592         * gst/gsttask.h:
17593         * gst/schedulers/threadscheduler.c:
17594         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
17595         Implement gst_pad_pause/start/stop_task(), take STREAM lock
17596         in task function.
17597         Remove ACTIVE pad flag, use FLUSHING everywhere
17598         Added _pad_chain(), _pad_get_range() to call chain/getrange 
17599         functions.
17600         Add locks around IS_FLUSHING when reading.
17601         Take STREAM lock in chain(), get_range() functions so plugins
17602         don't need to take it anymore.
17603         
17604
17605
17606 2005-05-25  Wim Taymans  <wim@fluendo.com>
17607
17608         * tools/gst-launch.c: (event_loop):
17609         Unref message after using its contents instead of
17610         before.
17611
17612 2005-05-24  Wim Taymans  <wim@fluendo.com>
17613
17614         * docs/design/draft-ghostpads.txt:
17615         * docs/design/draft-push-pull.txt:
17616         * docs/design/draft-query.txt:
17617         * docs/design/part-overview.txt:
17618         Docs updates, added general overview doc.
17619
17620 2005-05-21  David Schleef  <ds@schleef.org>
17621
17622         * docs/gst/tmpl/old/GstBin.sgml:
17623         * docs/gst/tmpl/old/GstBuffer.sgml:
17624         * docs/gst/tmpl/old/GstCaps.sgml:
17625         * docs/gst/tmpl/old/GstClock.sgml:
17626         * docs/gst/tmpl/old/GstCompat.sgml:
17627         * docs/gst/tmpl/old/GstData.sgml:
17628         * docs/gst/tmpl/old/GstElement.sgml:
17629         * docs/gst/tmpl/old/GstEvent.sgml:
17630         * docs/gst/tmpl/old/GstIndex.sgml:
17631         * docs/gst/tmpl/old/GstStructure.sgml:
17632         * docs/gst/tmpl/old/GstTag.sgml:
17633         * docs/gst/tmpl/old/cothreads.sgml:
17634         * docs/gst/tmpl/old/cothreads_compat.sgml:
17635         * docs/gst/tmpl/old/gettext.sgml:
17636         * docs/gst/tmpl/old/gobject2gtk.sgml:
17637         * docs/gst/tmpl/old/grammar.tab.sgml:
17638         * docs/gst/tmpl/old/gst-i18n-app.sgml:
17639         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
17640         * docs/gst/tmpl/old/gst_private.sgml:
17641         * docs/gst/tmpl/old/gstaggregator.sgml:
17642         * docs/gst/tmpl/old/gstarch.sgml:
17643         * docs/gst/tmpl/old/gstatomic_impl.sgml:
17644         * docs/gst/tmpl/old/gstbufferstore.sgml:
17645         * docs/gst/tmpl/old/gstdata_private.sgml:
17646         * docs/gst/tmpl/old/gstdisksink.sgml:
17647         * docs/gst/tmpl/old/gstdisksrc.sgml:
17648         * docs/gst/tmpl/old/gstelementfactory.sgml:
17649         * docs/gst/tmpl/old/gstextratypes.sgml:
17650         * docs/gst/tmpl/old/gstfakesink.sgml:
17651         * docs/gst/tmpl/old/gstfakesrc.sgml:
17652         * docs/gst/tmpl/old/gstfdsink.sgml:
17653         * docs/gst/tmpl/old/gstfdsrc.sgml:
17654         * docs/gst/tmpl/old/gstfilesink.sgml:
17655         * docs/gst/tmpl/old/gstfilesrc.sgml:
17656         * docs/gst/tmpl/old/gsthttpsrc.sgml:
17657         * docs/gst/tmpl/old/gstidentity.sgml:
17658         * docs/gst/tmpl/old/gstindexfactory.sgml:
17659         * docs/gst/tmpl/old/gstmarshal.sgml:
17660         * docs/gst/tmpl/old/gstmd5sink.sgml:
17661         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
17662         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
17663         * docs/gst/tmpl/old/gstpadtemplate.sgml:
17664         * docs/gst/tmpl/old/gstpipefilter.sgml:
17665         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
17666         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
17667         * docs/gst/tmpl/old/gstshaper.sgml:
17668         * docs/gst/tmpl/old/gstspider.sgml:
17669         * docs/gst/tmpl/old/gstspideridentity.sgml:
17670         * docs/gst/tmpl/old/gststatistics.sgml:
17671         * docs/gst/tmpl/old/gsttee.sgml:
17672         * docs/gst/tmpl/old/gsttimecache.sgml:
17673         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
17674         * docs/gst/tmpl/old/gstxmlregistry.sgml:
17675         * docs/gst/tmpl/old/gthread-cothreads.sgml:
17676         * docs/gst/tmpl/old/types.sgml:
17677           I didn't intend to add these or check them in.
17678
17679 2005-05-19  David Schleef  <ds@schleef.org>
17680
17681         * configure.ac: Use -no-common everywhere.  In a sane world, it
17682           would be the default in libtool, because without it, you can't
17683           build DLLs on Windows.
17684         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
17685         * docs/gst/gstreamer-sections.txt:
17686         * docs/gst/tmpl/gstcpu.sgml:
17687         * docs/gst/tmpl/gstdata.sgml:
17688         * docs/gst/tmpl/gstthread.sgml:
17689
17690 2005-05-19  David Schleef  <ds@schleef.org>
17691
17692         * gst/gstminiobject.c: (gst_value_set_mini_object),
17693         (gst_value_take_mini_object), (gst_value_get_mini_object):
17694         * gst/gstminiobject.h: Add GValue set/get functions.
17695
17696 2005-05-19  Wim Taymans  <wim@fluendo.com>
17697
17698         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
17699         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
17700         (gst_subbuffer_init), (gst_buffer_is_span_fast):
17701         * gst/gstbuffer.h:
17702         * gst/gstbus.c: (gst_bus_post):
17703         * gst/gstelement.c: (gst_element_get_random_pad):
17704         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
17705         Make subbufer unref the parent in finalize.
17706         some more debugging info.
17707
17708
17709 2005-05-19  Wim Taymans  <wim@fluendo.com>
17710
17711         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17712         (gst_basesink_init), (gst_basesink_finalize),
17713         (gst_basesink_activate), (gst_basesink_change_state):
17714         Don't free preroll queue too early.
17715
17716 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17717
17718         * gst/Makefile.am:
17719         * gst/ROADMAP:
17720           Hi, I'm outdated. Please shoot me.
17721
17722 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17723
17724         * gst/gstpipeline.c: (gst_pipeline_send_event):
17725           Do not access variables after they have been deleted.
17726
17727 2005-05-19  Wim Taymans  <wim@fluendo.com>
17728
17729         * tools/gst-inspect.c: (print_plugin_features):
17730         A plugin feature does unfortunatly not use the
17731         object name yet...
17732
17733 2005-05-18  Wim Taymans  <wim@fluendo.com>
17734
17735         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
17736         Port _span() functions to new subbuffers.
17737
17738 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17739
17740         * gst/gstbin.c: (gst_bin_add_func):
17741           Fix clock settery in bins when adding kids after the clock has
17742           been selected.
17743
17744 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17745
17746         * gst/elements/gstidentity.c: (gst_identity_class_init):
17747           Workaround until signals support GstMiniObject.
17748
17749 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
17750
17751         * gst/gstbuffer.c:
17752         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
17753
17754 2005-05-18  Wim Taymans  <wim@fluendo.com>
17755
17756         * gst/base/Makefile.am:
17757         * gst/base/gstadapter.c: (gst_adapter_base_init),
17758         (gst_adapter_class_init), (gst_adapter_init),
17759         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
17760         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
17761         (gst_adapter_flush), (gst_adapter_available),
17762         (gst_adapter_available_fast):
17763         * gst/base/gstadapter.h:
17764         Ported and added adapter to the base classes.
17765
17766 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17767
17768         * gst/gst.c:
17769         * gst/gstmessage.c:
17770           Make sure the class is reffed/unreffed once before threads can be
17771           used.  Fixes #304551.
17772
17773 2005-05-17  Wim Taymans  <wim@fluendo.com>
17774
17775         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
17776         (gst_basesink_chain_unlocked), (gst_basesink_activate):
17777         * gst/gstminiobject.c: (gst_mini_object_get_type),
17778         (gst_mini_object_free):
17779         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
17780         (gst_pad_push), (gst_pad_push_event):
17781         * gst/gstqueue.c: (gst_queue_change_state):
17782         Don't queue buffers in basesink when we are flushing.
17783         Unref buffer when flushing in basesink.
17784         Flush queue when going to READY
17785         Unref buffer when _push() returns an error.
17786         Don't free MiniObject instance when refcount is incremented
17787         in _finalize() so that we can recover objects.
17788
17789 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17790
17791         * docs/manual/advanced-schedulers.xml:
17792         * docs/manual/appendix-checklist.xml:
17793         * docs/pwg/advanced-clock.xml:
17794         * docs/pwg/advanced-interfaces.xml:
17795         * docs/pwg/advanced-request.xml:
17796         * docs/pwg/advanced-types.xml:
17797         * docs/pwg/intro-preface.xml:
17798         * examples/plugins/example.c: (gst_example_get_type),
17799         (gst_example_class_init), (gst_example_chain),
17800         (gst_example_set_property), (gst_example_get_property),
17801         (gst_example_change_state), (plugin_init):
17802         * examples/plugins/example.h:
17803           small doc fixes
17804
17805 2005-05-17  Wim Taymans  <wim@fluendo.com>
17806
17807         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
17808         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
17809         * gst/gstqueue.c: (gst_queue_change_state):
17810         Clear queue when going to READY.
17811         Remove IN_SETCAPS flag too.
17812
17813 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
17814
17815         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
17816           Remove implicit cast from gboolean to GstElementStateReturn;
17817           make sure we still return failure in paused => ready case if
17818           the parent class fails to change state and our own stop 
17819           vfunc succeeds.
17820
17821 2005-05-17  Wim Taymans  <wim@fluendo.com>
17822
17823         * tools/gst-launch.c: (event_loop):
17824         Message was unreffed too soon.
17825
17826 2005-05-16  Andy Wingo  <wingo@pobox.com>
17827
17828         * gst/gstbin.c (sink_iterator_filter): Err... um...
17829
17830         * check/gst/gstbin.c (test_ghost_pads): New test for the
17831         ghosting-if-elements-not-in-same-bin behavior.
17832
17833 2005-05-16  David Schleef  <ds@schleef.org>
17834
17835         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
17836         accessing refcount directly.
17837
17838 2005-05-15  David Schleef  <ds@schleef.org>
17839
17840         * check/Makefile.am: remove GstData checks
17841         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
17842         * gst/Makefile.am: add miniobject, remove data
17843         * gst/gst.h: add miniobject, remove data
17844         * gst/gstdata.c: remove
17845         * gst/gstdata.h: remove
17846         * gst/gstdata_private.h: remove
17847         * gst/gsttypes.h: remove GstEvent and GstMessage
17848         * gst/gstelement.c: (gst_element_post_message): fix for API changes
17849         * gst/gstmarshal.list: change BOXED -> OBJECT
17850
17851         Implement GstMiniObject.
17852         * gst/gstminiobject.c:
17853         * gst/gstminiobject.h:
17854
17855         Modify to be subclasses of GstMiniObject.
17856         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
17857         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
17858         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
17859         (gst_subbuffer_get_type), (gst_subbuffer_init),
17860         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
17861         (gst_buffer_span):
17862         * gst/gstbuffer.h:
17863         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
17864         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
17865         (_gst_event_copy), (gst_event_new):
17866         * gst/gstevent.h:
17867         * gst/gstmessage.c: (_gst_message_initialize),
17868         (gst_message_get_type), (gst_message_class_init),
17869         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
17870         (gst_message_new), (gst_message_new_error),
17871         (gst_message_new_warning), (gst_message_new_tag),
17872         (gst_message_new_state_changed), (gst_message_new_application):
17873         * gst/gstmessage.h:
17874         * gst/gstprobe.c: (gst_probe_perform),
17875         (gst_probe_dispatcher_dispatch):
17876         * gst/gstprobe.h:
17877         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
17878         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
17879         (_gst_query_copy), (gst_query_new):
17880
17881         Update elements for GstData -> GstMiniObject changes
17882         * gst/gstquery.h:
17883         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
17884         (gst_queue_chain), (gst_queue_loop):
17885         * gst/elements/gstbufferstore.c:
17886         (gst_buffer_store_add_buffer_func),
17887         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
17888         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17889         (gst_fakesink_render):
17890         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17891         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
17892         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
17893         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
17894         (gst_filesrc_create_read):
17895         * gst/elements/gstidentity.c: (gst_identity_class_init):
17896         * gst/elements/gsttypefindelement.c:
17897         (gst_type_find_element_src_event), (free_entry_buffers),
17898         (gst_type_find_element_handle_event):
17899         * libs/gst/dataprotocol/dataprotocol.c:
17900         (gst_dp_header_from_buffer):
17901         * libs/gst/dataprotocol/dataprotocol.h:
17902         * libs/gst/dataprotocol/dp-private.h:
17903
17904 2005-05-15  David Schleef  <ds@schleef.org>
17905
17906         * gst/elements/gstelements.c: Don't include headers that were
17907         just removed.
17908
17909 2005-05-15  David Schleef  <ds@schleef.org>
17910
17911         * gst/elements/Makefile.am: Remove some elements that don't
17912         need to be in the core (or even exist at all).
17913         * gst/elements/gstaggregator.c:
17914         * gst/elements/gstaggregator.h:
17915         * gst/elements/gstmd5sink.c:
17916         * gst/elements/gstmd5sink.h:
17917         * gst/elements/gstmultifilesrc.c:
17918         * gst/elements/gstmultifilesrc.h:
17919         * gst/elements/gstpipefilter.c:
17920         * gst/elements/gstpipefilter.h:
17921         * gst/elements/gstshaper.c:
17922         * gst/elements/gstshaper.h:
17923         * gst/elements/gststatistics.c:
17924         * gst/elements/gststatistics.h:
17925         * po/POTFILES.in: Remove above files.
17926
17927 2005-05-14  Andy Wingo  <wingo@pobox.com>
17928
17929         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
17930         so as to get the refs right.
17931         (sink_iterator_filter): New function, wraps bin_element_is_sink,
17932         unreffing objects that don't pass the filter.
17933
17934         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
17935         gst_element_set_bus.
17936         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
17937         normal cases, this will destroy the bus.
17938
17939         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
17940         object.
17941
17942         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
17943         has no sinks.
17944
17945 2005-05-13  Andy Wingo  <wingo@pobox.com>
17946
17947         * gst/gstutils.c (gst_element_link_pads): Instead of calling
17948         gst_pad_link, call pad_link_maybe_ghosting,
17949         (pad_link_maybe_ghosting): Links pads, making sure that the
17950         elements being linked are in the same bin.
17951         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
17952         Helpers for pad_link_maybe_ghosting.
17953
17954 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17955
17956         * configure.ac:
17957           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
17958
17959 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17960
17961         * docs/design/part-element-source.txt:
17962           Mention GstPushSrc
17963
17964 2005-05-12  Wim Taymans  <wim@fluendo.com>
17965
17966         * gst/base/gstbasesink.c: (gst_basesink_init),
17967         (gst_basesink_activate):
17968         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
17969         (gst_basesrc_is_seekable):
17970         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17971         (bin_element_is_sink), (gst_bin_change_state):
17972         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17973         * gst/gstelement.h:
17974         Identify sinks by their flag to avoid overly complicated
17975         checks (fow now).
17976         Do state changes even for elements not reachable from the
17977         sinks.
17978         BaseSink is a sink now :)
17979         Some more debugging info in the basesrc.
17980
17981
17982 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17983
17984         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
17985           Implement _query on a bin, similar to _send_event.
17986
17987 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
17988
17989         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
17990           Discont event offset format should be GST_FORMAT_BYTES,
17991           not GST_FORMAT_TIME.
17992
17993 2005-05-12  Wim Taymans  <wim@fluendo.com>
17994
17995         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
17996         Same fix as Ronald's but without the signal. 
17997
17998 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17999
18000         * gst/gstutils.c: (gst_element_query_position):
18001           No, an element is not a pad.
18002
18003 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18004
18005         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
18006         (gst_bin_get_state):
18007           If a child is removed from a bin while we remove the child from
18008           the bin and while we're retrieving its state, signal this to the
18009           get_state function so we abort the wait (instead of waiting for
18010           a timeout) and can immediately re-iterate over all other elements.
18011
18012 2005-05-12  Wim Taymans  <wim@fluendo.com>
18013
18014         * gst/base/Makefile.am:
18015         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
18016         (gst_basesrc_start):
18017         * gst/base/gstbasesrc.h:
18018         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
18019         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
18020         (gst_pushsrc_init), (gst_pushsrc_create):
18021         * gst/base/gstpushsrc.h:
18022         Added is_seekable to BaseSrc
18023         Added simple PushSrc.
18024
18025 2005-05-11  Wim Taymans  <wim@fluendo.com>
18026
18027         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18028         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18029         (gst_element_link_pads), (gst_element_query_position),
18030         (gst_element_query_convert), (intersect_caps_func),
18031         (gst_pad_query_position), (gst_pad_query_convert):
18032         Fix refcounting in utils function.
18033         No point in trying to activate a pad when it's added, it could
18034         be added from the state change function and then we deadlock, the
18035         element has to decide what to do.
18036
18037 2005-05-10  Andy Wingo  <wingo@pobox.com>
18038
18039         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
18040         *all* the arguments.
18041
18042         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
18043         stream lock if it's a FLUSH_DONE; normal flushes don't get the
18044         lock (according to the docs -- if this is wrong change the docs).
18045
18046         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
18047         flush messages in the NULL state.
18048
18049         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
18050         message immediately and return.
18051         (gst_bus_set_flushing): New function. If a bus is flushing, it
18052         flushes out any queued messages and immediately unrefs new
18053         messages. This is so when an element goes to NULL, all of the
18054         unhandled messages coming from it can be freed, and their
18055         references to the element dropped. In other words: message source
18056         ref considered harmful :P
18057
18058         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
18059         we're finished with it.
18060
18061         * gst/gstmessage.c (gst_message_new_state_changed): 
18062
18063 2005-05-10  Wim Taymans  <wim@fluendo.com>
18064
18065         * gst/gstvalue.c: (gst_value_compare_flags),
18066         (gst_value_serialize_flags), (gst_value_deserialize_flags),
18067         (_gst_value_initialize):
18068         Added flags serialize/deserialize/compare code.
18069
18070 2005-05-09  Andy Wingo  <wingo@pobox.com>
18071
18072         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
18073         Intersect the peer's caps with our caps.
18074
18075 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18076
18077         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18078         * gst/elements/gsttypefindelement.c: (find_peek):
18079           Handle negative offsets better. Fixes decodebin.
18080
18081 2005-05-09  Wim Taymans  <wim@fluendo.com>
18082
18083         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
18084         (gst_base_transform_event):
18085         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
18086         Implement accept_caps.
18087         Fix silly lock/unlock mismatch in base class.
18088
18089 2005-05-09  Wim Taymans  <wim@fluendo.com>
18090
18091         * docs/design/draft-push-pull.txt:
18092         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
18093         * gst/elements/gstfilesink.c: (gst_filesink_init),
18094         (gst_filesink_query):
18095         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18096         (gst_type_find_handle_src_query), (find_element_get_length):
18097         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
18098         * gst/gstelement.h:
18099         * gst/gstmessage.c:
18100         * gst/gstmessage.h:
18101         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
18102         (gst_real_pad_get_caps_unlocked),
18103         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
18104         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18105         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
18106         (gst_real_pad_dispose), (gst_real_pad_finalize),
18107         (gst_pad_load_and_link), (gst_pad_save_thyself),
18108         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
18109         (gst_pad_check_pull_range), (gst_pad_pull_range),
18110         (gst_pad_template_get_type), (gst_pad_template_class_init),
18111         (gst_pad_template_init), (gst_pad_template_dispose),
18112         (name_is_valid), (gst_static_pad_template_get),
18113         (gst_pad_template_new), (gst_static_pad_template_get_caps),
18114         (gst_pad_template_get_caps), (gst_pad_set_element_private),
18115         (gst_pad_get_element_private), (gst_pad_start_task),
18116         (gst_pad_pause_task), (gst_pad_stop_task),
18117         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
18118         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
18119         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
18120         (gst_ghost_pad_new):
18121         * gst/gstpad.h:
18122         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
18123         (gst_query_new_position), (gst_query_set_position),
18124         (gst_query_parse_position), (gst_query_new_convert),
18125         (gst_query_set_convert), (gst_query_parse_convert):
18126         * gst/gstquery.h:
18127         * gst/gstqueryutils.c:
18128         * gst/gstqueryutils.h:
18129         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18130         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18131         (gst_queue_handle_src_query):
18132         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18133         (gst_element_query_position), (gst_element_query_convert),
18134         (intersect_caps_func), (gst_pad_query_position),
18135         (gst_pad_query_convert):
18136         * gst/gstutils.h:
18137         * tools/gst-inspect.c: (print_pad_info):
18138         * tools/gst-xmlinspect.c: (print_element_info):
18139         Remove old query functions. Ported old code.
18140         Added position/convert helper functions to gstutils.
18141         Reordered gstpad.c code, grouping relevant things.
18142         Remove gst_message_new(), always need to speficy a specific
18143         message.
18144
18145
18146 2005-05-09  Andy Wingo  <wingo@pobox.com>
18147
18148         * gst/gstiterator.h: Add some includes.
18149
18150         * gst/gstqueryutils.h: Include more headers.
18151
18152         * gst/gstpad.h:
18153         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18154         some uses of gst_pad_query.
18155
18156         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18157         NULL out parameters.
18158         (gst_query_new_position): New proc, allocates a new position
18159         query.
18160
18161         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18162         gstqueryutils.c to the build.
18163
18164         * gst/gststructure.c (gst_structure_set_valist): Implement with
18165         the generic G_VALUE_COLLECT.
18166         
18167 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
18168
18169         * gst/Makefile.am: (gst_headers):
18170         Added gstqueryutils.h to the list of headers to install, that was
18171         a 'nachty' move wingo :)
18172
18173 2005-05-06  Andy Wingo  <wingo@pobox.com>
18174
18175         * gst/gstquery.h
18176         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18177         GstData, init a memchunk.
18178         (standard_definitions): Add a few query types, deprecate a few.
18179         (gst_query_get_type): New proc.
18180         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18181         implementation.
18182         (gst_query_new_application, gst_query_get_structure): New public
18183         procs.
18184
18185         * docs/design/draft-query.txt: Removed LINKS from the query types,
18186         because all the rest can be dispatched to other pads -- seemed
18187         ugly to have a query that couldn't be dispatched. internal_links
18188         is fine as a pad method.
18189
18190         * gst/gstpad.h: Add query2 as a pad method, add the new functions
18191         in gstpad.c, but maintain binary compatibility for the moment.
18192         Will fix before 0.9 is out.
18193
18194         * gst/gstqueryutils.c: 
18195         * gst/gstqueryutils.h: New files, implement 3 methods for each
18196         query type: parse_query, parse_response, and set. Probably need an
18197         allocator as well.
18198
18199         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18200
18201         * gst/elements/gstfilesink.c (gst_filesink_query2):
18202         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18203         query_types, and formats methods.
18204
18205         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18206         (gst_pad_set_query2_function): New functions.
18207         (gst_real_pad_init): Set query2_default as the default query2
18208         function. Basically just dispatches to internally linked pads.
18209
18210         Needs review!
18211         
18212         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18213         without using the atomic operations. Only one thread can possibly
18214         be accessing the data at this point. Changed so as to avoid
18215         gst_atomic operations.
18216
18217 2005-05-06  Wim Taymans  <wim@fluendo.com>
18218
18219         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18220         Also set caps if we use the fallback buffer alloc.
18221
18222 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
18223
18224         * docs/gst/Makefile.am:
18225         * docs/gst/gstreamer-docs.sgml:
18226         * docs/gst/gstreamer-sections.txt:
18227         * docs/gst/tmpl/gstatomic.sgml:
18228         * docs/gst/tmpl/gstmemchunk.sgml:
18229         * testsuite/elements/struct_i386.h:
18230         * win32/GStreamer.vcproj:
18231         * win32/Makefile:
18232           Purge GstAtomic stuff from docs and win32 makefiles as well
18233
18234 2005-05-06  Wim Taymans  <wim@fluendo.com>
18235
18236         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18237         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18238         * gst/gstpad.c: (gst_pad_peer_get_caps):
18239         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18240         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18241         (gst_queue_src_activate), (gst_queue_change_state):
18242         * gst/gstqueue.h:
18243         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18244         (intersect_caps_func):
18245         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18246         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18247         Some fixes for the peer_get_caps() change.
18248
18249 2005-05-06  Wim Taymans  <wim@fluendo.com>
18250
18251         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18252         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18253         (gst_basesink_activate):
18254         Actually do something with error codes returned from the push
18255         functions.
18256
18257 2005-05-06  Wim Taymans  <wim@fluendo.com>
18258
18259         * docs/design/part-element-sink.txt:
18260         * docs/design/part-element-source.txt:
18261         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18262         (gst_basesink_event), (gst_basesink_activate):
18263         * gst/base/gstbasesink.h:
18264         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18265         (gst_basesrc_activate):
18266         * gst/base/gstbasesrc.h:
18267         * gst/gstelement.c: (gst_element_pads_activate):
18268         Some more documentation.
18269         Fixed scheduling decision in _pads_activate().
18270
18271 2005-05-05  Andy Wingo  <wingo@pobox.com>
18272
18273         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18274         the test suite.
18275
18276 2005-05-05  Wim Taymans  <wim@fluendo.com>
18277
18278         * gst/base/Makefile.am:
18279         * gst/base/gstbasesink.h:
18280         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18281         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18282         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18283         (gst_collectpads_class_init), (gst_collectpads_init),
18284         (gst_collectpads_finalize), (gst_collectpads_new),
18285         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18286         (find_pad), (gst_collectpads_remove_pad),
18287         (gst_collectpads_is_active), (gst_collectpads_collect),
18288         (gst_collectpads_collect_range), (gst_collectpads_start),
18289         (gst_collectpads_stop), (gst_collectpads_peek),
18290         (gst_collectpads_pop), (gst_collectpads_available),
18291         (gst_collectpads_read), (gst_collectpads_flush),
18292         (gst_collectpads_chain):
18293         * gst/base/gstcollectpads.h:
18294         * gst/elements/Makefile.am:
18295         * gst/elements/gstelements.c:
18296         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18297         (gst_fakesink_get_times), (gst_fakesink_event),
18298         (gst_fakesink_preroll), (gst_fakesink_render):
18299         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18300         (gst_filesink_init), (gst_filesink_set_location),
18301         (gst_filesink_open_file), (gst_filesink_close_file),
18302         (gst_filesink_pad_query), (gst_filesink_event),
18303         (gst_filesink_render), (gst_filesink_change_state):
18304         * gst/elements/gstfilesink.h:
18305         Added object to help in making collect pad based elements.
18306         Ported filesink.
18307         Make event function in sink baseclass return gboolean.
18308
18309 2005-05-05  Wim Taymans  <wim@fluendo.com>
18310
18311         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18312         (gst_bin_get_by_name):
18313         * gst/gstbuffer.h:
18314         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18315         (gst_clock_finalize):
18316         * gst/gstdata.c: (gst_data_replace):
18317         * gst/gstdata.h:
18318         * gst/gstelement.c: (gst_element_request_pad),
18319         (gst_element_pads_activate):
18320         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18321         (gst_object_unref):
18322         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18323         (gst_pad_set_checkgetrange_function),
18324         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18325         (gst_pad_check_pull_range), (gst_pad_pull_range),
18326         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18327         (gst_pad_pause_task), (gst_pad_stop_task):
18328         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18329         (gst_element_request_pad), (gst_pad_proxy_getcaps):
18330         Fix name lookup in GstBin.
18331         Added _data_replace() function and _buffer_replace()
18332         Use finalize method to clean up clock.
18333         Fix refcounting on request pads.
18334         Fix pad schedule mode error.
18335         Some more object refcounting debug info,
18336
18337
18338 2005-05-04  Andy Wingo <wingo@pobox.com>
18339
18340         * check/Makefile.am:
18341         * docs/gst/tmpl/gstatomic.sgml:
18342         * docs/gst/tmpl/gstplugin.sgml:
18343         * gst/base/gstbasesink.c: (gst_basesink_activate):
18344         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18345         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18346         (gst_basesrc_query), (gst_basesrc_set_property),
18347         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18348         (gst_basesrc_activate):
18349         * gst/base/gstbasesrc.h:
18350         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18351         (gst_base_transform_src_activate):
18352         * gst/elements/gstelements.c:
18353         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18354         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18355         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18356         * gst/elements/gsttypefindelement.c: (find_element_get_length),
18357         (gst_type_find_element_checkgetrange),
18358         (gst_type_find_element_activate):
18359         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18360         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18361         (gst_caps_load_thyself):
18362         * gst/gstelement.c: (gst_element_pads_activate),
18363         (gst_element_save_thyself), (gst_element_restore_thyself):
18364         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
18365         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
18366         * gst/gstpad.h:
18367         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
18368         (gst_xml_parse_file), (gst_xml_parse_memory),
18369         (gst_xml_get_element), (gst_xml_make_element):
18370         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18371         (_file_index_id_save_xml), (gst_file_index_commit):
18372         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
18373         (read_enum), (load_pad_template), (load_feature), (load_plugin),
18374         (load_paths):
18375         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
18376         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
18377         * tools/gst-complete.c: (main):
18378         * tools/gst-compprep.c: (main):
18379         * tools/gst-inspect.c: (print_element_properties_info):
18380         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
18381         * tools/gst-xmlinspect.c: (print_element_properties):
18382         GCC 4 fixen.
18383         
18384 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18385
18386         * gst/gstplugin.c: (gst_plugin_check_module),
18387         (gst_plugin_check_file), (gst_plugin_load_file):
18388             apply patch from #172526 to make register work on MacOSX
18389
18390 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18391
18392         * docs/gst/tmpl/gstconfig.sgml:
18393         * gst/gstconfig.h.in:
18394           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
18395         * testsuite/debug/printf_extension.c: (main):
18396           Do not use GST_PTR_FORMAT on pointers to types with
18397           sizeof < sizeof(gpointer).  Fixes test on 64-bit
18398         * testsuite/elements/property.h:
18399           use correct printf format
18400
18401 2005-05-02  Wim Taymans  <wim@fluendo.com>
18402
18403         * docs/design/draft-push-pull.txt:
18404         * docs/design/draft-query.txt:
18405         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
18406         (gst_basesrc_start):
18407         Added draft for new query API.
18408         Added draft for better selecting scheduling methods.
18409         Make basesrc ignore length if the subclass does not support
18410         it.
18411
18412 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18413
18414         * gst/Makefile.am:
18415           possible fixes for automake-1.5 - _LIBADD is reserved
18416
18417 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18418
18419         * docs/faq/Makefile.am:
18420         * docs/manual/Makefile.am:
18421         * docs/manuals.mak:
18422         * docs/pwg/Makefile.am:
18423         * gst/Makefile.am:
18424           possible fixes for automake-1.5
18425
18426 2005-04-28  Wim Taymans  <wim@fluendo.com>
18427
18428         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18429         (gst_basesink_pad_getcaps), (gst_basesink_init),
18430         (gst_basesink_do_sync):
18431         * gst/gstclock.c: (gst_clock_entry_new):
18432         * gst/gstevent.c: (gst_event_discont_get_value):
18433         * gst/gstpipeline.c: (pipeline_bus_handler),
18434         (gst_pipeline_change_state):
18435         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18436         Better debugging of clocking info.
18437         Allow NULL values when getting discont values.
18438
18439 2005-04-27  Wim Taymans  <wim@fluendo.com>
18440
18441         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18442         * check/gst/gstpad.c: (gst_pad_suite):
18443         Increase timeout for checks.
18444
18445 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18446
18447         * check/Makefile.am:
18448           fix the broken rule for cleanup.  Apparently this rule is
18449           only needed on FC2, so maybe this warrants further autotool
18450           inspection.
18451
18452 2005-04-26  Wim Taymans  <wim@fluendo.com>
18453
18454         * gst/gsttrashstack.h:
18455         Ooohh. a nasty one! After having a failed pop() from the stack,
18456         it's possible that the stack is empty. In that case, don't
18457         follow the NULL pointer.
18458
18459 2005-04-25  Wim Taymans  <wim@fluendo.com>
18460
18461         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18462         (gst_pad_set_checkgetrange_function),
18463         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
18464         (gst_pad_check_pull_range), (gst_pad_pull_range),
18465         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18466         (gst_pad_pause_task), (gst_pad_stop_task):
18467         * gst/gstplugin.c: (gst_plugin_load):
18468         * gst/gstplugin.h:
18469         Remove gst_library_load as it does more harm than good with
18470         the new g_module flags.
18471         Revert bogus caps template check in pad linking, pad caps
18472         are important when linking not the template, which is more
18473         general than the current caps.
18474
18475 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18476
18477         * gst/autoplug/.cvsignore:
18478         * gst/autoplug/Makefile.am:
18479         * gst/autoplug/gstsearchfuncs.c:
18480         * gst/autoplug/gstsearchfuncs.h:
18481         * gst/autoplug/gstspider.c:
18482         * gst/autoplug/gstspider.h:
18483         * gst/autoplug/gstspideridentity.c:
18484         * gst/autoplug/gstspideridentity.h:
18485         * gst/autoplug/spidertest.c:
18486           Die, spider, die.
18487
18488 2005-04-25  Wim Taymans  <wim@fluendo.com>
18489
18490         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18491         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18492         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
18493         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
18494         * gst/gstpad.h:
18495         Added stubs for unimplemented functions. 
18496
18497 2005-04-24  David Schleef  <ds@schleef.org>
18498
18499         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
18500         please fix.
18501
18502 2005-04-24  David Schleef  <ds@schleef.org>
18503
18504         Convert everything from GstAtomicInt to g_atomic_int_*, and
18505         remove gstatomic.
18506         * gst/Makefile.am:
18507         * gst/gstatomic.c:
18508         * gst/gstatomic.h:
18509         * gst/gstatomic_impl.h:
18510         * gst/gstbuffer.c:
18511         * gst/gstcaps.c:
18512         * gst/gstcaps.h:
18513         * gst/gstclock.c:
18514         * gst/gstclock.h:
18515         * gst/gstdata.c:
18516         * gst/gstdata.h:
18517         * gst/gstdata_private.h:
18518         * gst/gstevent.c:
18519         * gst/gstinfo.c:
18520         * gst/gstinfo.h:
18521         * gst/gstmessage.c:
18522         * gst/gstobject.c:
18523         * gst/gstobject.h:
18524         * gst/gststructure.c:
18525         * gst/gststructure.h:
18526         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
18527         * gst/gstutils.h:
18528
18529 2005-04-24  David Schleef  <ds@schleef.org>
18530
18531         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
18532         make the regressions tests work.  Remove some code that is no
18533         longer true.
18534         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
18535         Disable warning for pads without templates.
18536
18537 2005-04-24  David Schleef  <ds@schleef.org>
18538
18539         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
18540         functions that handle filtered links.
18541         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
18542         removed functions.
18543         * gst/gstutils.c: Fix/remove utility functions that handle
18544         filtered caps.
18545         * gst/gstutils.h:
18546         * gst/gstvalue.c: Add serialization/deserialization of caps
18547         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
18548         requires fixing so that the filter caps notation creates
18549         a capsfilter element and sets the filter_caps property.  I
18550         think everyone probably wants to keep the shorthand notation.
18551         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
18552         * docs/gst/tmpl/gstpad.sgml:
18553
18554         * gst/elements/gstelements.c: Register capsfilter element.
18555         * gst/Makefile.am: fix spacing
18556         * docs/random/ds/0.9-suggested-changes: random
18557
18558 2005-04-23  David Schleef  <ds@schleef.org>
18559
18560         * gst/elements/Makefile.am:
18561         * gst/elements/gstcapsfilter.c: New element that acts like an
18562         identity, but filters caps.  Will eventually replace filtered
18563         caps in pad linking.
18564         * gst/gstutils.c: (gst_element_create_all_pads): New function
18565         to create all the ALWAYS pads that are registered with an
18566         element class.  This functionality should eventually be
18567         merged in with GstElement initialization.
18568         * gst/gstutils.h:
18569         * testsuite/trigger/README: part of trigger test code that should
18570         have been checked in a long time ago.
18571
18572 2005-04-23  David Schleef  <ds@schleef.org>
18573
18574         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
18575         needed with new versions of libtool (nobody will confirm this),
18576         and hard to carry around.
18577         * gst/autoplug/Makefile.am:
18578         * gst/base/Makefile.am:
18579         * gst/elements/Makefile.am:
18580         * gst/indexers/Makefile.am:
18581         * gst/schedulers/Makefile.am:
18582         * libs/gst/bytestream/Makefile.am:
18583         * libs/gst/control/Makefile.am:
18584         * libs/gst/dataprotocol/Makefile.am:
18585         * libs/gst/getbits/Makefile.am:
18586
18587 2005-04-21  Wim Taymans  <wim@fluendo.com>
18588
18589         * docs/design/draft-push-pull.txt:
18590         * docs/design/part-MT-refcounting.txt:
18591         * docs/design/part-TODO.txt:
18592         * docs/design/part-caps.txt:
18593         * docs/design/part-events.txt:
18594         * docs/design/part-gstbus.txt:
18595         * docs/design/part-gstpipeline.txt:
18596         * docs/design/part-messages.txt:
18597         * docs/design/part-push-pull.txt:
18598         * docs/design/part-query.txt:
18599         Some more docs.
18600
18601 2005-04-21  Wim Taymans  <wim@fluendo.com>
18602
18603         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
18604         (gst_message_new), (gst_message_new_error),
18605         (gst_message_new_warning), (gst_message_new_tag),
18606         (gst_message_new_state_changed), (gst_message_new_application),
18607         (gst_message_get_structure):
18608         * gst/gstmessage.h:
18609         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18610         (gst_structure_copy_conditional):
18611         Use parent refcount in GstMessage to ensure GstStructure
18612         consistency.
18613         Cleaned up headers a bit.
18614         
18615
18616 2005-04-20  Wim Taymans  <wim@fluendo.com>
18617
18618         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18619         (gst_basesink_pad_getcaps), (gst_basesink_init),
18620         (gst_basesink_chain_unlocked):
18621         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
18622         (gst_type_find_helper):
18623         * gst/elements/gsttypefindelement.c:
18624         (gst_type_find_element_have_type), (gst_type_find_element_init),
18625         (stop_typefinding), (gst_type_find_element_handle_event),
18626         (find_suggest), (gst_type_find_element_chain),
18627         (gst_type_find_element_checkgetrange),
18628         (gst_type_find_element_getrange), (do_typefind),
18629         (gst_type_find_element_activate):
18630         * gst/gstbuffer.c: (_gst_buffer_sub_free),
18631         (gst_buffer_default_free), (gst_buffer_default_copy),
18632         (gst_buffer_set_caps):
18633         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
18634         (gst_caps_replace):
18635         * gst/gstmessage.c: (gst_message_new),
18636         (gst_message_new_state_changed):
18637         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18638         (gst_pad_set_checkgetrange_function),
18639         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
18640         (gst_pad_set_caps), (gst_pad_check_pull_range),
18641         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
18642         * gst/gstpad.h:
18643         * gst/gsttypefind.c: (gst_type_find_register):
18644         Make gst_caps_replace() work like other _replace() functions.
18645         Use _caps_replace() where possible.
18646         Make sure _message_new() initialises its field.
18647         Add gst_static_pad_template_get_caps()
18648
18649
18650 2005-04-18  Andy Wingo  <wingo@pobox.com>
18651
18652         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
18653         on the peer, not the pad. I think that was a typo. Pass an extra
18654         arg to see if random access is possible. Activate the pads as
18655         PULL_RANGE if possible.
18656
18657         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
18658
18659         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
18660         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
18661         to PROP_....
18662
18663 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18664
18665         * docs/faq/using.xml:
18666           Add note on gstreamer-properties (#154996).
18667
18668 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18669
18670         * docs/random/bbb/optional-properties:
18671           Some analysis on optional properties.
18672
18673 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18674
18675         * docs/gst/tmpl/gstelementfactory.sgml:
18676         * gst/gstelement.h:
18677         * gst/gstelementfactory.c: (gst_element_factory_init),
18678         (gst_element_factory_cleanup), (gst_element_register),
18679         (__gst_element_factory_add_static_pad_template),
18680         (gst_element_factory_get_static_pad_templates),
18681         (gst_element_factory_can_src_caps),
18682         (gst_element_factory_can_sink_caps):
18683         * gst/registries/Makefile.am:
18684         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
18685         (gst_xml_registry_class_init), (gst_xml_registry_init),
18686         (gst_xml_registry_new), (gst_xml_registry_set_property),
18687         (gst_xml_registry_get_property), (get_time), (make_dir),
18688         (gst_xml_registry_get_perms_func),
18689         (plugin_times_older_than_recurse), (plugin_times_older_than),
18690         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
18691         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
18692         (add_to_char_array), (read_string), (read_uint), (read_enum),
18693         (load_pad_template), (load_feature), (load_plugin), (load_paths),
18694         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
18695         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
18696         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
18697         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
18698         (gst_xml_registry_rebuild):
18699         * gst/registries/gstlibxmlregistry.h:
18700         * tools/gst-compprep.c: (main):
18701         * tools/gst-inspect.c: (print_pad_templates_info):
18702         * tools/gst-xmlinspect.c: (print_element_info):
18703           Use libxml2 for registry parsing, use staticpadtemplates in
18704           elementfactories. Makes gst_init() +/- 10x faster.
18705
18706 2005-04-12  Wim Taymans  <wim@fluendo.com>
18707
18708         * gst/base/Makefile.am:
18709         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18710         (gst_basesink_pad_getcaps), (gst_basesink_init),
18711         (gst_basesink_event), (gst_basesink_change_state):
18712         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18713         (gst_basesrc_init), (gst_basesrc_query),
18714         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18715         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18716         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18717         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18718         (gst_basesrc_stop), (gst_basesrc_activate),
18719         (gst_basesrc_change_state):
18720         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18721         (helper_find_suggest), (gst_type_find_helper):
18722         * gst/base/gsttypefindhelper.h:
18723         * gst/elements/Makefile.am:
18724         * gst/elements/gstelements.c:
18725         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18726         (gst_fakesink_get_times), (gst_fakesink_event),
18727         (gst_fakesink_preroll), (gst_fakesink_render):
18728         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18729         (gst_fakesrc_init), (gst_fakesrc_event_handler),
18730         (gst_fakesrc_get_property), (gst_fakesrc_create),
18731         (gst_fakesrc_start), (gst_fakesrc_stop):
18732         * gst/elements/gstfakesrc.h:
18733         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
18734         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18735         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18736         (gst_filesrc_create_read), (gst_filesrc_create),
18737         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
18738         (gst_filesrc_start):
18739         * gst/elements/gsttypefindelement.c:
18740         (gst_type_find_element_have_type), (gst_type_find_element_init),
18741         (start_typefinding), (stop_typefinding), (push_buffer_store),
18742         (gst_type_find_element_handle_event),
18743         (gst_type_find_element_chain),
18744         (gst_type_find_element_checkgetrange),
18745         (gst_type_find_element_getrange), (do_typefind),
18746         (gst_type_find_element_activate),
18747         (gst_type_find_element_change_state):
18748         * gst/elements/gsttypefindelement.h:
18749         * gst/gstpipeline.c: (pipeline_bus_handler):
18750         Added typefind helper.
18751         Small preroll fix in the base sink.
18752         Disable typefind code in basesrc.
18753         Crude port of typefindelement.
18754         Fakesrc cleanups.
18755
18756
18757 2005-04-11  Wim Taymans  <wim@fluendo.com>
18758
18759         * check/gst/gstbus.c: (gstbus_suite):
18760         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
18761         * check/gstcheck.h:
18762           Fix up the timeout so that the test does not fail.
18763
18764 2005-04-06  Wim Taymans  <wim@fluendo.com>
18765
18766         * gst/base/README:
18767         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18768         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
18769         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18770         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18771         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18772         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18773         (gst_basesrc_stop), (gst_basesrc_activate),
18774         (gst_basesrc_change_state), (basesrc_find_peek),
18775         (basesrc_find_suggest), (gst_basesrc_type_find):
18776         * gst/base/gstbasesrc.h:
18777         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
18778         (gst_filesrc_class_init), (gst_filesrc_init),
18779         (gst_filesrc_finalize), (gst_filesrc_set_location),
18780         (gst_filesrc_set_property), (gst_filesrc_get_property),
18781         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18782         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18783         (gst_filesrc_create_read), (gst_filesrc_create),
18784         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
18785         * gst/elements/gstfilesrc.h:
18786         * gst/gstelement.c: (gst_element_get_state_func),
18787         (gst_element_lost_state), (gst_element_pads_activate):
18788         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18789         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18790         (gst_pad_pull_range):
18791         * gst/gstpad.h:
18792         More work on the generic source base class, implement seeking,
18793         query.
18794         Make filesrc extend the base source class.
18795         Added gst_pad_set_checkgetrange_function to GstPad.
18796
18797 2005-04-06  Andy Wingo  <wingo@pobox.com>
18798
18799         * pkgconfig/gstreamer-base.pc.in:
18800         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
18801
18802         * pkgconfig/Makefile.am:
18803         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
18804
18805 2005-04-04  Wim Taymans  <wim@fluendo.com>
18806
18807         * gst/base/Makefile.am:
18808         * gst/base/README:
18809         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18810         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18811         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18812         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
18813         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18814         (gst_basesrc_base_init), (gst_basesrc_class_init),
18815         (gst_basesrc_init), (gst_basesrc_get_formats),
18816         (gst_basesrc_get_query_types), (gst_basesrc_query),
18817         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
18818         (gst_basesrc_set_property), (gst_basesrc_get_property),
18819         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
18820         (gst_basesrc_loop), (gst_basesrc_activate),
18821         (gst_basesrc_change_state):
18822         * gst/base/gstbasesrc.h:
18823         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
18824         (gst_fakesrc_class_init), (gst_fakesrc_init),
18825         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
18826         (gst_fakesrc_get_property), (gst_fakesrc_create):
18827         * gst/elements/gstfakesrc.h:
18828         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
18829         (gst_filesrc_open_file), (gst_filesrc_loop),
18830         (gst_filesrc_activate), (filesrc_find_peek),
18831         (gst_filesrc_type_find):
18832         Made base source class, make fakesrc extend it.
18833         Add comments to basesink class.
18834         Some filesrc cleanup.
18835
18836 2005-03-31  David Schleef  <ds@schleef.org>
18837
18838         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
18839         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
18840         expected to link against libgstreamer.
18841         * gst/base/Makefile.am: link against libgstreamer
18842         * gst/elements/Makefile.am: same
18843
18844 2005-03-31  Andy Wingo  <wingo@pobox.com>
18845
18846         * tests/instantiate/Makefile.am:
18847         * tests/instantiate/caps.c: Add test to test speed of caps copy
18848         and free.
18849
18850         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
18851         GMemChunk to be fair.
18852
18853         * gst/gsttrashstack.h: Remove warning about using the fallback
18854         trash stack implementation, it's still faster than malloc.
18855
18856 2005-03-30  Andy Wingo  <wingo@pobox.com>
18857
18858         * tests/complexity.c: Add a copyright.
18859
18860 2005-03-31  Wim Taymans  <wim@fluendo.com>
18861
18862         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
18863         (gst_base_transform_class_init), (gst_base_transform_init),
18864         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
18865         (gst_base_transform_get_property),
18866         (gst_base_transform_sink_activate),
18867         (gst_base_transform_src_activate),
18868         (gst_base_transform_change_state):
18869         * gst/base/gstbasetransform.h:
18870         * gst/elements/gstidentity.c: (gst_identity_class_init),
18871         (gst_identity_event), (gst_identity_check_perfect),
18872         (gst_identity_transform), (gst_identity_start),
18873         (gst_identity_stop):
18874         Added start/stop methods to transform base class so subclasses 
18875         don't need to deal with state changes even.
18876
18877 2005-03-31  Wim Taymans  <wim@fluendo.com>
18878
18879         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
18880         (gst_event_new_discontinuous), (gst_event_discont_get_value):
18881         * gst/gstevent.h:
18882         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18883         (gst_pad_pull_range):
18884         Added rate to the discont event to prepare for variable speed
18885         and reverse playback.
18886
18887 2005-03-29  David Schleef  <ds@schleef.org>
18888
18889         * configure.ac:
18890         * testsuite/trigger/Makefile.am:
18891         * testsuite/trigger/trigger.c: A little example program to show
18892         how trigger-based elements can work.
18893
18894 2005-03-29  Wim Taymans  <wim@fluendo.com>
18895
18896         * gst/base/Makefile.am:
18897         * gst/base/README:
18898         * gst/base/gstbasesink.c: (gst_basesink_get_type),
18899         (gst_basesink_base_init), (gst_basesink_class_init),
18900         (gst_basesink_pad_getcaps), (gst_basesink_init),
18901         (gst_basesink_activate), (gst_basesink_change_state):
18902         * gst/base/gstbasesink.h:
18903         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
18904         (gst_base_transform_base_init), (gst_base_transform_finalize),
18905         (gst_base_transform_class_init), (gst_base_transform_init),
18906         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
18907         (gst_base_transform_event), (gst_base_transform_getrange),
18908         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
18909         (gst_base_transform_set_property),
18910         (gst_base_transform_get_property),
18911         (gst_base_transform_sink_activate),
18912         (gst_base_transform_src_activate),
18913         (gst_base_transform_change_state):
18914         * gst/base/gstbasetransform.h:
18915         * gst/elements/gstidentity.c: (gst_identity_finalize),
18916         (gst_identity_class_init), (gst_identity_init),
18917         (gst_identity_event), (gst_identity_check_perfect),
18918         (gst_identity_transform), (gst_identity_set_property),
18919         (gst_identity_get_property), (gst_identity_change_state):
18920         * gst/elements/gstidentity.h:
18921         * gst/gstelement.c: (gst_element_get_state_func),
18922         (gst_element_lost_state), (gst_element_pads_activate):
18923         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18924         (gst_pad_check_pull_range), (gst_pad_pull_range):
18925         * gst/gstpad.h:
18926         Simplify pad activation.
18927         Added function to check if pull_range can be performed.
18928         Error out when pulling inactive or flushing pads.
18929         Removed const from refcounted types as it does not make sense.
18930         Simplify pad templates in basesink
18931         Added base class for simple 1-to-1 transforms.
18932         Make identity subclass the base transform.
18933
18934 2005-03-29  Andy Wingo  <wingo@pobox.com>
18935
18936         * docs/libs/gstreamer-libs-overrides.txt: 
18937         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
18938         really don't understand what's going on, but like whatever. I want
18939         green buildbot!
18940
18941         * docs/gst/Makefile.am:
18942         * docs/libs/Makefile.am: Dist the overrides files.
18943
18944         * check/Makefile.am (clean-local): Remove .libs directories.
18945
18946         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
18947         elements to EXTRA_DIST, so po/ files are happy.
18948
18949         * po/POTFILES.in: Er, remove it here.
18950
18951         * po/POTFILES: Remove gstspider.c.
18952
18953         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
18954
18955         * docs/libs/gstreamer-libs-docs.sgml: 
18956         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
18957         bytestream.
18958
18959         * tests/complexity.c (main): Set the length of the preroll queue
18960         on the sinks to prevent a lockup.
18961
18962         * libs/gst/dataprotocol/Makefile.am: 
18963         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
18964         the same as the one in check/gst-libs/gdp.c.
18965
18966         * po/, docs/gst/: Commit automatic changes to docs and po files.
18967
18968         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
18969         the versioned libgstbase.
18970
18971         * check/Makefile.am: Depend on an unversioned gst-register, seems
18972         to make autoconf happier.
18973
18974         * gst/base/Makefile.am: Make libgstbase a versioned lib.
18975
18976 2005-03-28  Wim Taymans  <wim@fluendo.com>
18977
18978         * configure.ac:
18979         * docs/design/part-gstelement.txt:
18980         * docs/design/part-negotiation.txt:
18981         * docs/design/part-preroll.txt:
18982         * docs/design/part-scheduling.txt:
18983         * docs/design/part-states.txt:
18984         * gst/Makefile.am:
18985         * gst/base/Makefile.am:
18986         * gst/base/README:
18987         * gst/base/gstbasesink.c: (gst_basesink_get_template),
18988         (gst_basesink_base_init), (gst_basesink_class_init),
18989         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18990         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18991         (gst_basesink_set_pad_functions),
18992         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
18993         (gst_basesink_set_property), (gst_basesink_get_property),
18994         (gst_base_sink_get_template), (gst_base_sink_get_caps),
18995         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
18996         (gst_basesink_preroll_queue_push),
18997         (gst_basesink_preroll_queue_empty),
18998         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
18999         (gst_basesink_event), (gst_basesink_get_times),
19000         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
19001         (gst_basesink_chain_unlocked), (gst_basesink_chain),
19002         (gst_basesink_loop), (gst_basesink_activate),
19003         (gst_basesink_change_state):
19004         * gst/base/gstbasesink.h:
19005         * gst/elements/Makefile.am:
19006         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
19007         (gst_fakesink_class_init), (gst_fakesink_init),
19008         (gst_fakesink_set_property), (gst_fakesink_get_property),
19009         (gst_fakesink_get_times), (gst_fakesink_event),
19010         (gst_fakesink_preroll), (gst_fakesink_render),
19011         (gst_fakesink_change_state):
19012         * gst/elements/gstfakesink.h:
19013         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19014         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
19015         * gst/gstelement.c: (gst_element_add_pad),
19016         (gst_element_get_state_func), (gst_element_abort_state),
19017         (gst_element_commit_state), (gst_element_lost_state),
19018         (gst_element_set_state), (gst_element_pads_activate):
19019         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
19020         * gst/gstpipeline.c: (gst_pipeline_send_event),
19021         (gst_pipeline_change_state):
19022         Added state change code.
19023         Added/updated docs.
19024         Added sink base class, make fakesink extend the base class.
19025         Small cleanups in GstPipeline.
19026
19027 2005-03-26  David Schleef  <ds@schleef.org>
19028
19029         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
19030         is broken and should be implemented in a different library.
19031         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
19032         * gst/gst.h: remove gstcpu.h
19033         * gst/gstcpu.c: remove
19034         * gst/gstcpu.h: remove
19035         * gst/Makefile.am.future: Remove this file.  It's ancient.
19036
19037 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19038
19039         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19040         (gst_bin_send_event):
19041           Add default event/set_manager handlers. The set_manager handler
19042           takes care that the manager is distributed over kids that were
19043           already in the bin before the manager was set. The event handler
19044           is a utility virtual function that sends the event over all sinks,
19045           so that gst_element_send_event (bin, event); has the expected
19046           behaviour.
19047         * gst/gstpad.c: (gst_pad_event_default):
19048           Re-install default event handling for discontinuities, so that
19049           seeking works without requiring hacks in applications or extra
19050           code in sinks.
19051         * gst/gstpipeline.c: (gst_pipeline_class_init),
19052         (gst_pipeline_send_event):
19053           Half hack, half utility: set a pipeline to PAUSED for seek events,
19054           since that is the only way we can guarantee a/v sync. Means that
19055           you can do gst_element_seek (pipeline, method, pos); on a pipeline
19056           and it "just works".
19057
19058 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19059
19060         * gst/gstpipeline.c: (gst_pipeline_use_clock):
19061           Lock/unlock mismatch.
19062
19063 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19064
19065         * docs/faq/gst-uninstalled:
19066           add gst-plugins-base
19067         * docs/gst/Makefile.am:
19068           don't error out until docs are fixed
19069         * docs/gst/gstreamer.types:
19070           remove thread
19071
19072 2005-03-22  Wim Taymans  <wim@fluendo.com>
19073
19074         * check/Makefile.am:
19075         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
19076         * gst/gststructure.c: (gst_structure_set_valist),
19077         (gst_structure_copy_conditional):
19078         Activated more tests.
19079         Added message test.
19080         Added G_TYPE_POINTER to GstStructure.
19081         
19082
19083 2005-03-22  Wim Taymans  <wim@fluendo.com>
19084
19085         * docs/design/part-TODO.txt:
19086         * docs/design/part-events.txt:
19087         * docs/design/part-gstbin.txt:
19088         * docs/design/part-gstbus.txt:
19089         * docs/design/part-gstpipeline.txt:
19090         * docs/design/part-messages.txt:
19091         * gst/gstbus.c:
19092         * gst/gstmessage.c:
19093         Docs updates
19094
19095 2005-03-21  Wim Taymans  <wim@fluendo.com>
19096
19097         * gst/gstbus.c: (gst_bus_post):
19098         Fix copy-and-paste error.
19099
19100 2005-03-21  Wim Taymans  <wim@fluendo.com>
19101
19102         * check/Makefile.am:
19103         * gst/Makefile.am:
19104         * gst/elements/Makefile.am:
19105         * gst/elements/gstelements.c:
19106         * gst/elements/gstfakesink.c: (gst_fakesink_init),
19107         (gst_fakesink_event), (gst_fakesink_chain):
19108         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19109         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
19110         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
19111         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
19112         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19113         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
19114         (gst_fakesrc_loop), (gst_fakesrc_activate),
19115         (gst_fakesrc_change_state):
19116         * gst/elements/gstfakesrc.h:
19117         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
19118         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
19119         (gst_filesrc_open_file), (gst_filesrc_loop),
19120         (gst_filesrc_activate), (gst_filesrc_change_state),
19121         (filesrc_find_peek), (filesrc_find_suggest),
19122         (gst_filesrc_type_find):
19123         * gst/elements/gstidentity.c: (gst_identity_finalize),
19124         (gst_identity_class_init), (gst_identity_init),
19125         (gst_identity_proxy_getcaps), (identity_queue_push),
19126         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
19127         (gst_identity_getrange), (gst_identity_chain),
19128         (gst_identity_sink_loop), (gst_identity_src_loop),
19129         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
19130         (gst_identity_set_property), (gst_identity_get_property),
19131         (gst_identity_change_state):
19132         * gst/elements/gstidentity.h:
19133         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
19134         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
19135         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
19136         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
19137         (gst_tee_sink_activate):
19138         * gst/elements/gsttee.h:
19139         * gst/gst.c: (gst_register_core_elements), (init_post):
19140         * gst/gst.h:
19141         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19142         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19143         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19144         (gst_bin_change_state):
19145         * gst/gstbin.h:
19146         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19147         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19148         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19149         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19150         (gst_bus_set_sync_handler), (gst_bus_create_watch),
19151         (bus_watch_callback), (bus_watch_destroy),
19152         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19153         (poll_timeout), (gst_bus_poll):
19154         * gst/gstbus.h:
19155         * gst/gstcaps.h:
19156         * gst/gstdata.h:
19157         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19158         (gst_element_post_message), (gst_element_message_full),
19159         (gst_element_get_state_func), (gst_element_get_state),
19160         (gst_element_abort_state), (gst_element_commit_state),
19161         (gst_element_lost_state), (gst_element_set_state),
19162         (gst_element_pads_activate), (gst_element_change_state),
19163         (gst_element_dispose), (gst_element_set_manager_func),
19164         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19165         (gst_element_set_manager), (gst_element_get_manager),
19166         (gst_element_set_bus), (gst_element_get_bus),
19167         (gst_element_set_scheduler), (gst_element_get_scheduler):
19168         * gst/gstelement.h:
19169         * gst/gstevent.c: (gst_event_new_segment_seek),
19170         (gst_event_new_flush):
19171         * gst/gstevent.h:
19172         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19173         (_gst_message_free), (gst_message_get_type), (gst_message_new),
19174         (gst_message_new_eos), (gst_message_new_error),
19175         (gst_message_new_warning), (gst_message_new_tag),
19176         (gst_message_new_state_changed), (gst_message_new_application),
19177         (gst_message_get_structure), (gst_message_parse_tag),
19178         (gst_message_parse_state_changed), (gst_message_parse_error),
19179         (gst_message_parse_warning):
19180         * gst/gstmessage.h:
19181         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19182         (gst_real_pad_set_property), (gst_pad_set_active),
19183         (gst_pad_is_active), (gst_pad_set_blocked_async),
19184         (gst_pad_set_blocked), (gst_pad_is_blocked),
19185         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19186         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19187         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19188         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19189         (gst_pad_link_filtered), (gst_pad_relink_filtered),
19190         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19191         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19192         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19193         (gst_pad_set_caps), (gst_pad_configure_sink),
19194         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19195         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19196         (gst_real_pad_dispose), (gst_real_pad_finalize),
19197         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19198         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19199         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19200         * gst/gstpad.h:
19201         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19202         (pipeline_bus_handler), (gst_pipeline_change_state),
19203         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19204         * gst/gstpipeline.h:
19205         * gst/gstprobe.h:
19206         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19207         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19208         (gst_queue_link_src), (gst_queue_bufferalloc),
19209         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19210         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19211         (gst_queue_loop), (gst_queue_handle_src_event),
19212         (gst_queue_handle_src_query), (gst_queue_src_activate),
19213         (gst_queue_change_state):
19214         * gst/gstqueue.h:
19215         * gst/gstscheduler.c: (gst_scheduler_init),
19216         (gst_scheduler_dispose), (gst_scheduler_create_task),
19217         (gst_scheduler_factory_create):
19218         * gst/gstscheduler.h:
19219         * gst/gststructure.c: (gst_structure_get_type),
19220         (gst_structure_copy_conditional):
19221         * gst/gststructure.h:
19222         * gst/gsttaginterface.h:
19223         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19224         (gst_task_init), (gst_task_dispose), (gst_task_create),
19225         (gst_task_get_state), (gst_task_start), (gst_task_stop),
19226         (gst_task_pause):
19227         * gst/gsttask.h:
19228         * gst/gstthread.c:
19229         * gst/gstthread.h:
19230         * gst/gsttypes.h:
19231         * gst/schedulers/Makefile.am:
19232         * gst/schedulers/cothreads_compat.h:
19233         * gst/schedulers/entryscheduler.c:
19234         * gst/schedulers/faircothreads.c:
19235         * gst/schedulers/faircothreads.h:
19236         * gst/schedulers/fairscheduler.c:
19237         * gst/schedulers/gstbasicscheduler.c:
19238         * gst/schedulers/gstoptimalscheduler.c:
19239         * gst/schedulers/gthread-cothreads.h:
19240         * gst/schedulers/threadscheduler.c:
19241         (gst_thread_scheduler_task_get_type),
19242         (gst_thread_scheduler_task_class_init),
19243         (gst_thread_scheduler_task_init),
19244         (gst_thread_scheduler_task_start),
19245         (gst_thread_scheduler_task_stop),
19246         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19247         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19248         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19249         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19250         (plugin_init):
19251         * libs/gst/Makefile.am:
19252         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19253         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19254         (gst_file_pad_parent_set):
19255         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19256         (gst_dp_event_from_packet):
19257         * tests/complexity.c: (main):
19258         * tests/mass_elements.c: (main):
19259         * testsuite/states/locked.c: (message_received), (main):
19260         * testsuite/states/parent.c: (main):
19261         * tools/gst-inspect.c: (print_element_flag_info),
19262         (print_implementation_info), (print_pad_info):
19263         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19264         (main):
19265         * tools/gst-md5sum.c: (event_loop), (main):
19266         * tools/gst-typefind.c: (main):
19267         * tools/gst-xmlinspect.c: (print_element_info):
19268         Next big merge.
19269         Added GstBus for mainloop integration.
19270         Added GstMessage for sending notifications on the bus.
19271         Added GstTask as an abstraction for pipeline entry points.
19272         Removed GstThread.
19273         Removed Schedulers.
19274         Simplified GstQueue for multithreaded core.
19275         Made _link threadsafe, removed old capsnego.
19276         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19277         Added pad blocking functions.
19278         Reworked scheduling functions in GstPad to prepare for
19279         scheduling updates soon.
19280         Moved events out of data stream.
19281         Simplified GstEvent types.
19282         Added return values to push/pull.
19283         Removed clocking from GstElement.
19284         Added prototypes for state change function for next merge.
19285         Removed iterate from bins and state change management.
19286         Fixed some elements, disabled others for now.
19287         Fixed -inspect and -launch.
19288         Added check for GstBus.
19289
19290 2005-03-10  Wim Taymans  <wim@fluendo.com>
19291
19292         * docs/design/part-MT-refcounting.txt:
19293         * docs/design/part-clocks.txt:
19294         * docs/design/part-gstelement.txt:
19295         * docs/design/part-gstobject.txt:
19296         * docs/design/part-standards.txt:
19297         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19298         (gst_bin_remove_func), (gst_bin_remove):
19299         * gst/gstbin.h:
19300         * gst/gstbuffer.c:
19301         * gst/gstcaps.h:
19302         * testsuite/clock/clock1.c: (main):
19303         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19304         (main):
19305         * testsuite/dlopen/loadgst.c: (do_test):
19306         * testsuite/refcounting/bin.c: (add_remove_test1),
19307         (add_remove_test2), (main):
19308         * testsuite/refcounting/element.c: (main):
19309         * testsuite/refcounting/element_pad.c: (main):
19310         * testsuite/refcounting/pad.c: (main):
19311         * tools/gst-launch.c: (sigint_handler_sighandler):
19312         * tools/gst-typefind.c: (main):
19313         Doc updates.
19314         Added doc about clock.
19315         removed gst_bin_iterate_recurse_up(), marked methods
19316         for removal.
19317         Fix more testsuites.
19318
19319 2005-03-09  Wim Taymans  <wim@fluendo.com>
19320
19321         * gst/gstpad.c: (gst_pad_get_direction),
19322         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19323         (gst_pad_collect_valist):
19324         * testsuite/bins/interface.c: (main):
19325         * testsuite/caps/audioscale.c: (test_caps):
19326         * testsuite/caps/caps.c: (test1), (test2), (test3):
19327         * testsuite/caps/deserialize.c: (main):
19328         * testsuite/caps/enumcaps.c: (main):
19329         * testsuite/caps/filtercaps.c: (main):
19330         * testsuite/caps/intersect2.c: (main):
19331         * testsuite/caps/random.c: (main):
19332         * testsuite/caps/renegotiate.c: (my_fixate), (main):
19333         * testsuite/caps/sets.c: (check_caps):
19334         * testsuite/caps/simplify.c: (check_caps), (main):
19335         * testsuite/caps/subtract.c: (check_caps):
19336         Fix _pad_get_direction wrt ghostpads.
19337         Fix caps testsuite.
19338
19339 2005-03-09  Wim Taymans  <wim@fluendo.com>
19340
19341         * check/Makefile.am:
19342         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19343         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19344         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19345         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19346         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19347         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19348         (gst_bin_remove), (gst_bin_iterate_recurse_up),
19349         (bin_element_is_sink), (gst_bin_iterate_sinks),
19350         (gst_bin_iterate_all_by_interface):
19351         * gst/gstbin.h:
19352         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19353         (gst_element_change_state), (gst_element_dispose),
19354         (gst_element_finalize), (gst_element_set_loop_function):
19355         * gst/gstelement.h:
19356         * gst/gstiterator.c: (find_custom_fold_func):
19357         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19358         (gst_pad_collectv), (gst_pad_collect_valist),
19359         (gst_pad_template_new):
19360         * gst/gstpipeline.c: (gst_pipeline_class_init),
19361         (gst_pipeline_dispose), (gst_pipeline_set_property),
19362         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19363         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
19364         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
19365         * gst/gstutils.h:
19366         * gst/schedulers/entryscheduler.c:
19367         * gst/schedulers/gstbasicscheduler.c:
19368         (gst_basic_scheduler_cothreaded_chain),
19369         (gst_basic_scheduler_chain_add_element):
19370         * testsuite/bins/interface.c: (main):
19371         Added GstBin test.
19372         Added GstSystemClock test.
19373         Implemented clock distribution code in GstBin.
19374         Implemented iterate sinks method for future use.
19375         Rearranged gstelement.h
19376         Fix GstIterator comparison bug.
19377         Moved some code to GstPipeline, mostly clocking related.
19378
19379 2005-03-09  Wim Taymans  <wim@fluendo.com>
19380
19381         * configure.ac:
19382         * gst/gst_private.h:
19383         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19384         (gst_bin_remove_func), (gst_bin_remove),
19385         (gst_bin_get_by_name_recurse_up):
19386         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
19387         (gst_clock_id_compare_func), (gst_clock_id_wait),
19388         (gst_clock_id_wait_async), (gst_clock_init),
19389         (gst_clock_adjust_unlocked), (gst_clock_get_time):
19390         * gst/gstelement.h:
19391         * gst/gstinfo.c: (_gst_debug_init):
19392         * gst/gstobject.h:
19393         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19394         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
19395         * gst/gstpad.h:
19396         Bump version number, we're now 0.9.0
19397         Add future debugging category.
19398         Fix NULL _unref() in _get_by_name_recurse_up
19399         Rearrange gstpad.h.
19400         Update some docs.
19401
19402 2005-03-08  Wim Taymans  <wim@fluendo.com>
19403
19404         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
19405         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
19406         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
19407         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
19408         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
19409         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
19410         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
19411         * gst/elements/gstidentity.c: (gst_identity_class_init):
19412         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
19413         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
19414         * gst/elements/gstshaper.c: (gst_shaper_class_init):
19415         * gst/elements/gststatistics.c: (gst_statistics_class_init):
19416         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
19417         (gst_tee_link):
19418         * gst/gstelement.c: (gst_element_class_init),
19419         (gst_element_base_class_init), (gst_element_init),
19420         (gst_element_get_random_pad), (gst_element_wait_state_change),
19421         (gst_element_change_state), (gst_element_dispose),
19422         (gst_element_finalize), (gst_element_set_loop_function):
19423         * gst/gstelement.h:
19424         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
19425         * gst/gstthread.c: (gst_thread_class_init),
19426         (gst_thread_release_children_locks), (gst_thread_change_state):
19427         * gst/schedulers/gstbasicscheduler.c:
19428         (gst_basic_scheduler_loopfunc_wrapper),
19429         (gst_basic_scheduler_chain_wrapper),
19430         (gst_basic_scheduler_src_wrapper),
19431         (gst_basic_scheduler_remove_element):
19432         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
19433         Remove threadsafe properties. Fix elements because GObject
19434         complains when installing a property before declaring a
19435         set/get_property handler.
19436         Rearrange gstelement.h file, use STATE macros for state locks.
19437         Free mutexes in the finalize method instead of dispose.
19438
19439 2005-03-08  Wim Taymans  <wim@fluendo.com>
19440
19441         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19442         * gst/gstthread.c: (gst_thread_release_children_locks):
19443         Added parentage check.
19444         Fix build og GstThread again.
19445
19446 2005-03-08  Wim Taymans  <wim@fluendo.com>
19447
19448         * docs/design/part-MT-refcounting.txt:
19449         * docs/design/part-conventions.txt:
19450         * docs/design/part-gstobject.txt:
19451         * docs/design/part-relations.txt:
19452         * docs/design/part-standards.txt:
19453         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19454         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
19455         (gst_bin_get_by_name), (gst_bin_get_by_interface),
19456         (gst_bin_iterate_all_by_interface):
19457         * gst/gstbuffer.h:
19458         * gst/gstclock.h:
19459         * gst/gstelement.c: (gst_element_class_init),
19460         (gst_element_change_state), (gst_element_set_loop_function):
19461         * gst/gstelement.h:
19462         * gst/gstiterator.c:
19463         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
19464         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
19465         (gst_object_dispatch_properties_changed), (gst_object_set_name),
19466         (gst_object_set_parent), (gst_object_unparent),
19467         (gst_object_check_uniqueness):
19468         * gst/gstobject.h:
19469         Docs updates, clean up some headers.
19470
19471 2005-03-07  Wim Taymans  <wim@fluendo.com>
19472
19473         * check/.cvsignore:
19474         * check/Makefile.am:
19475         * check/gst-libs/.cvsignore:
19476         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
19477         * check/gst/.cvsignore:
19478         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
19479         (START_TEST), (gstbus_suite), (main):
19480         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
19481         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
19482         (gst_data_suite), (main):
19483         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
19484         (add_fold_func), (gstiterator_suite), (main):
19485         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
19486         (thread_name_object), (thread_name_object_default),
19487         (gst_object_name_compare), (gst_object_suite), (main):
19488         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
19489         (gst_pad_suite), (main):
19490         * check/gstcheck.c: (gst_check_log_message_func),
19491         (gst_check_log_critical_func), (gst_check_init):
19492         * check/gstcheck.h:
19493         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19494         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
19495         Added checks.
19496
19497 2005-03-07  Wim Taymans  <wim@fluendo.com>
19498
19499         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19500         (gst_list_iterator_next), (gst_list_iterator_resync),
19501         (gst_list_iterator_free), (gst_iterator_new_list),
19502         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
19503         (gst_iterator_free), (gst_iterator_push), (filter_next),
19504         (filter_resync), (filter_uninit), (filter_free),
19505         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
19506         (gst_iterator_foreach), (find_custom_fold_func),
19507         (gst_iterator_find_custom):
19508         * gst/gstiterator.h:
19509         Added missing files.
19510
19511 2005-03-07  Wim Taymans  <wim@fluendo.com>
19512
19513         * Makefile.am:
19514         * configure.ac:
19515         * docs/design/part-MT-refcounting.txt:
19516         * docs/design/part-conventions.txt:
19517         * docs/design/part-gstobject.txt:
19518         * docs/design/part-relations.txt:
19519         * examples/mixer/mixer.c: (main):
19520         * examples/thread/thread.c: (eos), (main):
19521         * gst/Makefile.am:
19522         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
19523         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
19524         (gst_spider_plug_from_srcpad):
19525         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
19526         (gst_spider_identity_change_state),
19527         (gst_spider_identity_sink_loop_type_finding):
19528         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
19529         * gst/elements/gstidentity.c: (gst_identity_init):
19530         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
19531         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
19532         * gst/elements/gsttypefindelement.c: (free_entry):
19533         * gst/gst.c:
19534         * gst/gst.h:
19535         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
19536         (gst_bin_set_clock_func), (gst_bin_auto_clock),
19537         (gst_bin_set_index), (gst_bin_set_element_sched),
19538         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
19539         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
19540         (gst_bin_iterate_elements), (iterate_child_recurse),
19541         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
19542         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
19543         (compare_interface), (gst_bin_get_by_interface),
19544         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
19545         * gst/gstbin.h:
19546         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
19547         (gst_buffer_default_free), (gst_buffer_default_copy),
19548         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
19549         (gst_buffer_create_sub):
19550         * gst/gstbuffer.h:
19551         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
19552         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
19553         (gst_caps_unref), (gst_static_caps_get),
19554         (gst_caps_remove_and_get_structure), (gst_caps_append),
19555         (gst_caps_append_structure), (gst_caps_remove_structure),
19556         (gst_caps_copy_nth), (gst_caps_set_simple),
19557         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
19558         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
19559         (gst_caps_structure_intersect_field), (gst_caps_intersect),
19560         (gst_caps_structure_subtract_field), (gst_caps_subtract),
19561         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
19562         (gst_caps_structure_figure_out_union),
19563         (gst_caps_switch_structures), (gst_caps_do_simplify),
19564         (gst_caps_replace), (gst_caps_from_string),
19565         (gst_caps_copy_conditional):
19566         * gst/gstcaps.h:
19567         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
19568         (_gst_clock_id_free), (gst_clock_id_unref),
19569         (gst_clock_id_compare_func), (gst_clock_id_wait),
19570         (gst_clock_id_wait_async), (gst_clock_class_init),
19571         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
19572         (gst_clock_get_time), (gst_clock_set_time_adjust),
19573         (gst_clock_set_property), (gst_clock_get_property):
19574         * gst/gstclock.h:
19575         * gst/gstcompat.h:
19576         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
19577         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
19578         * gst/gstdata.h:
19579         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19580         (gst_element_requires_clock), (gst_element_provides_clock),
19581         (gst_element_set_clock), (gst_element_clock_wait),
19582         (gst_element_wait), (gst_element_set_time_delay),
19583         (gst_element_is_indexable), (gst_element_add_pad),
19584         (gst_element_add_ghost_pad), (gst_element_remove_pad),
19585         (pad_compare_name), (gst_element_get_static_pad),
19586         (gst_element_request_pad), (gst_element_get_request_pad),
19587         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
19588         (gst_element_class_get_pad_template_list),
19589         (gst_element_class_get_pad_template), (gst_element_error_func),
19590         (gst_element_get_random_pad), (gst_element_get_event_masks),
19591         (gst_element_send_event), (gst_element_seek),
19592         (gst_element_get_query_types), (gst_element_query),
19593         (gst_element_get_formats), (gst_element_convert),
19594         (gst_element_is_locked_state), (gst_element_set_locked_state),
19595         (gst_element_sync_state_with_parent), (gst_element_change_state),
19596         (gst_element_finalize), (gst_element_yield),
19597         (gst_element_interrupt), (gst_element_set_scheduler),
19598         (gst_element_get_scheduler), (gst_element_set_loop_function):
19599         * gst/gstelement.h:
19600         * gst/gstevent.h:
19601         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
19602         (gst_format_get_by_nick), (gst_format_get_details),
19603         (gst_format_iterate_definitions):
19604         * gst/gstformat.h:
19605         * gst/gstindex.c: (gst_index_gtype_resolver):
19606         * gst/gstinfo.c:
19607         * gst/gstinfo.h:
19608         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
19609         (gst_mem_chunk_free):
19610         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19611         (gst_object_ref), (gst_object_unref), (gst_object_sink),
19612         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
19613         (gst_object_dispatch_properties_changed),
19614         (gst_object_set_name_default), (gst_object_set_name),
19615         (gst_object_get_name), (gst_object_set_name_prefix),
19616         (gst_object_get_name_prefix), (gst_object_set_parent),
19617         (gst_object_get_parent), (gst_object_unparent),
19618         (gst_object_check_uniqueness), (gst_object_save_thyself),
19619         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
19620         (gst_object_set_property), (gst_object_get_property),
19621         (gst_object_get_path_string):
19622         * gst/gstobject.h:
19623         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
19624         (gst_real_pad_init), (gst_real_pad_get_property),
19625         (gst_pad_custom_new), (gst_pad_get_direction),
19626         (gst_pad_set_active), (gst_pad_is_active),
19627         (gst_pad_set_event_function), (gst_pad_is_linked),
19628         (gst_pad_link_free), (gst_pad_link_intersect),
19629         (gst_pad_link_fixate), (gst_pad_set_caps),
19630         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
19631         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
19632         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
19633         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
19634         (gst_pad_get_caps), (gst_pad_peer_get_caps),
19635         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
19636         (gst_pad_realize), (gst_pad_get_allowed_caps),
19637         (gst_real_pad_dispose), (gst_real_pad_finalize),
19638         (gst_pad_collectv), (gst_pad_collect_valist),
19639         (gst_pad_template_dispose), (gst_pad_template_new),
19640         (gst_pad_get_internal_links):
19641         * gst/gstpad.h:
19642         * gst/gstpipeline.c: (gst_pipeline_dispose),
19643         (gst_pipeline_change_state):
19644         * gst/gstpipeline.h:
19645         * gst/gstplugin.c:
19646         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
19647         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
19648         * gst/gstpluginfeature.h:
19649         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
19650         * gst/gstquery.c: (_gst_query_type_initialize),
19651         (gst_query_type_register), (gst_query_type_get_by_nick),
19652         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
19653         * gst/gstquery.h:
19654         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
19655         * gst/gstscheduler.c: (gst_scheduler_add_element),
19656         (gst_scheduler_factory_create):
19657         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19658         (gst_structure_free), (gst_structure_set_name),
19659         (gst_structure_id_set_value), (gst_structure_set_value),
19660         (gst_structure_set_valist), (gst_structure_remove_field),
19661         (gst_structure_remove_fields),
19662         (gst_structure_remove_fields_valist),
19663         (gst_structure_remove_all_fields), (gst_structure_foreach),
19664         (gst_structure_map_in_place),
19665         (gst_caps_structure_fixate_field_nearest_int),
19666         (gst_caps_structure_fixate_field_nearest_double):
19667         * gst/gststructure.h:
19668         * gst/gstsystemclock.c: (gst_system_clock_class_init),
19669         (gst_system_clock_init), (gst_system_clock_dispose),
19670         (gst_system_clock_async_thread),
19671         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
19672         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
19673         * gst/gstsystemclock.h:
19674         * gst/gsttag.c: (gst_tag_list_add_value_internal),
19675         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
19676         * gst/gsttaginterface.c:
19677         * gst/gstthread.c: (gst_thread_dispose),
19678         (gst_thread_release_children_locks), (gst_thread_change_state),
19679         (gst_thread_main_loop):
19680         * gst/gsttrashstack.h:
19681         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
19682         * gst/gsttypes.h:
19683         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
19684         (gst_element_request_pad), (gst_element_get_pad_from_template),
19685         (gst_element_request_compatible_pad),
19686         (gst_element_get_compatible_pad_filtered),
19687         (gst_element_get_compatible_pad), (gst_element_state_get_name),
19688         (gst_element_link_pads_filtered), (gst_element_link_filtered),
19689         (gst_element_link_many), (gst_element_link),
19690         (gst_element_link_pads), (gst_element_unlink_pads),
19691         (gst_element_unlink_many), (gst_element_unlink),
19692         (gst_pad_can_link_filtered), (gst_pad_can_link),
19693         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
19694         (gst_object_default_error), (gst_bin_add_many),
19695         (gst_bin_remove_many), (gst_element_populate_std_props),
19696         (gst_element_class_install_std_props), (gst_buffer_merge),
19697         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
19698         (link_fold_func), (gst_pad_proxy_setcaps):
19699         * gst/gstutils.h:
19700         * gst/gstvalue.c: (gst_value_deserialize_string):
19701         * gst/parse/grammar.y:
19702         * gst/schedulers/gstbasicscheduler.c:
19703         (gst_basic_scheduler_cothreaded_chain),
19704         (gst_basic_scheduler_chain_recursive_add),
19705         (gst_basic_scheduler_pad_link):
19706         * gst/schedulers/gstoptimalscheduler.c:
19707         (get_group_schedule_function),
19708         (gst_opt_scheduler_state_transition),
19709         (gst_opt_scheduler_add_element), (element_get_reachables_func):
19710         * libs/gst/bytestream/bytestream.c:
19711         * libs/gst/dataprotocol/dataprotocol.c:
19712         (gst_dp_header_from_buffer):
19713         * po/nb.po:
19714         * po/ru.po:
19715         * tests/threadstate/threadstate2.c: (eos):
19716         * tools/gst-compprep.c: (main):
19717         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
19718         (print_pad_info), (print_children_info):
19719         * tools/gst-launch.c: (idle_func), (main):
19720         * tools/gst-md5sum.c: (idle_func), (main):
19721         * tools/gst-xmlinspect.c: (print_element_info):
19722         First THREADED backport attempt, focusing on adding locks and
19723         making sure the API is threadsafe. Needs more work. More docs
19724         follow this week.
19725
19726 2005-02-24  Andy Wingo  <wingo@pobox.com>
19727
19728         * tests/bench-complexity.scm:
19729         * tests/complexity.gnuplot: New files, good for running complexity
19730         benchmarks.
19731
19732         * tests/Makefile.am:
19733         * tests/complexity.c: New test, sets up N elements, at each level
19734         teeing into M streams per element. Eeeenteresting.
19735
19736         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
19737         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
19738         running bench-mass_elements.scm.
19739
19740         * tests/bench-mass_elements.scm: New script, runs mass_elements
19741         for various numbers of identities, outputting the results to a
19742         file. Requires guile 1.6. Just for testing.
19743
19744 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19745
19746         * gst/schedulers/fairscheduler.c:
19747           compile with debug disabled
19748
19749 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19750
19751         * configure.ac:
19752           hunting season on 0.9 is now OPEN