6fed5dbf96677041591be3068db7becadf1b69ae
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-09-23  Wim Taymans  <wim@fluendo.com>
2
3         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
4
5         * libs/gst/base/gstbasesrc.c:
6         (gst_base_src_default_check_get_range), (gst_base_src_start),
7         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8         (gst_base_src_change_state):
9         Match _start/_stop calls in the activate functions. Remove redundant
10         _stop call from the state change function. Fixes #356910.
11         Turn failure DEBUG into ERROR. 
12
13 2006-09-22  Wim Taymans  <wim@fluendo.com>
14
15         * docs/design/part-buffering.txt:
16         * gst/gstmessage.c: (gst_message_new_buffering),
17         (gst_message_parse_buffering):
18         Update docs about buffering.
19
20         * docs/design/part-trickmodes.txt:
21         Fix typo.
22
23 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
24
25         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
26         (gst_controller_new_list):
27           Ref instances when returning them again (fixes #357180)
28
29 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
30
31         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
32           Don't forget to release proxy lock when there's an error.
33
34 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
35
36         * gst/gstcaps.h:
37           Add extra initialisers for Caps things, to fix some plugin warnings
38           when using -Wextra
39
40 2006-09-18  Wim Taymans  <wim@fluendo.com>
41
42         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
43           Also set template on the internal pad so that a getcaps from the 
44           target pad returns the template caps.
45
46 2006-09-18  Wim Taymans  <wim@fluendo.com>
47
48         * gst/gstelement.c: (gst_element_post_message),
49         (gst_element_dispose):
50         Use _DEBUG_OBJECT some more.
51
52         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
53         Avoid typechecks.
54
55         * tools/gst-launch.c: (main):
56         If the toplevel element is not a GstPipeline, it must be put in a
57         pipeline so that a bus and clock is selected.
58
59 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
60
61         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
62           JITTER, RATE, and LATENCY query should be handled by the
63           default case and not by the CONVERT query code.
64
65 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
66
67         * gst/gstformat.c: (gst_format_register):
68           Fix locking order (must take lock before using n_values).
69
70         * gst/gstvalue.c: (gst_value_serialize_enum),
71         (gst_value_deserialize_enum_iter_cmp),
72         (gst_value_deserialize_enum):
73           Fix serialisation/deserialisation of custom registered GstFormats.
74
75         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
76           Unit test for custom format serialisation/deserialisation.
77
78 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
79
80         * docs/pwg/building-boiler.xml:
81         * plugins/elements/gstcapsfilter.c:
82         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
83         section.
84
85 2006-09-16  Edward Hervey  <edward@fluendo.com>
86
87         * libs/gst/base/gstbasetransform.c:
88         (gst_base_transform_buffer_alloc):
89         Check if requested caps are the same as the sinks caps IF
90         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
91         is FALSE.
92         This fixes the renegotiation issues stated in #352827.
93
94 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
95
96         * configure.ac:
97         * docs/manual/advanced-autoplugging.xml:
98         * tests/examples/Makefile.am:
99         * tests/examples/manual/.cvsignore:
100         * tests/examples/manual/Makefile.am:
101         * tests/examples/manual/extract.pl:
102           Extract the manual examples again like we used to do.
103           Fix one of them.
104
105 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
106
107         * win32/common/config.h:
108           update for version
109
110 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
111
112         * gst/gsterror.c:
113           Documents how to receive errors.
114
115 2006-09-15  Wim Taymans  <wim@fluendo.com>
116
117         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
118         (event_loop), (main):
119         Added some comments here and there.
120         Post an application message when an interrupt is caught instead of doing
121         an uncontrolled state change.
122         Clean up the event loop.
123         Handle buffering messages, pause/resume the pipeline.
124         Make shutdown because of an interrupt more reliable.
125
126 2006-09-15  Wim Taymans  <wim@fluendo.com>
127
128         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
129         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
130         (gst_base_sink_preroll_object):
131         Make sure that our internal state is correct when we commit our state
132         asynchronously. This solves a race where a state change to PLAYING
133         could cause the sink to remain blocked in preroll in some situations.
134
135 2006-09-15  Wim Taymans  <wim@fluendo.com>
136
137         * tools/gst-inspect.c: (print_element_properties_info),
138         (print_signal_info):
139         List flags as hex so it's easier to deal with.
140
141 2006-09-15  Wim Taymans  <wim@fluendo.com>
142
143         * docs/libs/gstreamer-libs-sections.txt:
144         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
145         (gst_base_sink_do_sync):
146         * libs/gst/base/gstbasesink.h:
147         Expose logic to wait for preroll so that subclasses such as audiosink
148         can also use this method.
149         API: gst_base_sink_wait_preroll()
150
151 2006-09-15  Wim Taymans  <wim@fluendo.com>
152
153         * gst/gstobject.c: (gst_object_set_parent):
154         * gst/gstpipeline.c: (do_pipeline_seek):
155         Small cleanups in docs and code.
156
157         * gst/gstsegment.c: (gst_segment_clip):
158         * tests/check/gst/gstsegment.c: (GST_START_TEST):
159         if stop == start and start is in the segment, no clipping should be
160         done. Also add a test for this.
161
162 2006-09-15  Wim Taymans  <wim@fluendo.com>
163
164         * docs/design/part-buffering.txt:
165         * docs/gst/gstreamer-sections.txt:
166         * gst/gstmessage.c: (gst_message_new_buffering),
167         (gst_message_parse_buffering):
168         * gst/gstmessage.h:
169         Added methods to create and parse BUFFERING messages.
170         Added preliminary docs about buffering.
171         API: gst_message_new_buffering
172         API: gst_message_parse_buffering
173
174 2006-09-06  Wim Taymans  <wim@fluendo.com>
175
176         * gst/gstbin.c:
177         Update documentation.
178
179         * gst/gstelement.c: (gst_element_class_init),
180         (gst_element_release_request_pad), (gst_element_set_clock),
181         (gst_element_get_index), (gst_element_add_pad),
182         (gst_element_remove_pad), (gst_element_get_random_pad),
183         (gst_element_send_event), (gst_element_get_query_types),
184         (gst_element_query), (gst_element_post_message),
185         (gst_element_message_full), (gst_element_continue_state),
186         (gst_element_lost_state), (gst_element_save_thyself),
187         (gst_element_restore_thyself):
188         Documentation updates.
189         Rename last bit of the new-pad -> pad-added signal rename.
190         Fix the case where an element query would only work if the source
191         pad was linked.
192         Avoid some useless type checking in message handling.
193
194         * gst/gstevent.c:
195         * gst/gstevent.h:
196         * gst/gstutils.c:
197         Documentation updates.
198
199 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
200
201         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
202           add an INFO line for when we actually update the fd
203
204 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
205
206         * configure.ac:
207           back to TRUNK
208
209 === release 0.10.10 ===
210
211 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
212
213         * configure.ac:
214           releasing 0.10.10, "Pais"
215
216 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
217
218         * docs/manual/advanced-position.xml:
219           Fix typo in sample code.
220
221 2006-09-05  Wim Taymans  <wim@fluendo.com>
222
223         * libs/gst/net/gstnetclientclock.c: (inet_aton),
224         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
225         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
226         * libs/gst/net/gstnetclientclock.h:
227         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
228         * libs/gst/net/gstnettimepacket.h:
229         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
230         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
231         (gst_net_time_provider_thread), (gst_net_time_provider_new):
232         * libs/gst/net/gstnettimeprovider.h:
233         Make stuff compile on windows. Fixes #345295.
234
235 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
236
237         * gst/gst.c: (ensure_current_registry_forking):
238           Print better details when child was terminated by signal.
239
240 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
241
242         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
243           Print a warning rather than g_assert() if a plugin feature
244           is a URI handler but returns no protocols (#353976).
245
246 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
247
248         * docs/random/moving-plugins:
249         Fix two typos.         
250
251 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
252
253         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
254           Fix locking order, handle NULL function values properly.
255
256         * gst/gstinfo.h:
257           Fix docs.
258
259         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
260           Initialise variable before using it and fix debug statement to
261           print the address of the function rather than the address of the
262           variable on the stack holding the address of the function.
263
264 2006-09-01  Wim Taymans  <wim@fluendo.com>
265
266         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
267         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
268         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
269         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
270         (gst_ghost_pad_parent_unset),
271         (gst_ghost_pad_internal_do_activate_push),
272         (gst_ghost_pad_internal_do_activate_pull),
273         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
274         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
275         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
276         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
277         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
278         (gst_ghost_pad_new_no_target_from_template),
279         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
280         More cleanups.
281         Avoid needless typechecking in macros.
282         Since the internal pad is always present and never changes, there is
283         no need to locking or ref when retrieving it.
284         Improve debugging a bit.
285         Handle link errors when setting the target. Fixes #341029.
286
287 2006-09-01  Wim Taymans  <wim@fluendo.com>
288
289         * docs/libs/gstreamer-libs-sections.txt:
290         * docs/plugins/gstreamer-plugins-sections.txt:
291         Fix docs some more.
292
293         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
294         (gst_collect_pads_event):
295         * libs/gst/base/gstcollectpads.h:
296         Documentation updates.
297         Free queued buffer when removing a pad.
298
299 2006-08-31  Michael Smith  <msmith@fluendo.com>
300
301         * gst/gstutils.c: (gst_element_link_pads),
302         (gst_element_link_pads_filtered):
303           Ensure that we set a capsfilter to NULL if we failed to link it
304           when doing filtered linking, to avoid criticals.
305
306           No need to check for unreffing srcpad, which is explicly NULLed
307           above (a trivial code cleanup).
308
309 2006-08-31  Wim Taymans  <wim@fluendo.com>
310
311         * docs/design/part-gstghostpad.txt:
312         Update ascii art in documentation.
313
314         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
315         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
316         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
317         (gst_ghost_pad_internal_do_activate_push),
318         (gst_ghost_pad_internal_do_activate_pull),
319         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
320         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
321         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
322         (gst_ghost_pad_set_target):
323         Small cleanups and leak fixes.
324         Remove some checks now that the internal pad is never NULL.
325         Fix the case where linking pads without a target would create nasty
326         criticals. Fixes #341029.
327         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
328         value of _set_target().
329
330         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
331         (gst_ghost_pad_suite):
332         Some more tests for creating and linking untargeted ghostpads.
333
334 2006-08-31  Edward Hervey  <edward@fluendo.com>
335
336         * docs/gst/gstreamer-sections.txt:
337         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
338         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
339         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
340         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
341         (gst_ghost_pad_new_from_template),
342         (gst_ghost_pad_new_no_target_from_template):
343         * gst/gstghostpad.h:
344         Refactored *_new() functions.
345         Templates are now used as a g_object_new() parameter.
346         Use template in _do_getcaps() if we don't have a target.
347         Small documentation cleanups.
348         Added two new constructors:
349         gst_ghost_pad_new_from_template()
350         gst_ghost_pad_new_no_target_from_template()
351         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
352         (gst_ghost_pad_suite):
353         Added tests for new ghostpad instanciation functions.
354
355         API additions: gst_ghost_pad_new_from_template,
356         gst_ghost_pad_new_no_target_from_template
357
358 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
359
360         * docs/random/ensonic/profiling.txt:
361           Ideas about qos profiling.
362
363 2006-08-29  Wim Taymans  <wim@fluendo.com>
364
365         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
366         Code cleanups.
367         Fix memleak.
368
369 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
370
371         * gst/gstxml.c:
372           Improve and detypofy docs.
373
374         * tests/check/Makefile.am:
375         * tests/check/gst/.cvsignore:
376         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
377           Add a basic test suite for GstXML.
378
379 2006-08-29  Wim Taymans  <wim@fluendo.com>
380
381         * gst/gstelement.c: (activate_pads), (clear_caps),
382         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
383         Clear the pad caps when the element shut down all of the pads and
384         is not streaming data that could modify the caps. 
385         Fixes #352958.
386
387 2006-08-28  Michael Smith  <msmith@fluendo.com>
388
389         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
390           Revert previous change; I misunderstood single-segment mode.
391
392 2006-08-28  Michael Smith  <msmith@fluendo.com>
393
394         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
395           Unset DISCONT on buffers when using single-segment mode.
396
397 2006-08-28  Wim Taymans  <wim@fluendo.com>
398
399         * gst/gstcaps.c: (gst_caps_merge_structure):
400         * gst/gstcaps.h:
401         Fix docs and indentation again.
402
403         * tests/check/gst/gstquery.c: (GST_START_TEST):
404         Fix leak in tests and add some more tests.
405
406 2006-08-28  Edward Hervey  <edward@fluendo.com>
407
408         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
409         Inform GstSegment of the last stop position in order for the current
410         segment to have a proper duration if it doesn't have a specific stop
411         position from which a duration could be calculated.
412         This bug was noticeable when a non-flushing, non-update new segment was
413         followed by another segment (all buffers from the new segment were being
414         dropped).
415
416 2006-08-28  Wim Taymans  <wim@fluendo.com>
417
418         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
419         Small comment update.
420
421         * plugins/elements/gstidentity.c: (gst_identity_class_init),
422         (gst_identity_transform_ip):
423         Drop-probability is broken, mention this in the code with a 
424         FIXME and also in the property description.
425         Make silent also be silent about the drop messages.
426
427 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
428
429         * docs/manual/appendix-win32.xml:
430           Remove mention of popt, we don't depend on that any
431           longer (#353136). Add some comments pointing out that
432           this section is slightly outdated.
433
434 2006-08-28  Wim Taymans  <wim@fluendo.com>
435
436         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
437
438         * gst/gstquery.c: (gst_query_new_segment):
439         * tests/check/gst/gstquery.c: (GST_START_TEST):
440         Initialize variables when creating a new segment query.
441         Fixes #353121.
442
443 2006-08-28  Wim Taymans  <wim@fluendo.com>
444
445         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
446
447         * gst/gstelement.c: (gst_element_get_bus):
448         * tests/check/gst/gstelement.c: (GST_START_TEST):
449         Check for NULL before _reffing the bus. Fixes #353122.
450
451 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
452
453         * docs/manual/basics-bus.xml:
454           Docs update: fix wrong callback return value explanation; add
455           some lines about the implicit relationship between main loop
456           and main context; remove duplicate main loop variable declaration.
457
458 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
459
460         * tests/check/gst/gstcaps.c: (GST_START_TEST):
461           Don't leak caps in unit test; add a few more simple
462           checks. 
463
464 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
465
466         * docs/gst/gstreamer-sections.txt:
467         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
468         (gst_caps_structure_is_subset), (gst_caps_merge),
469         (gst_caps_merge_structure):
470         * gst/gstcaps.h:
471         * libs/gst/base/gstbasetransform.c:
472         (gst_base_transform_transform_caps):
473         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
474           implement caps merging (fixes #352580)
475
476 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
477
478         * tools/Makefile.am:
479         * tools/gst-plot-timeline.py:
480           add debug-log plotting developer tool (#340674)
481
482 2006-08-23  Wim Taymans  <wim@fluendo.com>
483
484         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
485         (gst_pad_stop_task):
486         Improve debugging for task functions.
487
488         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
489         (gst_task_start), (gst_task_pause), (gst_task_join):
490         Make sure that the task function started and finished after a 
491         join(). 
492         Don't try to push the task function on the threadpool multiple
493         times.
494         Improve the g_warning message with some useful suggestions
495         about how to fix the problem. 
496
497 2006-08-23  Wim Taymans  <wim@fluendo.com>
498
499         * gst/gstutils.c: (gst_pad_proxy_getcaps):
500         Handle RESYNC correctly in _proxy_getcaps.
501
502 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
503
504         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
505         (gst_xml_parse_memory), (gst_xml_get_element):
506           Chain up to parent class in dispose function and also
507           unref the elements in the toplevel_elements GList.
508           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
509           Always return a reference in gst_xml_get_element() rather
510           than only sometimes.
511
512         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
513           Don't leak GstXml object.
514
515 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
516
517         * docs/gst/gstreamer-sections.txt:
518         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
519         (gst_caps_merge):
520         * gst/gstcaps.h:
521         * libs/gst/base/gstbasetransform.c:
522         (gst_base_transform_transform_caps):
523           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
524           in a better way
525
526 2006-08-21  Edward Hervey  <edward@fluendo.com>
527
528         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
529         Implement GObject::dispose virtual method in GstXML so we can free the
530         top_elements GList.
531
532 2006-08-21  Wim Taymans  <wim@fluendo.com>
533
534         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
535         (gst_buffer_create_sub):
536         Copy duration/offset_end/caps when creating a subbuffer of the
537         complete parent.
538         Make the subbuffer read-only when we make the metadata writable for
539         now. Fixes #351768.
540
541         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
542         Added check for metadata copy when creating subbuffers.
543
544 2006-08-21  Edward Hervey  <edward@fluendo.com>
545
546         * libs/gst/base/gstbasetransform.c:
547         (gst_base_transform_buffer_alloc):
548         Only call downstream buffer_alloc if transform element is passthrough
549         or always_in_place. Closes #350449.
550
551 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
552
553         * ChangeLog:
554           ChangeLog surgery to add comments to previous changes
555
556 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
557
558         * gst/gst.c:
559           Add comments
560
561         * gst/gstpad.c: (gst_pad_set_active):
562           Be more verbose in the log
563
564         * libs/gst/base/gstbasetransform.c:
565         (gst_base_transform_transform_caps):
566           Simplify caps to get rid of duplicates, fixes #345444
567
568 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
569
570         * gst/gstvalue.c:
571         * gst/gstvalue.h:
572           Use these optimizations only internally.
573
574 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
575
576         * gst/gstvalue.c: (gst_value_compare_list),
577         (gst_value_compare_fraction_range),
578         (gst_value_intersect_fraction_fraction_range),
579         (gst_value_intersect_fraction_range_fraction_range),
580         (gst_value_subtract_fraction_fraction_range),
581         (gst_value_subtract_fraction_range_fraction_range),
582         (gst_value_get_compare_func), (gst_value_compare),
583         (gst_value_compare_with_func):
584         * gst/gstvalue.h:
585           Saves the expensive lookup of the compare function in many cases
586          (#345444)
587
588 2006-08-18  Edward Hervey  <edward@fluendo.com>
589
590         * tests/check/gst/gstinfo.c: (gst_info_suite):
591         Disable test that require gstdebug if it wasn't built in core.
592
593 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
594
595         * docs/random/ensonic/logging.txt:
596           update ideas
597           
598         * gst/gstinfo.c: (gst_debug_log_default):
599           reorder fields, save some columns, add optional color codes for log
600           levels
601
602 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
603
604         * docs/random/ensonic/logging.txt:
605           add ideas about making the logs a bit more useful
606
607 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
608
609         * docs/pwg/advanced-events.xml:
610         * docs/pwg/titlepage.xml:
611           Update for 0.10 API (#340627). Add myself
612           to authors list.
613
614 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
615
616         * docs/libs/gstreamer-libs-docs.sgml:
617         * docs/libs/gstreamer-libs-sections.txt:
618         * libs/gst/check/gstbufferstraw.c:
619           Make gstcheck stuff show up in docs (still needs to
620           be documented properly though).
621
622 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
623
624         * docs/gst/gstreamer-sections.txt:
625         * gst/Makefile.am:
626         * gst/gst.c: (init_post):
627         * gst/gst_private.h:
628         * gst/gstquark.c: (_priv_gst_quarks_initialize):
629         * gst/gstquark.h:
630         * gst/gstquery.c: (gst_query_new_position),
631         (gst_query_set_position), (gst_query_parse_position),
632         (gst_query_new_duration), (gst_query_set_duration),
633         (gst_query_parse_duration), (gst_query_new_convert),
634         (gst_query_set_convert), (gst_query_parse_convert),
635         (gst_query_new_segment), (gst_query_set_segment),
636         (gst_query_parse_segment), (gst_query_new_seeking),
637         (gst_query_set_seeking), (gst_query_parse_seeking):
638         Add internal helpers for pre-registering quarks from static strings
639         and using the quark values directly instead of looking them up when
640         creating and parsing queries. Can be used for event construction too.
641         Closes #350432.
642
643 2006-08-16  Wim Taymans  <wim@fluendo.com>
644
645         * gst/gstbin.c:
646         Fix bogus docs.
647
648 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
649
650         * gst/gstutils.c: (gst_util_set_value_from_string):
651           Fix memleak (#351502).
652
653         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
654           Add unit test for most of gst_util_set_value_from_string()
655           (not that one would want to encourage use of this function).
656
657 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
658
659         * libs/gst/check/gstcheck.h:
660           Use const gchar * variables in fail_unless_equals_string
661           macro to avoid compiler warnings (and don't use tabs for
662           indenting).
663
664 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
665
666         * tools/gst-launch.c: (print_tag):
667           More space on the left for the tag names, to cater
668           for the 'extended comment' tag (not touching the
669           string for the first line since it's translated).
670
671 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
672
673         * libs/gst/check/gstcheck.h:
674           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
675           print something when they fail.
676
677 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
678
679         * docs/gst/gstreamer-sections.txt:
680         * gst/gsttaglist.c: (_gst_tag_initialize):
681         * gst/gsttaglist.h:
682           API: add GST_TAG_EXTENDED_COMMENT (#350935).
683           Also change merge function for GST_TAG_COMMENT to
684           use_first.
685
686 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
687
688         * gst/gstinfo.c: (gst_debug_print_object):
689           Make GST_PTR_FORMAT print messages as well.
690
691         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
692         (GST_START_TEST), (gst_info_suite):
693           More tests.
694
695 2006-08-14  Edward Hervey  <edward@fluendo.com>
696
697         * gst/gstelementfactory.c: (gst_element_register):
698         If the GstElementClass doesn't have a GstElementDetails with all fields
699         filled up correctly (longname, description AND author), then error out
700         nicely instead of crashing.
701
702 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
703
704         * gst/gststructure.c:
705           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
706
707         * gst/gstvalue.h:
708           Expand on the difference between arrays and lists as we use them.
709           
710 2006-08-14  Wim Taymans  <wim@fluendo.com>
711
712         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
713         If the parent state change function failed, don't assume we can safely
714         stop the source, this will be done when the pads are deactivated.
715
716 2006-08-14  Wim Taymans  <wim@fluendo.com>
717
718         * gst/gstbuffer.c:
719         * gst/gsttask.c: (gst_task_join):
720         Small doc updates.
721
722         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
723         (gst_pad_stop_task):
724         When pad (de)activation failed for some reason, restore the old
725         activation mode and set the pad to flushing instead of assuming the
726         pad is deactivated.
727         If the _task_join() failed, reinstall the task on the pad so that it can
728         be stopped later and return an error.
729
730 2006-08-11  Andy Wingo  <wingo@pobox.com>
731
732         * configure.ac:
733         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
734         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
735         is only for users of API that don't want to see deprecated
736         functions in the headers; people that want to compile out
737         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
738         CFLAGS. Fixes the build of multifdsink, or will soon..
739
740 2006-08-11  Wim Taymans  <wim@fluendo.com>
741
742         * docs/gst/gstreamer-sections.txt:
743         Add GstClockClass vmethod docs.
744
745         * gst/gstcaps.h:
746         Mark #endif with comment for associated #if
747
748         * gst/gstclock.c: (gst_clock_id_wait):
749         * gst/gstclock.h:
750         Add vmethod wait_jitter to avoid an unneeded _get_time() for
751         most clock implementations.
752         Document vmethods.
753         Flesh out docs about resolution methods.
754         API: GstClockClass::wait_jitter
755
756         * gst/gstsystemclock.c: (gst_system_clock_class_init),
757         (gst_system_clock_async_thread),
758         (gst_system_clock_id_wait_jitter_unlocked),
759         (gst_system_clock_id_wait_jitter):
760         Use base class wait_jitter variant for improved performance
761         due to less clock polling.
762
763 2006-08-11  Edward Hervey  <edward@fluendo.com>
764
765         * gst/gst.c: (gst_init_check), (init_post):
766         Set gst as being initialized before scanning/updating the registry,
767         since there might be my python plugin loader that calls gst_init() and
768         we don't want to loop back in.
769         Closes #350879
770
771 2006-08-11  Wim Taymans  <wim@fluendo.com>
772
773         * docs/design/part-qos.txt:
774         Bring docs in line with the code. Mostly the sign of the jitter was
775         wrong in the docs. Fixes #349943.
776
777         * gst/gstclock.c:
778         Fix the docs for the jitter.
779
780         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
781         (gst_event_parse_tag), (gst_event_new_buffer_size),
782         (gst_event_parse_buffer_size), (gst_event_parse_qos),
783         (gst_event_new_seek), (gst_event_parse_seek),
784         (gst_event_new_navigation):
785         Make sure the GstStructure has no parent when creating custom
786         events.
787         Add some more argument checking so that we avoid 0.0 rates.
788         Flesh out the docs for the QoS event some more.
789
790 2006-08-11  Wim Taymans  <wim@fluendo.com>
791
792         * docs/gst/gstreamer-sections.txt:
793         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
794         (ensure_current_registry_forking), (ensure_current_registry),
795         (parse_one_option), (parse_goption_arg), (gst_deinit),
796         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
797         * gst/gst.h:
798         Doc updates.
799         Added API and command line option to disable registry forking in
800         addition to the environment variable.
801         Constify some static arrays.
802         Added some more debug.
803         Don't deinit twice.
804         API: gst_registry_fork_is_enabled()
805         API: gst_registry_fork_set_enabled()
806         API: --gst-disable-registry-fork command line option
807         Fixes #348918.
808
809 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
810
811         * gst/gst.c: (gst_init):
812           Fix typo in error message.
813
814 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
815
816         * libs/gst/controller/gstcontroller.h:
817           fix ABI size-correction
818
819         * tests/check/libs/gdp.c: (gst_dp_suite):
820           make tests that use deprecated API conditional
821
822 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
823
824         * docs/libs/gstreamer-libs-sections.txt:
825         * libs/gst/controller/gstcontroller.c:
826         (_gst_controller_get_property), (_gst_controller_set_property),
827         (_gst_controller_init), (_gst_controller_class_init):
828         * libs/gst/controller/gstcontroller.h:
829         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
830         (gst_object_set_control_rate):
831           API: add gst_object_{s,g}et_control_rate(), add private data section,
832           fix docs
833
834         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
835         * libs/gst/dataprotocol/dataprotocol.h:
836           add deprecation guards to make gtk-doc happy and allow disabling cruft
837
838 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
839
840         * tests/check/Makefile.am:
841         * tests/check/gst/.cvsignore:
842           Let's enable the new unit test as well.
843
844 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
845
846         * configure.ac:
847         * docs/gst/gstreamer-sections.txt:
848         * gst/gstconfig.h.in:
849         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
850         (_gst_info_printf_extension_ptr),
851         (_gst_info_printf_extension_segment):
852           API: add GST_SEGMENT_FORMAT, which is a printf extension we
853           register that lets us easily dump GstSegments into debug
854           logs (#350419).
855
856         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
857         (info_segment_format_printf_extension), (gst_info_suite):
858           Add simple unit test that logs a bunch of different segments (not
859           valgrinded at the moment because of leaks in
860           gst_debug_add_log_function).
861
862 2006-08-09  Edward Hervey  <edward@fluendo.com>
863
864         * libs/gst/base/gstbasetransform.c:
865         (gst_base_transform_buffer_alloc):
866         Even if we can't figure out the proper format to request downstream,
867         call buffer_alloc() downstream with the input parameters without setting
868         the caps on the srcpad. This will force negotiation in the chain
869         function.
870         Closes #350449
871
872 2006-08-08  Edward Hervey  <edward@fluendo.com>
873
874         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
875         Unlinking from a pad without a target is now a perfectly valid case
876         which should NOT raise an assertion.
877         This case would happen if a linked ghostpad its target set to NULL after
878         it was previously linked.
879
880 2006-08-08  Edward Hervey  <edward@fluendo.com>
881
882         * tests/check/libs/gdp.c:
883         Also comment out the test (see below).
884
885 2006-08-08  Edward Hervey  <edward@fluendo.com>
886
887         * tests/check/libs/gdp.c: (gst_dp_suite):
888         Use the architecture information from config.h and not gcc macros
889         in order to properly disable a test that fails on PPC64.
890
891 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
892
893         * gst/gstelement.c: (gst_element_remove_pad):
894           Don't crash printing the warning if the pad has no parent.
895
896 2006-08-02  Wim Taymans  <wim@fluendo.com>
897
898         * libs/gst/dataprotocol/dataprotocol.c:
899         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
900         (gst_dp_crc), (gst_dp_header_payload_length),
901         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
902         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
903         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
904         (gst_dp_event_from_packet), (gst_dp_validate_header),
905         (gst_dp_validate_payload):
906         Make debug category static
907         Constify the crc table.
908         Do some more arg checking in public functions.
909         Fix some docs and do some small cleanups.
910
911         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
912         Add some more checks to see if GDP deals with bogus input.
913
914 2006-07-31  Wim Taymans  <wim@fluendo.com>
915
916         * gst/gstvalue.c: (gst_value_compare_list):
917         Fix GstValueList comparison code. Fixes #347293.
918
919         * tests/check/gst/gstvalue.c: (GST_START_TEST):
920         Check to test GstValueList comparison.
921
922 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
923
924         * gst/gstelementfactory.c: (gst_element_factory_create):
925         Remove unnecessary ref/unref pair
926
927         * gst/parse/grammar.y:
928         Make sure to free the parse buffer on all code paths.
929         Move a g_free up to the error handler where it's easier to see.
930
931         * tests/check/gst/gstevent.c: (test_event):
932         Extending timeout for downstream travelling events to 10 seconds to
933         hopefully avoid intermittent failure on the buildbots.
934
935         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
936         Don't manually set the state of the src element - it will happen as a
937         natural consequence of the pipeline changing state, and that way it
938         will do it in the right order too.
939
940 2006-07-31  Wim Taymans  <wim@fluendo.com>
941
942         * libs/gst/base/gstbasetransform.c:
943         (gst_base_transform_buffer_alloc):
944         Use OBJECT_LOCK and refcounting to get the pad caps in the
945         buffer_alloc function because the caps could change while we are
946         busy with them. Fixes #349105
947
948 2006-07-31  Wim Taymans  <wim@fluendo.com>
949
950         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
951         Protect _PAD_CAPS with OBJECT_LOCK.
952
953 2006-07-31  Wim Taymans  <wim@fluendo.com>
954
955         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
956         (gst_pad_get_property), (gst_pad_activate_pull),
957         (gst_pad_activate_push), (gst_pad_set_blocked_async),
958         (gst_pad_set_activate_function),
959         (gst_pad_set_activatepull_function),
960         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
961         (gst_pad_set_getrange_function),
962         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
963         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
964         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
965         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
966         (gst_pad_set_acceptcaps_function),
967         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
968         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
969         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
970         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
971         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
972         (gst_pad_configure_sink), (gst_pad_configure_src),
973         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
974         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
975         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
976         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
977         (gst_pad_send_event):
978         Use _DEBUG_OBJECT when it makes sense.
979         Protect GST_PAD_CAPS with the OBJECT_LOCK.
980         Small cleanups and code reflows.
981         Avoid caps refcounting in _accept_caps.
982         Refactor alloc_buffer so that the code performed on the peer is in a
983         separate function. Also if the pad does not implement a buffer alloc
984         function, we should still check if the pad is flushing before falling
985         back to the default allocator.
986
987 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
988
989         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
990         Make all uses of identity and fakesink have silent=true to avoid
991         serialising every passing data structure, which is breaking tests
992         on FC4 for some unknown reason.
993
994 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
995
996         * gst/parse/Makefile.am:
997         * gst/parse/grammar.y:
998         * gst/parse/parse.l:
999           Reverted previous patch as it required to bump the flex dependency to
1000           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
1001
1002 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1003
1004         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
1005
1006         * gst/parse/Makefile.am:
1007         * gst/parse/grammar.y:
1008         * gst/parse/parse.l:
1009           push & pop the state of the lexer for reentrant use case
1010           Fixes #349180
1011
1012 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
1013
1014         * libs/gst/base/gstbasesrc.h:
1015           Note in the docs that the ::newsegment vfunc is not actually used by
1016           GstBaseSrc.
1017
1018 2006-07-28  Wim Taymans  <wim@fluendo.com>
1019
1020         * libs/gst/base/gstcollectpads.c:
1021         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
1022         (gst_collect_pads_clear), (gst_collect_pads_flush),
1023         (gst_collect_pads_event), (gst_collect_pads_chain):
1024         When flushing a pad, also clear the queued buffer so that we don't
1025         accidentally use it when we shouldn't.
1026         Fix leaks by inreffing incomming buffer.
1027         Flush out queued buffers in case of errors.
1028         Fixes #347452.
1029
1030 2006-07-28  Wim Taymans  <wim@fluendo.com>
1031
1032         * docs/random/phonon-gst:
1033         Random notes about a Phonon backend.
1034
1035 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1036
1037         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1038         Extra debug output
1039         * tests/check/libs/gdp.c: (gst_dp_suite):
1040         Take a whack at fixing the ppc compile using a different define to
1041         disable the broken test.
1042
1043         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1044         Remove excess g_print()
1045
1046 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1047
1048         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1049         Oops, meant to uncomment this line too to dampen the noise a bit.
1050
1051 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1052
1053         * gst/parse/grammar.y:
1054         * gst/parse/parse.l:
1055         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1056         (GST_START_TEST), (parse_suite):
1057         Fix some of the leaks exposed by extending the parse-launch testsuite,
1058         and move the 3 I can't figure out into a separate test that won't run
1059         the pipelines unless the appropriate line is uncommented.
1060
1061 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1062
1063         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1064           Requesting 0 bytes before the end of the file should result in
1065           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
1066           unit test.
1067
1068 2006-07-27  Wim Taymans  <wim@fluendo.com>
1069
1070         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
1071         Fix useless assert, a uint is always positive.
1072
1073         * gst/gststructure.c: (gst_structure_nth_field_name),
1074         (gst_structure_foreach), (gst_structure_map_in_place):
1075         Check input arguments for public functions to avoid obvious crashes.
1076
1077         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
1078         * plugins/elements/gstfakesink.h:
1079         Do less useless typechecking.
1080
1081 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1082
1083         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1084           Do not use mmap() by default since there are a number of error
1085           conditions that we would like to handle in a non-fatal way that
1086           will result in a SIGBUS if we use mmap(). Examples: external
1087           devices (USB harddrive, portable music player) being unplugged
1088           while in use; file on mounted CD/DVD that can't be read because
1089           the medium is partly damaged. Fixes #348455 and #348475.
1090
1091 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1092
1093         * gst/gstquery.h:
1094         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
1095         rates are a gdouble
1096
1097 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
1098
1099         * gst/gstregistry.c:
1100           Move big documentation comment into class section header, so that it
1101           appears in the API docs.
1102
1103 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1104
1105         * docs/gst/gstreamer-sections.txt:
1106         Oops. Commit the docs additions too for new API.
1107         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
1108
1109 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1110
1111         * gst/gststructure.c: (gst_structure_id_set),
1112         (gst_structure_id_set_valist):
1113         * gst/gststructure.h:
1114         Add API for setting values into structures without performing
1115         a quark lookup, if the appropriate quark is already known.
1116
1117         API: gst_structure_id_set
1118         API: gst_structure_id_set_valist
1119
1120         * gst/parse/grammar.y:
1121         * gst/parse/parse.l:
1122         Remove some dead code shown by the coverage information.
1123         Don't throw a critical g_warning when encountering a syntax error,
1124         just warn and let the normal error path handle it.
1125
1126         * plugins/elements/gstelements.c:
1127         Bump the rank of filesink up to PRIMARY so that it is preferred over
1128         gnomevfssink for file:// sink uri's
1129
1130         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1131         (GST_START_TEST), (run_delayed_test),
1132         (gst_parse_test_element_base_init),
1133         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1134         (gst_parse_test_element_change_state),
1135         (gst_register_parse_element), (parse_suite):
1136         Beef up the tests for parse syntax to check that more error cases
1137         fail as they are supposed to. Increases the test coverage a bit.
1138
1139 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1140
1141         * docs/manual/basics-elements.xml:
1142           Fix gst_element_link() example.
1143
1144         * gst/gstutils.c:
1145           Mention in API docs that one should usually gst_bin_add()
1146           elements to a bin or pipeline before doing the linking.
1147           
1148 2006-07-26  Wim Taymans  <wim@fluendo.com>
1149
1150         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1151         (gst_subbuffer_get_type), (gst_buffer_create_sub):
1152         Avoid function call for known types by keeping the buffer and
1153         subbuffer GType global.
1154
1155         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1156         Random silly optimisations in read() path.
1157
1158 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1159
1160         * tools/gst-launch.c: (main):
1161           If the top-level of the parse is a normal bin, it doesn't do the
1162           right logic to run as a top-level element, so place it inside a
1163           pipeline.
1164
1165 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1166
1167         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1168           Remove superfluous g_object_notify() calls, GObject does
1169           that for us automatically.
1170
1171 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
1172
1173         * gst/gstinfo.h:
1174           on Win32, use dllspec to export the debug category symbols
1175
1176 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
1177
1178         * gst/gsttaglist.c: (_gst_tag_initialize):
1179           Allow more than one GST_TAG_IMAGE per taglist.
1180
1181 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1182
1183         * gst/gstminiobject.c:
1184           update docs
1185         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1186         (gst_fd_src_create):
1187           log recurring events at LOG level
1188           add more debug for when the fd gets set
1189
1190 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1191
1192         * gst/gstparse.c: (gst_parse_launch):
1193           Also remove reentrance checks if flex is MT safe (#348179)
1194          Fix my empty ChangeLog entry below
1195
1196 2006-07-21  Andy Wingo  <wingo@pobox.com>
1197
1198         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1199
1200         * libs/gst/check/Makefile.am
1201         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1202         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
1203         * libs/gst/check/gstbufferstraw.h:
1204         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1205         functions, thus proving I am still a GStreamer haxor. OK I wrote
1206         them a long time ago, but anyways.
1207
1208 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1209
1210         * configure.ac:
1211         * gst/gstparse.c: (gst_parse_launch):
1212           Check for flex version and omit mutex if we have a MT save flex
1213           (fixes #348179)
1214
1215 2006-07-21  Wim Taymans  <wim@fluendo.com>
1216
1217         * gst/gstparse.c: (gst_parse_launch):
1218         Protect recursive calls to _parse with a recursive mutex
1219         and busy flag.
1220
1221 2006-07-21  Wim Taymans  <wim@fluendo.com>
1222
1223         * tests/check/gst/gstpad.c: (GST_START_TEST):
1224         Fix leak in test.
1225
1226 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
1227
1228         * gst/gstparse.c: (gst_parse_launch):
1229           Do not hang on recursive usage of gst_parse_launch()
1230
1231 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1232
1233         * gst/gsttaglist.c:
1234           Add some more docs, comments and FIXME 0.11s here and there
1235           and also fix some typos.
1236
1237 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1238
1239         * gst/gstsegment.h:
1240           Convert tabs to spaces for better readability. 
1241
1242 2006-07-20  Edward Hervey  <edward@fluendo.com>
1243
1244         * tests/check/libs/gdp.c: (gst_dp_suite):
1245         the test_buffer test fails at line 140 on ppc64 at the following
1246         check:
1247         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1248                 GST_BUFFER_FLAG_IN_CAPS),
1249                 "GST_BUFFER_IN_CAPS flag should have been copied !");
1250         See bug #348114 for more details.
1251
1252 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
1253
1254         * docs/pwg/advanced-scheduling.xml:
1255         * gst/gstpad.c:
1256           Fix typos (#348000).
1257
1258 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
1259
1260         * docs/pwg/intro-basics.xml:
1261           Fix wrong links (#347927).
1262
1263 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1264
1265         * gst/gstregistry.h:
1266         * gst/gstregistryxml.c: (load_feature),
1267         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1268         * win32/common/config.h:
1269           make --disable-index work (#342564)
1270
1271 2006-07-18  Wim Taymans  <wim@fluendo.com>
1272
1273         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1274
1275         * gst/Makefile.am:
1276         * gst/gsttrace.h:
1277         The attached patch adds two missing defines to gsttrace.h when tracing
1278         is disabled.  It also corrects one existing define.
1279         Fixes #347756.
1280
1281 2006-07-17  Wim Taymans  <wim@fluendo.com>
1282
1283         * docs/gst/gstreamer-sections.txt:
1284         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1285         * gst/gst.h:
1286         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1287         Add two functions to check and change the SIGSEGV behaviour
1288         when loading plugins.
1289         Don't mess with the SIGSEGV handler when we were told not to.
1290         Fixes #347794.
1291         API: gst_segtrap_is_enabled
1292         API: gst_segtrap_set_enabled
1293
1294 2006-07-14  Wim Taymans  <wim@fluendo.com>
1295
1296         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1297         * tests/check/elements/filesrc.c: (GST_START_TEST):
1298         Revert fix for regression in #347408 after release.
1299
1300 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1301
1302         Patch by: Antoine Tremblay <hexa00 at gmail com>
1303
1304         * gst/gstutils.c: (gst_element_unlink):
1305           Free iterator when done (#347311).
1306
1307         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1308           And add a test case for this.
1309
1310 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1311
1312         * configure.ac:
1313         Bump nano back to CVS
1314
1315 === release 0.10.9 ===
1316
1317 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1318
1319         * configure.ac:
1320           releasing 0.10.9, "On the road again"
1321
1322 2006-07-13  Wim Taymans  <wim@fluendo.com>
1323
1324         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1325         * tests/check/elements/filesrc.c: (GST_START_TEST):
1326         Revert pull-0 fix for release. Disable check. Fixes #347408.
1327
1328 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1329
1330         * libs/gst/dataprotocol/dataprotocol.c:
1331         (gst_dp_event_from_packet_1_0):
1332           Fixes #347337: failure to deserialize event packets with
1333           empty payload (only event type)
1334
1335 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1336
1337         * gst/Makefile.am:
1338           do not install a .c file in the header directory
1339
1340 2006-07-13  Edward Hervey  <edward@fluendo.com>
1341
1342         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1343         GhostPad no longer implicitely use the padtemplates of the targets.
1344         Fixes #347384
1345
1346 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
1347
1348         * gst/gstvalue.c: (gst_value_compare_list),
1349         (gst_value_compare_array), (_gst_value_initialize):
1350         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1351         Make GstValueArray comparison be order dependent as designed.
1352         Add checks for value lists and value array comparisons.
1353         Fixes #347221
1354
1355 2006-07-11  Edward Hervey  <edward@fluendo.com>
1356
1357         * gst/gstbin.c: (activate_pads),
1358         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
1359         (gst_bin_change_state_func):
1360         (de)activate src pads before calling state_change on the childs.
1361         This is to avoid the case where a src ghostpad is blocked (holding the
1362         stream lock), which would block the deactivation of the ghostpad's
1363         target pad.
1364         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
1365         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
1366         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
1367         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1368         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1369         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1370         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1371         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
1372         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
1373         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1374         (gst_ghost_pad_class_init),
1375         (gst_ghost_pad_internal_do_activate_push),
1376         (gst_ghost_pad_internal_do_activate_pull),
1377         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1378         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1379         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
1380         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
1381         GhostPads now create their internal GstProxyPad at creation (and not
1382         when they're linked, as it was being done previously).
1383         The internal and target pads are linked straight away.
1384         The data will also travel through the other pad in order to make
1385         pad blocking and probes non-hackish (the probe/block now really happens
1386         on the GhostPad and not on the target).
1387         * gst/gstpad.c: (gst_pad_set_blocked_async),
1388         (gst_pad_link_prepare), (gst_pad_push_event):
1389         Remove previous ghostpad cruft.
1390         * gst/gstutils.c: (gst_pad_add_data_probe),
1391         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1392         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1393         (gst_pad_remove_buffer_probe):
1394         Remove previous ghost pad cruft.
1395         Added more detailed debug statements.
1396         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1397         Fix the testsuite for refcounting changes.
1398         The comments about who has references were correct, but the refcount
1399         being checked wasn't the same (!?!).
1400
1401         Fixes #341029
1402
1403 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1404
1405         * docs/gst/gstreamer-sections.txt:
1406         * gst/gstconfig.h.in:
1407         More docs for configuration options, add docs to gtk-doc.
1408
1409 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1410
1411         * gst/Makefile.am:
1412         * gst/gstconfig.h.in:
1413         * win32/common/config.h:
1414         Fix build when disabling tracing (fixes #344016). Also start to document
1415         the defines that disable the sub-systems.
1416
1417 2006-07-10  Edward Hervey  <edward@fluendo.com>
1418
1419         * gst/gst.c: (ensure_current_registry_forking):
1420         let's make valgrind happy...
1421
1422 2006-07-09  Wim Taymans  <wim@fluendo.com>
1423
1424         * gst/gstelement.c: (activate_pads),
1425         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1426         Better pad activation code: Reset the collect value too on resync.
1427         Add some comments.
1428
1429 2006-07-09  Wim Taymans  <wim@fluendo.com>
1430
1431         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
1432         (gst_pad_activate_push):
1433         Use some more macros where it makes sense.
1434         Allow pad mode switching instead of asserting. When a pad
1435         is activated in one mode and we activate it in another, 
1436         deactivate it first before activating it in a different mode.
1437         Fixes #329198.
1438
1439 2006-07-08  Andy Wingo  <wingo@pobox.com>
1440
1441         * tools/gst-launch.c (main): Handle err == NULL.
1442
1443         * gst/gst.c (init_post, ensure_current_registry)
1444         (ensure_current_registry_forking)
1445         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
1446         factoring out the registry scanning into separate functions. Don't
1447         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
1448         Better environment var name/interface suggestions accepted.
1449
1450 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1451
1452         * gst/gstobject.c: (gst_object_set_name_default),
1453         (gst_object_set_name):
1454           Random micro-optimisation: don't use a hash table
1455           with strings as keys and the usual strdup/strcmp
1456           involved, but rather just use the GQuark of the
1457           type name as key, since it needs to be looked up
1458           anyway to get the type name string.
1459
1460         * tests/check/gst/gstobject.c: (GST_START_TEST):
1461           Fix various leaks.
1462
1463 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1464
1465         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
1466         (gst_bin_iterate_all_by_interface):
1467           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
1468           GTypes are gulongs and thus the top 4 bytes might be cut
1469           off on some platforms when doing GPOINTER_TO_INT, leading
1470           to invalid GTypes and bad things happening (see RH bug #179654).
1471           Also add a check to make sure the type passed in is really
1472           an interface type.
1473
1474 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1475
1476         * .cvsignore:
1477           Ignore more.
1478
1479 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1480
1481         * Makefile.am:
1482         * configure.ac:
1483         * gst-element-check.m4:
1484         * gst-element-check.m4.in:
1485           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
1486           instead of the unversioned gst-inspect (#324176, #168659).
1487
1488 2006-07-06  Wim Taymans  <wim@fluendo.com>
1489
1490         * gst/gstmessage.h:
1491         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
1492         warnings.
1493
1494 2006-07-06  Wim Taymans  <wim@fluendo.com>
1495
1496         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1497         (gst_base_src_wait), (gst_base_src_update_length),
1498         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
1499         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
1500         (gst_base_src_loop), (gst_base_src_start),
1501         (gst_base_src_activate_pull):
1502         Update docs.
1503         blocksize == 0 now means the default blocksize when working in push
1504         based mode.
1505         Remove some pointless asserts in _wait function.
1506         Fix offset/length calculations and EOS handling. We can now pull 0
1507         bytes as well, which is allowed.
1508         use _check_get_range() to decide if we can operate in _pull based
1509         mode.
1510         Fix refcounting leak when check_get_range function was not 
1511         implemented.
1512         API GstBaseSrc::blocksize range can be 0 too now (default)
1513
1514         * tests/check/elements/filesrc.c: (GST_START_TEST),
1515         (filesrc_suite):
1516         Added check to test _get_range() behaviour.
1517
1518 2006-07-06  Wim Taymans  <wim@fluendo.com>
1519
1520         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1521         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
1522         (gst_pad_pull_range):
1523         * gst/gstpad.h:
1524         Lots of comments and docs added to the pad functions.
1525         Flesh out the expected behaviour of the get_range() functions.
1526
1527 2006-07-06  Wim Taymans  <wim@fluendo.com>
1528
1529         * gst/gstbus.h:
1530         * gst/gstclock.h:
1531         * gst/gstevent.h:
1532         * gst/gstiterator.h:
1533         * gst/gstpad.h:
1534         * gst/gstplugin.h:
1535         * gst/gsttask.h:
1536         Remove comma at end of enumerator list. 
1537
1538 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
1539
1540         * win32/common/libgstbase.def:
1541         * win32/common/libgstdataprotocol.def:
1542         * win32/common/libsgtreamer.def:
1543         Add new exported functions.
1544
1545 2006-07-05  Wim Taymans  <wim@fluendo.com>
1546
1547         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
1548         Add some more docs here and there.
1549
1550 2006-07-05  Wim Taymans  <wim@fluendo.com>
1551
1552         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
1553         (gst_base_sink_loop), (gst_base_sink_get_position):
1554         When operating in pull mode update the offset so that we
1555         read sequentially.
1556
1557 2006-07-05  Wim Taymans  <wim@fluendo.com>
1558
1559         * gst/gstregistryxml.c: (read_string):
1560         Avoid strdup. (will happen in libxml, but hey!)
1561
1562         * gst/gsturi.c:
1563         Add some more docs.
1564
1565 2006-07-05  Wim Taymans  <wim@fluendo.com>
1566
1567         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
1568         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
1569         (gst_buffer_suite):
1570         No point in checking if the size of the subbuffer > 0, the
1571         code handles it correclty as demonstrated by unit test.
1572         Also add a unit test for the zero sized _new_and_alloc and
1573         _copy. Fixes #346663.
1574
1575 2006-07-05  Wim Taymans  <wim@fluendo.com>
1576
1577         * libs/gst/base/gstbasetransform.c:
1578         (gst_base_transform_prepare_output_buffer),
1579         (gst_base_transform_buffer_alloc),
1580         (gst_base_transform_handle_buffer):
1581         Make sure the buffer we pass to transform_ip has a refcount of
1582         1 and thus is writable. Fixes #343196
1583
1584 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
1585
1586         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1587         (gst_file_src_init), (gst_file_src_set_property),
1588         (gst_file_src_get_property), (gst_file_src_map_region):
1589         * plugins/elements/gstfilesrc.h:
1590         Add "sequential" property, off by default, to use madvise and hint
1591         to the kernel that sequential access is desired.
1592         Touch all retrieved pages by default to ensure they are pulled
1593         into memory. (Closes #345720)
1594
1595 2006-07-03  Wim Taymans  <wim@fluendo.com>
1596
1597         * docs/design/part-block.txt:
1598         * docs/design/part-dynamic.txt:
1599         Small docs updates.
1600
1601 2006-07-03  Wim Taymans  <wim@fluendo.com>
1602
1603         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
1604         (gst_caps_unref), (gst_static_caps_get),
1605         (gst_caps_append_structure):
1606         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
1607         Use GSlice when the glib we build against is >= 2.10
1608
1609 2006-07-03  Wim Taymans  <wim@fluendo.com>
1610
1611         * gst/gstelement.c: (gst_element_pads_activate):
1612         Small cleanup in pad activation code.
1613
1614 2006-07-03  Wim Taymans  <wim@fluendo.com>
1615
1616         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1617
1618         * gst/gst-i18n-app.h:
1619         * gst/gst-i18n-lib.h:
1620         * tools/gst-inspect.c: (print_signal_info):
1621         The attached patch will make the inclusion of gettext.h unconditional in
1622         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
1623         libintl.h in tools/gst-inspect.c.
1624         This allows use of --disable-nls again and fixes #344642.
1625
1626 2006-07-03  Edward Hervey  <edward@fluendo.com>
1627
1628         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
1629         Implement pad blocking on events according to part-block.txt.
1630         More comments on behaviour.
1631         * tests/check/gst/gstevent.c: (test_event):
1632         Send event to peer pad of blocked pad (else it will block).
1633
1634 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1635
1636         * libs/gst/check/gstcheck.c: (gst_check_message_error),
1637         (gst_check_run_suite):
1638           if we get the wrong message, give us the types as string
1639         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1640           Fix a translatable
1641         * tests/check/elements/filesrc.c: (GST_START_TEST):
1642           add a test for trying to open a non-existing file
1643
1644 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1645
1646         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1647           add a test for adding self
1648
1649 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1650
1651         * libs/gst/check/gstcheck.h:
1652           add some assert_ as alias for fail_unless_*
1653         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
1654           increase test coverage
1655
1656 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1657
1658         * Makefile.am:
1659           include lcov.mak for lcov coverage generation
1660         * tools/Makefile.am:
1661           add to CLEANFILES
1662
1663 2006-07-02  Edward Hervey  <edward@fluendo.com>
1664
1665         * tests/check/elements/.cvsignore:
1666         moaping
1667
1668 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1669
1670         * configure.ac:
1671           don't set CFLAGS and friends for gcov, done from GST_GCOV now
1672         * tests/check/Makefile.am:
1673           clean up gcov files
1674
1675 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1676
1677         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
1678           remove gst_caps_simplify; it was not declared and not used
1679           and deprecated in 0.8
1680
1681 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1682
1683         * docs/faq/gst-uninstalled:
1684           don't put empty paths on PYTHONPATH
1685         * docs/gst/gstreamer-sections.txt:
1686           remove some symbols that are not there
1687
1688 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1689
1690         * gst/gstcaps.c: (gst_caps_compare_structures):
1691           whitespace fixes
1692         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1693         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1694           add more tests
1695
1696 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1697
1698         * libs/gst/dataprotocol/Makefile.am:
1699           build dataprotocol test by linking to the lib, instead of
1700           compiling the source, so we get coverage
1701         * tests/check/Makefile.am:
1702         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
1703         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
1704           add a test for filesrc
1705
1706 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1707
1708         * tests/check/gst/gststructure.c: (GST_START_TEST),
1709         (gst_structure_suite):
1710           Push coverage from 59.04% to 70.00%
1711
1712 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1713
1714         * tests/check/Makefile.am:
1715           gst-inspect every element; this makes sure that we also get
1716           coverage on element's get/set functions
1717
1718 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1719
1720         * configure.ac:
1721           set CFLAGS and friends to -O0 if gcov is being used
1722           add GCOV LIBS
1723         * gst/Makefile.am:
1724         * libs/gst/base/Makefile.am:
1725         * libs/gst/check/Makefile.am:
1726         * libs/gst/controller/Makefile.am:
1727         * libs/gst/dataprotocol/Makefile.am:
1728         * libs/gst/net/Makefile.am:
1729         * plugins/elements/Makefile.am:
1730         * plugins/indexers/Makefile.am:
1731           add makefile rules to generate gcov data and clean up
1732         * tests/check/Makefile.am:
1733           add a coverage target that generates an html overview
1734           of coverage data
1735
1736 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1737
1738         * tests/check/elements/fakesink.c:
1739         * tests/check/elements/fakesrc.c:
1740         * tests/check/elements/fdsrc.c:
1741         * tests/check/elements/identity.c:
1742         * tests/check/generic/sinks.c: (gst_sinks_suite):
1743         * tests/check/generic/states.c:
1744         * tests/check/gst/gst.c:
1745         * tests/check/gst/gstabi.c:
1746         * tests/check/gst/gstbin.c:
1747         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
1748         * tests/check/gst/gstbus.c: (gst_bus_suite):
1749         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1750         * tests/check/gst/gstelement.c:
1751         * tests/check/gst/gstevent.c: (gst_event_suite):
1752         * tests/check/gst/gstghostpad.c:
1753         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
1754         * tests/check/gst/gstmessage.c: (gst_message_suite):
1755         * tests/check/gst/gstminiobject.c:
1756         * tests/check/gst/gstobject.c:
1757         * tests/check/gst/gstpad.c:
1758         * tests/check/gst/gstpipeline.c:
1759         * tests/check/gst/gstplugin.c:
1760         * tests/check/gst/gstquery.c: (gst_query_suite):
1761         * tests/check/gst/gstsegment.c: (gst_segment_suite):
1762         * tests/check/gst/gststructure.c:
1763         * tests/check/gst/gstsystemclock.c:
1764         * tests/check/gst/gsttag.c:
1765         * tests/check/gst/gsttask.c: (gst_task_suite):
1766         * tests/check/gst/gstutils.c:
1767         * tests/check/gst/gstvalue.c:
1768         * tests/check/libs/adapter.c:
1769         * tests/check/libs/basesrc.c:
1770         * tests/check/libs/collectpads.c:
1771         * tests/check/libs/controller.c:
1772         * tests/check/libs/gdp.c: (gst_dp_suite):
1773         * tests/check/libs/gstnetclientclock.c:
1774         * tests/check/libs/gstnettimeprovider.c:
1775         * tests/check/libs/libsabi.c: (libsabi_suite):
1776         * tests/check/libs/typefindhelper.c:
1777         * tests/check/pipelines/cleanup.c:
1778         * tests/check/pipelines/parse-launch.c:
1779         * tests/check/pipelines/simple-launch-lines.c:
1780         * tests/check/pipelines/stress.c: (stress_suite):
1781           use the new macro
1782
1783 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1784
1785         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
1786         * libs/gst/check/gstcheck.h:
1787           create a macro and function so that the simple unit test
1788           case can be just one macro to create main()
1789
1790 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
1791
1792         * gst/gstbin.c: (gst_bin_restore_thyself):
1793         * gst/gstxml.c: (gst_xml_make_element):
1794           Fix deserialisation from XML. Set parent manually
1795           instead of using gst_bin_add(), since gst_bin_add()
1796           will unlink all pads of the element being added.
1797           Fixes #341667.
1798
1799 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
1800
1801         Patch by: Peter Kjellerstedt <pkj at axis com>
1802
1803         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
1804           Fix missing g_strdup() and double free when using the
1805           --gst-plugin-load command line option (#346097).
1806
1807 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1808
1809         * gst/gstinfo.c:
1810           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
1811
1812         * libs/gst/net/gstnetclientclock.c:
1813         * libs/gst/net/gstnettimeprovider.c:
1814           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
1815
1816 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1817
1818         * docs/manual/advanced-dataaccess.xml:
1819           Fix buffer probe example compilation in
1820           ADM (#345708).
1821         
1822 2006-06-22  Edward Hervey  <edward@fluendo.com>
1823
1824         * gst/gstelement.c: (gst_element_pads_activate):
1825         We need to deactivate src pads first and then sink pads.
1826         The reason is the src pads might be blocking while holding the streaming
1827         lock, so we need to deactivate them first so that deactivating the sink
1828         pads doesn't block (since it will require the streaming lock).
1829
1830 2006-06-22  Wim Taymans  <wim@fluendo.com>
1831
1832         * libs/gst/base/gstbasetransform.c:
1833         (gst_base_transform_buffer_alloc):
1834         Forgot to remove two unneeded unrefs.
1835         Simplify a check _is_equal allready checks the obvious case.
1836
1837 2006-06-22  Wim Taymans  <wim@fluendo.com>
1838
1839         * docs/design/part-block.txt:
1840         Some docs about what pad_block should do.
1841
1842 2006-06-22  Wim Taymans  <wim@fluendo.com>
1843
1844         * gst/gstcaps.c: (gst_caps_replace):
1845         Fix crasher when passed NULL. Doc clarification.
1846         Optimize for the trivial case.
1847
1848         * gst/gstpipeline.c: (gst_pipeline_change_state):
1849         Small cleanups.
1850
1851         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1852         Small documentation cleanup.
1853
1854         * libs/gst/base/gstbasetransform.c:
1855         (gst_base_transform_buffer_alloc):
1856         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
1857         is what we need and it avoids a whole lot of redundant 
1858         refcount operations.
1859
1860 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
1861
1862         Patch by: Philip Jägenstedt  <philip at lysator liu se>
1863
1864         * docs/manual/advanced-dataaccess.xml:
1865           Fix 'Embedding static elements' section to use
1866           GST_PLUGIN_DEFINE_STATIC (#345607).
1867
1868 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1869
1870         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
1871           Attempt to 'fix' spuriously failing test case: it seems like the
1872           timeout of half a second is simply too small when the system is under
1873           load otherwise, and the timeout doesn't really seem to serve any
1874           particular purpose here. Give the pipeline a few seconds to preroll
1875           first, and then give it another half a second to go from PAUSED to
1876           PLAYING and marshal the message into the main thread.
1877
1878 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1879
1880         * tools/gst-feedback-m.m:
1881           Don't only use unversioned tools, try versioned tools as well
1882           (#345086).
1883
1884 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1885
1886         * gst/gstbus.c: (gst_bus_class_init):
1887           Fix some typos, make docs more explicit.
1888
1889 2006-06-20  Wim Taymans  <wim@fluendo.com>
1890
1891         * tests/check/gst/gstghostpad.c: (block_callback),
1892         (GST_START_TEST), (gst_ghost_pad_suite):
1893         Added some more ghostpad tests, mainly blocking
1894         and probes.
1895
1896 2006-06-16  Wim Taymans  <wim@fluendo.com>
1897
1898         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
1899         (gst_file_sink_close_file), (gst_file_sink_do_seek),
1900         (gst_file_sink_event), (gst_file_sink_render):
1901         * plugins/elements/gstfilesink.h:
1902         Check if we can seek in the file instead of assuming
1903         we always can. Post an error when we are asked to seek in a
1904         non-seekable file (like a fifo). Fixes #343312.
1905         Some cleanups.
1906
1907 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1908
1909         * tools/gst-launch.1.in:
1910           Un-garble (fourcc) bit in filtered caps section.
1911
1912 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
1913
1914         * docs/manual/advanced-autoplugging.xml:
1915         * docs/manual/basics-helloworld.xml:
1916         * docs/manual/highlevel-components.xml:
1917           Don't leak bus reference in sample code.
1918
1919 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
1920
1921         * autogen.sh:
1922           Add default for new --enable-plugin-docs switch.
1923
1924         * configure.ac:
1925           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
1926           Fixes #344039.
1927
1928         * docs/Makefile.am:
1929           Use new ENABLE_PLUGIN_DOCS conditional.
1930
1931 2006-06-14  Wim Taymans  <wim@fluendo.com>
1932
1933         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
1934         Make it clear with a FIXME and a real define what the #if 0
1935         previously disabled.
1936
1937 2006-06-14  Wim Taymans  <wim@fluendo.com>
1938
1939         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1940         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
1941         * libs/gst/base/gstbasetransform.c:
1942         (gst_base_transform_sink_eventfunc):
1943         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1944         Don't randomly and silently reset a segment when the format 
1945         changes as this is a bug somewhere upstream. Fixes #330379.
1946
1947 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1948
1949         Patch by: Wouter Paesen  <wouter at kangaroot net>
1950
1951         * libs/gst/controller/gstcontroller.c:
1952         (gst_controlled_property_new):
1953           Fix controlling of float properties (#344849).
1954
1955         * tests/check/libs/controller.c:
1956         (gst_test_mono_source_get_property),
1957         (gst_test_mono_source_set_property),
1958         (gst_test_mono_source_class_init), (GST_START_TEST):
1959           While we're at it, add some float stuff to unit test.
1960
1961 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1962
1963         * docs/README:
1964         * docs/images/gdp-header.svg:
1965           add a gdp image
1966         * docs/libs/Makefile.am:
1967         * docs/libs/gdp-header.png:
1968         * libs/gst/dataprotocol/dataprotocol.c:
1969           add it to the API docs
1970         * docs/manual/intro-motivation.xml:
1971           fix typo
1972
1973 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1974
1975         * gst/gst.c: (scan_and_update_registry), (init_post):
1976           If the fork()'ed child process can't write the updated registry cache
1977           file to disk for some reason, make it exit with a failure exit code,
1978           so that the parent can then re-scan the plugins itself and update the
1979           registry structures in memory and work with that (rather than failing
1980           when creating elements because seemingly no plugins are available).
1981           Refactor registry scanning code into separate function for this and
1982           also separate fork() and non-fork() code paths. Fixes #344748.
1983
1984 2006-06-13  Wim Taymans  <wim@fluendo.com>
1985
1986         * docs/manual/advanced-dataaccess.xml:
1987         Fix wrong PluginDesc. Fixes #344755.
1988
1989 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
1990
1991         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1992           Fix silly bug that prevented us from creating
1993           ~/.gstreamer-0.10 and writing the registry in one
1994           go (the first call to g_mkstemp() would overwrite the
1995           placeholder in the template string, so the second call
1996           to g_mkstemp() after creating the missing directory
1997           would then error out with 'invalid argument').
1998
1999 2006-06-13  Edward Hervey  <edward@fluendo.com>
2000
2001         * gst/gst.c: (init_post):
2002         Free string.
2003
2004 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2005
2006         * gst/glib-compat-private.h:
2007         * gst/glib-compat.c:
2008         * gst/glib-compat.h:
2009         * gst/gstvalue.c: (gst_value_serialize_flags):
2010           remove GLib 2.6 compatibility code
2011
2012 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
2013
2014         * gst/parse/Makefile.am:
2015           Fix build with 'make -j N' even more (#340016).
2016
2017 2006-06-12  Wim Taymans  <wim@fluendo.com>
2018
2019         * docs/gst/gstreamer-sections.txt:
2020         Fix docs.
2021
2022 2006-06-12  Wim Taymans  <wim@fluendo.com>
2023
2024         * gst/gstsegment.c: (gst_segment_set_duration),
2025         (gst_segment_set_last_stop), (gst_segment_set_seek),
2026         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2027         (gst_segment_to_running_time), (gst_segment_clip):
2028         Use G_UNLIKELY to help the compiler a bit.
2029
2030 2006-06-12  Wim Taymans  <wim@fluendo.com>
2031
2032         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2033
2034         * gst/gstevent.c: (gst_event_get_type):
2035         * gst/gstmessage.c:
2036         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2037         (gst_pad_push):
2038         constify quark registration strings. Fixes #344115
2039         Avoid unneeded type checking is _pad_push() by internally
2040         calling gst_pad_chain_unchecked().
2041
2042 2006-06-12  Wim Taymans  <wim@fluendo.com>
2043
2044         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
2045         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
2046         (gst_subbuffer_finalize), (gst_buffer_create_sub),
2047         (gst_buffer_is_span_fast), (gst_buffer_span):
2048         Init _type for consistency.
2049         Use _FLAGS macro to avoid type check.
2050         Avoid unneeded type checks in subbufer code.
2051
2052 2006-06-12  Wim Taymans  <wim@fluendo.com>
2053
2054         * gst/gst.c: (gst_debug_help):
2055         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
2056         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2057         (gst_plugin_feature_list_free):
2058         * gst/gstregistry.c: (gst_registry_add_plugin),
2059         (gst_registry_add_feature), (gst_registry_plugin_filter),
2060         (gst_registry_feature_filter), (gst_registry_find_plugin),
2061         (gst_registry_find_feature), (gst_registry_get_plugin_list),
2062         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
2063         * gst/gstregistryxml.c: (load_feature),
2064         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
2065         * gst/gstminiobject.c: (gst_mini_object_unref),
2066         (gst_mini_object_replace), (gst_value_mini_object_free),
2067         (gst_value_mini_object_copy):
2068         Use _CAST macros to avoid unneeded type checking.
2069         Added some more G_UNLIKELY.
2070
2071 2006-06-12  Wim Taymans  <wim@fluendo.com>
2072
2073         * gst/gstbuffer.h:
2074         Avoid unneeded type checking.
2075         API: GST_BUFFER_IS_DISCONT
2076
2077         * gst/gstminiobject.h:
2078         Avoid type check in flag accessor.
2079
2080         * gst/gstelementfactory.h:
2081         * gst/gstplugin.h:
2082         * gst/gstpluginfeature.h:
2083         Add _CAST macros.
2084         API: GST_ELEMENT_FACTORY_CAST
2085         API: GST_PLUGIN_CAST
2086         API: GST_PLUGIN_FEATURE_CAST
2087
2088 2006-06-12  Wim Taymans  <wim@fluendo.com>
2089
2090         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
2091         (gst_object_unref):
2092         Add G_UNLIKELY in type registration.
2093         Avoid type check in _ref/_unref since that is also
2094         done in glib.
2095
2096 2006-06-12  Wim Taymans  <wim@fluendo.com>
2097
2098         * gst/gsterror.c: (gst_g_error_get_type):
2099         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2100         (gst_static_pad_template_get_type):
2101         * gst/gsttaglist.c: (gst_tag_list_get_type):
2102         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
2103         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
2104         * gst/gsturi.c: (gst_uri_handler_get_type):
2105         * gst/gstvalue.c: (gst_date_get_type):
2106         * gst/gstxml.c: (gst_xml_get_type):
2107         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2108         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2109         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
2110         Add G_UNLIKELY in type registration.
2111
2112 2006-06-12  Wim Taymans  <wim@fluendo.com>
2113
2114         * tools/gst-inspect.c: (print_signal_info):
2115         Properly print enum values.
2116
2117 2006-06-12  Wim Taymans  <wim@fluendo.com>
2118
2119         * gst/gstinfo.c: (gst_debug_set_active),
2120         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
2121         * gst/gstinfo.h:
2122         Add some G_[UN]LIKELY.
2123         Maintain __gst_debug_min to avoid formatting the arguments of
2124         debug messages that will be dropped anyway to avoid a lot of 
2125         overhead from the debugging system.
2126
2127 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2128
2129         * po/POTFILES.in:
2130         * po/POTFILES.skip:
2131           add missing files containing translatable strings, tell intltool about
2132           one exception
2133
2134 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2135
2136         * tests/check/libs/.cvsignore:
2137         add test-binary to ignore list
2138
2139 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2140
2141         * docs/libs/gstreamer-libs-docs.sgml:
2142         reorder (put dp into a chapter) and indent
2143
2144 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2145
2146         * configure.ac:
2147           back to HEAD
2148
2149 === release 0.10.8 ===
2150
2151 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
2152
2153         * configure.ac:
2154           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2155
2156 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2157
2158         * gst/gst.c: (init_post):
2159           move pid declaration to declaration block
2160
2161 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2162
2163         * gst/gst.c: (init_post):
2164           use _exit() instead of exit() in our forked child; this ensures
2165           that none of the registered exit handlers from whatever is using
2166           GStreamer get executed.  This fixes gnome-mixer-applet failing
2167           to load, because ORBit would shut down.
2168           Spotted by: Edward Hervey  <edward@fluendo.com>
2169           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
2170           Fixes #344474
2171
2172 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2173
2174         * configure.ac:
2175           back to TRUNK
2176
2177 === release 0.10.7 ===
2178
2179 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
2180
2181         * configure.ac:
2182           releasing 0.10.7, "Soepeke, ik zie ou"
2183
2184 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2185
2186         * configure.ac:
2187         * po/af.po:
2188         * po/az.po:
2189         * po/bg.po:
2190         * po/ca.po:
2191         * po/cs.po:
2192         * po/de.po:
2193         * po/en_GB.po:
2194         * po/fr.po:
2195         * po/it.po:
2196         * po/nb.po:
2197         * po/nl.po:
2198         * po/ru.po:
2199         * po/sq.po:
2200         * po/sr.po:
2201         * po/sv.po:
2202         * po/tr.po:
2203         * po/uk.po:
2204         * po/vi.po:
2205         * po/zh_CN.po:
2206         * po/zh_TW.po:
2207         * win32/common/config.h:
2208           0.10.6.2 prerelease
2209
2210 2006-06-07  Wim Taymans  <wim@fluendo.com>
2211
2212         * gst/gstindex.c: (gst_index_gtype_resolver):
2213         * tools/gst-xmlinspect.c: (print_plugin_info):
2214         Fix leak spotted by coverity checker. Fixes #343827
2215         Fix another other leak found by paolo borelli.
2216
2217 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2218
2219         * libs/gst/dataprotocol/dataprotocol.c:
2220         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2221         (gst_dp_version_get_type), (gst_dp_init),
2222         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2223         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2224         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2225         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2226         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2227         (gst_dp_packetizer_free):
2228         * libs/gst/dataprotocol/dataprotocol.h:
2229           API: add a GstDPPacketizer object, and create/free functions
2230           API: add GstDPVersion enum
2231           Add 1.0 event function that uses the string serialization
2232           Serialize more useful buffer flags
2233           Fixes #343988
2234
2235 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2236
2237         * tests/check/Makefile.am:
2238         * tests/check/gst/gstabi.c:
2239         * tests/check/gst/struct_ppc64.h:
2240         * tests/check/libs/libsabi.c:
2241         * tests/check/libs/struct_ppc64.h:
2242           add ppc64 structure sizes
2243
2244 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2245
2246         * tests/check/Makefile.am:
2247         * tests/check/gst/gstabi.c:
2248         * tests/check/gst/struct_x86_64.h:
2249         * tests/check/libs/libsabi.c:
2250         * tests/check/libs/struct_x86_64.h:
2251           generate and add structure size lists for x86_64
2252
2253 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2254
2255         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2256         * libs/gst/check/gstcheck.h:
2257           factor out the method from tests that checks size of structures,
2258           and add code to generate the header containing these sizes
2259         * tests/check/gst/gstabi.c: (GST_START_TEST):
2260         * tests/check/gst/struct_i386.h:
2261         * tests/check/libs/libsabi.c: (GST_START_TEST):
2262         * tests/check/libs/struct_i386.h:
2263           use it
2264
2265 2006-06-06  Michael Smith  <msmith@fluendo.com>
2266
2267         * gst/gstsegment.h:
2268           Don't use c++-style comments, fixes #343929
2269
2270 2006-06-05  Edward Hervey  <edward@fluendo.com>
2271
2272         * gst/gst.c:
2273         plugin_paths is not used if we build without registry support.
2274
2275         * gst/gstsegment.c: (gst_segment_copy): 
2276         _copy() was always returning NULL...
2277
2278 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2279
2280         * libs/gst/dataprotocol/dataprotocol.c:
2281         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2282         (gst_dp_packet_from_event):
2283           factor out CRC code
2284
2285 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2286
2287         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2288           make sure we unset caps
2289
2290 2006-06-02  Michael Smith  <msmith@fluendo.com>
2291
2292         * libs/gst/check/gstcheck.c: (gst_check_init),
2293         (gst_check_chain_func):
2294         * libs/gst/check/gstcheck.h:
2295           Add a cond/mutex to the check support lib, signal this whenever we
2296           add to the buffers list. This will allow tests to not busy-wait on
2297           the buffer-list.
2298
2299 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2300
2301         * libs/gst/dataprotocol/dataprotocol.c:
2302         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2303         (gst_dp_packet_from_event):
2304           factor out some common header init code
2305
2306 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2307
2308         * docs/libs/gstreamer-libs-sections.txt:
2309         * docs/libs/tmpl/gstdataprotocol.sgml:
2310         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2311         * libs/gst/dataprotocol/dataprotocol.h:
2312           API: make gst_dp_crc() public
2313
2314 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2315
2316         * plugins/indexers/gstindexers.c: (plugin_init):
2317         conditionally register fileindexer (fixes #343598)
2318
2319 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2320
2321         * gst/gsttagsetter.h:
2322         Can't cast ifaces to a class
2323
2324         * libs/gst/net/gstnetclientclock.h:
2325         * libs/gst/net/gstnettimeprovider.h:
2326         * plugins/elements/gstfakesink.h:
2327         * plugins/elements/gstfakesrc.h:
2328         * plugins/elements/gstfdsink.h:
2329         * plugins/elements/gstfdsrc.h:
2330         * plugins/elements/gstfilesink.h:
2331         * plugins/elements/gstfilesrc.h:
2332         * plugins/elements/gstidentity.h:
2333         * plugins/elements/gstqueue.h:
2334         * plugins/elements/gsttee.h:
2335         * plugins/indexers/gstfileindex.c:
2336         * plugins/indexers/gstmemindex.c:
2337         * tests/old/examples/plugins/example.h:
2338         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2339
2340 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2341
2342         * libs/gst/dataprotocol/dataprotocol.c:
2343         (gst_dp_header_from_buffer):
2344           make sure we zero the whole ABI-compatible area
2345
2346 2006-06-01  Wim Taymans  <wim@fluendo.com>
2347
2348         Patch by: Alessandro Decina <alessandro at nnva dot org>
2349
2350         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2351         Make sure the EOS flag is cleared from pads after a flush
2352         or stop. Fixes #343538.
2353
2354         * tests/check/libs/collectpads.c: (GST_START_TEST),
2355         (gst_collect_pads_suite):
2356         Added test for collectpads reusage after EOS.
2357
2358 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
2359
2360         * gst/gst.c:
2361          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
2362         * win32/common/libgstbase.def:
2363          export gst_collect_pads_set_flushing
2364         * win32/common/libgstreamer.def:
2365          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
2366          gst_value_fraction_multiply
2367         * win32/vs6/gst_inspect.dsp:
2368          add a link to intl.lib
2369
2370 2006-05-30  Wim Taymans  <wim@fluendo.com>
2371
2372         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2373         (gst_collect_pads_chain):
2374         Handle the case where a pad is removed from the collection
2375         that could cause the other pads to become collectable.
2376
2377 2006-05-30  Wim Taymans  <wim@fluendo.com>
2378
2379         * gst/gstelement.c:
2380         Clarify the use of _release_request_pad() and
2381         _get_request_pad() a bit better.
2382
2383         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
2384         (gst_adapter_take_buffer):
2385         Fix some doc and comment typos.
2386
2387 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2388
2389         * docs/gst/gstreamer-sections.txt:
2390         * docs/libs/gstreamer-libs-sections.txt:
2391           add declared symbols
2392
2393 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
2394
2395         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2396         Add debug that can be enabled using a #define at the top of the file,
2397         for dumping stats about how late/early we were when waking up from
2398         waiting on the clock.
2399
2400 2006-05-30  Wim Taymans  <wim@fluendo.com>
2401
2402         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
2403         When rebuilding the pad list, don't leak the previous list.
2404
2405 2006-05-30  Wim Taymans  <wim@fluendo.com>
2406
2407         Patch by: Lutz Mueller <lutz at topfrose dot de>
2408
2409         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2410         (gst_base_src_get_query_types), (gst_base_src_update_length):
2411         Publish supported query types.
2412         Update last_stop field in get_range mode so the position
2413         query works. Fixes #342321.
2414
2415 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
2416
2417         * docs/gst/gstreamer-sections.txt:
2418         * gst/gsttaglist.c: (_gst_tag_initialize):
2419         * gst/gsttaglist.h:
2420           API: add GST_TAG_PREVIEW_IMAGE (#343341).
2421
2422 2006-05-30  Wim Taymans  <wim@fluendo.com>
2423
2424         Patch by: Alessandro Decina <alessandro at nnva dot org>
2425
2426         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2427         Unlock mutex when removing an unknown pad.
2428         Fixes #343334.
2429
2430         * tests/check/Makefile.am:
2431         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
2432         (push_event), (setup), (teardown), (GST_START_TEST),
2433         (gst_collect_pads_suite), (main):
2434         Added collecpads check, disabled for now as check crashes for
2435         some reason.
2436
2437 2006-05-29  Wim Taymans  <wim@fluendo.com>
2438
2439         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
2440         Don't leak pads lists.
2441
2442 2006-05-29  Wim Taymans  <wim@fluendo.com>
2443
2444         * docs/libs/gstreamer-libs-sections.txt:
2445         * libs/gst/base/gstcollectpads.c:
2446         (gst_collect_pads_set_flushing_unlocked),
2447         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2448         (gst_collect_pads_stop):
2449         * libs/gst/base/gstcollectpads.h:
2450         API: gst_collect_pads_set_flushing()
2451         Added api to set the pads to flushing, useful for seeking
2452         code in elements using collectpads.
2453         Clear segment when receiving a flush.
2454
2455 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
2456
2457         * gst/gst.c: (add_path_func), (init_post):
2458           Don't scan registry paths passed via --gst-plugin-path immediately
2459           (will crash, because absolutely nothing is set up and no types are
2460           registered etc.); do this later in init_post(). Fixes #343057.
2461
2462 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2463
2464         * gst/gst.c: (init_post):
2465           if we have fork, fork while reading/rebuilding the registry
2466           so the parent doesn't take the hit of having all plugins loaded
2467           in memory.  Fixes #342777.
2468         * configure.ac:
2469           Check if we have fork()
2470         * win32/common/config.h.in:
2471           no fork() on win32
2472
2473 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2474
2475         * plugins/elements/gstelements.c:
2476         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2477         (gst_file_src_init), (gst_file_src_set_property),
2478         (gst_file_src_get_property), (gst_file_src_start):
2479         * plugins/elements/gstfilesrc.h:
2480           API: GstFileSrc::use-mmap
2481
2482         Add a use-mmap property to enable easier testing of all code paths.
2483         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
2484         in the absence of gnomevfssrc. (Closes #340501)
2485
2486 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2487
2488         * tools/gst-inspect.c:
2489         Add missing include, removes warning of ngettext not being defined on
2490         some arches.
2491
2492 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2493
2494         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2495         Handle NULL input and output pointers silently as a failed conversion,
2496         rather than g_warnings.
2497
2498 2006-05-25  Wim Taymans  <wim@fluendo.com>
2499
2500         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
2501         Initialize variable before using. Fixes #342820.
2502
2503 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2504
2505         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
2506           Fix off-by-one bug that would only allow peeks of N-1 bytes
2507           from the start even if the buffer to typefind on contains
2508           in fact N bytes of data (makes vorbis typefinding from a
2509           vorbis identification header buffer work).
2510
2511         * tests/check/Makefile.am:
2512         * tests/check/libs/.cvsignore:
2513         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
2514         (gst_typefindhelper_suite), (main), (foobar_typefind),
2515         (plugin_init):
2516           Add very basic unit test for gst_type_find_helper_for_buffer()
2517           that checks for the problem fixed above.
2518
2519 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2520
2521         * tools/gst-inspect.c: (print_interfaces),
2522         (print_element_properties_info), (print_element_list), (main):
2523           add more translatable strings
2524
2525 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
2526
2527         Patch by: Julien Moutte  <julien at moutte net>
2528
2529         * docs/gst/gstreamer-sections.txt:
2530           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
2531           
2532         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
2533         (gst_fake_sink_preroll):
2534         * plugins/elements/gstfakesink.h:
2535           API: Add new GstFakeSink::preroll-handoff signal (#337100).
2536
2537 2006-05-23  Wim Taymans  <wim@fluendo.com>
2538
2539         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
2540         * gst/gstpad.h:
2541         Added _CUSTOM error and success GstFlowReturn that can be
2542         used be elements internally. 
2543         Added macro to check for SUCCESS flowreturns.
2544         API: GST_FLOW_CUSTOM_SUCCESS
2545         API: GST_FLOW_CUSTOM_ERROR
2546         API: GST_FLOW_IS_SUCCESS
2547
2548         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2549         Added check for GstFlowReturn sanity.
2550
2551 2006-05-23  Wim Taymans  <wim@fluendo.com>
2552
2553         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2554
2555         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2556         (gst_collect_pads_event):
2557         clear/reset segment info in FLUSH_STOP.
2558         Fixes #336929.
2559
2560 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
2561
2562         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
2563         (gst_collect_pads_check_collected):
2564         Flush queued buffer on _stop(), fixes playing again (#342454)
2565
2566 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2567
2568         * tests/check/gst/gststructure.c: (GST_START_TEST),
2569         (gst_structure_suite):
2570           add a test for a complete structure
2571
2572 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2573
2574         * docs/faq/developing.xml:
2575         * docs/faq/faq.xml:
2576         * docs/faq/troubleshooting.xml:
2577         * docs/faq/using.xml:
2578           Some minor FAQ updates that won't change the fact that
2579           our FAQ is badly structured, full of information hardly
2580           anyone new to GStreamer needs to know and lacking lots
2581           of information people constantly ask for.
2582           
2583 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
2584
2585         * gst/gstpad.c: (gst_pad_set_caps):
2586           Short-circuit gst_pad_set_caps if setting the existing
2587           caps pointer again, and avoid printing debug and 
2588           reffing/unreffing the caps.
2589
2590         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2591           There's actually no need to set the caps before pushing -
2592           the acceptcaps method will handle it anyway.
2593
2594 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2595
2596         * docs/gst/gstreamer-sections.txt:
2597         * win32/common/libgstreamer.def:
2598         * gst/gstutils.c: (gst_element_seek_simple):
2599         * gst/gstutils.h:
2600           API: add gst_element_seek_simple() (#342238).
2601
2602 2006-05-18  Edward Hervey  <edward@fluendo.com>
2603
2604         * gst/gsttypefind.c: (gst_type_find_get_type):
2605         * gst/gsttypefind.h:
2606         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
2607         registered for GstTypeFind pointers. This allows wrapping the structure
2608         in bindings (i.e. gst-python).
2609
2610 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2611
2612         * gst/gsttagsetter.c:
2613           Docs additions and fixes (see #339918).
2614
2615 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2616
2617         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2618         The caps intersection algorithm can produce multiple copies of the
2619         caps. Until that is fixed, we need to simplify the result to be
2620         sure whether the allowed caps are fixed or not.
2621
2622         * plugins/elements/gstqueue.c: (gst_queue_init),
2623         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
2624         (gst_queue_push_one):
2625         Proxied buffer alloc should not set the caps on the source pad.
2626         When pushing buffers, we always accept the caps change that triggers.
2627         This prevents negotiation errors caused by caps changing mid-stream 
2628         and then being refused on our source pad (because upstream is now
2629         refusing those caps).
2630
2631 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2632
2633         * tests/examples/helloworld/helloworld.c: (main):
2634           Must plug audioconvert and audioresample between decoder
2635           and audio sink.
2636
2637 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
2638
2639         * gst/gstregistryxml.c: (read_string), (load_pad_template),
2640         (load_feature), (load_plugin):
2641         Allow empty strings for some of the plugin fields so we don't 
2642         drop valid plugin entries that were written out correctly
2643         (Fixes #341479)
2644
2645 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
2646         
2647         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2648           Use g_remove and g_rename instead of remove and rename that don't 
2649           handle utf8 characters. rename was failing for users who had specific
2650           characters in their name then the registry was built at each 
2651           gstreamer init.
2652         * win32/vs6/gst_inspect.dsp:
2653         * win32/vs6/gst_launch.dsp:
2654         * win32/vs6/libgstbase.dsp:
2655         * win32/vs6/libgstcoreelements.dsp:
2656         * win32/vs6/libgstreamer.dsp:
2657           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
2658           build of libgstreamer and clean unused libraries in projects link 
2659           settings.
2660
2661 2006-05-17  Edward Hervey  <edward@fluendo.com>
2662
2663         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2664         The queue is not responsible for pushing an EOS when receiving a fatal
2665         flow error. It's up to the real element driving the pipeline to do that.
2666
2667 2006-05-16  Edward Hervey  <edward@fluendo.com>
2668
2669         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2670         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
2671         buffer returned a fatal error. It should just send an EOS and stop
2672         its task.
2673         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
2674         when pushing buffers on the queue and will be able to handle the event.
2675
2676 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2677
2678         * docs/manual/basics-bins.xml:
2679         * docs/manual/basics-init.xml:
2680           Fix typos and minor errors in sample code (#341856).
2681
2682 2006-05-16  Wim Taymans  <wim@fluendo.com>
2683
2684         * docs/design/part-qos.txt:
2685         Fix indexes in formulas to make more sense.
2686
2687 2006-05-15  Wim Taymans  <wim@fluendo.com>
2688
2689         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2690         Don't report POSITION based on clock time if sync is
2691         disabled in a sink.
2692
2693 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
2694
2695         * gst/gstobject.h:
2696           Add cast to make compiler happy - refcount variable was a gint
2697           in GstObject but is a guint in GObject and g_atomic_int_get()
2698           wants a gint *.
2699
2700 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2701
2702         * gst/parse/Makefile.am:
2703           chain commands using &&, which also makes parallel make work
2704
2705 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
2706
2707         * docs/gst/gstreamer-sections.txt:
2708         * gst/gstevent.c:
2709         * gst/gstevent.h:
2710         * gst/gstmessage.h:
2711           Minor docs fixes.
2712
2713 === release 0.10.6 ===
2714
2715 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
2716
2717         * configure.ac:
2718           releasing 0.10.6, "Take the cannoli"
2719
2720 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2721
2722         * tools/gst-launch.c: (print_tag):
2723           Fix use of uninitialized variable in the hypothetical
2724           case that some broken plugin creates a GST_TAG_IMAGE
2725           tag containing a NULL buffer (#341667).
2726
2727 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2728
2729         * tools/gst-launch.c: (print_tag):
2730           Print something more intelligible for image tags when
2731           using the -t switch (#341556).
2732
2733 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2734
2735         * Makefile.am:
2736           updates for win32
2737         * configure.ac:
2738           define GST_MAJORMINOR so we have it available in win32/common/config.h
2739           Possibly remove it from our Makefile.am files later
2740         * win32/common/config.h:
2741         * win32/common/config.h.in:
2742           added GST_MAJORMINOR
2743         * win32/common/gstenumtypes.c: (register_gst_resource_error):
2744         * win32/common/gstversion.h:
2745           updated
2746
2747 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
2748
2749         * win32/MANIFEST:
2750           Update win32 files listing.
2751         * win32/common/gstversion.h:
2752           Add GST_MAJORMINOR definition.
2753         * win32/common/libgstreamer.def:
2754           Add new exported functions.
2755           
2756 2006-05-12  Michael Smith  <msmith@fluendo.com>
2757
2758         * gst/gstplugin.c: (gst_plugin_load_file):
2759           If an so file has no plugin entry point, unload the module.
2760
2761 2006-05-11  Wim Taymans  <wim@fluendo.com>
2762
2763         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
2764         (gst_queue_set_property):
2765         Don't forget to signal the _chain or _loop function 
2766         when the queue size or thresholds change since that might
2767         cause them to make progres again.
2768
2769 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
2770
2771         * gst/gstclock.c: (gst_clock_class_init):
2772         * gst/gstindex.c: (gst_index_class_init):
2773         * gst/gstobject.c: (gst_object_class_init):
2774         * gst/gstpad.c: (gst_pad_class_init):
2775         * gst/gstpipeline.c: (gst_pipeline_class_init):
2776         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2777         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2778         * libs/gst/base/gstbasetransform.c:
2779         (gst_base_transform_class_init):
2780         * libs/gst/net/gstnetclientclock.c:
2781         (gst_net_client_clock_class_init):
2782         * libs/gst/net/gstnettimeprovider.c:
2783         (gst_net_time_provider_class_init):
2784         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2785         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2786         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2787         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2788         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2789         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2790         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2791         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2792         * plugins/elements/gsttee.c: (gst_tee_class_init):
2793         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2794         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2795           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
2796
2797 2006-05-11  Wim Taymans  <wim@fluendo.com>
2798
2799         * gst/gstbuffer.c: (_gst_buffer_initialize):
2800         Register subbufer along with the buffer type so that
2801         it does not accidentally gets registered from N
2802         different streaming threads in a non threadsafe way.
2803
2804 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2805
2806         * gst/gstbuffer.h:
2807         * gst/gstevent.h:
2808         * gst/gstmessage.h:
2809           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
2810           gst_event_ref() and gst_message_ref() functions again
2811           (ugly hack, please do fix if there's a better way besides
2812           overrides.txt, which doesn't seem to work).
2813
2814 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2815
2816         * libs/gst/check/gstcheck.h:
2817           add an assert for setting state to avoid lots of repetitive code
2818           in the future
2819
2820 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2821
2822         * gst/gstvalue.c: (gst_value_serialize_flags):
2823           fix a leak if no flags are set
2824         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2825           fix leak in tests
2826
2827 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2828
2829         * docs/manual/basics-pads.xml:
2830           Expand a bit on caps and filtered links and update
2831           examples that were still using the no longer existing
2832           gst_pad_link_filtered() (#338206).
2833
2834 2006-05-10  Wim Taymans  <wim@fluendo.com>
2835
2836         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2837         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2838         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2839         (gst_collect_pads_stop):
2840         * libs/gst/base/gstcollectpads.h:
2841         No need to call _stop in _finalize.
2842         Iterate the main pad list in _finalize.
2843         Added some more debug.
2844         Free lists and data in the right order.
2845         Also free data whem doing _remove_pad when stopped for
2846         backward compatibility protect ::started with PAD_LOCK as
2847         well.
2848
2849 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2850
2851         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
2852         (gst_structure_parse_value):
2853           add some comments
2854           rename a method so that it actually says what it does better
2855
2856 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2857
2858         * gst/gstevent.c: (_gst_event_initialize):
2859         * gst/gstformat.c: (_gst_format_initialize):
2860           make sure some essential types used by events are registered
2861           as part of gst_init()
2862         * gst/gstvalue.c: (gst_value_serialize_flags):
2863           if no flags are set, serialize them to a value that represents NONE
2864           so that deserializing them works
2865         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2866           add tests for serialization and deserialization of flags
2867
2868 2006-05-10  Wim Taymans  <wim@fluendo.com>
2869
2870         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
2871         (gst_collect_pads_collect_range), (gst_collect_pads_available),
2872         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
2873         (gst_collect_pads_event), (gst_collect_pads_chain):
2874         Update docs.
2875         Better debug info.
2876         Catch and return errors from the collect function
2877         Refuse data on eos pads.
2878
2879 2006-05-10  Edward Hervey  <edward@fluendo.com>
2880
2881         * gst/gstinterface.h:
2882         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
2883         GInterface type checking.
2884         They were previously using non-defined macros.
2885
2886 2006-05-09  Wim Taymans  <wim@fluendo.com>
2887
2888         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
2889         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
2890         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
2891         (gst_collect_pads_start), (gst_collect_pads_stop),
2892         (gst_collect_pads_peek), (gst_collect_pads_pop),
2893         (gst_collect_pads_available), (gst_collect_pads_read),
2894         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
2895         (gst_collect_pads_is_collected), (gst_collect_pads_event),
2896         (gst_collect_pads_chain):
2897         * libs/gst/base/gstcollectpads.h:
2898         Clean up the mess that is collectpads, add comments and
2899         FIXMEs where needed.
2900         Maintain a separate pad list so we can add pads while
2901         collecting the other ones. For this we need a new separate 
2902         lock (see comics).
2903         Fix memory leak in finalize.
2904         Refactor some weird code to set/unset pad flushing flags, mark
2905         with comments.
2906         Don't crash in _available, _read, _flush when we're EOS.
2907
2908         * tests/check/libs/.cvsignore:
2909         Ignore adapter check binary.
2910
2911 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2912
2913         * gst/gstindex.c: (gst_index_resolver_get_type):
2914         * plugins/elements/gstfakesink.c:
2915         (gst_fake_sink_state_error_get_type):
2916         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2917         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
2918         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2919           Const-ify GEnumValue arrays.
2920
2921 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2922
2923         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2924           Add test case for flags + gst_buffer_make_metadata_writable().
2925
2926 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2927
2928         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
2929           gst_buffer_make_metadata_writable() should maintain the
2930           buffer flags (those that make sense at least) (see #340859).
2931
2932 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2933
2934         * tools/gst-inspect.c:
2935         * tools/gst-launch.c:
2936         * tools/gst-typefind.c:
2937         * tools/gst-xmlinspect.c:
2938         * tools/tools.h:
2939           Fix up includes: need to include stdlib.h in tools.h for exit().
2940
2941 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2942
2943         * gst/gsttaglist.c: (_gst_tag_initialize):
2944         * gst/gsttaglist.h:
2945           API: add GST_TAG_IMAGE tag (#340721).
2946
2947 2006-05-08  Wim Taymans  <wim@fluendo.com>
2948
2949         * gst/gstquery.c:
2950         Added some docs for the segment query.
2951
2952 2006-05-08  Wim Taymans  <wim@fluendo.com>
2953
2954         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2955         (gst_base_src_loop), (gst_base_src_change_state):
2956         Always push non-flushing serialized events in the streaming 
2957         thread.
2958
2959 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2960
2961         * gst/gsterror.c: (_gst_stream_errors_init):
2962           Add a missing error string.
2963
2964 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
2965
2966         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
2967         Add applied_rate to the debug
2968
2969         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2970         Copy applied_rate into the outgoing NEWSEGMENT event
2971
2972 2006-05-08  Wim Taymans  <wim@fluendo.com>
2973
2974         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
2975
2976         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
2977         (gst_base_sink_change_state):
2978         call ::unlock before taking the PREROLL_LOCK so we can safely
2979         handle elements that lock in ::render.
2980         Fixes #340174.
2981
2982 2006-05-08  Edward Hervey  <edward@fluendo.com>
2983
2984         * autogen.sh: (CONFIGURE_DEF_OPT): 
2985         Darwin's libtoolize is in fact called glibtoolize.
2986         Adding glibtoolize to the list of accepted names for libtoolize.
2987
2988 2006-05-08  Wim Taymans  <wim@fluendo.com>
2989
2990         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2991         Unify error handling, don't post an error message
2992         when a push() returns EOS but perform our normal EOS
2993         handling code. Fixes #340772.
2994
2995 2006-05-08  Wim Taymans  <wim@fluendo.com>
2996
2997         * docs/design/part-overview.txt:
2998         Make upsteam/downstream concepts more clear.
2999         Give an example of serialized/non-serialized events.
3000
3001         * docs/design/part-events.txt:
3002         * docs/design/part-streams.txt:
3003         Mention applied_rate.
3004
3005         * docs/design/part-trickmodes.txt:
3006         Mention applied rate, flesh out some more use cases.
3007
3008         * gst/gstevent.c: (gst_event_new_new_segment),
3009         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
3010         (gst_event_parse_new_segment_full), (gst_event_new_tag),
3011         (gst_event_parse_tag), (gst_event_new_buffer_size),
3012         (gst_event_parse_buffer_size), (gst_event_new_qos),
3013         (gst_event_parse_qos), (gst_event_parse_seek),
3014         (gst_event_new_navigation):
3015         * gst/gstevent.h:
3016         Add applied_rate field to NEWSEGMENT event.
3017         API: gst_event_new_new_segment_full()
3018         API: gst_event_parse_new_segment_full()
3019
3020         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
3021         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
3022         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3023         * gst/gstsegment.h:
3024         Add applied_rate to GstSegment structure.
3025         Make calculation of stream_time and running_time more correct
3026         wrt rate/applied_rate.
3027         Add some more docs.
3028         API: GstSegment::applied_rate field
3029         API: gst_segment_set_newsegment_full();
3030
3031         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3032         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
3033         * libs/gst/base/gstbasetransform.c:
3034         (gst_base_transform_sink_eventfunc),
3035         (gst_base_transform_handle_buffer):
3036         Parse and use applied_rate in the GstSegment field.
3037
3038         * tests/check/gst/gstevent.c: (GST_START_TEST):
3039         Add check for applied_rate field.
3040
3041         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3042         (gstsegments_suite):
3043         Add more checks for various GstSegment operations.
3044
3045 2006-05-08  Wim Taymans  <wim@fluendo.com>
3046
3047         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3048         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
3049         (gst_base_sink_get_position), (gst_base_sink_change_state):
3050         Store the sync time of the buffer end position separatly in a
3051         new variable eos_rtime so we can properly sync the EOS event.
3052         Fixes #340697.
3053         Fix the docs for gst_base_sink_set_qos_enabled().
3054         Don't set segment start to invalid value when we receive a 
3055         non TIME newsegment.
3056         get closer to handling position reporting for negative rates 
3057         correctly.
3058
3059 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3060
3061         * gst/gstcaps.c:
3062         Docs about how to print caps for debug purposes.
3063
3064         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
3065         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
3066
3067 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3068
3069         * gst/gstelement.c:
3070           use full enum names and preprend a '%' in docs strings to make recent 
3071           gtk-doc turn that into a link
3072
3073 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3074
3075         * docs/manual/basics-bins.xml:
3076         * docs/manual/basics-bus.xml:
3077         * docs/manual/basics-pads.xml:
3078           Some typo fixes, some additions, some clarifications. 
3079
3080 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3081
3082         * tools/gst-inspect.c: (main):
3083         * tools/gst-launch.c: (main):
3084         * tools/gst-run.c: (main):
3085         * tools/gst-typefind.c: (main):
3086         * tools/gst-xmlinspect.c: (main):
3087           Use the string passed to g_option_context_new() for
3088           what it's intended for - the program name is already
3089           printed elsewhere.
3090
3091 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3092
3093         * tools/Makefile.am:
3094         * tools/gst-inspect.c: (main):
3095         * tools/gst-launch.c: (main):
3096         * tools/gst-xmlinspect.c: (main):
3097         * tools/tools.h:
3098           Add back --version command line option (#340460).
3099
3100         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
3101           Add --version option and use GOption for argument parsing; refactor a
3102           bit; accept directories as arguments and recurse into them; lastly,
3103           print a decent error message when things go wrong.
3104
3105 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3106
3107         * docs/manual/basics-bins.xml:
3108         Don't mention GstThread (#340611)
3109         * docs/manual/basics-elements.xml:
3110         Update link to GObject tutorial (#340607)
3111         
3112 2006-05-05  Wim Taymans  <wim@fluendo.com>
3113
3114         * gst/gstbuffer.h:
3115         * gst/gstminiobject.c:
3116         Add note about refcounting and miniobject/buffer writeability
3117         to docs. Fixes #340604
3118
3119         * gst/gstelementfactory.h:
3120         Added some explanation about @klass.
3121
3122 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3123
3124         * docs/manual/intro-motivation.xml:
3125         * docs/manual/manual.xml:
3126         Avoid CORBA & Bonobo references (#340598)
3127
3128 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3129
3130         * docs/manual/basics-bus.xml:
3131         * docs/manual/basics-pads.xml:
3132         Fix up some inaccuracies and omissions (#340609)
3133         
3134 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3135
3136         * gst/gstghostpad.c:
3137           Small typo in docs (#340625)
3138
3139 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3140
3141         * gst/parse/Makefile.am:
3142           Make 'make -j' proof (see #340698).
3143
3144 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3145
3146         * configure.ac:
3147           Require GLib-2.8 here as well.
3148
3149 2006-05-05  Wim Taymans  <wim@fluendo.com>
3150
3151         * gst/glib-compat.c:
3152         * gst/gst.c: (init_pre):
3153         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3154         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3155         (gst_object_dispatch_properties_changed):
3156         * gst/gstobject.h:
3157         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3158         * gst/gststructure.c: (gst_structure_set_valist):
3159         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3160         Remove pre glib2.8 compatibility, fixes #340508
3161
3162 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3163
3164         * gst/gsttaglist.h:
3165           Mention type of tags in doc blurbs.
3166
3167 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
3168
3169         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3170         (gst_pad_configure_src), (gst_pad_push):
3171         Restore acceptcaps checking behaviour now that good plugins have
3172         been released.
3173
3174 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3175
3176         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3177
3178         * gst/gst.c:
3179         * gst/gstbus.c:
3180         * gst/gstclock.c:
3181         * gst/gstevent.c:
3182         * gst/gstformat.c:
3183         * gst/gstmessage.c:
3184         * gst/gstparse.c:
3185         * gst/gstquery.c:
3186         * gst/gstutils.c:
3187         * gst/parse/Makefile.am:
3188         * libs/gst/base/gstadapter.c:
3189         * libs/gst/base/gstbasesrc.c:
3190         * libs/gst/base/gstpushsrc.c:
3191         * libs/gst/base/gsttypefindhelper.c:
3192         * plugins/elements/gstfakesrc.c:
3193         * plugins/elements/gstidentity.c:
3194           Make sure gstprivate.h and/or config.h are
3195           always included first, otherwise some of our
3196           defines (like _FILE_OFFSET_BITS) might be
3197           redefined in the system headers. Fixes build
3198           on opensolaris (#340016).
3199
3200 2006-05-04  Wim Taymans  <wim@fluendo.com>
3201
3202         * docs/libs/gstreamer-libs-sections.txt:
3203         API: addition: gst_adapter_take_buffer()
3204         
3205         * libs/gst/base/gstadapter.c: (gst_adapter_push),
3206         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3207         (gst_adapter_available_fast):
3208         * libs/gst/base/gstadapter.h:
3209         Prepare for optimizing the hell out of this hugely inefficient
3210         piece of code. 
3211         Added gst_adapter_take_buffer() so we can at least start thinking
3212         about subbuffering and merging.
3213         Added some comments.
3214
3215         * tests/check/Makefile.am:
3216         * tests/check/libs/adapter.c: (GST_START_TEST),
3217         (gst_adapter_suite), (main):
3218         Added GstAdapter check.
3219
3220 2006-05-04  Wim Taymans  <wim@fluendo.com>
3221
3222         * docs/design/part-overview.txt:
3223         Fix some typos, add blurb about buffer flags.
3224
3225 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3226
3227         * docs/libs/gstreamer-libs-sections.txt:
3228           make sure GstBaseTransformClass shows up in the docs
3229         * libs/gst/base/gstbasetransform.c:
3230         * libs/gst/base/gstbasetransform.h:
3231           move docs so gtk-doc picks it up now
3232
3233 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3234
3235         * docs/libs/gstreamer-libs-sections.txt:
3236           add missing symbols to docs
3237
3238 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3239
3240         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3241           back out the newsegment handling change, see #340060 for ongoing
3242           discussion
3243
3244 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
3245
3246         * tools/gst-run.c: (get_candidates), (main):
3247           Fix wrong g_file_test() usage (see glib docs for why it doesn't
3248           work); fix typo in error message. Fixes #340079.
3249
3250 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3251
3252         * common/Makefile.am:
3253         * docs/Makefile.am:
3254         * docs/faq/Makefile.am:
3255         * docs/gst/Makefile.am:
3256         * docs/libs/Makefile.am:
3257         * docs/manual/Makefile.am:
3258         * docs/plugins/Makefile.am:
3259         * docs/pwg/Makefile.am:
3260         * docs/slides/Makefile.am:
3261         * docs/upload.mak:
3262         * common/upload.mak:
3263           move upload.mak to common
3264
3265 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3266
3267         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3268           add more asserts on refcounts
3269           do more cleanup at end of tests
3270           fix test leaks showing in FC5
3271
3272 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3273
3274         * plugins/elements/gsttypefindelement.c:
3275         (gst_type_find_element_handle_event):
3276         reverted wrong change and reflowed code to avoid others falling into
3277         this trap
3278
3279 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3280
3281         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3282           fix changelog entry about last collectpads change,
3283           add notes about proper fix
3284
3285 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3286
3287         * gst/gst.c:
3288         * gst/gstregistry.c: (gst_registry_scan_path_level),
3289         (gst_registry_scan_path):
3290         * gst/gstregistry.h:
3291           only write out registry if it has changed, fixes #338339
3292
3293 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3294
3295         * gst/gstbin.c:
3296         * gst/gstpipeline.c:
3297         * plugins/elements/gstcapsfilter.c:
3298         * plugins/elements/gstfakesink.c:
3299         * plugins/elements/gstfakesrc.c:
3300         * plugins/elements/gstfdsink.c:
3301         * plugins/elements/gstfdsrc.c:
3302         * plugins/elements/gstfilesink.c:
3303         * plugins/elements/gstfilesrc.c:
3304         * plugins/elements/gstidentity.c:
3305         * plugins/elements/gstqueue.c:
3306         * plugins/elements/gsttee.c:
3307         * plugins/elements/gsttypefindelement.c:
3308         (gst_type_find_element_handle_event):
3309           make GstElementDetails const
3310
3311 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3312
3313         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3314         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3315         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3316           more detailed debug and formatting cleanup,
3317           forward newsegments to src-pad (so that e.g. adder not eats them)
3318
3319 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3320
3321         * gst/gstutils.c: (gst_element_link_pads):
3322           cleanup double code
3323
3324 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3325
3326         * libs/gst/controller/gstcontroller.c:
3327         (gst_controller_sync_values):
3328           some little tuning
3329         * tests/check/libs/controller.c: (GST_START_TEST),
3330         (gst_controller_suite):
3331           a new test for live value handling
3332
3333 2006-04-28  Wim Taymans  <wim@fluendo.com>
3334
3335         * gst/gstutils.c: (push_and_ref):
3336         Added some more docs.
3337         Fix refcount issue whith gst_element_found_tags() helper 
3338         function. Fixes #338335
3339
3340         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3341         Added testsuite for gst_element_found_tags().
3342
3343 2006-04-28  Michael Smith  <msmith@fluendo.com>
3344
3345         * gst/gstvalue.c: (gst_value_serialize_flags):
3346           Avoid NULL dereference when trying to serialize flags containing
3347           invalid values.
3348
3349 2006-04-28  Michael Smith  <msmith@fluendo.com>
3350
3351         * plugins/elements/gsttypefindelement.c:
3352         (gst_type_find_element_handle_event):
3353           If we get EOS before any data is accumulated, don't use
3354           uninitialised local variables.
3355
3356 2006-04-28  Michael Smith  <msmith@fluendo.com>
3357
3358         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3359         (gst_dp_event_from_packet):
3360           Fixes in reading/writing events over GDP (not currently used?) - 
3361           dereferencing NULL events for unknown/invalid event types, memory
3362           leak, and change g_warning to GST_WARNING.
3363
3364 2006-04-28  Wim Taymans  <wim@fluendo.com>
3365
3366         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
3367         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3368         (gst_base_sink_get_position), (gst_base_sink_change_state):
3369         When frame dropping is enabled, we should not ignore frames
3370         without a duration.
3371         Update some documentation.
3372
3373 2006-04-28  Wim Taymans  <wim@fluendo.com>
3374
3375         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3376         (gst_base_src_send_event), (gst_base_src_change_state):
3377         Documentation updates.
3378
3379 2006-04-28  Wim Taymans  <wim@fluendo.com>
3380
3381         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3382         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
3383         handle EAGAIN, EINTR and short writes correctly. Also clean
3384         up some error cases, avoid a deadlock on bad file descriptors and
3385         use GST_DEBUG_OBJECT.
3386         Fixes #339843
3387
3388 2006-04-28  Wim Taymans  <wim@fluendo.com>
3389
3390         * gst/gstvalue.c: (gst_value_serialize_buffer),
3391         (gst_value_deserialize_buffer):
3392         Don't try to serialize a GValue with a NULL buffer. 
3393         Fixes #339821.
3394
3395         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3396         Added check for serialisation of NULL buffers.
3397
3398 2006-04-28  Wim Taymans  <wim@fluendo.com>
3399
3400         * gst/gstminiobject.c: (gst_value_take_mini_object):
3401         Taking a NULL miniobject is valid, fix the case where
3402         we try to unref the NULL miniobject.
3403
3404 2006-04-28  Wim Taymans  <wim@fluendo.com>
3405
3406         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
3407
3408         * gst/gstbin.c: (gst_bin_handle_message_func):
3409         Update docs.
3410         Don't leak bin refcount when a state recalc is
3411         in progress and we delay another one #339808.
3412
3413 2006-04-28  Wim Taymans  <wim@fluendo.com>
3414
3415         * docs/design/part-TODO.txt:
3416         Mention QoS as an ongoing work item.
3417
3418         * docs/design/part-buffering.txt:
3419         New doc about buffering that needs to be fleshed out
3420         at some point.
3421
3422         * docs/design/part-qos.txt:
3423         More QoS policy for decoders/demuxers/transforms
3424
3425         * docs/design/part-trickmodes.txt:
3426         Small update.
3427
3428 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3429
3430         * configure.ac:
3431           back to HEAD
3432
3433 === release 0.10.5 ===
3434
3435 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
3436
3437         * configure.ac:
3438           releasing 0.10.5, "Fogo"
3439
3440 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3441
3442         patch by: Wim Taymans
3443
3444         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3445         (gst_pad_configure_src), (gst_pad_push):
3446         * gst/gstpipeline.c: (gst_pipeline_init):
3447           Fix internal data flow errors.  Fixes #338711.
3448
3449 2006-04-12  Wim Taymans  <wim@fluendo.com>
3450
3451         * tests/check/gst/gstelement.c: (GST_START_TEST):
3452         Don't leak the factory.
3453
3454 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3455
3456         * configure.ac:
3457         * win32/common/config.h:
3458           prerelease
3459
3460 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3461
3462         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3463         (gst_controller_unset_all):
3464           Free allocated GstTimedValues when freeing list nodes.
3465           Should fix leaks 'make check-valgrind' complains about.
3466
3467         * win32/common/libgstcontroller.def:
3468           Add gst_controller_unset_all.
3469
3470 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
3471
3472         * docs/libs/gstreamer-libs-sections.txt:
3473         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3474         (gst_controller_unset_all):
3475         * libs/gst/controller/gstcontroller.h:
3476         API: Added new method gst_controller_unset_all()
3477         fixed gst_controller_unset()
3478         * tests/check/libs/controller.c: (GST_START_TEST),
3479         (gst_controller_suite):
3480         Added two testcases for new and fixed method
3481
3482 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
3483
3484         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3485           MSG_DONTWAIT is not defined on Cygwin, so work
3486           around that (fixes #317048).
3487           
3488 2006-04-11  Wim Taymans  <wim@fluendo.com>
3489
3490         * gst/gstelementfactory.c: (gst_element_register),
3491         (gst_element_factory_create), (gst_element_factory_make):
3492         Some cleanups.
3493         Fixed a FIXME.
3494         Updated docs (Fixes #131079)
3495
3496         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3497         Small cleanups.
3498
3499         * tests/check/gst/gstelement.c: (GST_START_TEST),
3500         (gst_element_suite):
3501         Added testcase for elementfactory class field.
3502
3503 2006-04-10  Wim Taymans  <wim@fluendo.com>
3504
3505         * gst/gstsegment.c:
3506         Added some more docs.
3507
3508         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
3509         (gst_base_sink_reset_qos):
3510         Calculate more accurate rate values.
3511
3512 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
3513
3514         * gst/gst_private.h:
3515           add a new #ifdef to use __declspec(dllimport) only for
3516           other modules and not for gstreamer core
3517         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
3518           use gst_guint64_to_gdouble for conversion
3519         * win32/common/libgstreamer.def:
3520           add new exported functions
3521         * win32/vs6/gst_inspect.dsp:
3522         * win32/vs6/gst_launch.dsp:
3523         * win32/vs6/libgstbase.dsp:
3524         * win32/vs6/libgstcontroller.dsp:
3525         * win32/vs6/libgstcoreelements.dsp:
3526         * win32/vs6/libgstdataprotocol.dsp:
3527         * win32/vs6/libgstnet.dsp:
3528           update project files
3529
3530 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3531
3532         * gst/gstbuffer.c: (gst_subbuffer_class_init):
3533         * gst/gstclock.c: (gst_clock_class_init):
3534         * gst/gstelement.c: (gst_element_class_init):
3535         * gst/gstindex.c: (gst_index_class_init):
3536         * gst/gstindexfactory.c: (gst_index_factory_class_init):
3537         * gst/gstobject.c: (gst_object_class_init),
3538         (gst_signal_object_class_init):
3539         * gst/gstpad.c: (gst_pad_class_init):
3540         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
3541         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
3542         * gst/gstregistry.c: (gst_registry_class_init):
3543         * gst/gstsystemclock.c: (gst_system_clock_class_init):
3544         * gst/gsttask.c: (gst_task_class_init):
3545         * gst/gstxml.c: (gst_xml_class_init):
3546         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3547         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3548         (gst_base_src_loop):
3549         * libs/gst/controller/gstcontroller.c:/
3550         (_gst_controller_class_init):
3551         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3552         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3553         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
3554         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3555         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3556         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
3557
3558 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
3559
3560         * gst/gstpad.c: (gst_pad_link):
3561           Must set peer pads before calling the link function, otherwise
3562           a task started from a link function might get a flow-not-linked
3563           result when trying to push because the other thread where the
3564           linking happens hasn't had a chance to set the peers yet. This
3565           might happen for example when a queue gets linked to a downstream
3566           element, as queue starts a streaming task when its source pad
3567           gets linked. Happens in real life when playing back flac/musepack
3568           files in playbin (#332390).
3569           
3570 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3571
3572         * gst/gstindex.h:
3573         * gst/gstxml.h:
3574         * libs/gst/base/gstadapter.h:
3575         * libs/gst/base/gstbasesink.h:
3576         * libs/gst/base/gstbasesrc.h:
3577         * libs/gst/base/gstbasetransform.h:
3578         * libs/gst/base/gstcollectpads.h:
3579         * libs/gst/base/gstpushsrc.h:
3580         Fix broken GObject macros
3581
3582 2006-04-07  Wim Taymans  <wim@fluendo.com>
3583
3584         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3585         Initialize start and stop times, thanks valgrind.
3586
3587 2006-04-07  Wim Taymans  <wim@fluendo.com>
3588
3589         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3590         Be a bit nicer to badly behaving upstream elements that expect
3591         us to deal with non TIME segments and timestamps (such as fakesrc
3592         in the testsuite).
3593
3594 2006-04-07  Wim Taymans  <wim@fluendo.com>
3595
3596         * gst/gstbus.c:
3597         Small documentation clarification about the signal watch.
3598
3599         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3600         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3601         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3602         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3603         (gst_base_sink_get_position_last),
3604         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
3605         Convert and store timestamps in stream time and running time, the
3606         raw timestamps are not usefull, also document this better.
3607         Use different window sizes for good and bad QoS observations so
3608         we react to badness a little quicker.
3609         Keep track of the amount of rendered and dropped buffers.
3610         Send QoS timestamps in running time.
3611
3612         * libs/gst/base/gstbasetransform.c:
3613         (gst_base_transform_sink_eventfunc),
3614         (gst_base_transform_handle_buffer):
3615         Compare QoS timestamps against running time.
3616
3617 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3618
3619         * gst/gstpad.c:
3620           Typo fixes in docs.
3621
3622 2006-04-06  Michael Smith  <msmith@fluendo.com>
3623
3624         * gst/gstpad.c: (gst_pad_set_property):
3625           Use g_value_get_object() instead of g_value_dup_gst_object(),
3626           to avoid double-reffing the pad template (which we then sink,
3627           so this worked previously if (and only if) the pad template
3628           was floating.
3629
3630         * gst/gstpadtemplate.c: (gst_pad_template_init),
3631         (gst_pad_template_pad_created):
3632           Never return floating references to pad templates, create
3633           them as initially-sunken.
3634
3635           Document an extra function (and make this stop sinking our
3636           pad template, since that is now guaranteed to do nothing,
3637           since we created it sunken).
3638
3639         * gst/gstghostpad.c:
3640           Fix docs typo.
3641
3642 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3643
3644         * gst/gstinfo.c: (__gst_in_valgrind):
3645           Add some newlines.
3646
3647         * plugins/elements/gsttypefindelement.c:
3648         (gst_type_find_element_chain):
3649           Don't leak buffer caps.
3650
3651 2006-04-06  Michael Smith  <msmith@fluendo.com>
3652
3653         * gst/parse/grammar.y:
3654           Fix a leak in parse-launch for any source-or-sink named element 
3655           references used.
3656
3657         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
3658           Unref the pipeline if it exists after we've failed parsing.
3659
3660 2006-04-05  Michael Smith  <msmith@fluendo.com>
3661
3662         * gst/gstpipeline.c: (gst_pipeline_init):
3663           When we create a pipeline bus, initially create it in flushing mode.
3664           Fixes leaks in at least one test, and makes a new pipeline work the
3665           same as one that has gone to READY and then back to NULL.
3666
3667         * gst/gstelement.c:
3668           Typo fix in docs.
3669
3670 2006-04-05  Michael Smith  <msmith@fluendo.com>
3671
3672         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3673           Unref a pad we reffed.
3674         * tests/check/gst/gstutils.c: (GST_START_TEST):
3675           Unref bins
3676
3677 2006-04-05  Michael Smith  <msmith@fluendo.com>
3678
3679         * gst/gstquery.c: (gst_query_set_formats),
3680         (gst_query_set_formatsv):
3681           Fix leaking GValues in queries, as shown by valgrind/testsuite.
3682
3683 2006-04-05  Michael Smith  <msmith@fluendo.com>
3684
3685         * tests/check/generic/sinks.c: (GST_START_TEST):
3686           Fix a variety of memleaks in sinks check, which are only sometimes 
3687           shown by running the tests under valgrind (weird?).
3688
3689 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
3690
3691         * docs/version.entities.in:
3692           Fix the substituted entity name after thomas' changes on the
3693           weekend.
3694
3695 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3696
3697         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
3698         VALGRIND_PRINTF
3699         
3700 2006-04-05  Andy Wingo  <wingo@pobox.com>
3701
3702         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
3703
3704         * libs/gst/base/gstbasetransform.c
3705         (gst_base_transform_sink_eventfunc): When resetting our segment on
3706         FLUSH_STOP, also update the flag saying we haven't seen a
3707         newsegment.
3708
3709 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3710
3711         Patch by: Paolo Borelli  <pborelli at katamail dot com>
3712
3713         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
3714         (gst_plugin_check_license):
3715           minor clean-ups: G_DEFINE_TYPE already takes care of the
3716           parent_class stuff, no need to do it twice. Mark array of
3717           license strings as constant. (#337103)
3718           
3719 2006-04-04  Michael Smith  <msmith@fluendo.com>
3720
3721         * tools/gst-inspect.c: (print_element_list):
3722           Free the right plugin list; fixes a memory leak.
3723
3724 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3725
3726         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
3727
3728         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3729           Don't error out on empty buffers (#336945).
3730           
3731 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
3732
3733         * docs/libs/gstreamer-libs-sections.txt:
3734         * gst/gsttaglist.c:
3735         * libs/gst/base/gstbasesink.c:
3736         * libs/gst/base/gstbasesink.h:
3737         * libs/gst/base/gstbasesrc.c:
3738         * libs/gst/base/gstbasesrc.h:
3739           Documentation updates. Make BaseSink and BaseSrc docs contain the
3740           class structure so that people can actually see the prototypes for
3741           virtual functions they're supposed to be overriding.
3742
3743 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3744
3745         * plugins/elements/gsttypefindelement.c:
3746         (gst_type_find_element_chain):
3747           More debug info; when skipping typefinding, send cached
3748           events in all cases.
3749
3750 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3751
3752         * configure.ac:
3753           use new AS_VERSION and AS_NANO macros
3754         * gst/gst-i18n-lib.h:
3755         * gst/gst.c:
3756         * gst/gsterror.c:
3757         * gst/gstversion.h.in:
3758         * win32/common/config.h:
3759         * win32/common/config.h.in:
3760           update accordingly
3761
3762 2006-03-31  Michael Smith  <msmith@fluendo.com>
3763
3764         * plugins/elements/gsttypefindelement.c:
3765         (gst_type_find_element_chain):
3766           Do not typefind content if the buffers already have caps.
3767           Neccesary for icydemux (#333657), and the right thing to do anyway.
3768
3769 2006-03-30  Wim Taymans  <wim@fluendo.com>
3770
3771         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3772         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
3773         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
3774         (gst_base_sink_record_qos_observation),
3775         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3776         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3777         (gst_base_sink_change_state):
3778         More QoS measurements as described in the design doc.
3779         Get rid of ringbuffer with observations, running average is
3780         more simple and equally good.
3781         Calculates valid proportion now.
3782         Added beginning of flood measurement.
3783
3784 2006-03-29  Wim Taymans  <wim@fluendo.com>
3785
3786         * docs/design/part-qos.txt:
3787         * gst/gstclock.c:
3788         Small documentation updates and additions.
3789
3790 2006-03-29  Wim Taymans  <wim@fluendo.com>
3791
3792         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3793         (gst_base_src_send_event), (gst_base_src_loop),
3794         (gst_base_src_change_state):
3795         Perform the EOS logic when we reach the segment stop position.
3796         Fix compilation on gcc4.1
3797
3798 2006-03-29  Wim Taymans  <wim@fluendo.com>
3799
3800         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3801
3802         * plugins/elements/gstqueue.c: (gst_queue_init),
3803         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3804         (gst_queue_set_property):
3805         * plugins/elements/gstqueue.h:
3806         In queue, when EOS is received, if minimum threshold > max_size -
3807         current_level, there is chance that queue blocks forever in conditional
3808         item del wait. This is because the queue is not emptied completely due
3809         to minimum threshold.  Here is another approach. Instead of setting
3810         cur_levels to max in EOS, just zero all minimum threshold levels. This
3811         should make sure that queue gives out all data. When going to READY
3812         (stop) state, just reset the original minimum threshold levels.
3813         Fixes #336336.
3814
3815 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
3816
3817         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
3818         (gst_type_find_element_handle_event),
3819         (gst_type_find_element_send_cached_events),
3820         (gst_type_find_element_change_state):
3821         * plugins/elements/gsttypefindelement.h:
3822           When typefinding is done in push mode, we should cache
3823           events we receive during typefinding instead of just
3824           dropping them (e.g. newsegment, custom events from
3825           dvdreadsrc etc.) and then send them out once we've
3826           determined the type of the stream (and decodebin
3827           has had a chance to plug in a decoder/demuxer).
3828           
3829 2006-03-27  Wim Taymans  <wim@fluendo.com>
3830
3831         * docs/design/part-qos.txt:
3832         First QoS ideas.
3833
3834 2006-03-27  Wim Taymans  <wim@fluendo.com>
3835
3836         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
3837
3838         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3839         (gst_base_src_send_event), (gst_base_src_change_state):
3840         Handle element seek correctly when we are streaming.
3841         Fixes #326998.
3842
3843 2006-03-24  Michael Smith  <msmith@fluendo.com>
3844
3845         * docs/faq/gst-uninstalled:
3846           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
3847           allow you to correctly run intalled applications built against old 
3848           core, using plugins that require updated core (e.g. running
3849           installed totem against a full uninstalled gstreamer stack)
3850
3851 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3852
3853         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3854         more debug details
3855
3856 2006-03-24  Wim Taymans  <wim@fluendo.com>
3857
3858         * docs/gst/gstreamer-sections.txt:
3859         Rearrange the order of the methods so that related methods
3860         are grouped together in sections.
3861
3862 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3863
3864         * gst/gstelement.c:
3865           Little clarification in the docs
3866
3867 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
3868
3869         * docs/README:
3870         formatting fix
3871         * plugins/elements/gstidentity.c:
3872         * plugins/elements/gstqueue.c:
3873         * plugins/elements/gsttee.c:
3874         * plugins/elements/gsttypefindelement.c:
3875         GST_ELEMENT_DETAILS formatting
3876
3877 2006-03-24  Wim Taymans  <wim@fluendo.com>
3878
3879         * libs/gst/base/gstbasesink.h:
3880         Only add fields, not insert or we break ABI.
3881
3882 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3883
3884         * win32/common/libgstbase.def:
3885         * win32/common/libgstreamer.def:
3886           Update, add recently added functions.
3887
3888 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3889
3890         * docs/gst/gstreamer-sections.txt:
3891         * gst/gstutils.c: (gst_pad_query_peer_position),
3892         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
3893         * gst/gstutils.h:
3894           API: add some new utility functions:
3895            - gst_pad_query_peer_position()
3896            - gst_pad_query_peer_duration()
3897            - gst_pad_query_peer_convert()
3898           
3899 2006-03-23  Wim Taymans  <wim@fluendo.com>
3900
3901         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3902         (gst_base_sink_init), (gst_base_sink_finalize),
3903         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
3904         (gst_base_sink_set_property), (gst_base_sink_get_property),
3905         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
3906         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3907         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
3908         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3909         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3910         (gst_base_sink_preroll_object), (gst_base_sink_event),
3911         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
3912         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3913         (gst_base_sink_query), (gst_base_sink_change_state):
3914         Decouple max-lateness and the fact that QoS messages are generated
3915         with a new property (qos).
3916         added API: GstBaseSink::async_play()
3917         Add vmethod so subclasses can be notified of ASYNC playing
3918         state changes.
3919         Collect timestamp start and stop to report better current
3920         position in EOS/PLAYING/PAUSED/READY/NULL.
3921         Refactor QoS/frame dropping and other measurements.
3922         API: GstBaseSrc::qos
3923         Fixes #326311
3924
3925         * libs/gst/base/gstbasesink.h:
3926         Added Private struct.
3927         API: gst_base_sink_set_qos_enabled()
3928         API: gst_base_sink_is_qos_enabled()
3929
3930 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
3931
3932         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3933           If compiling against GLib-2.8 or newer, try to read the
3934           registry file using GMappedFile first before falling back
3935           to fopen() + fread() (#332151).
3936
3937 2006-03-22  Wim Taymans  <wim@fluendo.com>
3938
3939         * gst/gstinfo.c: (gst_debug_set_active),
3940         (gst_debug_category_set_threshold):
3941         Disable debugging unless explicitly activated.
3942         Fixes #335480.
3943
3944 2006-03-22  Wim Taymans  <wim@fluendo.com>
3945
3946         * gst/gstelement.c: (gst_element_set_locked_state),
3947         (gst_element_dispose):
3948         Cleanup the error case.
3949
3950         * gst/gstobject.c: (gst_object_dispose):
3951         print a critical when some object was disposed with
3952         a parent, also revive the object since it might
3953         crash the parent.
3954
3955 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
3956
3957         * tools/gst-launch.1.in:
3958           Fix another typo.
3959
3960 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3961
3962         * configure.ac:
3963         * tests/check/Makefile.am:
3964           disable some tests when we don't have a registry
3965         * tests/check/gst/gstutils.c: (gst_utils_suite):
3966           don't build the part that needs parsing
3967
3968 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3969
3970         * gst/Makefile.am
3971         * tests/examples/Makefile.am:
3972           fix --disable-parse build
3973
3974 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3975
3976         * tools/gst-feedback.1.in:
3977           Fix typo: s/feeback/feedback/ (#133494).
3978
3979 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3980
3981         * tools/Makefile.am:
3982         * tools/gst-launch.1.in:
3983           Add FILES section and correct entry about GST_REGISTRY_PATH
3984           environment variable (#133495; #133494).
3985
3986 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3987
3988         * tools/Makefile.am:
3989         * tools/gst-md5sum.1.in:
3990         * tools/gst-md5sum.c:
3991           Remove gst-md5sum and man page (the md5sink element
3992           required was removed ages ago)
3993
3994 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
3995
3996         * gst/gststructure.c: (gst_structure_id_set_value):
3997           Make sure that string fields in structures/taglists
3998           contain valid UTF-8 - we don't want to pass rubbish to
3999           applications because of a buggy plugin (cp. #334167).
4000
4001 2006-03-21  Edward Hervey  <edward@fluendo.com>
4002
4003         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4004         (gst_bin_handle_message_func):
4005         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
4006         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
4007         (gst_element_set_bus_func):
4008         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
4009         * gst/gstminiobject.c: (gst_value_set_mini_object),
4010         (gst_value_take_mini_object):
4011         * gst/gstpad.c: (gst_pad_set_pad_template):
4012         * gst/gstpipeline.c: (gst_pipeline_dispose),
4013         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4014         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
4015         (gst_collect_pads_chain):
4016         * libs/gst/net/gstnettimeprovider.c:
4017         (gst_net_time_provider_set_property):
4018         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
4019         It's in fact all issues with gst_*object_replace().
4020
4021 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4022
4023         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
4024         
4025         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4026         * pkgconfig/gstreamer-check.pc.in:
4027           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
4028
4029 2006-03-21  Edward Hervey  <edward@fluendo.com>
4030
4031         * gst/gstbuffer.h:
4032         * gst/gstevent.h:
4033         * gst/gstmessage.h:
4034         gst_[buffer|event|message]_ref() macros are replaced by a static
4035         inline functions because gcc-4.1 will about if the return value
4036         isn't used.
4037         * tests/check/gst/gstevent.c: (event_probe):
4038         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
4039
4040 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
4041
4042         * gst/gstutils.h:
4043         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
4044         the type' case. (Closes: #335195 for now). In the future, when we
4045         depend on GLib 2.10, we could also intern the type name using
4046         g_intern_static_string()
4047
4048 2006-03-20  Wim Taymans  <wim@fluendo.com>
4049
4050         * gst/gstbin.c: (gst_bin_handle_message_func),
4051         (bin_query_max_init), (bin_query_position_fold),
4052         (bin_query_position_done), (gst_bin_query):
4053         Position query should also take max of all streams.
4054
4055 2006-03-20  Wim Taymans  <wim@fluendo.com>
4056
4057         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4058         (gst_fake_src_finalize):
4059         Fix leaks in fakesrc.
4060
4061         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4062         Fix leaks in the testcase.
4063
4064 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
4065
4066         * gst/gst_private.h:
4067           add win32 specific import decoration(__declspec(dllimport)) 
4068           for all extern GstDebugCategory * variables
4069         * win32/common/libgstbase.def:
4070         * win32/common/libgstcontroller.def:
4071         * win32/common/libgstreamer.def:
4072           Add some exports, remove empty lines
4073         * win32/common/libgstdataprotocol.def:
4074         * win32/common/libgstdataprotocol.dsp:
4075         * win32/common/libgstnet.def:
4076         * win32/common/libgstnet.dsp:
4077           new project files and exportation files added
4078         
4079 2006-03-19  Wim Taymans  <wim@fluendo.com>
4080
4081         * tests/check/libs/basesrc.c: (eos_event_counter):
4082         Use proper return value for probe.
4083
4084 2006-03-17  Wim Taymans  <wim@fluendo.com>
4085
4086         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4087         (gst_pad_push):
4088         Don't leak buffers, caps and pads on negotiation errors.
4089
4090 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
4091
4092         * docs/faq/cvs.xml:
4093         * docs/faq/dependencies.xml:
4094         * docs/faq/developing.xml:
4095         * docs/faq/faq.xml:
4096         * docs/faq/general.xml:
4097         * docs/faq/getting.xml:
4098         * docs/faq/legal.xml:
4099         * docs/faq/troubleshooting.xml:
4100         * docs/faq/using.xml:
4101         Faq review and update.
4102
4103 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
4104
4105         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4106         (gst_pad_push):
4107         Don't pound the cpu to pieces by checking get_caps when accept_caps
4108         is called with the same caps as the pad already has.
4109         Use GST_DEBUG_OBJECT when outputting caps change information.
4110
4111 2006-03-15  Wim Taymans  <wim@fluendo.com>
4112
4113         * gst/gstclock.c: (gst_clock_class_init):
4114         Fix docs.
4115
4116 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
4117
4118         * gst/gstbuffer.h:
4119         Documentation fix.
4120
4121         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
4122         (gst_pad_accept_caps), (gst_pad_configure_sink),
4123         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
4124         Make the default acceptcaps behaviour be to check the requested 
4125         caps against the gst_pad_get_caps output. 
4126
4127         Ensure that gst_pad_accept_caps is used to check caps when a pad
4128         doesn't have a setcaps function, so that pads automatically refuse 
4129         caps that they don't allow in their pad template. (Fixes #332986)
4130
4131         When a buffer with attached caps is pushed, ensure that the source 
4132         pad receives those caps even if the element didn't call
4133         gst_pad_set_caps first.
4134
4135 2006-03-15  Wim Taymans  <wim@fluendo.com>
4136
4137         * libs/gst/base/gstadapter.c:
4138         Add some docs.
4139
4140 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4141
4142         * win32/common/libgstbase.def:
4143         * win32/common/libgstcontroller.def:
4144         * win32/common/libgstreamer.def:
4145           Add a whole bunch of missing functions (#334434).
4146
4147 2006-03-14  Wim Taymans  <wim@fluendo.com>
4148
4149         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4150         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4151         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4152         Better debug info when we receive a segment event.
4153         Reorganize a bit so we can pass the get_times() results around.
4154         Use the segment format when calculating the running time.
4155         Don't do QoS is sync is disabled or we have no clock or the
4156         element does not want us to sync to the clock.
4157         Don't drop buffers if QoS is disabled for now.
4158
4159 2006-03-14  Wim Taymans  <wim@fluendo.com>
4160
4161         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4162         Marked the stats property as unimplemented so people don't get
4163         wild ideas.
4164         Add debug message when regression goes wrong.
4165         Added some more docs.
4166
4167 2006-03-14  Wim Taymans  <wim@fluendo.com>
4168
4169         * gst/gstsegment.c: (gst_segment_to_stream_time):
4170         Return correct return type in case of errors.
4171
4172 2006-03-14  Wim Taymans  <wim@fluendo.com>
4173
4174         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4175           Don't segfault on invalid formats.
4176
4177 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4178
4179         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4180           Can't use gst_segment_to_running_time() when the segment
4181           is not in GST_TIME_FORMAT (like with filesink, for example).
4182           Stops flac encoding pipelines from spewing critical warnings
4183           at EOS (#331248).
4184           
4185 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4186
4187         * gst/gstpipeline.c: (gst_pipeline_class_init):
4188           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4189
4190         * plugins/elements/gsttypefindelement.c:
4191         (gst_type_find_element_handle_event):
4192           Don't try to typefind empty streams.
4193
4194 2006-03-14  Wim Taymans  <wim@fluendo.com>
4195
4196         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4197         (gst_base_sink_do_qos):
4198         Separate QoS calculation.
4199         Only drop buffers when lateness is bigger than the 
4200         duration of the buffer.
4201
4202 2006-03-13  Wim Taymans  <wim@fluendo.com>
4203
4204         * gst/gstpipeline.c: (gst_pipeline_set_property),
4205         (gst_pipeline_get_property), (do_pipeline_seek),
4206         (gst_pipeline_change_state), (gst_pipeline_set_delay),
4207         (gst_pipeline_get_delay):
4208         Don't deadlock when reading properties.
4209
4210 2006-03-13  Wim Taymans  <wim@fluendo.com>
4211
4212         * libs/gst/base/gstbasetransform.c:
4213         (gst_base_transform_class_init), (gst_base_transform_init),
4214         (gst_base_transform_sink_event),
4215         (gst_base_transform_sink_eventfunc),
4216         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4217         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4218         (gst_base_transform_set_property),
4219         (gst_base_transform_get_property),
4220         (gst_base_transform_change_state), (gst_base_transform_update_qos),
4221         (gst_base_transform_set_qos_enabled),
4222         (gst_base_transform_is_qos_enabled):
4223         * libs/gst/base/gstbasetransform.h:
4224         Make basetransform virtual method for src events too.
4225         Handle QOS in basetransform.
4226         API: gst_base_transform_update_qos()
4227         API: gst_base_transform_set_qos_enabled()
4228         API: gst_base_transform_is_qos_enabled()
4229
4230 2006-03-13  Wim Taymans  <wim@fluendo.com>
4231
4232         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4233         (gst_base_sink_do_sync):
4234         Small cleanups.
4235         Use QOS debug category.
4236
4237 2006-03-13  Wim Taymans  <wim@fluendo.com>
4238
4239         * plugins/elements/gstqueue.c:
4240         Very small doc update.
4241
4242 2006-03-13  Wim Taymans  <wim@fluendo.com>
4243
4244         * gst/gst_private.h:
4245         * gst/gstinfo.c: (_gst_debug_init):
4246         Added QOS debug category
4247
4248 2006-03-13  Wim Taymans  <wim@fluendo.com>
4249
4250         * docs/gst/gstreamer-sections.txt:
4251         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4252         * gst/gstbin.h:
4253         * gst/gstbus.c: (gst_bus_class_init):
4254         * gst/gstbus.h:
4255         * gst/gstclock.c:
4256         * gst/gstelement.c: (gst_element_set_locked_state):
4257         * gst/gstsegment.c:
4258         Documentation updates.
4259
4260         * gst/gstpipeline.c: (gst_pipeline_get_type),
4261         (gst_pipeline_class_init), (gst_pipeline_init),
4262         (gst_pipeline_dispose), (gst_pipeline_set_property),
4263         (gst_pipeline_get_property), (do_pipeline_seek),
4264         (gst_pipeline_send_event), (gst_pipeline_change_state),
4265         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4266         (gst_pipeline_get_delay):
4267         * gst/gstpipeline.h:
4268         Added methods for setting the delay.
4269         API: gst_pipeline_set_delay()
4270         API: gst_pipeline_get_delay()
4271         Add pipeline debug category
4272         Various cleanups.
4273         Updated docs.
4274         Don't reset stream time when seek failed.
4275
4276 2006-03-13  Wim Taymans  <wim@fluendo.com>
4277
4278         * docs/design/draft-klass.txt:
4279         * docs/design/part-clocks.txt:
4280         * docs/design/part-events.txt:
4281         * docs/design/part-gstbin.txt:
4282         * docs/design/part-gstpipeline.txt:
4283         * docs/design/part-messages.txt:
4284         * docs/design/part-negotiation.txt:
4285         * docs/design/part-overview.txt:
4286         * docs/design/part-preroll.txt:
4287         * docs/design/part-seeking.txt:
4288         * docs/design/part-states.txt:
4289         * docs/design/part-streams.txt:
4290         Documentation updates.
4291
4292 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4293
4294         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4295         us to leak strings...
4296
4297 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4298
4299         * libs/gst/net/gstnettimeprovider.c:
4300           fix docs
4301         * win32/common/config.h:
4302           update
4303
4304 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4305
4306         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4307
4308         * configure.ac:
4309           Don't check for libgnomeui (leftover from old examples
4310           that aren't built or disted any longer) (#334303).
4311           
4312 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4313
4314         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4315         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4316           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4317           there's no space left on the device.
4318
4319 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4320
4321         * gst/gstclock.h:
4322           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4323           to cast the input to GstClockTime before comparing with
4324           another GstClockTime value.
4325
4326 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4327
4328         * configure.ac:
4329           back to trunk
4330
4331 === release 0.10.4 ===
4332
4333 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
4334
4335         * configure.ac:
4336           releasing 0.10.4, "Light"
4337
4338 2006-03-10  Michael Smith  <msmith@fluendo.com>
4339
4340         * libs/gst/dataprotocol/dataprotocol.c:
4341           Fix docs for dataprocotol to not get the return types completely
4342           wrong for a few functions.
4343
4344 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4345
4346         * docs/gst/gstreamer-sections.txt:
4347         * gst/gstpipeline.c: (gst_pipeline_class_init),
4348         (gst_pipeline_init), (gst_pipeline_set_property),
4349         (gst_pipeline_get_property), (gst_pipeline_change_state),
4350         (gst_pipeline_set_auto_flush_bus),
4351         (gst_pipeline_get_auto_flush_bus):
4352         * gst/gstpipeline.h:
4353           Add new API: gst_pipeline_set_auto_flush_bus() and
4354           gst_pipeline_get_auto_flush_bus() to disable automatic
4355           flushing of the pipeline's GstBus when going from READY
4356           to NULL state (#332045).
4357
4358 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4359
4360         * docs/gst/gstreamer-sections.txt:
4361         * gst/gsturi.c: (gst_uri_has_protocol):
4362         * gst/gsturi.h:
4363            Add new API: gst_uri_has_protocol() (#333779).
4364
4365 2006-03-09  Wim Taymans  <wim@fluendo.com>
4366
4367         * gst/gstclock.c: (gst_clock_entry_new),
4368         (gst_clock_id_compare_func), (gst_clock_id_wait),
4369         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
4370         (gst_clock_init), (gst_clock_get_internal_time),
4371         (gst_clock_set_master), (do_linear_regression),
4372         (gst_clock_add_observation), (gst_clock_set_property):
4373         * gst/gstclock.h:
4374         Review docs.
4375         Small cleanups.
4376         Fix a possible segfault when the window-size is made smaller.
4377         Calculate jitter before performing the clock wait. Ideally
4378         the clock implementation should calculate jitter but we need
4379         API breakage for that.
4380
4381         * gst/gstsystemclock.c: (gst_system_clock_init):
4382         Docs review.
4383         
4384         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4385         Remove leftover else
4386
4387         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4388         (gst_systemclock_suite):
4389         Added check to test GST_CLOCK_DIFF.
4390
4391 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4392
4393         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
4394         (gst_type_find_helper_get_range):
4395           If we are provided with the size, we should implement
4396           GstTypeFind::get_length, so that typefind functions who
4397           want to can actually peek at the middle of a file.
4398
4399 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
4400
4401         * docs/manual/advanced-dataaccess.xml:
4402           Add some very very basic error checking.
4403
4404         * docs/pwg/appendix-checklist.xml:
4405           Some updates to the list of things to check when writing an element.
4406
4407 2006-03-08  Wim Taymans  <wim@fluendo.com>
4408
4409         * docs/design/part-element-transform.txt:
4410         Added some docs about the design of tranform elements.
4411
4412         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4413         (gst_base_src_loop), (gst_base_src_change_state):
4414         Mark buffers with the DISCONT flag.
4415
4416 2006-03-08  Michael Smith  <msmith@fluendo.com>
4417
4418         * gst/gstregistry.h:
4419         * gst/gstregistryxml.c: (gst_registry_save),
4420         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
4421         (gst_registry_xml_save_pad_template),
4422         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
4423         (gst_registry_xml_write_cache):
4424           Rewrite registry-saving to avoid race conditions and check for
4425           failed writes.
4426
4427 2006-03-08  Wim Taymans  <wim@fluendo.com>
4428
4429         * libs/gst/base/gstbasetransform.c:
4430         (gst_base_transform_transform_caps),
4431         (gst_base_transform_transform_size),
4432         (gst_base_transform_prepare_output_buffer),
4433         (gst_base_transform_get_unit_size),
4434         (gst_base_transform_buffer_alloc),
4435         (gst_base_transform_handle_buffer),
4436         (gst_base_transform_change_state):
4437         Cleanups, separate normal flow from errors, add sensible
4438         DEBUG lines.
4439         Don't try to renegotiate when allocating an output buffer.
4440         Also copy DISCONT buffer flag when copying a buffer.
4441         Reset the transform after we finish streaming, not during.
4442
4443 2006-03-08  Wim Taymans  <wim@fluendo.com>
4444
4445         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4446         Use last buffer timestamp in qos message.
4447
4448 2006-03-07  Wim Taymans  <wim@fluendo.com>
4449
4450         Patch by: Christophe Fergeau
4451
4452         * docs/pwg/advanced-tagging.xml:
4453         * docs/pwg/building-pads.xml:
4454           fixes #333416
4455
4456 2006-03-07  Wim Taymans  <wim@fluendo.com>
4457
4458         * docs/libs/gstreamer-libs-sections.txt:
4459         Added basesink new methods.
4460
4461         * gst/gstevent.c:
4462         * gst/gstevent.h:
4463         Docs updates. Flesh out the QoS docs.
4464
4465         * libs/gst/base/gstadapter.c:
4466         Small doc clarification about ownership and flushing.
4467
4468         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
4469         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4470         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
4471         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4472         * libs/gst/base/gstbasesink.h:
4473         API additions: 
4474         Added new methods to allow subclass to control max-lateness 
4475         and sync.
4476         Generate very basic QoS events based on last sync observation.
4477         Updated docs, fix typo, added some QoS blurb.
4478
4479         * libs/gst/base/gstbasesrc.c:
4480         Remove obsolete _get_state() calls from docs.
4481
4482 2006-03-07  Wim Taymans  <wim@fluendo.com>
4483
4484         * docs/libs/gstreamer-libs-sections.txt:
4485         * libs/gst/base/gstbasetransform.h:
4486         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
4487         Fix docs for GstBaseSrc.
4488
4489 2006-03-07  Wim Taymans  <wim@fluendo.com>
4490
4491         * docs/gst/gstreamer-sections.txt:
4492         * gst/gstbuffer.h:
4493         * gst/gstvalue.c:
4494         * libs/gst/base/gstbasetransform.h:
4495         Small documentation fixes.
4496
4497 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4498
4499         * gst/gstvalue.c:
4500           Document thread-unsafety of gst_value_register_foo_func()
4501           when used at the same time as gst_value_foo() (#322628).
4502
4503 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4504
4505         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
4506         (gst_push_src_check_get_range):
4507           Push sources don't support pull mode by default.
4508
4509 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4510
4511         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4512         (gst_base_src_init), (gst_base_src_pad_check_get_range),
4513         (gst_base_src_default_check_get_range):
4514         * libs/gst/base/gstbasesrc.h:
4515           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
4516           provide default implementation, and rename
4517           gst_base_src_check_get_range() to
4518           gst_base_src_pad_check_get_range() for clarity.
4519
4520 2006-03-06  Wim Taymans  <wim@fluendo.com>
4521
4522         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4523         Make property overridable.
4524
4525 2006-03-06  Wim Taymans  <wim@fluendo.com>
4526
4527         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4528         (gst_base_sink_init), (gst_base_sink_set_property),
4529         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4530         * libs/gst/base/gstbasesink.h:
4531         API addition: Make max-lateness a property.
4532
4533 2006-03-06  Wim Taymans  <wim@fluendo.com>
4534
4535         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
4536         (gst_base_sink_do_sync), (gst_base_sink_render_object):
4537         Don't ever draw a frame that is >10ms late.
4538
4539 2006-03-06  Michael Smith  <msmith@fluendo.com>
4540
4541         * gst/gstmessage.c: (_gst_message_copy):
4542           When copying a message, set the parent_refcount of the enclosed
4543           structure to point at the copy, not the original message.
4544
4545 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4546
4547         Patch by: Christophe Fergeau
4548
4549         * gst/gstutils.h:
4550           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
4551           usable in c++ code (#333417)
4552
4553 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4554
4555         * gst/gstclock.h:
4556           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
4557
4558 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
4559
4560         * libs/gst/base/gstbasetransform.c:
4561         (gst_base_transform_transform_caps):
4562           Make sure caps are writable before passing them to
4563           gst_caps_append().
4564
4565 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4566
4567         * gst/gsterror.h:
4568           Fix some minor docs errors.
4569
4570 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4571
4572           Patch by: Ross Burton <ross at burtonini dot com>
4573
4574         * gst/gsterror.c: (_gst_resource_errors_init):
4575         * gst/gsterror.h:
4576           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
4577
4578 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4579
4580         * gst/gst.c:
4581         Add a check and output a g_warning when GStreamer is built
4582         against GLib 2.6 but running against 2.8 or higher, and vice 
4583         versa. (Closes: #323542)
4584
4585 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4586
4587         * gst/parse/parse.l:
4588           Commit patch for parse_launch syntax from #331255. Removes 
4589           support for quoted strings and mimetypes when writing filtered 
4590           caps. See the bug report for more details - I'm pretty sure this
4591           obscure feature is not in use by _anyone_ anywhere.
4592
4593           With this simple change, the size of the gstreamer.so here 
4594           drops from 2193KB to 1565KB.
4595
4596 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4597
4598         * plugins/elements/gsttypefindelement.h:
4599         * plugins/elements/gsttypefindelement.c:
4600         (gst_type_find_element_src_event), (start_typefinding),
4601         (stop_typefinding), (gst_type_find_element_handle_event),
4602         (gst_type_find_element_chain),
4603         (gst_type_find_element_chain_do_typefinding):
4604           Use gst_type_find_helper_for_buffer() for chain-based
4605           typefinding.
4606
4607 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4608
4609         * plugins/elements/gsttypefindelement.c:
4610         (gst_type_find_element_class_init),
4611         (gst_type_find_element_set_property),
4612         (gst_type_find_element_get_property):
4613           Deprecate "maximum" property (not only was it only taken into
4614           account for typefinding in push-mode anyway, it also was never
4615           actually possible to set it in the first place because the
4616           property was registered with the numeric property ID for the
4617           "minimum" property). Register "maximum" property correctly,
4618           for the sake of future copy'n'pasters. Remove some cruft
4619           from property get/set functions.
4620
4621 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4622
4623         * plugins/elements/gsttypefindelement.c:
4624         (gst_type_find_element_activate):
4625           Use gst_type_find_helper_get_range() here, so we
4626           can honour the "minimum" property and also emit
4627           the signal with the correct probability of the found caps.
4628
4629 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
4630
4631         * docs/libs/gstreamer-libs-sections.txt:
4632         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
4633         (helper_find_suggest), (gst_type_find_helper_get_range),
4634         (gst_type_find_helper):
4635         * libs/gst/base/gsttypefindhelper.h:
4636           New API: gst_type_find_helper_get_range() (#333042).
4637
4638 2006-03-02  Michael Smith  <msmith@fluendo.com>
4639
4640         * gst/gstregistryxml.c: (load_feature):
4641           Asserting on a failure to read part of the registry is Not Cool.
4642           Just log a warning and return NULL (which is already handled)
4643
4644 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
4645
4646         * win32/common/libgstbase.def:
4647           added export of gst_type_find_helper_for_buffer
4648         * win32/common/libgstbase.def:
4649           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
4650           gst_ghost_pad_get_target
4651
4652 2006-02-28  Wim Taymans  <wim@fluendo.com>
4653
4654         * docs/design/draft-klass.txt:
4655         We use Filter now.
4656         Added Connector to mark elements that are only used to
4657         allow pipeline connections.
4658         Moved Debug to extra feature since most of them are 
4659         functionally something else.
4660
4661 2006-02-28  Wim Taymans  <wim@fluendo.com>
4662
4663         * docs/design/draft-klass.txt:
4664         Some updates and clarifications.
4665
4666 2006-02-28  Wim Taymans  <wim@fluendo.com>
4667
4668         * docs/design/draft-klass.txt:
4669         Proposal for klass field values.
4670
4671         * docs/design/part-streams.txt:
4672         Start of a doc describing stream anatomy.
4673
4674 2006-02-28  Wim Taymans  <wim@fluendo.com>
4675
4676         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
4677         Help the compiler a bit with type registration.
4678         Use existing forward cod path instead of duplicating it when 
4679         handling a message.
4680         
4681         * gst/gstbus.c: (gst_bus_get_type):
4682         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
4683         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
4684         * gst/gstclock.c: (gst_clock_get_type):
4685         * gst/gstelement.c: (gst_element_get_type),
4686         * gst/gstelementfactory.c: (gst_element_factory_get_type):
4687         * gst/gstindexfactory.c: (gst_index_factory_get_type):
4688         * gst/gstminiobject.c: (gst_mini_object_get_type):
4689         * gst/gstpad.c: (gst_pad_get_type):
4690         * gst/gstsegment.c: (gst_segment_get_type):
4691         * gst/gststructure.c: (gst_structure_get_type):
4692         * gst/gstsystemclock.c: (gst_system_clock_get_type):
4693         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
4694         * gst/gstvalue.c:
4695         Help compiler with type registration.
4696
4697         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4698         Small doc update.
4699
4700 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4701
4702         * plugins/elements/gsttypefindelement.c:
4703         (gst_type_find_element_handle_event):
4704           When we get an EOS event and have not found a type yet
4705           (most likely because we had not yet accumulated
4706           TYPE_FIND_MIN_SIZE of data yet), try to determine the
4707           type given the data we have so far. Fixes typefinding
4708           for very short streams again, most notably quicktime
4709           redirections as used on Apple's trailer site (#331701).
4710
4711 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4712
4713         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
4714         (gst_type_find_helper):
4715           Try typefinding factories with the highest rank first.
4716
4717 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4718
4719         * docs/libs/gstreamer-libs-docs.sgml:
4720         * docs/libs/gstreamer-libs-sections.txt:
4721         * libs/gst/base/gsttypefindhelper.c:
4722           Add section for typefind helper and add documentation
4723           for the old and the new function.
4724
4725 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4726
4727         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
4728         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
4729         (gst_type_find_helper_for_buffer):
4730         * libs/gst/base/gsttypefindhelper.h:
4731           New API: gst_type_find_helper_for_buffer() (#332723).
4732           
4733 2006-02-27  Michael Smith  <msmith@fluendo.com>
4734
4735         Patch by: Loïc Minier
4736
4737         * configure.ac:
4738         * docs/Makefile.am:
4739         * docs/slides/Makefile.am:
4740           prevent CVS directories getting disted.
4741
4742 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4743
4744         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
4745           Use the REFCOUNTING category for caps refcounting.
4746           
4747 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4748
4749         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4750           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
4751
4752 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4753
4754         * plugins/elements/gsttypefindelement.c:
4755         (gst_type_find_element_activate):
4756           Use gst_pad_check_pull_range() before _activate_pull()
4757           to avoid unnecessary open/close (see #331690).
4758
4759 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4760
4761         * gst/gstutils.c:
4762           Docs enhancement: make it crystal clear what the
4763           gst_pad_add_*_probe() callbacks should look like.
4764
4765 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4766
4767         * libs/gst/base/gstbasesrc.c:
4768           Document how applications can stop recording from
4769           live sources (see #330996).
4770
4771 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4772
4773         * tests/check/Makefile.am:
4774         * tests/check/libs/basesrc.c: (eos_event_counter),
4775         (basesrc_eos_events_pull), (basesrc_eos_events_push),
4776         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
4777         (gst_basesrc_suite), (main):
4778           ... and add some tests for the base source EOS stuff.
4779
4780 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4781
4782         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
4783           Test case originally showed the problem fixed below,
4784           but was then amended. Add checks back at the place
4785           where they used to be.
4786
4787 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4788
4789         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4790         (gst_base_src_init), (gst_base_src_loop),
4791         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4792         (gst_base_src_change_state):
4793         * libs/gst/base/gstbasesrc.h:
4794           Don't unconditionally send EOS when going from PAUSED to
4795           READY state, esp. make sure we don't send two EOS events
4796           in some cases (e.g. one when reaching EOS and one when
4797           going from PAUSED to READY). Also, we don't want to send
4798           EOS events when operating in pull mode. However, we do
4799           want to send an EOS event when shutting down a live
4800           source explicitly, for example (fixes #330996).
4801           
4802 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4803
4804         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4805           Update src->read_position after a seek when not using mmap.
4806           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
4807
4808 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
4809
4810         * gst/Makefile.am:
4811         * gst/gstparse.h:
4812         * gst/gstutils.c:
4813         * gst/gstutils.h:
4814         Make things work with --disable-parse as they do with 
4815         --disable-load-save - the symbols involved disappear, but the
4816         header is still installed and GST_DISABLE_PARSE is included via
4817         gstconfig.h
4818
4819 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4820
4821         * libs/gst/base/gstbasetransform.c:
4822         (gst_base_transform_change_state): Fix a stupid bug. I was 
4823         sure I compiled that.
4824
4825 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4826
4827         * gst/gstpad.c: (gst_pad_set_blocked_async):
4828         * gst/gstutils.c: (gst_pad_add_data_probe),
4829         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4830         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4831         (gst_pad_remove_buffer_probe): Make those function act on the
4832         ghostpad target when it's a ghostpad. (Closes #331727)
4833
4834 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4835
4836         * libs/gst/base/gstbasetransform.c:
4837         (gst_base_transform_change_state): Make basetransform reusable.
4838         (Closes #331898)
4839
4840 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
4841
4842         * docs/random/release:
4843         Move the current documentation of how to do a release to the top
4844         of the file.
4845
4846         * gst/gstbin.c: (gst_bin_class_init),
4847         (gst_bin_handle_message_func):
4848         Allow multiple state-recalculation threads. (Closes #328873)
4849
4850 2006-02-19  Julien MOUTTE  <julien@moutte.net>
4851
4852         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
4853         * gst/gstpad.c: (gst_pad_set_event_function),
4854         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4855         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
4856         2 strings. You can't use the STR_NULL macro on that.
4857
4858 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
4859
4860         * gst/gstpad.c: (gst_pad_set_event_function),
4861         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4862         (gst_pad_set_getcaps_function)
4863         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
4864           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
4865           So now, we can use --gst-debug-level=5 on Windows
4866         * win32/common/libgstcontroller.def:
4867           Added export of gst_controller_init
4868         * win32/vs6/libgstcontroller.dsp:
4869           Fixed Release post build configuration
4870
4871 2006-02-17  Wim Taymans  <wim@fluendo.com>
4872
4873         * tests/check/gst/gstquery.c: (GST_START_TEST):
4874         Added another check.
4875
4876 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
4877
4878         * plugins/elements/gsttypefindelement.c: (find_peek):
4879           We can do peeks at non-zero offsets, as long as they
4880           fall within the buffer we have.
4881
4882 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
4883
4884         * tests/check/Makefile.am:
4885         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
4886         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
4887         (parse_suite), (main):
4888           Add testsuite for parse launch syntax
4889
4890 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
4891
4892         * plugins/elements/gsttypefindelement.c:
4893         (gst_type_find_element_chain):
4894           When typefinding is unsuccessful in the chain function, don't
4895           error out immediately. Only error out with NO_CAPS_FOUND if
4896           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
4897           otherwise simply wait for more data so we can try typefinding
4898           again with more data later. Also, don't attempt to typefind
4899           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
4900           this should improve typefinding from network sources where the
4901           size of the first buffer can be somewhat random.
4902
4903 2006-02-14  Wim Taymans  <wim@fluendo.com>
4904
4905         * docs/gst/gstreamer-sections.txt:
4906         * gst/gstpadtemplate.c:
4907         * gst/gstpadtemplate.h:
4908         Fix padtemplate docs, fixes #328805.
4909
4910 2006-02-14  Wim Taymans  <wim@fluendo.com>
4911
4912         * tools/gst-launch.c: (main):
4913         NO_PREROLL is not an ERROR so don't send confusing messages
4914         to the user.
4915
4916 2006-02-14  Wim Taymans  <wim@fluendo.com>
4917
4918         Patch by: Torsten Schoenfeld
4919
4920         * gst/gstregistry.c: (gst_registry_get_default),
4921         (_gst_registry_cleanup):
4922         Protect default registry with lock and ref/sink it.
4923         Fixes #324818
4924
4925 2006-02-14  Wim Taymans  <wim@fluendo.com>
4926
4927         * gst/gstbuffer.c:
4928         * gst/gstquery.c: (gst_query_list_add_format),
4929         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4930         (gst_query_parse_formats_nth):
4931         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4932         Docs fixes.
4933
4934 2006-02-14  Wim Taymans  <wim@fluendo.com>
4935
4936         * docs/gst/gstreamer-sections.txt:
4937         Reworked query docs.
4938
4939         * gst/gstquery.c: (gst_query_new_formats),
4940         (gst_query_list_add_format), (gst_query_set_formats),
4941         (gst_query_set_formatsv), (gst_query_parse_formats_length),
4942         (gst_query_parse_formats_nth):
4943         * gst/gstquery.h:
4944         Flesh out formats query, added some new methods.
4945         Fix part of #324398.
4946
4947         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
4948         Added query creation tests.
4949
4950 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
4951
4952         * gst/gstpad.c: (fixate_value):
4953         Add a default fixation for fraction lists.
4954
4955 2006-02-13  Wim Taymans  <wim@fluendo.com>
4956
4957         * gst/gsttask.c: (gst_task_init), (gst_task_func),
4958         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
4959         (gst_task_join):
4960         * gst/gsttask.h:
4961         Detect and warn for obvious deadlocks. fixes #320340
4962         Fix error case where lock was not released.
4963
4964         * tests/check/Makefile.am:
4965         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
4966         (task_func), (gst_element_suite), (main):
4967         Add task check.
4968
4969 2006-02-13  Wim Taymans  <wim@fluendo.com>
4970
4971         * docs/gst/gstreamer-sections.txt:
4972         * gst/gstbus.c:
4973         Add new functions to docs.
4974
4975 2006-02-13  Wim Taymans  <wim@fluendo.com>
4976
4977         * docs/design/part-TODO.txt:
4978         Updated TODO list, basesrc supports seeking to non-bytes
4979         formats.
4980
4981         * docs/design/part-element-sink.txt:
4982         Update docs.
4983
4984         * gst/gstbin.c: (bin_replace_message),
4985         (gst_bin_handle_message_func):
4986         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
4987         * gst/gstevent.c: (gst_event_finalize):
4988         * gst/gstpad.c: (gst_pad_event_default_dispatch),
4989         (gst_pad_send_event):
4990         Use shiny new _TYPE_NAME macros.
4991
4992         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4993         Move debug statement up.
4994
4995         * gst/gstelement.c: (gst_element_set_locked_state):
4996         Add some debugging.
4997
4998 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
4999
5000         * docs/gst/gstreamer-sections.txt:
5001         * gst/gstmessage.h:
5002         * gst/gstquery.h:
5003           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
5004           macros (#330906). Also, document the already existing
5005           GST_QUERY_TYPE macro.
5006
5007 2006-02-13  Wim Taymans  <wim@fluendo.com>
5008
5009         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
5010         (event_probe), (GST_START_TEST):
5011         Only events up to the pipeline EOS are counted, there are
5012         some more when going to NULL currently which we don't care
5013         about for now.
5014
5015 2006-02-13  Wim Taymans  <wim@fluendo.com>
5016
5017         * gst/gstpad.c: (gst_pad_send_event):
5018         Correctly check flushing and emit probes. fixes #330125
5019
5020 2006-02-10  Andy Wingo  <wingo@pobox.com>
5021
5022         * gst/gstbus.c (gst_bus_class_init): Declare our private data
5023         structure.
5024         (gst_bus_init): Cache the location of the private data in the
5025         instance structure.
5026         (gst_bus_enable_sync_message_emission) 
5027         (gst_bus_disable_sync_message_emission): Implement new public
5028         functions.
5029         (gst_bus_post): Emit the sync-message signal if the user asked for
5030         it. Fixes #330684.
5031
5032         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
5033         location of the bus-private structure.
5034         (gst_bus_enable_sync_message_emission)
5035         (gst_bus_disable_sync_message_emission): API addition
5036
5037 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
5038
5039         Patch by: Vincent Torri
5040
5041         * docs/pwg/building-boiler.xml:
5042         PWG patch from #326800
5043
5044 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5045
5046         * configure.ac:
5047         * docs/Makefile.am:
5048         * docs/design/Makefile.am:
5049           Dist design docs.
5050
5051 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5052
5053         * configure.ac:
5054           back to CVS
5055
5056 === release 0.10.3 ===
5057
5058 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
5059
5060         * configure.ac:
5061           releasing 0.10.3, "Like a virgin"
5062
5063 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5064
5065         * configure.ac:
5066           2nd prerelease of 0.10.3
5067           Bump libtool versioning.
5068
5069 2006-02-07  Andy Wingo  <wingo@pobox.com>
5070
5071         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
5072         update last_stop if we're in TIME format and the timestamp is
5073         valid.
5074
5075         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
5076         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
5077         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
5078         If we get a new newsegment with a different format, adapt
5079         accordingly.
5080
5081         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
5082         of 0. Not a problem, really.
5083
5084         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
5085         warn if sync=true.
5086
5087 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
5088
5089         * configure.ac:
5090           Prelease of 0.10.3
5091
5092 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
5093
5094         * win32/vs7:
5095           project files updated to the default vs7 configuration
5096         * win32/common/libgstbase.def:
5097         * win32/common/libgstreamer.def:
5098           added new symbols,
5099           removed empty lines,
5100           sorted all exported symbols alphabetically
5101         * win32/common/dirent.c:
5102         * win32/common/dirent.h:
5103         * win32/common/gchar.h:
5104           use windows line end.
5105           
5106 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5107
5108         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5109           Send EOS event when stopping.
5110
5111 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5112
5113         * docs/README:
5114           Tell folks what to do if the plugin-foobar.xml file
5115           hasn't been generated for a newly-added plugin.
5116
5117 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5118
5119         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5120         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5121         (gst_collect_pads_start), (gst_collect_pads_stop),
5122         (gst_collect_pads_event): Collectpads now holds a reference
5123         to the GstPad that was added. Indeed we don't want to look
5124         at pads that might just go away with no warning...
5125
5126 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5127
5128         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5129         (gst_collect_pads_start), (gst_collect_pads_stop),
5130         (gst_collect_pads_event), (gst_collect_pads_chain):
5131         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
5132         Mark Nauwelaerts's patch on bug #328491.
5133
5134 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5135
5136         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5137         (gst_utils_suite):
5138           Add some simple tests for gst_parse_bin_from_description() and
5139           gst_bin_find_unconnected_pad() (#329069).
5140
5141 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5142
5143         * tools/gst-launch.c: (event_loop), (main):
5144           Catch errors during preroll (#320084).
5145
5146 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
5147
5148         * plugins/elements/gsttypefindelement.c:
5149         (gst_type_find_element_activate):
5150           Post TYPE_NOT_FOUND error message when typefinding
5151           is unsuccessful in the activate function as well.
5152
5153 2006-02-02  Wim Taymans  <wim@fluendo.com>
5154
5155         * docs/design/part-element-sink.txt:
5156         Updated doc.
5157
5158 2006-02-02  Wim Taymans  <wim@fluendo.com>
5159
5160         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5161         (gst_base_sink_render_object),
5162         (gst_base_sink_queue_object_unlocked):
5163         Only keep track of prerollable items when we are 
5164         prerolling.
5165         Before rendering after preroll, always check if we
5166         have queued items.
5167         Added some more debugging.
5168
5169 2006-02-02  Wim Taymans  <wim@fluendo.com>
5170
5171         * gst/gstelement.c: (gst_element_continue_state),
5172         (gst_element_set_state_func), (gst_element_change_state):
5173         Fixed #326576, been running this for quite some time with
5174         no regressions at all.
5175
5176 2006-02-02  Wim Taymans  <wim@fluendo.com>
5177
5178         * common/gst.supp:
5179         Added more suppressions
5180
5181 2006-02-02  Wim Taymans  <wim@fluendo.com>
5182
5183         * docs/design/part-element-sink.txt:
5184         Updated document.
5185
5186         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5187         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5188         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5189         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5190         (gst_base_sink_do_sync), (gst_base_sink_render_object),
5191         (gst_base_sink_preroll_object),
5192         (gst_base_sink_queue_object_unlocked),
5193         (gst_base_sink_queue_object), (gst_base_sink_event),
5194         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5195         (gst_base_sink_loop), (gst_base_sink_activate_pull),
5196         (gst_base_sink_get_position), (gst_base_sink_change_state):
5197         * libs/gst/base/gstbasesink.h:
5198         Totally refactored matching the design doc.
5199         Use two segments, one to clip incomming buffers and another to
5200         perform sync.
5201         Handle queueing correctly, bypass the queue when playing.
5202         Make EOS cancelable.
5203         Handle errors correctly when operating in pull based mode.
5204
5205         * tests/check/elements/fakesink.c: (GST_START_TEST),
5206         (fakesink_suite):
5207         Added new check for sinks.
5208
5209 2006-02-02  Wim Taymans  <wim@fluendo.com>
5210
5211         * gst/gstsegment.c: (gst_segment_clip):
5212         No reason to refuse to clip when start == -1
5213
5214 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
5215
5216         * docs/README:
5217         * docs/manual/intro-basics.xml:
5218         * docs/manual/intro-preface.xml:
5219         * docs/manual/manual.xml:
5220         * docs/pwg/advanced-dparams.xml:
5221         * docs/pwg/intro-basics.xml:
5222         * docs/pwg/intro-preface.xml:
5223         * docs/pwg/pwg.xml:
5224           describe dparams (controller) for plugins
5225           unify docs a little more
5226
5227 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
5228
5229         * docs/gst/gstreamer-sections.txt:
5230         * gst/gstutils.c: (element_find_unconnected_pad),
5231         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5232         * gst/gstutils.h:
5233           Add new API: gst_parse_bin_from_description() and
5234           gst_bin_find_unconnected_pad() (#329069).
5235
5236 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
5237
5238         * docs/manual/README:
5239           uncover a nasty detail of the docs build
5240
5241 2006-01-31  Wim Taymans  <wim@fluendo.com>
5242
5243         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5244         Don't cache duration messages if we're not going to use or
5245         free them.
5246
5247 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
5248
5249         * docs/manual/advanced-dparams.xml:
5250         * docs/pwg/advanced-dparams.xml:
5251           more dparam docs
5252         * gst/gstindex.c:
5253           fix docs
5254         * libs/gst/controller/lib.c: (gst_controller_init):
5255           init just once
5256
5257 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5258
5259         * gst/gstelement.c: (gst_element_message_full):
5260           also show file/line/func if no additional debug was given
5261
5262 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
5263         
5264         * win32/vs7/grammar.vcproj:
5265           activate copy of autogenerated files for Release mode
5266
5267 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5268         
5269         * win32/common/libgstreamer.def:
5270           export gst_value_compare
5271
5272 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5273
5274         * plugins/elements/Makefile.am:
5275         * plugins/elements/gstelements.c:
5276         * plugins/elements/gstfdsink.c: (_do_init),
5277         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5278         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5279         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5280         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5281         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5282         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5283         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5284         * plugins/elements/gstfdsink.h:
5285         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5286
5287 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5288
5289         * docs/manual/advanced-dparams.xml:
5290           describe controller
5291         * docs/manual/advanced-position.xml:
5292         * docs/manual/basics-init.xml:
5293         * docs/manual/manual.xml:
5294         * docs/manual/titlepage.xml:
5295         * docs/pwg/pwg.xml:
5296         * docs/pwg/titlepage.xml:
5297           cleanup xml (more to come)
5298         * libs/gst/controller/gstcontroller.c:
5299           fix typo
5300
5301 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5302         
5303         * win32/vs6/grammar.dsp:
5304           add autogen of gstmarshal.c,h for Release mode
5305                 
5306 2006-01-30  Wim Taymans  <wim@fluendo.com>
5307
5308         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5309         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5310         (gst_base_sink_handle_object), (gst_base_sink_event),
5311         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5312         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5313         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5314         (gst_base_sink_deactivate), (gst_base_sink_activate),
5315         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5316         (gst_base_sink_query), (gst_base_sink_change_state):
5317         Basesink cleanups, remove some old code.
5318         Handle the case where a subclass can preroll in the render
5319         method (mostly audiosinks).
5320         Handle more events.
5321         Remove some locks around variables that are now protected
5322         with the PREROLL_LOCK (clock_id, flushing, ..).
5323         Optimize position query some more, do correct locking.
5324         Remove old code to push queue in state change, this is not
5325         needed anymore since preroll blocks on all prerollable items 
5326         now.
5327         Almost implemented as described in design doc.
5328
5329 2006-01-30  Wim Taymans  <wim@fluendo.com>
5330
5331         * tests/check/gst/gstbin.c: (GST_START_TEST):
5332         Wait for refcount to settle down before checking.
5333
5334 2006-01-30  Wim Taymans  <wim@fluendo.com>
5335
5336         * docs/design/part-element-sink.txt:
5337         Pseudo code overview of desired sink behaviour regarding
5338         preroll.
5339
5340 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5341         * win32/vs6/grammar.dsp:
5342           fix some bugs in Release mode for autogenerated files
5343                 
5344 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5345         * win32/common/libgstbase.def:
5346         * win32/common/libgstreamer.def:
5347           export some new symbols: gst_base_src_set_format,
5348           gst_iterator_next, gst_structure_set_valist
5349
5350 2006-01-29  Julien MOUTTE  <julien@moutte.net>
5351
5352         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5353         Set pad functions unconditionally. Fixes #329105.
5354
5355 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5356         * win32/vs8:
5357           add vs8 project files created by Sergey Scobich
5358
5359 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
5360
5361         * gst/gstutils.c: (gst_element_unlink_pads):
5362         Don't leak pad references.
5363
5364         * tests/check/elements/fakesink.c: (GST_START_TEST):
5365         * tests/check/generic/sinks.c: (GST_START_TEST):
5366         * tests/check/generic/states.c: (GST_START_TEST):
5367         * tests/check/gst/gstbin.c: (GST_START_TEST):
5368         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5369         * tests/check/gst/gstelement.c: (GST_START_TEST):
5370         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5371         * tests/check/gst/gstiterator.c: (GST_START_TEST):
5372         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5373         Fix a bunch of leaks. Make generic/sinks.c
5374         use a bit less cpu by slowing the buffer rate
5375         between fakesrc and fakesink.
5376         
5377 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
5378         * gst/gstcaps.c:
5379         * gst/gstelement.c: (gst_element_send_event):
5380         * gst/gstevent.c:
5381         * gst/gstinfo.c:
5382         * gst/gstiterator.c:
5383         * gst/gstiterator.h:
5384         * gst/gstpad.c: (gst_pad_send_event):
5385         * gst/gststructure.c:
5386         * gst/gsturi.c:
5387         * gst/gstutils.c:
5388         * gst/gstvalue.c:
5389         * libs/gst/base/gstadapter.c:
5390           doc fixes, to link to function, just write gst_cool_function(), don't
5391           prefix with '#'
5392
5393 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5394
5395         * plugins/elements/gsttee.c: (gst_tee_do_push),
5396         (gst_tee_handle_buffer):
5397         Always prefer an actual return value from a src
5398         pad in place of NOT_LINKED. This means we return
5399         WRONG_STATE when all src pads are WRONG_STATE
5400         instead of NOT_LINKED.
5401
5402         Lock when replacing the last message to prevent
5403         racing with the get_property method.
5404
5405         Add debug output
5406
5407 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5408
5409         * tests/check/Makefile.am:
5410         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
5411         (main):
5412         Add a very simple check that should have caught the memleak I fixed
5413         last night (if not for the slice allocator hiding it)
5414
5415 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5416
5417         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5418         (gst_bin_remove_func), (gst_bin_handle_message_func),
5419         (bin_query_duration_fold), (bin_query_generic_fold):
5420         Clean up references to the clock provider when disposed or when
5421         handling a clock-lost message from it.
5422
5423         Unref sinks when performing a query via gst_iterator_fold, as the
5424         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
5425
5426         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
5427         (gst_clock_set_master):
5428         Drop our reference to the master clock, if any, when we are disposed.
5429
5430         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
5431         Chain up in dispose. 
5432
5433 2006-01-26  Wim Taymans  <wim@fluendo.com>
5434
5435         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5436         Add some debugging.
5437
5438 2006-01-26  Julien MOUTTE  <julien@moutte.net>
5439
5440         * plugins/elements/gsttee.c: (gst_tee_do_push),
5441         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
5442         handles pad being NOT_LINKED or in WRONG_STATE.
5443
5444 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5445
5446         * win32/MANIFEST:
5447           more updating
5448
5449 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5450
5451         * win32/MANIFEST:
5452           remove obsolete entry
5453
5454 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5455
5456         * docs/gst/gstreamer-sections.txt:
5457         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
5458         (gst_bin_iterate_sources), (gst_bin_send_event):
5459         * gst/gstbin.h:
5460         * gst/gstelement.c: (gst_element_send_event):
5461         * gst/gstevent.c:
5462         * gst/gstpad.c: (gst_pad_send_event):
5463           added code for downstream events, reviewed docs in gstevent.c
5464
5465 2006-01-25  Julien MOUTTE  <julien@moutte.net>
5466
5467         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5468         We only query position using the clock in the playing state.
5469         Query peer in the other cases.
5470         * win32/common/config.h: Updates.
5471
5472 2006-01-24  Wim Taymans  <wim@fluendo.com>
5473
5474         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5475         A clock entry that is scheduled for the exact time of the
5476         clock is still in time.
5477
5478         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5479         (gst_base_sink_do_sync):
5480         Add some more debug info.
5481
5482 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5483
5484         * win32/vs7:
5485           Add new vs7 project files and solution.
5486
5487 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5488
5489         * win32/vs7:
5490           all files removed as they were out-dated.
5491
5492 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5493
5494         * docs/random/release:
5495           update notes
5496         * gst/gstbin.c: (gst_bin_init):
5497         * gst/gstbus.c: (gst_bus_new):
5498         * gst/gstbus.h:
5499         * gst/gstpipeline.c: (gst_pipeline_init):
5500           use gst_bus_new(), improve logging, fix docs
5501         * win32/common/config.h:
5502           update for cvs build
5503
5504 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5505
5506         * autogen.sh:
5507           up required version of automake to 1.7
5508
5509 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
5510
5511         * win32/common/libgstreamer.def:
5512           export gst_buffer_is_metadata_writable
5513
5514 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5515
5516         * docs/gst/gstreamer-sections.txt:
5517         * gst/gstevent.h:
5518           Add gst_event_replace() (#327001)
5519
5520 2006-01-20  Wim Taymans  <wim@fluendo.com>
5521
5522         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
5523         Make it actually compile too..
5524
5525 2006-01-20  Wim Taymans  <wim@fluendo.com>
5526
5527         * gst/gstcaps.c:
5528         Clarify behaviour of _is_equal() when passing NULL parameters.
5529
5530         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5531         (gst_pad_set_caps):
5532         Cleanups. Don't unref NULL caps.
5533         When setting the same caps, protect caps of the pad with
5534         proper lock.
5535         Use full functionality of _is_equal() when comparing caps.
5536
5537 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5538
5539         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
5540         Don't loop infinitely if there are no buffers to present. Partially
5541         fixes #327197, but collectpads is just broken for reusing elements
5542         to do multiple encodes atm.
5543
5544 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5545
5546         * tools/gst-inspect.c: (print_element_features):
5547         * tools/gst-xmlinspect.c: (main):
5548         URL_HANDLER is not a plugin feature we can search for in
5549         the registry.
5550
5551 2006-01-19  Edward Hervey  <edward@fluendo.com>
5552
5553         * gst/gstelement.c: (gst_element_pads_activate): 
5554         When activating, do src pads first, then sink pads.
5555         When de-activating, do sink pads first, then src pads.
5556
5557 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5558
5559         * docs/gst/gstreamer-sections.txt:
5560         Add gst_index_add_associationv to the docs
5561
5562 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5563
5564         * gst/gstevent.c:
5565           Fix docs typo
5566
5567         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
5568         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
5569           Do some refactoring. Doesn't actually change functionality,
5570           but makes landing the DRAIN event easier later.
5571
5572 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
5573
5574         * docs/pwg/advanced-scheduling.xml:
5575           Update from 0.9.x to 0.10 API and make example a bit
5576           clearer.
5577
5578 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5579
5580         * docs/gst/gstreamer-sections.txt:
5581         Add gst_buffer_(is|make)_metadata_writable methods.
5582
5583 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5584
5585         * docs/design/part-sparsestreams.txt:
5586         Update sparse streams doc, hopefully for greater clarity
5587
5588 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
5589
5590         * docs/design/part-events.txt:
5591         Remove mention of FILLER events.
5592         Add DRAIN event.
5593
5594         * docs/design/part-sparsestreams.txt:
5595         Write some things about using NEWSEGMENT to keep sparse streams
5596         flowing.
5597
5598 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5599
5600         * gst/gstbin.c: (gst_bin_dispose):
5601           Guard gst_object_unref call against a NULL object (dispose
5602           can theoretically be called multiple times).
5603           
5604 2006-01-18  Wim Taymans  <wim@fluendo.com>
5605
5606         * gst/gstbin.c: (gst_bin_element_set_state):
5607         * gst/gstclock.c: (gst_clock_id_wait):
5608         Added some more debug info.
5609
5610         * libs/gst/base/gstadapter.c:
5611         Added more docs.
5612
5613         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5614         (gst_base_sink_do_sync), (gst_base_sink_chain):
5615         Added some comments.
5616
5617 2006-01-18  Wim Taymans  <wim@fluendo.com>
5618
5619         * tests/check/Makefile.am:
5620         * tests/check/elements/fakesink.c: (chain_async_buffer),
5621         (chain_async), (chain_async_return), (GST_START_TEST),
5622         (fakesink_suite), (main):
5623         Added fakesink test that checks prerolling and clipping
5624         behaviour.
5625
5626         * tests/check/gst/gstutils.c: (GST_START_TEST):
5627         Make check run faster so that buildbots don't timeout.
5628
5629 2006-01-18  Wim Taymans  <wim@fluendo.com>
5630
5631         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5632         (gst_base_sink_do_sync):
5633         Some cleanups.
5634         When the sink finishes blocking on the preroll buffer, it can
5635         immediatly render it instead of rendering when the next buffer
5636         arrives.
5637
5638 2006-01-18  Wim Taymans  <wim@fluendo.com>
5639
5640         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
5641         (gst_base_sink_get_property), (gst_base_sink_do_sync),
5642         (gst_base_sink_chain):
5643         Small cleanups.
5644         GST_ELEMENT_CLOCK and sync are protected with LOCK.
5645         Don't store _last_stop if the buffer is dropped.
5646
5647 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5648
5649         * plugins/elements/gsttypefindelement.c:
5650         (gst_type_find_element_class_init):
5651           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
5652           object method handler that sets the caps on the pad and we want
5653           that to happen before we emit the signal (fixes e.g. feeding a
5654           plain text file to decodebin).
5655
5656 2006-01-18  Christian Schaller  <Christian@fluendo.com>
5657
5658         * gst/gstplugin.c: Add MPL and Proprietary as license options
5659
5660 2006-01-18  Andy Wingo  <wingo@pobox.com>
5661
5662         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
5663         symbol was exported before, it appears this was just an oversight.
5664         Fixes #168703.
5665         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
5666
5667         * gst/gstindex.c (gst_index_add_associationv): Changed int in
5668         prototype to gint. OK since this prototype was not in the header.
5669
5670 2006-01-17  Andy Wingo  <wingo@pobox.com>
5671
5672         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
5673         registry while we remove plugins.
5674
5675         * tools/gst-inspect.c (print_element_info): Don't unref the
5676         factory arg, that should be the responsibility of whatever code
5677         received the ref. Fixes a double-free when called from
5678         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
5679         (main): Unref the factory if we have one.
5680         (print_element_list): No change -- relies on the
5681         plugin_feature_list_free to free the list of features.
5682
5683 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
5684
5685         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5686         (gst_buffer_make_metadata_writable):
5687         * gst/gstbuffer.h:
5688         * libs/gst/base/gstbasetransform.c:
5689         (gst_base_transform_prepare_output_buf):
5690         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5691         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5692           Replace gst_buffer_(make|is)_metadata_writable patch now
5693           that the release is out.
5694
5695 2006-01-17  Andy Wingo  <wingo@pobox.com>
5696
5697         * gst/gstregistry.c: Reflow design comment. Update so as to speak
5698         in the present tense without reference to versions.
5699
5700         * gst/gstregistry.c (gst_registry_add_plugin)
5701         (gst_registry_remove_plugin, gst_registry_remove_feature)
5702         (gst_registry_find_feature, gst_registry_get_feature_list)
5703         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
5704         (gst_registry_lookup, gst_registry_scan_path)
5705         (_gst_registry_remove_cache_plugins)
5706         (gst_registry_get_feature_list_by_plugin): Add argument
5707         validation.
5708
5709 === release 0.10.2 ===
5710
5711 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
5712
5713         * configure.ac:
5714           releasing 0.10.2, "If man is five"
5715
5716 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5717
5718         * gst/gstbuffer.c:
5719         * gst/gstbuffer.h:
5720         * libs/gst/base/gstbasetransform.c:
5721         (gst_base_transform_prepare_output_buf):
5722         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5723         * tests/check/gst/gstbuffer.c: (gst_test_suite):
5724           Back out patch until after the release.
5725
5726 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5727
5728         * gst/gstminiobject.c:
5729           Spelling fix in docs.
5730         * ChangeLog - remove conflict indicator
5731
5732 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5733
5734         Reviewed By: Andy Wingo
5735
5736         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5737         (gst_buffer_make_metadata_writable):
5738         * gst/gstbuffer.h:
5739           Add gst_buffer_(is|make)_metadata_writable as analogues of
5740           gst_buffer_(is|make)_writable.
5741
5742         * libs/gst/base/gstbasetransform.c:
5743         (gst_base_transform_prepare_output_buf):
5744         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5745           Use name gst_buffer_(is|make)_metadata_writable functions.
5746
5747         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5748           Test gst_buffer_(is|make)_metadata_writable
5749         
5750           (Closes: #324162)
5751
5752 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5753
5754         * docs/manual/Makefile.am:
5755           don't do parallel make
5756         * configure.ac:
5757           AC_SUBST HOST_CPU
5758         * win32/common/config.h.in:
5759           add generations for HOST_CPU and GST_MAJORMINOR
5760         * win32/common/config.h:
5761           commit generated result
5762
5763 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
5764
5765         * docs/manual/appendix-integration.xml:
5766           Update GNOME integration section to use gst_init_get_option_group()
5767           instead of the old popt stuff (#322911). Also, GNOME applications
5768           should  now use gconf*sink and gconf*src instead of the old gconf
5769           helper lib we had.
5770
5771 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
5772
5773
5774         * docs/gst/gstreamer-docs.sgml:
5775         * docs/gst/gstreamer-sections.txt:
5776         * docs/libs/gstreamer-libs-sections.txt:
5777           add new API entries to the docs
5778         * libs/gst/controller/Makefile.am:
5779         * libs/gst/controller/gstcontroller.c:
5780         * libs/gst/controller/gstcontroller.h:
5781         * libs/gst/controller/gstcontrollerprivate.h:
5782         * libs/gst/controller/gsthelper.c:
5783         * libs/gst/controller/gstinterpolation.c:
5784           move private structs to private header
5785         * po/README:
5786           gstreamer-0.7 -> gstreamer-0.10
5787         * tests/check/libs/struct_i386.h:
5788           remove private structs
5789
5790 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5791
5792         * plugins/indexers/Makefile.am:
5793           Fixes as part of #317048
5794
5795 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5796
5797         * plugins/indexers/Makefile.am:
5798           fix #316086 - compilation when mmap is missing
5799
5800 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
5801
5802         * libs/gst/base/gstbasesink.c:
5803           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
5804           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
5805         * win32/common/config.h:
5806           added some defines GST_MAJORMINOR and HOST_CPU
5807         * win32/common/libgstbase.def:
5808         * win32/common/libgstreamer.def:
5809           added some exported functions.
5810
5811 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5812
5813         * libs/gst/controller/gstcontroller.c:
5814         (gst_controlled_property_set_interpolation_mode),
5815         (gst_controlled_property_new):
5816         * libs/gst/controller/gstcontroller.h:
5817         * libs/gst/controller/gstinterpolation.c:
5818         (interpolate_none_get_string_value_array):
5819           make G_TYPE_STRING controlable
5820
5821 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5822
5823         * tools/README:
5824         * tools/gst-feedback.1.in:
5825         * tools/gst-inspect.1.in:
5826         * tools/gst-launch.1.in:
5827         * tools/gst-md5sum.1.in:
5828         * tools/gst-typefind.1.in:
5829         * tools/gst-xmlinspect.1.in:
5830         * tools/gst-xmllaunch.1.in:
5831           cleanup man-pages, remove reference to gst-register, document env-vars
5832
5833 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
5834
5835         * gst/gstbuffer.c: (gst_buffer_span):
5836           gst_buffer_span should copy the timestamp of the first buffer
5837           if they were both originally overlapping subbuffers of the 
5838           same parent, using the same logic as the 'slow copy' case.
5839
5840 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
5841
5842         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
5843           Need to awaken ALL the pads when we pop a buffer, otherwise
5844           collectpads only works when there is 2 input streams.
5845
5846 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
5847
5848         * docs/random/ensonic/media-device-daemon.txt:
5849           more ideas (dbus)
5850         * gst/gstbuffer.c:
5851           fix doc example, add clarification
5852         * tools/gst-launch.1.in:
5853           add initial info about GST_PLUGIN_PATH, needs more work
5854
5855 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5856
5857         * docs/manual/basics-bins.xml:
5858         * docs/manual/basics-elements.xml:
5859         * docs/manual/intro-basics.xml:
5860           Some more minor docs additions and updates.
5861
5862 2006-01-11  Wim Taymans  <wim@fluendo.com>
5863
5864         * docs/manual/basics-bins.xml:
5865         * docs/manual/basics-elements.xml:
5866         Some small fixes as pointed out by Ser-ver on IRC.
5867
5868 2006-01-10  Edward Hervey  <edward@fluendo.com>
5869
5870         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5871         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
5872         the single-segment mode.
5873
5874 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
5875
5876         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5877
5878         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
5879         (gst_base_src_perform_seek), (gst_base_src_send_event),
5880         (gst_base_src_set_property), (gst_base_src_get_property),
5881         (gst_base_src_loop), (gst_base_src_start),
5882         (gst_base_src_activate_push):
5883         * libs/gst/base/gstbasesrc.h:
5884           Name (private) union; makes Sun's Forte compiler happy (#324900).
5885
5886 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5887
5888         * README:
5889           gst-register is gone.
5890
5891 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5892
5893         * gst/gstvalue.c: (_gst_value_initialize):
5894           make the G_TYPE_DATE instantiation work if debug is disabled
5895
5896 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
5897
5898         * gst/gstmessage.c: (gst_message_parse_tag),
5899         (gst_message_parse_error), (gst_message_parse_warning):
5900           Don't crash when return location for error/warning debug
5901           string is NULL; add fact that return locations can be
5902           NULL to docs where appropriate.
5903
5904 2006-01-05  Wim Taymans  <wim@fluendo.com>
5905
5906         * gst/gstplugin.c: (gst_plugin_load_file):
5907         Replace strdup by g_strdup.
5908
5909 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5910
5911         * docs/pwg/advanced-types.xml:
5912           fix doc borkage
5913
5914 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         submitted by: Abel Cheung
5917
5918         * po/LINGUAS:
5919         * po/zh_TW.po:
5920           Added Chinese (traditional) translation
5921
5922 2006-01-04  Wim Taymans  <wim@fluendo.com>
5923
5924         * docs/manual/basics-pads.xml:
5925         * docs/plugins/Makefile.am:
5926         * docs/plugins/gstreamer-plugins-docs.sgml:
5927         * docs/plugins/gstreamer-plugins-sections.txt:
5928         * docs/pwg/advanced-clock.xml:
5929         * docs/pwg/advanced-scheduling.xml:
5930         * docs/pwg/advanced-types.xml:
5931         * plugins/elements/gstfdsink.c:
5932         * plugins/elements/gstfdsrc.c:
5933         * plugins/elements/gstfdsrc.h:
5934         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5935         * plugins/elements/gstidentity.h:
5936         * plugins/elements/gstqueue.h:
5937         * plugins/elements/gsttee.c:
5938         * plugins/elements/gsttee.h:
5939         * plugins/elements/gsttypefindelement.c:
5940         (gst_type_find_element_class_init):
5941         * plugins/elements/gsttypefindelement.h:
5942         Small updates to various docs.
5943         Added core plugins to docs.
5944
5945 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5946
5947         * common/gst.supp:
5948           add a suppression for liboil's uninitialized variable
5949
5950 2006-01-02  James Livingston  <jrl at ids dot org dot au>
5951
5952         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5953
5954         * gst/gstutils.h:
5955           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
5956           macro, so that gcc doesn't complain if the -Wmissing-prototypes
5957           compiler switch is being used (#325429).
5958
5959 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
5960
5961         * gst/gstbin.c: (gst_bin_query):
5962           Disable duration query caching in bins until it gets
5963           fixed (see #324807).
5964
5965 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5966
5967         * tools/gst-inspect.c: (print_element_properties_info):
5968           Handle properties of POINTER and BOXED type.
5969
5970 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
5971
5972         * gst/gst.c: (init_post):
5973           Init tags stuff and some other things before loading
5974           any static plugins (there may be other static plugins
5975           than just the GStreamer ones, and they may want to
5976           register their own tags or formats or whatever, and
5977           preferably without segfaulting).
5978
5979         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5980           Print at least a warning in the debug logs if we drop a
5981           query just because we don't know how to adjust the value
5982           in the particular format.
5983
5984 2005-12-24  David Schleef  <ds@schleef.org>
5985
5986         * tools/gstreamer-completion:
5987           Replacement for gst-complete written in sh and sed.  Only
5988           completes names of features, but that's 90% of what I want
5989           it for.  Properties are not available in registry.xml.  (Maybe
5990           they should be...)
5991
5992 === release 0.10.1 ===
5993
5994 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
5995
5996         * configure.ac:
5997           releasing 0.10.1, "Nollaig chridheil"
5998
5999 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
6000
6001         * docs/faq/cvs.xml:
6002           Add missing quote, should be make ERROR_CFLAGS="".
6003
6004 2005-12-20  Wim Taymans  <wim@fluendo.com>
6005
6006         * docs/design/part-trickmodes.txt:
6007         More documentation on trickmodes.
6008
6009 2005-12-20  Edward Hervey  <edward@fluendo.com>
6010
6011         * gst/gstcaps.c: (gst_static_caps_get_type):
6012         * gst/gstcaps.h:
6013           API addition: GST_TYPE_STATIC_CAPS
6014         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6015         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
6016         * gst/gstpadtemplate.h:
6017           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
6018         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
6019         bindings.
6020
6021 2005-12-18  Wim Taymans  <wim@fluendo.com>
6022
6023         * libs/gst/base/gstadapter.c:
6024         * libs/gst/base/gstadapter.h:
6025         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6026         (gst_base_sink_get_position):
6027         * libs/gst/base/gstbasesink.h:
6028         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6029         (gst_base_src_default_query), (gst_base_src_default_do_seek),
6030         (gst_base_src_do_seek), (gst_base_src_perform_seek),
6031         (gst_base_src_send_event), (gst_base_src_update_length),
6032         (gst_base_src_get_range), (gst_base_src_loop),
6033         (gst_base_src_start):
6034         * libs/gst/base/gstbasesrc.h:
6035         * libs/gst/base/gstbasetransform.h:
6036         * libs/gst/base/gstcollectpads.h:
6037         * libs/gst/base/gstpushsrc.c:
6038         * libs/gst/base/gstpushsrc.h:
6039         * libs/gst/dataprotocol/dataprotocol.c:
6040         * libs/gst/dataprotocol/dataprotocol.h:
6041         * libs/gst/net/gstnetclientclock.h:
6042         * libs/gst/net/gstnettimeprovider.h:
6043         Documentation updates.
6044
6045 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
6046
6047         * docs/manual/basics-helloworld.xml:
6048           Remove superfluous closing bracket in helloworld example.
6049
6050 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
6051
6052         * tools/gst-launch.1.in:
6053           Update gst-launch man page; add a section with useful
6054           environment variables. Fixes #323882.
6055
6056 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
6057
6058         * gst/gst.c:
6059         * gst/gst_private.h:
6060           change some char* into char[]
6061
6062 2005-12-16  Wim Taymans  <wim@fluendo.com>
6063
6064         * gst/gstregistryxml.c: (load_feature):
6065         Cleanups.
6066         Don't use g_object_unref on GstObjects so that we avoid
6067         leaks on unsafe glibs.
6068
6069 2005-12-16  Wim Taymans  <wim@fluendo.com>
6070
6071         * gst/gstbin.c: (gst_bin_recalc_state):
6072         Small doc updates.
6073
6074 2005-12-16  Wim Taymans  <wim@fluendo.com>
6075
6076         * common/check.mak:
6077         Added make forever target for check.
6078
6079 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6080
6081         * gst/gst.c: (init_post):
6082           make the registry cache file HOST_CPU-dependent
6083
6084 2005-12-16  Andy Wingo  <wingo@pobox.com>
6085
6086         * plugins/elements/gstbufferstore.c
6087         (gst_buffer_store_cleared_func): Pay attention to g_list_append
6088         return value.
6089
6090         * tests/check/gst/gstobject.c
6091         (test_fake_object_name_threaded_unique): Pay attention to
6092         g_list_sort return value.
6093
6094 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6095
6096         * tools/gst-feedback-m.m:
6097           Update for 0.9/0.10 (fixes #323870).
6098
6099 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
6100
6101         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
6102           Fix lcopy for mini objects, the mini object needs to be ref'ed.
6103           
6104         * tests/check/gst/gstminiobject.c: (my_foo_init),
6105         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
6106         (test_value_collection), (gst_mini_object_suite):
6107           Add test to ensure refcounts end up as expected when passing
6108           GstMiniObjects through g_object_get() and g_object_set().
6109
6110 2005-12-14  Julien MOUTTE  <julien@moutte.net>
6111
6112         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6113         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
6114         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6115         of collectpads. This version removes a lot of races without
6116         touching API/ABI. Yay !
6117
6118 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
6119
6120         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
6121           Don't allow activation of a srcpad in pull_range if it has no
6122           getrange function.
6123           Change some debug statements to be a little clearer
6124
6125         * plugins/elements/gsttypefindelement.c:
6126         (gst_type_find_handle_src_query):
6127           Check that we have a peer before executing queries thereupon.
6128
6129         * tests/examples/metadata/read-metadata.c: (message_loop):
6130           Use gst_bus_pop instead of gst_bus_poll when we just want it to
6131           immediately return us any available message with 0 timeout.
6132
6133 2005-12-12  Michael Smith  <msmith@fluendo.com>
6134
6135         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6136           Don't unref factories after calling them.
6137         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6138         * plugins/elements/gsttypefindelement.c:
6139         (gst_type_find_element_chain):
6140           Free lists of factories after using them. Fixing typefinding memory
6141           leaks.
6142
6143 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6144
6145         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6146         (gst_plugin_feature_load):
6147           more meaningful debug output
6148         * configure.ac:
6149         * tests/Makefile.am:
6150         * tests/old/examples/Makefile.am:
6151           make make distcheck happy again
6152
6153 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6154
6155         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6156           Catch the special case where we are operating chain-based,
6157           but the downstream peer pad has no chain function. Emit a
6158           custom error message in this case instead of letting the
6159           core generate one implying that this is some sort of core
6160           bug. It's not, it just means that whatever got plugged
6161           into the pipeline downstream when we announced the type
6162           can only operate pull-based, while our source can only
6163           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6164           Error string has not been marked for translation yet, as
6165           it probably needs some more work first.
6166
6167         (gst_type_find_element_get_best_possibility):
6168           Add helper function to find the best of all available
6169           found possibilities that qualify given the min. threshold.
6170
6171         (gst_type_find_element_handle_event):
6172           Fix the case where we get an EOS while still in TYPEFIND
6173           mode (we want to chose the best of all possible types,
6174           not just the first type that happens to be in our unsorted
6175           list of possible types).
6176
6177         (gst_type_find_element_chain):
6178           Make sure we return GST_FLOW_ERROR when we errored out
6179           in stop_typefinding(); also, don't just find the best of
6180           all found type entries and then use the last examined
6181           type entry, but actually use the best entry.
6182
6183 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6184
6185         * tests/examples/typefind/typefind.c: (type_found):
6186         * tests/examples/xml/runxml.c: (xml_loaded):
6187           More gcc4 fixes and a mem leak fix.
6188
6189 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6190
6191         * tests/examples/xml/createxml.c: (object_saved):
6192           gcc 4 fixes
6193
6194 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6195
6196         * tests/Makefile.am:
6197           enable the examples even more
6198
6199 2005-12-12  Andy Wingo  <wingo@pobox.com>
6200
6201         * libs/gst/net/gstnettimeprovider.c
6202         (gst_net_time_provider_class_init, gst_net_time_provider_init)
6203         (gst_net_time_provider_set_property)
6204         (gst_net_time_provider_get_property):
6205         API addition: Export "active" as a GObject property.
6206         (gst_net_time_provider_thread): Only respond to time queries if
6207         the time provider is active.
6208
6209         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6210         NetTimeProvider, preserving binary compat.
6211
6212 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6213
6214         * tests/examples/controller/audio-example.c: (main):
6215         * tests/examples/launch/Makefile.am:
6216           convert comments again
6217
6218 2005-12-12  Wim Taymans  <wim@fluendo.com>
6219
6220         * libs/gst/base/gstpushsrc.c:
6221         Fix typo.
6222
6223 2005-12-12  Wim Taymans  <wim@fluendo.com>
6224
6225         * docs/libs/gstreamer-libs-sections.txt:
6226         Added new symbol to docs.
6227
6228         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6229         (gst_base_src_init), (gst_base_src_set_format),
6230         (gst_base_src_default_query), (gst_base_src_query),
6231         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6232         (gst_base_src_perform_seek), (gst_base_src_send_event),
6233         (gst_base_src_default_event), (gst_base_src_event_handler),
6234         (gst_base_src_set_property), (gst_base_src_get_property),
6235         (gst_base_src_wait), (gst_base_src_do_sync),
6236         (gst_base_src_update_length), (gst_base_src_get_range),
6237         (gst_base_src_check_get_range), (gst_base_src_loop),
6238         (gst_base_src_default_negotiate), (gst_base_src_start),
6239         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6240         (gst_base_src_change_state):
6241         * libs/gst/base/gstbasesrc.h:
6242         Implement seeking to other formats than _BYTES.
6243         Implement more seeking methods correctly.
6244         Doc updates.
6245         Added query vmethod.
6246         Added do_seek vmethod to make life easier for subclasses
6247         when seeking.
6248         API addition: gst_base_src_set_format()
6249
6250 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6251
6252         * tests/examples/Makefile.am:
6253           added that too
6254
6255 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6256
6257         * configure.ac:
6258         * docs/random/ensonic/media-device-daemon.txt:
6259         * tests/examples/controller/.cvsignore:
6260         * tests/examples/controller/Makefile.am:
6261         * tests/examples/controller/audio-example.c: (main):
6262         * tests/examples/helloworld/.cvsignore:
6263         * tests/examples/helloworld/Makefile.am:
6264         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6265         * tests/examples/launch/.cvsignore:
6266         * tests/examples/launch/Makefile.am:
6267         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6268         * tests/examples/metadata/.cvsignore:
6269         * tests/examples/metadata/Makefile.am:
6270         * tests/examples/metadata/read-metadata.c: (message_loop),
6271         (make_pipeline), (print_tag), (main):
6272         * tests/examples/queue/.cvsignore:
6273         * tests/examples/queue/Makefile.am:
6274         * tests/examples/queue/queue.c: (event_loop), (main):
6275         * tests/examples/typefind/.cvsignore:
6276         * tests/examples/typefind/Makefile.am:
6277         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6278         (main):
6279         * tests/examples/xml/.cvsignore:
6280         * tests/examples/xml/Makefile.am:
6281         * tests/examples/xml/createxml.c: (object_saved), (main):
6282         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6283         * tests/old/examples/Makefile.am:
6284         * tests/old/examples/TODO:
6285         * tests/old/examples/controller/.cvsignore:
6286         * tests/old/examples/controller/Makefile.am:
6287         * tests/old/examples/controller/audio-example.c:
6288         * tests/old/examples/helloworld/.cvsignore:
6289         * tests/old/examples/helloworld/Makefile.am:
6290         * tests/old/examples/helloworld/helloworld.c:
6291         * tests/old/examples/launch/.cvsignore:
6292         * tests/old/examples/launch/Makefile.am:
6293         * tests/old/examples/launch/mp3parselaunch.c:
6294         * tests/old/examples/launch/mp3play:
6295         * tests/old/examples/manual/Makefile.am:
6296         * tests/old/examples/metadata/Makefile.am:
6297         * tests/old/examples/metadata/read-metadata.c:
6298         * tests/old/examples/queue/.cvsignore:
6299         * tests/old/examples/queue/Makefile.am:
6300         * tests/old/examples/queue/queue.c:
6301         * tests/old/examples/typefind/.cvsignore:
6302         * tests/old/examples/typefind/Makefile.am:
6303         * tests/old/examples/typefind/typefind.c:
6304         * tests/old/examples/xml/.cvsignore:
6305         * tests/old/examples/xml/Makefile.am:
6306         * tests/old/examples/xml/createxml.c:
6307         * tests/old/examples/xml/runxml.c:
6308           applied some simple fixing to some examples
6309           re-enabled the working examples
6310
6311 2005-12-12  Wim Taymans  <wim@fluendo.com>
6312
6313         * gst/gstsegment.c: (gst_segment_init),
6314         (gst_segment_set_last_stop), (gst_segment_set_seek),
6315         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6316         (gst_segment_to_running_time):
6317         Added more documentation.
6318         Make sure the last_pos value is updated properly.
6319         Make sure to_stream_time and to_running_time don't
6320         operate on wrong values.
6321
6322         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6323         Update check.
6324
6325 2005-12-12  Michael Smith  <msmith@fluendo.com>
6326
6327         * plugins/elements/gsttypefindelement.c: (free_entry),
6328         (gst_type_find_element_chain):
6329           Now that we're not leaking factories, make sure we keep references
6330           to them while we need them.
6331
6332 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6333
6334         * tests/check/gst/struct_i386.h:
6335           ifdef out the XML structs
6336
6337 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6338
6339         * gst/gstvalue.c: (gst_value_transform_double_fraction):
6340           floor is not needed, F is always positive; this obviates the
6341           need for adding -lm when building without libxml
6342
6343 2005-12-12  Wim Taymans  <wim@fluendo.com>
6344
6345         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6346         Take current playback rate into account when reporting
6347         the position.
6348
6349 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6350
6351         * docs/manual/mime-world.fig:
6352           Let's try this again, this time with a file that is
6353           actually in XFig format.
6354
6355 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6356
6357         * docs/manual/mime-world.fig:
6358           Add audioconvert element to diagram so that it
6359           matches the text and the code (fixes #319526).
6360
6361 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6362
6363         * docs/pwg/building-chainfn.xml:
6364         * docs/pwg/building-pads.xml:
6365         * docs/pwg/building-state.xml:
6366         * docs/pwg/other-source.xml:
6367           Update state change stuff for 0.10 (fixes #322969).
6368
6369 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6370
6371         * docs/manual/advanced-dataaccess.xml:
6372         * docs/manual/appendix-checklist.xml:
6373         * docs/manual/appendix-programs.xml:
6374         * docs/manual/basics-pads.xml:
6375         * docs/manual/highlevel-components.xml:
6376         * docs/manual/manual.xml:
6377           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
6378           add converters in front of pipelines; remove curly
6379           brackets for threads stuff, they no longer exist; use
6380           GST_TYPE_FRACTION for framerates; update some pieces of
6381           code to 0.10, but there's plenty more to do.
6382
6383         * docs/manual/appendix-porting.xml:
6384           Expand on asynchroneous state changes; s/0.9/0.10/;
6385           mention disappearance of gst_init_get_popt_table()
6386           (fixes #322916).
6387
6388 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6389
6390         * docs/faq/using.xml:
6391           Spider no longer exists, and neither does gst-launch-ext.
6392           Update examples to use decodebin and playbin and put
6393           converters in front of sinks (fixes #323726).
6394
6395 2005-12-09  Michael Smith  <msmith@fluendo.com>
6396
6397         * plugins/elements/gsttypefindelement.c: (find_peek),
6398         (gst_type_find_element_chain):
6399           Fix leaking element factories in typefinding.
6400           Fix problem where we forgot about a probable type on non-seekable
6401           files, and thus later mis-typefound it.
6402
6403 2005-12-09  Michael Smith  <msmith@fluendo.com>
6404
6405         * common/m4/gst-makecontext.m4:
6406         * common/m4/gst-mcsc.m4:
6407         * configure.ac:
6408         * win32/common/config.h:
6409         * win32/common/config.h.in:
6410           Remove makecontext stuff; not used in 0.10 and causes problems on
6411           HPUX according to bug #322441
6412
6413 2005-12-07  Wim Taymans  <wim@fluendo.com>
6414
6415         * tests/check/Makefile.am:
6416         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
6417         (main):
6418         * tests/check/libs/struct_i386.h:
6419         Added ABI check for libs
6420
6421 2005-12-07  Wim Taymans  <wim@fluendo.com>
6422
6423         * tests/check/Makefile.am:
6424         And add the struct_i386.h to dist.
6425
6426 2005-12-07  Wim Taymans  <wim@fluendo.com>
6427
6428         * tests/check/Makefile.am:
6429         * tests/check/gst/.cvsignore:
6430         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
6431         (main):
6432         * tests/check/gst/struct_i386.h:
6433         Added check for ABI compatibility.
6434
6435 2005-12-07  Wim Taymans  <wim@fluendo.com>
6436
6437         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6438         (gst_fake_src_get_times), (gst_fake_src_create):
6439         Fix broken sync option, fixes #323259
6440
6441 2005-12-07  Wim Taymans  <wim@fluendo.com>
6442
6443         * gst/gstbuffer.c:
6444         Small docs update.
6445
6446         * gst/gstcaps.c: (gst_caps_is_equal):
6447         Don't assert on NULL <--> X. Fixes #323260
6448
6449         * gst/gstminiobject.c: (gst_mini_object_replace):
6450         If we're doing atomic operations, we might just as well use
6451         the proper way to get an atomic pointer.
6452
6453         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6454         Clean up debugging.
6455
6456 2005-12-07  Michael Smith  <msmith@fluendo.com>
6457
6458         * gst/parse/grammar.y:
6459           Remove handling of { } for threads.
6460
6461 2005-12-06  David Schleef  <ds@schleef.org>
6462
6463         * libs/gst/base/gstbasetransform.c: speling fix.
6464
6465 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6466
6467         * docs/libs/tmpl/gstdataprotocol.sgml:
6468         * docs/random/omega/testing/gstobject.c:
6469         * gst/gst.c:
6470         * gst/gstclock.c:
6471         * gst/gstelement.c:
6472         * gst/gstelementfactory.c:
6473         * gst/gsterror.c:
6474         * gst/gstevent.c:
6475         * gst/gstghostpad.c:
6476         * gst/gstinfo.c:
6477         * gst/gstpadtemplate.c:
6478         * gst/gstregistryxml.c:
6479         * gst/gsttaglist.c:
6480         * gst/gsttagsetter.c:
6481         * gst/gsttypefind.c:
6482         * gst/gstvalue.c:
6483         * libs/gst/base/gstbasesrc.c:
6484         * libs/gst/net/gstnetclientclock.c:
6485         * libs/gst/net/gstnettimeprovider.c:
6486         * plugins/elements/gstfakesrc.c:
6487         * plugins/elements/gstfdsrc.c:
6488         * plugins/elements/gstfilesrc.c:
6489         * plugins/elements/gstidentity.c:
6490         * plugins/elements/gstqueue.c:
6491         * plugins/elements/gsttypefindelement.c:
6492         * plugins/indexers/gstfileindex.c:
6493         * plugins/indexers/gstmemindex.c:
6494         * tests/check/gst/gsttag.c:
6495         * tests/old/examples/cutter/cutter.c:
6496         * tests/old/examples/mixer/mixer.c:
6497         * tests/old/examples/xml/runxml.c: (main):
6498         * tests/old/testsuite/caps/normalisation.c:
6499         * tests/old/testsuite/debug/global.c:
6500         * tests/old/testsuite/parse/parse1.c:
6501         * tools/gst-xmlinspect.c:
6502         * win32/common/dirent.c:
6503           expand tabs
6504
6505 === release 0.10.0 ===
6506
6507 2005-12-05   <thomas (at) apestaart (dot) org>
6508
6509         * configure.ac:
6510           releasing 0.10.0, "Maroilles"
6511
6512 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6513
6514         submitted by: Funda Wang <fundawang@linux.net.cn>
6515
6516         * po/LINGUAS:
6517         * po/zh_CN.po:
6518           added Chinese (Traditional) translation
6519
6520 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6521
6522         * docs/gst/gstreamer-sections.txt:
6523         * docs/libs/tmpl/gstdataprotocol.sgml:
6524         * docs/random/thomasvs/TODO:
6525         * gst/gstutils.c:
6526         * gst/gstutils.h:
6527           fix docs
6528
6529 2005-12-05  Andy Wingo  <wingo@pobox.com>
6530
6531         patch by: Wim Taymans <wim@fluendo.com>
6532
6533         * libs/gst/base/gstbasetransform.c
6534         (gst_base_transform_prepare_output_buf)
6535         (gst_base_transform_buffer_alloc):
6536         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
6537         alloc_buffer_and_set_caps.
6538
6539         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
6540         set_caps on the source pad.
6541         (gst_pad_alloc_buffer_and_set_caps): New function, does what
6542         alloc_buffer used to do. Fixes #322874.
6543
6544         * docs/gst/gstreamer-sections.txt: 
6545         * docs/design/part-negotiation.txt: 
6546         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
6547         changes.
6548
6549 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6550
6551         patch by: Sebastien Moutte
6552
6553         * win32/MANIFEST:
6554         * win32/common/config.h.in:
6555         * win32/vs6/libgstcontroller.dsp:
6556           win32 build fixes
6557
6558 2005-12-05  Wim Taymans  <wim@fluendo.com>
6559
6560         * gst/gstcaps.c: (gst_caps_is_equal):
6561         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6562         (gst_fake_src_create):
6563         Back out previous code changes, leave doc updates, file bugs 
6564         instead. 
6565
6566 2005-12-05  Wim Taymans  <wim@fluendo.com>
6567
6568         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6569         (gst_fake_src_get_times), (gst_fake_src_create):
6570         * plugins/elements/gstfakesrc.h:
6571         Fix broken sync code.
6572
6573 2005-12-05  Wim Taymans  <wim@fluendo.com>
6574
6575         * gst/gstcaps.c: (gst_caps_is_equal):
6576         Comparing NULL against !NULL yields different caps, not a
6577         failure.
6578
6579 2005-12-05  Wim Taymans  <wim@fluendo.com>
6580
6581         * gst/gstpipeline.c:
6582         Fix small typo in docs.
6583
6584 2005-12-05  Andy Wingo  <wingo@pobox.com>
6585
6586         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
6587
6588         * gst/gst.c (init_post): remove hard-coded 0.9 location for
6589         registries/plugins with a MAJORMINOR one.
6590         (plugin_desc): Rename library from gstcoreleements to
6591         staticelements. Fixes #323222.
6592
6593 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
6594
6595         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
6596           Change debug category to 'collectpads' from 'collect_pads'
6597           (fixes #323250).
6598
6599 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6600
6601         patch by: Sebastien Moutte
6602
6603         * libs/gst/controller/gstinterpolation.c:
6604           use convert function for uint64/double
6605         * win32/vs6/libgstcontroller.dsp:
6606           link to GLib
6607
6608 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6609
6610         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
6611         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
6612         * gst/gstutils.h:
6613         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6614           add tests that seem to show that the guint64/gdouble conversions
6615           are correct.
6616
6617 2005-12-02  Wim Taymans  <wim@fluendo.com>
6618
6619         * gst/gstregistry.c: (gst_registry_add_path):
6620         * gst/gstregistry.h:
6621         * gst/gstregistryxml.c:
6622         Fix docs again.
6623
6624 2005-12-02  Wim Taymans  <wim@fluendo.com>
6625
6626         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6627         (gst_util_uint64_scale_int):
6628         Small cleanup.
6629
6630         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6631         Add debug log line.
6632
6633         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
6634         Add FIXME.
6635
6636 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6637
6638         * win32/MANIFEST:
6639         * win32/common/config.h:
6640         * win32/vs6/gstreamer.dsw:
6641         * win32/vs6/libgstcoreelements.dsp:
6642         * win32/vs6/libgstelements.dsp:
6643           renamed core elements plugin
6644
6645 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6646
6647         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
6648         (get_candidates):
6649           do piece-wise major/minor comparison so 0.9 < 0.10
6650           also allow .exe extensions for tools
6651
6652 2005-12-02  Michael Smith  <msmith@fluendo.com>
6653
6654         * gst/gst.c:
6655           Escape a % to make gtkdoc happier; bug 322958.
6656
6657 === release 0.9.7 ===
6658
6659 2005-12-01   <thomas (at) apestaart (dot) org>
6660
6661         * configure.ac:
6662           releasing 0.9.7, "My Dog Has No Nose"
6663
6664 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6665
6666         * common/gst-xmlinspect.py:
6667         * configure.ac:
6668         * docs/libs/tmpl/gstdataprotocol.sgml:
6669         * docs/random/release:
6670         * po/af.po:
6671         * po/az.po:
6672         * po/bg.po:
6673         * po/ca.po:
6674         * po/cs.po:
6675         * po/de.po:
6676         * po/en_GB.po:
6677         * po/fr.po:
6678         * po/it.po:
6679         * po/nb.po:
6680         * po/nl.po:
6681         * po/ru.po:
6682         * po/sq.po:
6683         * po/sr.po:
6684         * po/sv.po:
6685         * po/tr.po:
6686         * po/uk.po:
6687         * po/vi.po:
6688         * win32/common/config.h:
6689         * win32/common/config.h.in:
6690         * win32/vs6/gst_inspect.dsp:
6691         * win32/vs6/gst_launch.dsp:
6692         * win32/vs6/libgstbase.dsp:
6693         * win32/vs6/libgstelements.dsp:
6694         * win32/vs6/libgstreamer.dsp:
6695         * win32/vs7/GStreamer.vcproj:
6696         * win32/vs7/gst-inspect.vcproj:
6697         * win32/vs7/gst-launch.vcproj:
6698         * win32/vs7/libgstbase.vcproj:
6699           bump GST_MAJORMINOR to 0.10
6700           reset libtool version
6701
6702 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6703
6704         * po/LINGUAS:
6705         * po/bg.po:
6706           Added Bulgarian translation by (Alexander Shopov)
6707
6708 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6709
6710         * tests/check/gst/gstplugin.c:
6711           fix test
6712
6713 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6714
6715         * common/gst-xmlinspect.py:
6716         * common/gtk-doc-plugins.mak:
6717         * configure.ac:
6718         * docs/Makefile.am:
6719         * docs/gst/Makefile.am:
6720         * docs/gst/gstreamer-docs.sgml:
6721         * docs/gst/gstreamer-sections.txt:
6722         * docs/gst/gstreamer.types:
6723         * docs/gst/gstreamer.types.in:
6724         * docs/plugins/Makefile.am:
6725         * docs/plugins/gstreamer-plugins-docs.sgml:
6726         * docs/plugins/gstreamer-plugins-sections.txt:
6727         * docs/plugins/gstreamer-plugins.types:
6728         * docs/plugins/inspect.stamp:
6729         * docs/plugins/inspect/plugin-coreelements.xml:
6730         * docs/plugins/inspect/plugin-coreindexers.xml:
6731         * docs/plugins/scanobj-build.stamp:
6732         * gstreamer.spec.in:
6733         * plugins/elements/Makefile.am:
6734         * plugins/elements/gstelements.c:
6735         * plugins/elements/gstfakesink.c:
6736         * plugins/elements/gstfakesrc.c:
6737         * plugins/elements/gstfilesink.c:
6738         * plugins/elements/gstfilesrc.c:
6739         * plugins/elements/gstqueue.c:
6740         * plugins/indexers/Makefile.am:
6741         * plugins/indexers/gstindexers.c:
6742           document core plugins in a separate document just like all the
6743           others
6744           rename these plugins to something starting with core
6745
6746 2005-12-01  Andy Wingo  <wingo@pobox.com>
6747
6748         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
6749         padding here before, but it missed the commit.
6750
6751 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6752
6753         * libs/gst/controller/gstinterpolation.c:
6754           whitespace prices have crashed, we should feel free to use some now
6755           use gst_guint64_to_gdouble
6756
6757 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6758
6759         * libs/gst/controller/gstcontroller.c:
6760         * libs/gst/controller/gsthelper.c:
6761         * libs/gst/controller/gstinterpolation.c:
6762         * libs/gst/controller/lib.c:
6763           wrap config.h include
6764
6765 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6766
6767         * docs/gst/gstreamer-sections.txt:
6768           update docs
6769
6770 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6771
6772         * plugins/elements/gstelements.c:
6773         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
6774         (gst_fd_sink__class_init), (gst_fd_sink__init),
6775         (gst_fd_sink__chain), (gst_fd_sink__set_property),
6776         (gst_fd_sink__get_property):
6777         * plugins/elements/gstfdsink.h:
6778         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
6779         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
6780         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
6781         (gst_fd_src_unlock), (gst_fd_src_set_property),
6782         (gst_fd_src_get_property), (gst_fd_src_create),
6783         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
6784         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
6785         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
6786         (gst_fd_src_uri_handler_init):
6787         * plugins/elements/gstfdsrc.h:
6788         * plugins/elements/gstqueue.c: (gst_queue_get_type):
6789           more anal cleanup
6790
6791 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6792
6793         * docs/gst/Makefile.am:
6794         * docs/gst/gstreamer.types.in:
6795         * gst/Makefile.am:
6796           fix the docs build
6797
6798 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6799
6800         * configure.ac:
6801         * gst/Makefile.am:
6802         * gst/gst.c:
6803         * gst/gstplugin.h:
6804         * gst/gstregistry.h:
6805         * tests/benchmarks/complexity.c:
6806         * tests/benchmarks/mass-elements.c:
6807         * tests/check/Makefile.am:
6808         * tools/Makefile.am:
6809         * tools/gst-inspect.c:
6810         * tools/gst-xmlinspect.c:
6811           various fixes to make
6812           --disable-nls --disable-registry --disable-loadsave
6813           --disable-parse --disable-gst-debug
6814           work and get the core .so down to 360444 bytes after stripping
6815
6816 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6817
6818         * Makefile.am:
6819         * configure.ac:
6820           descend into tests
6821         * docs/random/thomasvs/TODO:
6822         * tests/Makefile.am:
6823         * tests/README:
6824           add a README
6825
6826 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6827
6828         * win32/GStreamer.vcproj:
6829         * win32/MANIFEST:
6830         * win32/Makefile:
6831         * win32/Makefile.inspect:
6832         * win32/Makefile.launch:
6833         * win32/Makefile.register:
6834         * win32/README.txt:
6835         * win32/gst-inspect.vcproj:
6836         * win32/gst-launch.vcproj:
6837         * win32/gst-register.vcproj:
6838         * win32/gstelements.vcproj:
6839         * win32/gstgetbits.def:
6840         * win32/gstgetbits.vcproj:
6841         * win32/gstreamer-dbg.def:
6842         * win32/gstreamer.def:
6843         * win32/libgstbase.def:
6844         * win32/libgstbase.vcproj:
6845         * win32/link_oldruntime.c:
6846         * win32/mman.c:
6847         * win32/mman.h:
6848         * win32/mman.inl:
6849         * win32/msvc71.sln:
6850           move even more stuff, win32/ is nice and clean now
6851
6852 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6853
6854         * libs/gst/control/.cvsignore:
6855         * win32/MANIFEST:
6856         * win32/config.h:
6857         * win32/dirent.c:
6858         * win32/dirent.h:
6859         * win32/gstbytestream.def:
6860         * win32/gstbytestream.vcproj:
6861         * win32/gstconfig.h:
6862         * win32/gstenumtypes.c:
6863         * win32/gstenumtypes.h:
6864         * win32/gstoptimalscheduler.vcproj:
6865         * win32/gstversion.h:
6866         * win32/gtchar.h:
6867         * win32/testsuite/bins.vcproj:
6868         * win32/testsuite/bytestream.vcproj:
6869         * win32/testsuite/caps.vcproj:
6870         * win32/testsuite/cleanup.vcproj:
6871         * win32/testsuite/clock.vcproj:
6872         * win32/testsuite/debug.vcproj:
6873         * win32/testsuite/dlopen.vcproj:
6874         * win32/testsuite/dynparams.vcproj:
6875         * win32/testsuite/elements.vcproj:
6876         * win32/testsuite/ghostpads.vcproj:
6877         * win32/testsuite/indexers.vcproj:
6878         * win32/testsuite/negotiation.vcproj:
6879         * win32/testsuite/parse.vcproj:
6880         * win32/testsuite/plugin.vcproj:
6881         * win32/testsuite/refcounting.vcproj:
6882         * win32/testsuite/schedulers.vcproj:
6883         * win32/testsuite/states.vcproj:
6884         * win32/testsuite/tags.vcproj:
6885         * win32/testsuite/threads.vcproj:
6886           remove old win32 stuff that isn't maintained and should be
6887           reorganized
6888
6889 2005-11-30  Andy Wingo  <wingo@pobox.com>
6890
6891         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
6892         loading the gst.interfaces python module bork.
6893
6894         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
6895         available since GLib 2.2. Fixes #318031.
6896
6897 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6898
6899         * Makefile.am:
6900         * check/.cvsignore:
6901         * check/Makefile.am:
6902         * check/elements/.cvsignore:
6903         * check/elements/fakesrc.c:
6904         * check/elements/fdsrc.c:
6905         * check/elements/identity.c:
6906         * check/generic/.cvsignore:
6907         * check/generic/states.c:
6908         * check/gst-libs/.cvsignore:
6909         * check/gst-libs/controller.c:
6910         * check/gst-libs/gdp.c:
6911         * check/gst/.cvsignore:
6912         * check/gst/capslist.h:
6913         * check/gst/gst.c:
6914         * check/gst/gstbin.c:
6915         * check/gst/gstbuffer.c:
6916         * check/gst/gstbus.c:
6917         * check/gst/gstcaps.c:
6918         * check/gst/gstelement.c:
6919         * check/gst/gstevent.c:
6920         * check/gst/gstghostpad.c:
6921         * check/gst/gstiterator.c:
6922         * check/gst/gstmessage.c:
6923         * check/gst/gstminiobject.c:
6924         * check/gst/gstobject.c:
6925         * check/gst/gstpad.c:
6926         * check/gst/gstpipeline.c:
6927         * check/gst/gstplugin.c:
6928         * check/gst/gstsegment.c:
6929         * check/gst/gststructure.c:
6930         * check/gst/gstsystemclock.c:
6931         * check/gst/gsttag.c:
6932         * check/gst/gstutils.c:
6933         * check/gst/gstvalue.c:
6934         * check/net/.cvsignore:
6935         * check/net/gstnetclientclock.c:
6936         * check/net/gstnettimeprovider.c:
6937         * check/pipelines/.cvsignore:
6938         * check/pipelines/cleanup.c:
6939         * check/pipelines/simple_launch_lines.c:
6940         * check/pipelines/stress.c:
6941         * check/states/.cvsignore:
6942         * check/states/sinks.c:
6943         * configure.ac:
6944         * examples/Makefile.am:
6945         * examples/appreader/.cvsignore:
6946         * examples/appreader/Makefile.am:
6947         * examples/appreader/appreader.c:
6948         * examples/controller/.cvsignore:
6949         * examples/controller/Makefile.am:
6950         * examples/controller/audio-example.c:
6951         * examples/cutter/.cvsignore:
6952         * examples/cutter/Makefile.am:
6953         * examples/cutter/cutter.c:
6954         * examples/cutter/cutter.h:
6955         * examples/events/Makefile.am:
6956         * examples/events/seek.c:
6957         * examples/helloworld/.cvsignore:
6958         * examples/helloworld/Makefile.am:
6959         * examples/helloworld/helloworld.c:
6960         * examples/helloworld2/.cvsignore:
6961         * examples/helloworld2/Makefile.am:
6962         * examples/helloworld2/helloworld2.c:
6963         * examples/launch/.cvsignore:
6964         * examples/launch/Makefile.am:
6965         * examples/launch/mp3parselaunch.c:
6966         * examples/launch/mp3play:
6967         * examples/manual/.cvsignore:
6968         * examples/manual/Makefile.am:
6969         * examples/manual/extract.pl:
6970         * examples/metadata/Makefile.am:
6971         * examples/metadata/read-metadata.c:
6972         * examples/mixer/.cvsignore:
6973         * examples/mixer/Makefile.am:
6974         * examples/mixer/mixer.c:
6975         * examples/mixer/mixer.h:
6976         * examples/pingpong/.cvsignore:
6977         * examples/pingpong/Makefile.am:
6978         * examples/pingpong/pingpong.c:
6979         * examples/plugins/.cvsignore:
6980         * examples/plugins/Makefile.am:
6981         * examples/plugins/example.c:
6982         * examples/plugins/example.h:
6983         * examples/pwg/.cvsignore:
6984         * examples/pwg/Makefile.am:
6985         * examples/pwg/extract.pl:
6986         * examples/queue/.cvsignore:
6987         * examples/queue/Makefile.am:
6988         * examples/queue/queue.c:
6989         * examples/queue2/.cvsignore:
6990         * examples/queue2/Makefile.am:
6991         * examples/queue2/queue2.c:
6992         * examples/queue3/.cvsignore:
6993         * examples/queue3/Makefile.am:
6994         * examples/queue3/queue3.c:
6995         * examples/queue4/.cvsignore:
6996         * examples/queue4/Makefile.am:
6997         * examples/queue4/queue4.c:
6998         * examples/retag/.cvsignore:
6999         * examples/retag/Makefile.am:
7000         * examples/retag/retag.c:
7001         * examples/retag/transcode.c:
7002         * examples/thread/.cvsignore:
7003         * examples/thread/Makefile.am:
7004         * examples/thread/thread.c:
7005         * examples/typefind/.cvsignore:
7006         * examples/typefind/Makefile.am:
7007         * examples/typefind/typefind.c:
7008         * examples/xml/.cvsignore:
7009         * examples/xml/Makefile.am:
7010         * examples/xml/createxml.c:
7011         * examples/xml/runxml.c:
7012         * tests/Makefile.am:
7013         * tests/check/Makefile.am:
7014         * testsuite/.cvsignore:
7015         * testsuite/Makefile.am:
7016         * testsuite/Rules:
7017         * testsuite/caps/.cvsignore:
7018         * testsuite/caps/Makefile.am:
7019         * testsuite/caps/app_fixate.c:
7020         * testsuite/caps/audioscale.c:
7021         * testsuite/caps/caps.c:
7022         * testsuite/caps/caps.h:
7023         * testsuite/caps/caps_strings:
7024         * testsuite/caps/compatibility.c:
7025         * testsuite/caps/deserialize.c:
7026         * testsuite/caps/enumcaps.c:
7027         * testsuite/caps/eratosthenes.c:
7028         * testsuite/caps/filtercaps.c:
7029         * testsuite/caps/fixed.c:
7030         * testsuite/caps/fraction-convert.c:
7031         * testsuite/caps/fraction-multiply-and-zero.c:
7032         * testsuite/caps/intersect2.c:
7033         * testsuite/caps/intersection.c:
7034         * testsuite/caps/normalisation.c:
7035         * testsuite/caps/random.c:
7036         * testsuite/caps/renegotiate.c:
7037         * testsuite/caps/sets.c:
7038         * testsuite/caps/simplify.c:
7039         * testsuite/caps/string-conversions.c:
7040         * testsuite/caps/structure.c:
7041         * testsuite/caps/subtract.c:
7042         * testsuite/caps/union.c:
7043         * testsuite/debug/.cvsignore:
7044         * testsuite/debug/Makefile.am:
7045         * testsuite/debug/category.c:
7046         * testsuite/debug/commandline.c:
7047         * testsuite/debug/global.c:
7048         * testsuite/debug/output.c:
7049         * testsuite/debug/printf_extension.c:
7050         * testsuite/dlopen/.cvsignore:
7051         * testsuite/dlopen/Makefile.am:
7052         * testsuite/dlopen/dlopen_gst.c:
7053         * testsuite/dlopen/loadgst.c:
7054         * testsuite/elements/.cvsignore:
7055         * testsuite/elements/Makefile.am:
7056         * testsuite/elements/gst-inspect-check.in:
7057         * testsuite/elements/struct_i386.h:
7058         * testsuite/elements/struct_size.c:
7059         * testsuite/indexers/.cvsignore:
7060         * testsuite/indexers/Makefile.am:
7061         * testsuite/indexers/cache1.c:
7062         * testsuite/indexers/indexdump.c:
7063         * testsuite/parse/.cvsignore:
7064         * testsuite/parse/Makefile.am:
7065         * testsuite/parse/parse1.c:
7066         * testsuite/parse/parse2.c:
7067         * testsuite/plugin/.cvsignore:
7068         * testsuite/plugin/Makefile.am:
7069         * testsuite/plugin/README:
7070         * testsuite/plugin/dynamic.c:
7071         * testsuite/plugin/linked.c:
7072         * testsuite/plugin/loading.c:
7073         * testsuite/plugin/registry.c:
7074         * testsuite/plugin/static.c:
7075         * testsuite/plugin/static2.c:
7076         * testsuite/plugin/testplugin.c:
7077         * testsuite/plugin/testplugin2.c:
7078         * testsuite/plugin/testplugin2_s.c:
7079         * testsuite/plugin/testplugin_s.c:
7080         * testsuite/refcounting/.cvsignore:
7081         * testsuite/refcounting/Makefile.am:
7082         * testsuite/refcounting/bin.c:
7083         * testsuite/refcounting/element.c:
7084         * testsuite/refcounting/element_pad.c:
7085         * testsuite/refcounting/mainloop.c:
7086         * testsuite/refcounting/mem.c:
7087         * testsuite/refcounting/mem.h:
7088         * testsuite/refcounting/object.c:
7089         * testsuite/refcounting/pad.c:
7090         * testsuite/refcounting/sched.c:
7091         * testsuite/refcounting/thread.c:
7092         * testsuite/states/.cvsignore:
7093         * testsuite/states/Makefile.am:
7094         * testsuite/states/bin.c:
7095         * testsuite/states/locked.c:
7096         * testsuite/states/parent.c:
7097         * testsuite/threads/.cvsignore:
7098         * testsuite/threads/159566.c:
7099         * testsuite/threads/159852.c:
7100         * testsuite/threads/Makefile.am:
7101         * testsuite/threads/queue.c:
7102         * testsuite/threads/signals.c:
7103         * testsuite/threads/staticrec.c:
7104         * testsuite/threads/thread.c:
7105         * testsuite/threads/threadb.c:
7106         * testsuite/threads/threadc.c:
7107         * testsuite/threads/threadd.c:
7108         * testsuite/threads/threade.c:
7109         * testsuite/threads/threadf.c:
7110         * testsuite/threads/threadg.c:
7111         * testsuite/threads/threadh.c:
7112         * testsuite/threads/threadi.c:
7113           move all of these under tests
7114
7115 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7116
7117         * configure.ac:
7118         * tests/Makefile.am:
7119           fix distcheck
7120
7121 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7122
7123         * docs/gst/gstreamer-sections.txt:
7124         * tests/sched/.cvsignore:
7125         * tests/sched/Makefile.am:
7126         * tests/sched/cases/(fs-fs).xml:
7127         * tests/sched/cases/(fs-i-fs).xml:
7128         * tests/sched/cases/(fs-i-i-fs).xml:
7129         * tests/sched/cases/(fs-i-q[i-fs]).xml:
7130         * tests/sched/dynamic-pipeline.c:
7131         * tests/sched/interrupt1.c:
7132         * tests/sched/interrupt2.c:
7133         * tests/sched/interrupt3.c:
7134         * tests/sched/runtestcases:
7135         * tests/sched/runxml.c:
7136         * tests/sched/sched-stress.c:
7137         * tests/sched/sort.c:
7138         * tests/sched/testcases:
7139         * tests/sched/testcases1.tc:
7140         * tests/seeking/.cvsignore:
7141         * tests/seeking/Makefile.am:
7142         * tests/seeking/seeking1.c:
7143         * tests/threadstate/.cvsignore:
7144         * tests/threadstate/Makefile.am:
7145         * tests/threadstate/test1.c:
7146         * tests/threadstate/test2.c:
7147         * tests/threadstate/threadstate1.c:
7148         * tests/threadstate/threadstate2.c:
7149         * tests/threadstate/threadstate3.c:
7150         * tests/threadstate/threadstate4.c:
7151         * tests/threadstate/threadstate5.c:
7152           remove obsolete tests
7153         * configure.ac:
7154         * tests/bench-complexity.scm:
7155         * tests/bench-mass_elements.scm:
7156         * tests/complexity.c:
7157         * tests/complexity.gnuplot:
7158         * tests/instantiate/.cvsignore:
7159         * tests/instantiate/Makefile.am:
7160         * tests/instantiate/caps.c:
7161         * tests/mass_elements.c:
7162         * tests/network-clock-utils.scm:
7163         * tests/network-clock.scm:
7164         * tests/plot-data:
7165         First pass at cleaning up tests/ dir before moving the rest
7166         Combined with CVS surgery
7167
7168 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7169
7170         * po/POTFILES.in:
7171           queue has moved, update
7172
7173 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7174
7175         * docs/gst/gstreamer-sections.txt:
7176           remove double entries from the docs
7177         * gst/gst_private.h:
7178         * gst/gstinfo.c: (_gst_debug_init):
7179           remove the THREAD debug category
7180         * gst/Makefile.am:
7181         * gst/gstqueue.c:
7182         * gst/gstqueue.h:
7183         * docs/gst/gstreamer.types:
7184         * plugins/elements/gstqueue.c: (gst_queue_get_type),
7185         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7186           completely move queue and fix up debugging categories
7187
7188 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7189
7190         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7191           make initialization portable, using LL is not
7192
7193 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7194
7195         * win32/common/gstconfig.h:
7196           add large padding
7197
7198 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7199
7200         * win32/common/libgstreamer.def:
7201           rename symbols; sort base section
7202
7203 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7204
7205         * gst/gstclock.c: (do_linear_regression):
7206           remove crack non-portable handrolled DEBUG macro
7207
7208 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7209
7210         * docs/random/release:
7211           update notes
7212         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7213         (gst_object_flags_get_type), (register_gst_bin_flags),
7214         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7215         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7216         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7217         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7218         (gst_caps_flags_get_type), (register_gst_clock_return),
7219         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7220         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7221         (gst_clock_flags_get_type), (register_gst_state),
7222         (gst_state_get_type), (register_gst_state_change_return),
7223         (gst_state_change_return_get_type), (register_gst_state_change),
7224         (gst_state_change_get_type), (register_gst_element_flags),
7225         (gst_element_flags_get_type), (register_gst_core_error),
7226         (gst_core_error_get_type), (register_gst_library_error),
7227         (gst_library_error_get_type), (register_gst_resource_error),
7228         (gst_resource_error_get_type), (register_gst_stream_error),
7229         (gst_stream_error_get_type), (register_gst_event_type_flags),
7230         (gst_event_type_flags_get_type), (register_gst_event_type),
7231         (gst_event_type_get_type), (register_gst_seek_type),
7232         (gst_seek_type_get_type), (register_gst_seek_flags),
7233         (gst_seek_flags_get_type), (register_gst_format),
7234         (gst_format_get_type), (register_gst_index_certainty),
7235         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7236         (gst_index_entry_type_get_type),
7237         (register_gst_index_lookup_method),
7238         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7239         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7240         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7241         (gst_index_flags_get_type), (register_gst_debug_level),
7242         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7243         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7244         (gst_iterator_result_get_type), (register_gst_iterator_item),
7245         (gst_iterator_item_get_type), (register_gst_message_type),
7246         (gst_message_type_get_type), (register_gst_mini_object_flags),
7247         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7248         (gst_pad_link_return_get_type), (register_gst_flow_return),
7249         (gst_flow_return_get_type), (register_gst_activate_mode),
7250         (gst_activate_mode_get_type), (register_gst_pad_direction),
7251         (gst_pad_direction_get_type), (register_gst_pad_flags),
7252         (gst_pad_flags_get_type), (register_gst_pad_presence),
7253         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7254         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7255         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7256         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7257         (gst_plugin_flags_get_type), (register_gst_rank),
7258         (gst_rank_get_type), (register_gst_query_type),
7259         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7260         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7261         (gst_tag_flag_get_type), (register_gst_task_state),
7262         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7263         (gst_alloc_trace_flags_get_type),
7264         (register_gst_type_find_probability),
7265         (gst_type_find_probability_get_type), (register_gst_uri_type),
7266         (gst_uri_type_get_type), (register_gst_parse_error),
7267         (gst_parse_error_get_type):
7268         * win32/common/gstenumtypes.h:
7269         * win32/common/gstversion.h:
7270           update visual studio generated files
7271
7272 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7273
7274         * win32/vs6/libgstbase.dsp:
7275         * win32/vs6/libgstelements.dsp:
7276           update project files for new locations
7277
7278 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7279
7280         * Makefile.am:
7281           remove some files
7282         * README:
7283           reinstate and update
7284         * DEVEL:
7285         * REQUIREMENTS:
7286           removed
7287         * LICENSE:
7288         * docs/random/LICENSE:
7289           moved to random
7290
7291 2005-11-30  Edward Hervey  <edward@fluendo.com>
7292
7293         * gst/gsttypefind.c: (gst_type_find_register):
7294         * gst/gsttypefind.h:
7295         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7296         (gst_type_find_factory_dispose):
7297         * gst/gsttypefindfactory.h:
7298         Fix memory leak in GstTypeFindFactory.
7299
7300 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7301
7302         * gst/gst.c:
7303         * plugins/elements/Makefile.am:
7304         * plugins/elements/gstelements.c:
7305         * plugins/elements/gstqueue.c:
7306           move queue from core to the elements plugin
7307
7308 2005-11-29  Andy Wingo  <wingo@pobox.com>
7309
7310         * libs/gst/base/gstbasetransform.h: 
7311         * libs/gst/base/gstbasesrc.h: 
7312         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7313
7314         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7315         of pointers by which to pad very extensible base classes (like the
7316         ones in libs/gst/base).
7317
7318 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7319
7320         * docs/gst/gstreamer-docs.sgml:
7321         * docs/gst/gstreamer-sections.txt:
7322         * docs/libs/gstreamer-libs-docs.sgml:
7323         * docs/libs/gstreamer-libs-sections.txt:
7324           moving documentation from core to lib
7325
7326 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7327
7328         * check/Makefile.am:
7329         * configure.ac:
7330         * docs/gst/Makefile.am:
7331         * gst/Makefile.am:
7332         * gst/base/.cvsignore:
7333         * gst/base/Makefile.am:
7334         * gst/base/README:
7335         * gst/base/gstadapter.c:
7336         * gst/base/gstadapter.h:
7337         * gst/base/gstbasesink.c:
7338         * gst/base/gstbasesink.h:
7339         * gst/base/gstbasesrc.c:
7340         * gst/base/gstbasesrc.h:
7341         * gst/base/gstbasetransform.c:
7342         * gst/base/gstbasetransform.h:
7343         * gst/base/gstcollectpads.c:
7344         * gst/base/gstcollectpads.h:
7345         * gst/base/gstpushsrc.c:
7346         * gst/base/gstpushsrc.h:
7347         * gst/base/gsttypefindhelper.c:
7348         * gst/base/gsttypefindhelper.h:
7349         * gst/check/Makefile.am:
7350         * gst/check/gstcheck.c:
7351         * gst/check/gstcheck.h:
7352         * gst/net/Makefile.am:
7353         * gst/net/gstnet.h:
7354         * gst/net/gstnetclientclock.c:
7355         * gst/net/gstnetclientclock.h:
7356         * gst/net/gstnettimepacket.c:
7357         * gst/net/gstnettimepacket.h:
7358         * gst/net/gstnettimeprovider.c:
7359         * gst/net/gstnettimeprovider.h:
7360         * libs/gst/Makefile.am:
7361         * libs/gst/base/Makefile.am:
7362         * libs/gst/base/gstbasetransform.c:
7363         * libs/gst/check/Makefile.am:
7364         * plugins/elements/Makefile.am:
7365         * po/POTFILES.in:
7366           CVS surgery + support to move base, check, and net out of gst
7367           and into libs/gst
7368
7369 2005-11-29  Andy Wingo  <wingo@pobox.com>
7370
7371         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
7372
7373         * gst/gststructure.h (struct _GstStructure): Only one pointer of
7374         padding.
7375
7376         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
7377
7378         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
7379
7380         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
7381
7382         * gst/gstobject.h: (struct _GstObject): Only one pointer of
7383         padding; reduces object size by about 30%. We don't expect
7384         anything else to go into gstobject.
7385
7386         * gst/gstminiobject.h (struct _GstMiniObject)
7387         (struct _GstMiniObjectClass): Only one pointer of padding; the
7388         payload is only a pointer and two ints anyway. For the class there
7389         are only two methods as well.
7390         
7391         * gst/gstelement.h (struct _GstElementClass): Removed
7392         the state_changed signal callback, it is not used.
7393
7394 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7395
7396         * docs/gst/gstreamer.types:
7397           fix includes, though they are a little dinky
7398
7399 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7400
7401         * check/Makefile.am:
7402           look in the right place for elements, a lot more chance of
7403           success
7404         * gst/Makefile.am:
7405           remove indexers and elements subdirs
7406         * plugins/Makefile.am:
7407           make indexers conditional
7408
7409 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7410
7411         * Makefile.am:
7412         * configure.ac:
7413         * plugins/elements/Makefile.am:
7414         * plugins/elements/gstcapsfilter.c:
7415         * plugins/elements/gstfilesink.c:
7416         * plugins/elements/gstfilesrc.c:
7417         * plugins/elements/gstidentity.c:
7418         * plugins/indexers/Makefile.am:
7419           do CVS surgery and related build fixery to move elements
7420           and indexers in a new gstreamer/plugins directory, out of the
7421           gst/ directory
7422
7423 2005-11-29  Andy Wingo  <wingo@pobox.com>
7424
7425         * check/Makefile.am:
7426         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7427         * pkgconfig/gstreamer-net.pc.in:
7428         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
7429         #322257.
7430
7431 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7432
7433         * tools/Makefile.am:
7434         * tools/gst-complete.1.in:
7435         * tools/gst-complete.c:
7436         * tools/gst-compprep.1.in:
7437         * tools/gst-compprep.c:
7438           removing -compprep and -complete
7439
7440 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7441
7442         * gst/gstevent.c: (gst_event_new_new_segment),
7443         (gst_event_parse_new_segment):
7444         * gst/gstevent.h:
7445           fix #320529 - clean up new_segment API and structure.
7446           Let's hope everyone was using the methods, and not the structure.
7447
7448 2005-11-29  Edward Hervey  <edward@fluendo.com>
7449
7450         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7451         (gst_base_sink_event), (gst_base_sink_do_sync),
7452         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7453         Properly handle non GST_FORMAT_TIME segment
7454         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7455         Properly handle non GST_FORMAT_TIME segment
7456         * gst/gstsegment.c:
7457         This function is valid if the accumulator is 0 and the format
7458         is different from the requested format.
7459         
7460 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7461
7462         * docs/gst/gstreamer-sections.txt:
7463         Add gst_query_new_seeking and gst_query_parse_seeking to the
7464         docs.
7465
7466 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7467
7468         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7469           Treat a pad alloc with new caps the same as if we were not
7470           negotiated, in order to allow a changing upstream output
7471           to produce a new format of data.
7472
7473 2005-11-29  Edward Hervey  <edward@fluendo.com>
7474
7475         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7476         (gst_base_transform_event), (gst_base_transform_eventfunc):
7477         The event virtual method is now properly implemented, with a default
7478         handler
7479         Sub classes should call the parent_class event method. They should
7480         return FALSE if they had a problem handling the given event, or don't
7481         want GstBaseTransform to send that even downstream
7482         * gst/elements/gstidentity.c: (gst_identity_class_init),
7483         (gst_identity_init), (gst_identity_event),
7484         (gst_identity_transform_ip), (gst_identity_set_property),
7485         (gst_identity_get_property):
7486         * gst/elements/gstidentity.h:
7487         Added the single-segment boolean property.
7488         If set to TRUE, it will output a single segment of data, starting from
7489         0, will eat up all incoming newsegment, and modify the timestamp of the
7490         buffers accordingly
7491
7492 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
7493
7494         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
7495           Don't ref NULL target pad (#322751). Improve docs.
7496
7497 2005-11-29  Michael Smith  <msmith@fluendo.com>
7498
7499         * gst/gstregistryxml.c: (load_plugin):
7500           Don't crash if we failed to load a feature from a plugin. 
7501
7502 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7503
7504         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
7505         (GST_START_TEST):
7506           use more check API and less GLib API
7507
7508 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7509
7510         * Makefile.am:
7511           don't run checks if we don't have check
7512         * common/check.mak:
7513           remove the registry when running make torture
7514         * docs/gst/gstreamer-sections.txt:
7515           remove second multiply
7516         * gst/gstqueue.c: (gst_queue_loop):
7517           fix a compile warning when disabling debug
7518
7519 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7520
7521         * gst/gstinfo.h:
7522         Hey! Let's print the pad name if the pointer != NULL instead
7523         of when it == NULL :-)
7524
7525 2005-11-28  Wim Taymans  <wim@fluendo.com>
7526
7527         * check/gst/gstutils.c: (GST_START_TEST):
7528         Updated check, add some scaling accuracy checking code.
7529
7530         * gst/gstutils.c: (gst_util_div128_64),
7531         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
7532         (gst_util_uint64_scale_int):
7533         Fix 6 times faster division code. Optimize for common 
7534         1/1 and less common X/1 cases.
7535
7536 2005-11-28  Wim Taymans  <wim@fluendo.com>
7537
7538         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7539         More checks.
7540
7541         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
7542         (do_linear_regression), (gst_clock_add_observation):
7543         Cleanups.
7544         Release lock when the clock cannot be slaved.
7545         Catch the case where the regression returned an invalid denominator.
7546
7547         * gst/gstutils.c: (gst_util_div128_64_iterate),
7548         (gst_util_div128_64), (gst_util_uint64_scale_int64),
7549         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7550         Add protentially more performant non-iterative 128/64 divide function
7551         that unfortunatly does not work yet.
7552         Shortcut the trivial 0/X = 0 case.
7553         Remove the warnings on overflow.
7554
7555 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7556
7557         * gst/gstplugin.c: (gst_plugin_register_func):
7558           everything causing a plugin not to load should be at least a WARNING
7559
7560 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
7561
7562         * docs/random/ensonic/dparams.txt:
7563           some TODOs for the next dev cycle
7564         * libs/gst/controller/gstcontroller.c:
7565         (gst_controlled_property_set_interpolation_mode),
7566         (gst_controlled_property_new):
7567         * libs/gst/controller/gstcontroller.h:
7568           use base type to assign acccessor functions
7569
7570 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7571
7572         * check/Makefile.am:
7573         Oops, that should have been top_srcdir
7574
7575 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7576
7577         * check/Makefile.am:
7578         * check/elements/fdsrc.c: (GST_START_TEST):
7579         Use a cmdline define to specify the location of a file to use for
7580         testing, to avoid breaking distcheck.
7581
7582 2005-11-28  Andy Wingo  <wingo@pobox.com>
7583
7584         * gst/gstpad.c (fixate_value): Use array functions for arrays.
7585
7586 2005-11-28  Edward Hervey  <edward@fluendo.com>
7587
7588         * tools/gst-launch.c: (main):
7589         Clarify the output strings, makes it easier to translate.
7590         Fixes #322626
7591
7592 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7593
7594         * gst/Makefile.am:
7595           don't try and build net if we don't even have <sys/socket.h>
7596
7597 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
7598
7599         * check/Makefile.am:
7600         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
7601         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
7602           Add tests for fdsrc seekability
7603
7604         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7605         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
7606         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
7607         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
7608         * gst/elements/gstfdsrc.h:
7609           fdsrc should not be a 'live' source.
7610           Implement seeking on seekable fd's.
7611
7612         * gst/gstquery.c: (gst_query_new_seeking),
7613         (gst_query_parse_seeking):
7614         * gst/gstquery.h:
7615           Implement SEEKING query functions: 
7616             *_new_seeking and *_parse_seeking
7617
7618 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
7619
7620         * gst/gstelement.c: (gst_element_dispose):
7621           don't loop forever
7622
7623         * gst/gstiterator.c:
7624         * gst/gststructure.c:
7625           doc fixes
7626
7627         * libs/gst/controller/gstcontroller.c:
7628         (gst_controlled_property_set_interpolation_mode):
7629         * libs/gst/controller/gstcontroller.h:
7630         * libs/gst/controller/gstinterpolation.c:
7631         (interpolate_none_get_enum_value_array):
7632           support controlling enums
7633
7634 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7635
7636         * gst/gstvalue.c:
7637           Improve documentation for gst_value_union().
7638
7639         * gst/gstvalue.h:
7640           Change return value for union, intersect and subtract functions
7641           from gint to gboolean.
7642
7643 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7644
7645         * gst/gstvalue.c: (gst_value_serialize_any_list),
7646         (gst_value_transform_any_list_string),
7647         (gst_value_deserialize_list), (gst_value_deserialize_array),
7648         (gst_value_set_int_range), (gst_value_deserialize_int_range),
7649         (gst_value_set_double_range), (gst_value_deserialize_double_range),
7650         (gst_value_set_fraction_range_full),
7651         (gst_value_deserialize_fraction_range),
7652         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
7653         (gst_value_deserialize_boolean),
7654         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
7655         (gst_value_serialize_float), (gst_value_deserialize_float),
7656         (gst_string_wrap), (gst_value_deserialize_string),
7657         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
7658         (gst_value_union_int_range_int_range),
7659         (gst_value_intersect_int_range_int_range),
7660         (gst_value_intersect_double_range_double_range),
7661         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7662         (gst_value_subtract_int_range_int_range),
7663         (gst_value_subtract_double_double_range),
7664         (gst_value_subtract_double_range_double_range),
7665         (gst_value_deserialize_fraction):
7666         * gst/gstvalue.h:
7667           Use gint, gdouble and gchar in our API instead of int, double and
7668           char (and make usage in gstvalue.c more consistent).
7669
7670 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7671
7672         * check/Makefile.am:
7673         * libs/gst/controller/Makefile.am:
7674         * libs/gst/dataprotocol/Makefile.am:
7675           fix up Makefile.am and remove GST_ENABLE_NEW
7676
7677 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7678
7679         * configure.ac:
7680         * gst/Makefile.am:
7681         * gst/base/Makefile.am:
7682         * gst/check/Makefile.am:
7683         * gst/elements/Makefile.am:
7684         * gst/net/Makefile.am:
7685           update LDFLAGS use some more
7686
7687 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7688
7689         * common/m4/gst-doc.m4:
7690           Fixes #312589
7691
7692 2005-11-26  Edward Hervey  <edward@fluendo.com>
7693
7694         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7695         This shouldn't issue a g_warning since it returns NULL if it
7696         couldn't find the plugin, and all functions using this behave
7697         properly on a NULL return. Switching to a GST_WARNING.
7698
7699 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
7700
7701         * gst/gstbin.c: (gst_bin_handle_message_func):
7702         Don't leak clock messages.
7703
7704 2005-11-25  Wim Taymans  <wim@fluendo.com>
7705
7706         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7707         (gst_util_uint64_scale_int):
7708         Optimisations, remove unneeded vars.
7709
7710 2005-11-25  Wim Taymans  <wim@fluendo.com>
7711
7712         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7713         Added more checks for the high precision uint64 cases.
7714
7715         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7716         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7717         Implement high precision (guint64 * guint64) / guint64.
7718
7719 2005-11-24  Wim Taymans  <wim@fluendo.com>
7720
7721         * gst/base/gstbasesrc.c: (gst_base_src_query):
7722         Fix wrong percentage query.
7723
7724         * gst/gstutils.c: (gst_util_uint64_scale),
7725         (gst_util_uint64_scale_int):
7726         Add some more common cases that can be handled 
7727         efficiently to _scale.
7728
7729 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7730
7731         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
7732         (gst_mini_object_suite):
7733           don't use check calls from threads; check probably isn't
7734           threadsafe and using a lock to make it threadsafe would
7735           defeat the purpose of this check
7736         * gst/check/gstcheck.c:
7737         * gst/check/gstcheck.h:
7738           use GST_DEBUG some more
7739
7740 2005-11-24  Wim Taymans  <wim@fluendo.com>
7741
7742         * gst/gstutils.c: (gst_util_uint64_scale),
7743         (gst_util_uint64_scale_int):
7744         Chain trivial case to _scale_int.
7745
7746 2005-11-24  Wim Taymans  <wim@fluendo.com>
7747
7748         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7749         Added test for scaling.
7750
7751         * gst/gstclock.h:
7752         Small doc fix.
7753
7754         * gst/gstutils.c: (gst_util_uint64_scale_int):
7755         Implemented high precision scaling code.
7756
7757 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
7758
7759         * gst/gstinfo.h:
7760           do not crash on pad==NULL
7761
7762 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7763
7764         Patch by: Stefan Kost
7765
7766         * common/gtk-doc.mak:
7767         * docs/gst/Makefile.am:
7768         * docs/libs/Makefile.am:
7769           Fix distcheck issues for the libraries docs build
7770           Closes #319599.
7771
7772 2005-11-24  Michael Smith <msmith@fluendo.com>
7773
7774         * docs/manual/basics-helloworld.xml:
7775           Fix bug #315027: memory leak in example code in docs.
7776
7777 2005-11-24  Michael Smith <msmith@fluendo.com>
7778
7779         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7780           Unlock the PREROLL_LOCK in a failure case.
7781
7782 2005-11-24  Wim Taymans  <wim@fluendo.com>
7783
7784         * docs/gst/gstreamer-sections.txt:
7785         * gst/base/gstadapter.h:
7786         * gst/base/gstbasesink.h:
7787         * gst/base/gstbasesrc.h:
7788         * gst/base/gstbasetransform.h:
7789         * gst/base/gstpushsrc.h:
7790         * gst/elements/gstfakesink.h:
7791         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
7792         * gst/elements/gstfakesrc.h:
7793         * gst/elements/gstfilesink.h:
7794         * gst/elements/gstfilesrc.h:
7795         * gst/gst.c:
7796         * gst/gstbin.c:
7797         * gst/gstbuffer.c: (_gst_buffer_copy):
7798         * gst/gstbus.h:
7799         * gst/gstcaps.c:
7800         * gst/gstchildproxy.c:
7801         * gst/gstclock.c:
7802         * gst/gstelement.c:
7803         * gst/gstelementfactory.c:
7804         * gst/gstelementfactory.h:
7805         * gst/gstevent.c:
7806         * gst/gstghostpad.h:
7807         * gst/gstindex.h:
7808         * gst/gstinterface.h:
7809         * gst/gstminiobject.c:
7810         * gst/gstminiobject.h:
7811         * gst/gstpad.c:
7812         * gst/gstpad.h:
7813         * gst/gstpadtemplate.h:
7814         * gst/gstpipeline.h:
7815         * gst/gstpluginfeature.h:
7816         * gst/gstquery.h:
7817         * gst/gstqueue.h:
7818         * gst/gsttaglist.c:
7819         * gst/gsttaglist.h:
7820         * gst/gsttagsetter.c:
7821         * gst/gsttagsetter.h:
7822         * gst/gsttrace.c:
7823         * gst/gsttrace.h:
7824         * gst/gsttypefind.h:
7825         * gst/gsturi.h:
7826         * gst/gstvalue.c:
7827         * gst/net/gstnetclientclock.c:
7828         * gst/net/gstnetclientclock.h:
7829         * gst/net/gstnettimepacket.c:
7830         * gst/net/gstnettimeprovider.c:
7831         * gst/net/gstnettimeprovider.h:
7832         Doc fixes.
7833
7834 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7835
7836         * configure.ac: back to HEAD
7837
7838 === release 0.9.6 ===
7839
7840 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
7841
7842         * configure.ac:
7843           releasing 0.9.6, "Always On Time"
7844
7845 2005-11-23  Wim Taymans  <wim@fluendo.com>
7846
7847         * docs/gst/gstreamer-sections.txt:
7848         * gst/glib-compat.c:
7849         * gst/gsttagsetter.c:
7850         * gst/gstvalue.c:
7851         * gst/net/gstnetclientclock.c:
7852         * gst/net/gstnettimepacket.h:
7853         Doc updates.
7854
7855 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7856
7857         * docs/faq/using.xml:
7858         * docs/libs/tmpl/gstcontrol.sgml:
7859         * docs/manual/advanced-dparams.xml:
7860         * docs/manual/appendix-checklist.xml:
7861         * docs/manual/basics-elements.xml:
7862         * docs/pwg/other-source.xml:
7863         * docs/random/moving-plugins:
7864         * gst/gstpad.c:
7865         * tools/gst-launch.1.in:
7866           remove mentions of sinesrc
7867
7868 2005-11-23  Michael Smith <msmith@fluendo.com>
7869
7870         * docs/gst/gstreamer-sections.txt:
7871           Update for new API and API changes.
7872         * gst/gstobject.h:
7873           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
7874         * gst/gstvalue.c:
7875           Documentation typo fix.
7876         * gst/net/gstnettimepacket.c:
7877           Documentation fixes for arguments.
7878
7879 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
7880
7881         * gst/gststructure.c: (gst_structure_get_fraction),
7882         (gst_structure_parse_value),
7883         (gst_structure_fixate_field_nearest_fraction):
7884         * gst/gststructure.h:
7885         * gst/gstutils.c: (gst_util_uint64_scale_int):
7886         * gst/gstutils.h:
7887         * scripts/update-funcnames:
7888         API Changes. 
7889         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
7890         Make gst_structure_fixate_field_nearest_fraction take a numerator
7891         and denominator argument instead of a GValue
7892         add gst_structure_get_fraction helper function.
7893
7894 2005-11-23  Wim Taymans  <wim@fluendo.com>
7895
7896         * docs/design/part-TODO.txt:
7897         Update TODO.
7898
7899         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7900         * gst/net/gstnetclientclock.h:
7901         Use parent fields for timeout and window_size.
7902
7903 2005-11-23  Andy Wingo  <wingo@pobox.com>
7904
7905         * check/net/gstnetclientclock.c (test_functioning): Adjust to
7906         rate_num/rate_denom change.
7907
7908         * gst/net/gstnetclientclock.c
7909         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
7910         OBJECT_LOCK. Don't call add_observation with the lock.
7911
7912         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
7913         fraction.
7914         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
7915         rate fraction.
7916         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
7917         deal with rate as a fraction whose numerator and denominator are
7918         GstClockTime values.
7919         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
7920         master; the other fields are protected by the SLAVE_LOCK.
7921         (do_linear_regression): Note that this must be called with the
7922         SLAVE_LOCK.
7923         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
7924         OBJECT_LOCK. Call set_calibration instead of touching the
7925         variables directly.
7926         (gst_clock_set_property, gst_clock_get_property): Protect
7927         master/slave parameters with the SLAVE_LOCK.
7928
7929         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
7930         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
7931         note that all of the instance variables that add_observation and
7932         the set_master functions use are protected by that lock and not
7933         the OBJECT_LOCK.
7934         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
7935
7936         * gst/gstclock.c (gst_clock_add_observation): No longer requires
7937         the caller to take the object lock.
7938
7939 2005-11-23  Wim Taymans  <wim@fluendo.com>
7940
7941         * gst/gsterror.c: (_gst_core_errors_init):
7942         * gst/gsterror.h:
7943         Add error for clock stuff.
7944
7945         * gst/gstpipeline.c: (gst_pipeline_change_state),
7946         (gst_pipeline_set_clock):
7947         Post clock error when clock cannot be used in a pipeline.
7948
7949 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
7950
7951         * docs/gst/gstreamer-sections.txt:
7952           make two symbols from gstinfo private for the docs
7953         * gst/base/gstcollectpads.h:
7954         * gst/gstutils.c:
7955           fix doc typos, update docs
7956
7957 2005-11-22  Wim Taymans  <wim@fluendo.com>
7958
7959         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7960         (gst_base_sink_wait), (gst_base_sink_do_sync),
7961         (gst_base_sink_handle_event):
7962         * gst/base/gstbasesink.h:
7963         No need to store the clock, the parent element class already
7964         has it.
7965
7966         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
7967         Updates for clock_set returning a gboolean
7968
7969         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
7970         (gst_clock_id_wait_async), (gst_clock_class_init),
7971         (gst_clock_init), (gst_clock_finalize),
7972         (gst_clock_get_internal_time), (gst_clock_get_time),
7973         (gst_clock_slave_callback), (gst_clock_set_master),
7974         (gst_clock_get_master), (do_linear_regression),
7975         (gst_clock_add_observation), (gst_clock_set_property),
7976         (gst_clock_get_property):
7977         * gst/gstclock.h:
7978         Implement master/slave. When setting a clock as a slave, a
7979         periodic timeout is scheduled to sample master and slave times.
7980         Then the slave clock is recalibrated to match offset and rate
7981         of the master clock.
7982         Update logging a bit.
7983         Add flag so that a clock can state that is cannot be slaved to
7984         another clock.
7985
7986         * gst/gstelement.c: (gst_element_set_clock):
7987         * gst/gstelement.h:
7988         The set clock returns a gboolean for when an element cannot
7989         deal with the selected clock in the pipeline. 
7990
7991         * gst/gstpipeline.c: (gst_pipeline_change_state),
7992         (gst_pipeline_set_clock):
7993         * gst/gstpipeline.h:
7994         Handle the case where the selected clock cannot be set on
7995         the pipeline.
7996
7997         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
7998         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
7999         (gst_net_client_clock_set_property),
8000         (gst_net_client_clock_get_property),
8001         (gst_net_client_clock_observe_times):
8002         * gst/net/gstnetclientclock.h:
8003         Use regression code in GstClock parent, remove duplicated
8004         functionality.
8005
8006 2005-11-22  Michael Smith <msmith@fluendo.com>
8007
8008         * gst/gstutils.c: (gst_util_clock_time_scale):
8009         * gst/gstutils.h:
8010         * docs/gst/gstreamer-sections.txt:
8011           Rename method to have extra underscore.
8012
8013 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8014
8015         * gst/elements/Makefile.am:
8016         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
8017         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8018         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8019         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
8020         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
8021         * gst/elements/gstfakesrc.h:
8022         * gst/gstqueue.c: (queue_leaky_get_type):
8023           correctly fix GEnumValues so that nick is the short lowercase
8024           dashed tag
8025         * tools/gst-inspect.c: (print_element_properties_info):
8026           also show the nick, since it's useful to use from parse_launch
8027           syntax
8028           Fixes #322139
8029
8030 2005-11-22  Michael Smith <msmith@fluendo.com>
8031
8032         * gst/gstutils.c: (gst_util_clocktime_scale):
8033         * gst/gstutils.h:
8034         * docs/gst/gstreamer-sections.txt:
8035           Add util method for scaling a clocktime by a fraction. Useful 
8036           implementation is left as an exercise for the reader.
8037
8038 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8039
8040         * gst/gstvalue.c: (gst_value_collect_fraction_range):
8041         If needed, allocate storage in the destination value during
8042         collection.
8043
8044 2005-11-22  Edward Hervey  <edward@fluendo.com>
8045
8046         * docs/gst/gstreamer-sections.txt:
8047         * gst/Makefile.am:
8048         * gst/gst.h:
8049         * gst/gsturitype.c:
8050         * gst/gsturitype.h:
8051         * gst/gstutils.c: (gst_util_set_object_arg):
8052         * tools/gst-compprep.c: (main):
8053         * tools/gst-inspect.c: (print_element_properties_info):
8054         Removed GstURI, closes bug #321061
8055
8056 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8057
8058         * check/gst/gststructure.c: (GST_START_TEST):
8059         * gst/gststructure.c: (gst_structure_parse_value):
8060           Oops, broke automatic string type parsing.
8061           Add a test to catch it in future.
8062
8063 2005-11-22  Andy Wingo  <wingo@pobox.com>
8064
8065         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
8066         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
8067         Actually rename the function implementations. Grr.
8068
8069 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8070
8071         * check/gst/capslist.h:
8072           Comment test cases
8073         * check/gst/gststructure.c: (GST_START_TEST),
8074         (gst_structure_suite):
8075           Test automatic value type detection in gst_structure_from_string.
8076         * gst/gststructure.c: (gst_structure_parse_value):
8077           Add fraction as a type we try and guess automatically in
8078           caps/structure strings.
8079
8080 2005-11-22  Andy Wingo  <wingo@pobox.com>
8081
8082         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
8083
8084         * gst/gsttagsetter.h:
8085         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
8086         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
8087         (gst_tag_setter_add_tag_valist)
8088         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
8089         _add_values, _add_valist, and _add_valist_values. Since this is an
8090         interface the function suffixes should be more explicit so
8091         language binding don't end up with element.add_valist ->
8092         gst_tag_setter_add_valist, for example. Fixes #322069.
8093
8094 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8095
8096         * check/gst/gstcaps.c: (GST_START_TEST):
8097           Extend caps string tests to check that a caps to string
8098           conversion is reversible and produces the same caps.
8099
8100         * gst/gststructure.c: (gst_structure_value_get_generic_type):
8101           Output "fraction" as the generic type fraction range, so caps
8102           serialisation and deserialisation works.
8103         * check/gst/capslist.h:
8104         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8105           Support 'MIN' and 'MAX' for deserialising fractions.
8106
8107 2005-11-22  Andy Wingo  <wingo@pobox.com>
8108
8109         * gst/gstevent.h (gst_event_new_new_segment)
8110         (gst_event_parse_new_segment, gst_event_new_buffer_size)
8111         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
8112         Renamed from *_newsegment, *_buffersize, *_notarget.
8113
8114         * scripts/update-funcnames: New script, performs the changes
8115         listed above.
8116
8117 2005-11-22  Wim Taymans  <wim@fluendo.com>
8118
8119         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8120         Make sure the GstFlowReturn is returned.
8121
8122         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
8123         (gst_bus_add_signal_watch):
8124         * gst/gstbus.h:
8125         add gst_bus_add_signal_watch_full.
8126
8127         * gst/gstplugin.c: (gst_plugin_load_file):
8128         Small style cleanup.
8129
8130 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8131
8132         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
8133           Block the fakesrc srcpad when we send an event, to avoid
8134           contention on the stream_lock causing random test failures.
8135
8136 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8137
8138         * check/gst/gstvalue.c: (GST_START_TEST):
8139         * gst/gstvalue.c: (gst_value_fraction_subtract):
8140           Fix subtraction.
8141
8142 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
8143
8144         * gst/gst.h:
8145           include "gstchildproxy.h"
8146         * gst/gstchildproxy.h:
8147         * libs/gst/controller/gstcontroller.h:
8148           use G_GNUC_NULL_TERMINATED
8149
8150 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8151
8152         * check/gst/capslist.h:
8153         * check/gst/gstcaps.c: (GST_START_TEST):
8154         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8155         * gst/gststructure.c: (gst_structure_parse_range),
8156         (gst_structure_fixate_field_nearest_fraction):
8157         * gst/gststructure.h:
8158         * gst/gstvalue.c: (gst_value_init_fraction_range),
8159         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8160         (gst_value_collect_fraction_range),
8161         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8162         (gst_value_set_fraction_range_full),
8163         (gst_value_get_fraction_range_min),
8164         (gst_value_get_fraction_range_max),
8165         (gst_value_serialize_fraction_range),
8166         (gst_value_transform_fraction_range_string),
8167         (gst_value_compare_fraction_range),
8168         (gst_value_deserialize_fraction_range),
8169         (gst_value_intersect_fraction_fraction_range),
8170         (gst_value_intersect_fraction_range_fraction_range),
8171         (gst_value_subtract_fraction_fraction_range),
8172         (gst_value_subtract_fraction_range_fraction),
8173         (gst_value_subtract_fraction_range_fraction_range),
8174         (gst_value_collect_fraction), (gst_value_fraction_multiply),
8175         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8176         (gst_value_transform_string_fraction), (_gst_value_initialize):
8177         * gst/gstvalue.h:
8178           Implement fraction ranges and extend GstFraction to support
8179           arithmetic subtraction, as well as deserialization from integer
8180           strings such as "100"
8181           Add a testsuite as for int and double range set operations
8182
8183 2005-11-21  Andy Wingo  <wingo@pobox.com>
8184
8185         * gst/gsttaglist.h: 
8186         * gst/gstcaps.h: 
8187         * gst/gststructure.h: Add glib-compat.h.
8188
8189 2005-11-21  Wim Taymans  <wim@fluendo.com>
8190
8191         * gst/gstbin.c: (gst_bin_change_state_func):
8192         Fix for #321595
8193
8194 2005-11-21  Wim Taymans  <wim@fluendo.com>
8195
8196         * gst/gstsegment.h:
8197         And add a nice define too.
8198
8199 2005-11-21  Wim Taymans  <wim@fluendo.com>
8200
8201         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8202         (gst_segment_new), (gst_segment_free), (gst_segment_init),
8203         (gst_segment_set_duration), (gst_segment_set_last_stop),
8204         (gst_segment_set_seek), (gst_segment_set_newsegment),
8205         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8206         (gst_segment_clip):
8207         * gst/gstsegment.h:
8208         Make binding friendly.
8209
8210 2005-11-21  Andy Wingo  <wingo@pobox.com>
8211
8212         * gst/gsttagsetter.h: 
8213         * gst/gsttaglist.h: 
8214         * gst/gststructure.h: 
8215         * gst/gstcaps.h: 
8216         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8217         #319940.
8218
8219         * gst/gsterror.c (_gst_core_errors_init):
8220         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8221         category.
8222
8223         * gst/Makefile.am (gst_headers): Add glib-compat.h.
8224         (noinst_HEADERS): noinst the -private.
8225
8226 2005-11-21  Michael Smith <msmith@fluendo.com>
8227
8228         * gst/gstplugin.h:
8229         * gst/gstregistry.h:
8230           Remove unimplemented declarations for which we can see no sensible
8231           use.
8232
8233 2005-11-21  Andy Wingo  <wingo@pobox.com>
8234
8235         * gst/gst.h: Include glib-compat.h.
8236
8237         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8238
8239         * gst/glib-compat.c: Include the public and the private header.
8240
8241         * gst/glib-compat-private.h: Copied here from glib-compat.h.
8242
8243         * gst/gstvalue.c: 
8244         * gst/gstpad.c: 
8245         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8246
8247         * check/gst/gstevent.c (create_custom_events): Check that
8248         FLUSH_STOP is serialized.
8249
8250         * check/elements/identity.c (event_func): 
8251         * check/elements/fakesrc.c (event_func): No stream lock, the core
8252         takes it.
8253
8254         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8255         stream lock taking, yay.
8256
8257         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8258         ensure that core takes the stream lock.
8259
8260         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8261         lock name change.
8262
8263         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8264         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8265         it already. For the flush start we do take it though so we get the
8266         right preroll state change messages.
8267
8268         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8269         the stream lock here, the core does it for us.
8270
8271         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8272         GST_STREAM_GET_LOCK.
8273         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8274         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8275         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8276         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8277         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8278         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8279
8280         * gst/gstpad.c: Update for stream lock name change.
8281
8282         * gst/base/gstbasesink.c: Update for preroll lock name change.
8283
8284 2005-11-21  Wim Taymans  <wim@fluendo.com>
8285
8286         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8287         (gst_clock_get_master):
8288         * gst/gstclock.h:
8289         * gst/gstsystemclock.c: (gst_system_clock_init):
8290         Convert Clock flags to object flags.
8291         Added methods to manage master/slave clocks.
8292
8293 2005-11-21  Wim Taymans  <wim@fluendo.com>
8294
8295         * check/gst/gstsegment.c: (GST_START_TEST):
8296         * docs/design/part-TODO.txt:
8297         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8298         (gst_base_sink_event), (gst_base_sink_do_sync),
8299         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8300         (gst_base_sink_query), (gst_base_sink_change_state):
8301         * gst/base/gstbasesink.h:
8302         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8303         (gst_base_src_default_newsegment),
8304         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8305         (gst_base_src_get_range), (gst_base_src_loop),
8306         (gst_base_src_change_state):
8307         * gst/base/gstbasesrc.h:
8308         * gst/base/gstbasetransform.c:
8309         (gst_base_transform_prepare_output_buf),
8310         (gst_base_transform_event), (gst_base_transform_change_state):
8311         * gst/base/gstbasetransform.h:
8312         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8313         (gst_collect_pads_event):
8314         * gst/base/gstcollectpads.h:
8315         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8316         (gst_fake_src_create):
8317         * gst/elements/gstfakesrc.h:
8318         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8319         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8320         (gst_segment_set_last_stop), (gst_segment_set_seek),
8321         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8322         (gst_segment_to_running_time), (gst_segment_clip):
8323         * gst/gstsegment.h:
8324         More segment updates, replace code in plugins with segment
8325         helper functions.
8326
8327 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8328
8329         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8330         Don't ignore sscanf results
8331
8332 2005-11-21  Andy Wingo  <wingo@pobox.com>
8333
8334         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8335
8336         * *.h:
8337         * *.c: Ran scripts/update-macros. Oh yes.
8338
8339         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8340         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8341         GST_GET_LOCK, etc.
8342
8343         * scripts/update-macros: New script. Run it on your files to
8344         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8345         well.
8346
8347 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8348
8349         * docs/gst/Makefile.am:
8350         * docs/gst/gstreamer-docs.sgml:
8351         * docs/gst/gstreamer-sections.txt:
8352         * docs/gst/gstreamer.types:
8353         * gst/gstinfo.h:
8354           more docs fixes, add new api to the docs
8355
8356 2005-11-21  Andy Wingo  <wingo@pobox.com>
8357
8358         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
8359         state_broadcast call.
8360
8361         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
8362
8363 2005-11-21  Julien MOUTTE  <julien@moutte.net>
8364
8365         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
8366         function calls for arrays.
8367
8368 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8369
8370         * docs/random/ensonic/media-device-daemon.txt:
8371           wild idea, can this be done?
8372         * docs/gst/gstreamer-sections.txt:
8373         * gst/gsterror.h:
8374         * gst/gstfilter.c:
8375         * gst/gstfilter.h:
8376         * gst/gstplugin.h:
8377         * gst/gstpluginfeature.c:
8378         * gst/gsttrace.c:
8379         * gst/gstvalue.c:
8380         * gst/gstvalue.h:
8381           doc fixes and additions
8382
8383 2005-11-21  Andy Wingo  <wingo@pobox.com>
8384
8385         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
8386         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
8387         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
8388         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
8389         private to the basesrc implementation.
8390
8391         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
8392         behalf of event function if necessary. It should no longer be
8393         necessary to take the stream lock in pad's event functions. Fixes
8394         #320299.
8395
8396 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8397         * docs/gst/gstreamer-sections.txt:
8398         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
8399         (gst_structure_fixate_field_nearest_double),
8400         (gst_structure_fixate_field_boolean):
8401         * gst/gststructure.h:
8402         * win32/common/libgstreamer.def:
8403         * win32/gstreamer.def:
8404
8405         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
8406         (#322027)
8407
8408 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8409
8410         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
8411         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
8412         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
8413         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
8414         (gst_fdsrc_uri_handler_init):
8415         * gst/elements/gstfdsrc.h:
8416           Port fd:// URI handler from 0.8 to fdsrc
8417
8418 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8419
8420         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
8421         (gst_value_serialize_fourcc):
8422         * gst/gstvalue.h:
8423           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
8424           consistent with our other format defines (#320324).
8425
8426 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8427
8428         * gst/gstvalue.c: (gst_value_is_fixed):
8429           Revert previous commit. Value lists are by definition
8430           not fixed, as they are a list of possible values.
8431
8432 2005-11-21  Andy Wingo  <wingo@pobox.com>
8433
8434         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
8435         during the stable series if we need it. Fixes #319178.
8436
8437         * gst/gstevent.c (gst_event_new_filler): Removed.
8438
8439         * check/gst/gstevent.c: Update comment about filler events.
8440
8441 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8442
8443         * gst/gstvalue.c: (gst_value_is_fixed):
8444           Should handle both value arrays and value lists.
8445
8446 2005-11-21  Andy Wingo  <wingo@pobox.com>
8447
8448         patch by: Alessandro Dessina <alessandro nnva org>
8449
8450         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
8451         functions to access arrays. Fixes #321962.
8452
8453 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8454
8455         * docs/gst/gstreamer.types:
8456           gst_collectpads_get_type => gst_collect_pads_get_type.
8457           
8458         * gst/base/gstbasetransform.c:
8459           Remove unused SIGNAL_HANDOFF enum.
8460
8461 2005-11-21  Andy Wingo  <wingo@pobox.com>
8462
8463         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
8464         the event type (upstream, downstream, serialized). Renamed
8465         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
8466         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
8467         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
8468
8469         * gst/gstevent.c: Update for new CUSTOM event names.
8470
8471         * check/gst/gstevent.c: Update check for new CUSTOM event names.
8472
8473         * gst/gstevent.h:
8474         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
8475         bug #319392.
8476
8477 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8478
8479         * docs/gst/gstreamer-sections.txt:
8480         * win32/common/libgstbase.def:
8481         * win32/libgstbase.def:
8482         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8483         (gst_collect_pads_class_init), (gst_collect_pads_init),
8484         (gst_collect_pads_finalize), (gst_collect_pads_new),
8485         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
8486         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
8487         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
8488         (gst_collect_pads_start), (gst_collect_pads_stop),
8489         (gst_collect_pads_peek), (gst_collect_pads_pop),
8490         (gst_collect_pads_available), (gst_collect_pads_read),
8491         (gst_collect_pads_flush), (gst_collect_pads_event),
8492         (gst_collect_pads_chain):
8493         * gst/base/gstcollectpads.h:
8494           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
8495           unimplemented functions as unimplemented. Add padding to
8496           GstCollectData. (#320766, #320423)
8497
8498 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8499
8500         * gst/gstmessage.c:
8501           Improve docs for DURATION message (usage of duration parameter)
8502           (#320113)
8503
8504 2005-11-20  Wim Taymans  <wim@fluendo.com>
8505
8506         * check/Makefile.am:
8507         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
8508         (main):
8509         * gst/Makefile.am:
8510         * gst/gst.h:
8511         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8512         (gst_segment_set_seek), (gst_segment_set_newsegment),
8513         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8514         (gst_segment_clip):
8515         * gst/gstsegment.h:
8516         Added segment helper structure and methods. Not fully implemented
8517         yet.
8518         Added segment check.
8519
8520 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
8521
8522         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8523           Add a deserialisation test for fractions
8524         * examples/metadata/read-metadata.c: (message_loop),
8525         (make_pipeline), (main):
8526           Fix up metadata reading sample.
8527         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8528           Debug format fix
8529         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8530           Don't try and fixate empty caps
8531         * gst/gst_private.h:
8532           Wrap in G_BEGIN_DECLS/G_END_DECLS
8533         * gst/gstvalue.c: (gst_value_collect_fraction),
8534         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
8535         (gst_value_transform_string_fraction),
8536         (gst_value_compare_fraction):
8537           Add some extra guards to ensure that we don't end up 
8538           with an invalid denominator of 0 in a gstfraction and
8539           that fractions always get reduced.
8540
8541 2005-11-20  Wim Taymans  <wim@fluendo.com>
8542
8543         * docs/gst/gstreamer-sections.txt:
8544         * gst/gstbuffer.h:
8545         * gst/gstelement.c:
8546         * gst/gstformat.c:
8547         * gst/gstformat.h:
8548         * gst/gstindex.h:
8549         * gst/gstquery.c:
8550         * gst/gstquery.h:
8551         * gst/gstvalue.c:
8552         Doc fixes.
8553
8554 2005-11-20  Wim Taymans  <wim@fluendo.com>
8555
8556         * docs/design/part-TODO.txt:
8557         * gst/gstcaps.h:
8558         Make a proper enum of the flag.
8559
8560 2005-11-19  Wim Taymans  <wim@fluendo.com>
8561
8562         * docs/design/part-TODO.txt:
8563         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
8564         (gst_format_to_quark), (gst_format_register):
8565         * gst/gstformat.h:
8566         * gst/gstquery.c: (_gst_query_initialize),
8567         (gst_query_type_get_name), (gst_query_type_to_quark),
8568         (gst_query_type_register):
8569         * gst/gstquery.h:
8570         Add type to quark and type to string conversions.
8571
8572 2005-11-19  Andy Wingo  <wingo@pobox.com>
8573
8574         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
8575         #320097.
8576
8577 2005-11-19  Wim Taymans  <wim@fluendo.com>
8578
8579         * docs/design/part-TODO.txt:
8580         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8581         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
8582         (gst_bin_handle_message_func):
8583         * gst/gstbin.h:
8584         Make message handling overridable.
8585
8586 2005-11-19  Andy Wingo  <wingo@pobox.com>
8587
8588         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
8589
8590         * gst/gstclock.h:
8591         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
8592         be a GstClockTime.
8593         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
8594         is a GstClockTime. Fixes #321710.
8595
8596         * gst/gstclock.h (GstClock): Remove offset property. Add
8597         internal_calibration and external_calibration. Fix padding. Pad
8598         also by GstClockTime so we don't run into problems.
8599
8600         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
8601         (gst_clock_get_rate_offset): Remove.
8602         (gst_clock_set_time_adjust): Remove. Fixes #321712.
8603
8604         * gst/gstutils.h:
8605         * gst/gstutils.c (g_static_rec_cond_wait)
8606         (g_static_rec_cond_timed_wait): Removed, no longer needed.
8607
8608         * gst/gstbin.c: Remove terrible continue_state prototype.
8609
8610         * gst/gstelement.h (gst_element_continue_state): Make public.
8611
8612         * gst/gstelement.h:
8613         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
8614         by continue_state. Fixes #319389.
8615
8616         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
8617         Really fixes #168438. However I don't see anywhere where the
8618         filter function is called... stupid GStreamer...
8619         
8620         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
8621         don't have a dispose function, so it won't get called when the
8622         object is unreffed, but oh well!
8623
8624         * gst/gstindex.c (gst_index_set_filter_full): New API function,
8625         allows a destroy function to be set so user_data can be freed.
8626         Fixes #168438.
8627         (gst_index_set_filter): Call gst_index_set_filter_full.
8628
8629         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
8630
8631         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
8632         string should produce an error, given the lack of a way to
8633         represent NULL strings. Fixes #165650.
8634         
8635         * gst/gstvalue.h: 
8636         * gst/gstvalue.c (gst_value_array_append_value) 
8637         (gst_value_array_prepend_value, gst_value_array_get_size) 
8638         (gst_value_array_get_value): New API, copied from
8639         gst_value_list_*, only operates on arrays.
8640         (gst_value_list_append_value, gst_value_list_prepend_value) 
8641         (gst_value_list_concat, gst_value_list_get_size) 
8642         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
8643
8644         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
8645         init_list, because it works on both.
8646         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
8647         (gst_value_copy_list_or_array): Renamed from copy_list.
8648         (gst_value_free_list_or_array): Renamed from free_list.
8649         (gst_value_collect_list_or_array): Renamed from collect_list.
8650         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
8651         (gst_value_list_or_array_peek_pointer): Renamed from
8652         list_peek_pointer.
8653         (_gst_value_array_value_table, _gst_value_list_value_table):
8654         Update value table functions.
8655         (gst_value_compare_list_or_array): Renamed from compare_list.
8656
8657         * gsttaglist.h: Whoops, foreach function returns void. Also fix
8658         some constness.
8659
8660         * gst/gsttaglist.c:
8661         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
8662         GstTagList*. Fixes #143472.
8663
8664         * gst/gststructure.h: Clarify what the foreach/map functions can
8665         or can't do to their arguments.
8666
8667 2005-11-18  Wim Taymans  <wim@fluendo.com>
8668
8669         * gst/gstclock.c: (gst_clock_set_calibration),
8670         (gst_clock_get_calibration):
8671         Doc and API fixes.
8672         Calibration can be set with internal time equal to current
8673         internal time too.
8674
8675 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8676
8677         * gst/gsterror.c:
8678         * gst/gsterror.h:
8679           document
8680
8681 2005-11-18  Andy Wingo  <wingo@pobox.com>
8682
8683         * configure.ac: 
8684         * pkgconfig/gstreamer-net.pc.in:
8685         * pkgconfig/gstreamer-net-uninstalled.pc.in:
8686         * pkgconfig/Makefile.am: Add net pkgconfig files.
8687
8688 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
8689
8690         * gst/gstcaps.c:
8691         * gst/gstghostpad.c:
8692         * gst/gsttrace.c:
8693         * gst/gstvalue.c:
8694         * gst/gstvalue.h:
8695           docs fixes
8696
8697 2005-11-18  Andy Wingo  <wingo@pobox.com>
8698
8699         * gst/net/gstnetclientclock.c: Turn off debugging.
8700
8701         * check/net/gstnetclientclock.c (test_functioning): Assert that the
8702         times connverge somewhat. Can't make a real test.
8703
8704         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
8705         integer arithmetic. Return the minimum of the domain, which can be
8706         set as "internal" for gst_clock_set_calibration.
8707         (gst_net_client_clock_observe_times): Call _set_calibration.
8708         (gst_net_client_clock_new): Call _set_calibration instead of
8709         rate_offset.
8710
8711         * check/net/gstnetclientclock.c (test_functioning): Use the right
8712         adjustment api.
8713
8714         * gst/gstclock.h:
8715         * gst/gstclock.c (gst_clock_get_calibration) 
8716         (gst_clock_set_calibration): New functions, obsolete the ones I
8717         added yesterday. Doh. Precision issues mean we have to extrapolate
8718         from a point in the more recent past than 1970.
8719         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
8720         obsolete.
8721         (gst_clock_adjust_unlocked): Use the right calibration data.
8722
8723 2005-11-18  Edward Hervey  <edward@fluendo.com>
8724
8725         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
8726         Also reset the ->current_* values in READY->PAUSED
8727
8728 2005-11-18  Andy Wingo  <wingo@pobox.com>
8729
8730         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
8731         Whoops, check the right fd. Also add some debugging.
8732         (gst_net_client_clock_observe_times): Adjust for int64 offset.
8733         (do_linear_regression): Add a crapload of debugging. Subtract off
8734         the minimum values from the input series to discard unneeded bits.
8735         Use only int arithmetic. There is still double arithmetic when
8736         calculating the intercept that needs fixing. Return boolean to
8737         indicate success; FALSE would mean the domain or range is too
8738         great. Still needs fixes.
8739
8740 2005-11-18  Wim Taymans  <wim@fluendo.com>
8741
8742         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8743         For the current position in stream time, we need to subtract
8744         accumulated time.
8745         
8746         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8747         Release lock before calling the callback function of async
8748         entries.
8749
8750 2005-11-18  Andy Wingo  <wingo@pobox.com>
8751
8752         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
8753         Port goes all the way to MAXUINT16.
8754
8755         * gst/net/gstnettimeprovider.c: Make the port range the same as
8756         for the kernel: 0 assigns, otherwise ports are less than
8757         MAXUINT16.
8758
8759         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
8760         port change.
8761
8762         * check/net/gstnetclientclock.c (test_functioning): Add the start
8763         of another test. 
8764
8765 2005-11-18  Wim Taymans  <wim@fluendo.com>
8766
8767         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8768         (gst_bin_remove_func), (bin_bus_handler):
8769         * gst/gstbin.h:
8770         Removing a clock provider from a bin, triggers a clock lost message
8771         so that a new clock will be selected.
8772         Adding a clock to a bin triggers a clock provider message.
8773         Make sure we reselect a clock when we received a clock lost message.
8774         Keep a reference to the element that provided the clock.
8775
8776 2005-11-18  Andy Wingo  <wingo@pobox.com>
8777
8778         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
8779         the clock initially so it produces values around the base time.
8780         (gst_net_client_clock_class_init): Typo fix.
8781         (gst_net_client_clock_thread): Add note on when the socket gets
8782         closed.
8783
8784 2005-11-17  Wim Taymans  <wim@fluendo.com>
8785
8786         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
8787         Free remote and local time arrays.
8788
8789 2005-11-17  Wim Taymans  <wim@fluendo.com>
8790
8791         * gst/net/gstnetclientclock.c: (do_linear_regression),
8792         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
8793         Fix compilation, uninitialized vars and a forgotten continue.
8794
8795 2005-11-17  Andy Wingo  <wingo@pobox.com>
8796
8797         * check/Makefile.am (check_PROGRAMS): 
8798         * check/net/gstnetclientclock.c: Add a most minimal test for the
8799         net client clock. More to come later.
8800
8801         * gst/net/gstnet.h: 
8802         * gst/net/Makefile.am: Add netclientclock.
8803
8804         * gst/net/gstnetclientclock.h:
8805         * gst/net/gstnetclientclock.c: New files, implement an untested
8806         GstClock that takes its time from a network time provider.
8807         Implements the algorithm in network-clock.scm.
8808
8809         * tests/network-clock.scm (*window-size*): Rename from
8810         *queue-length*.
8811         * tests/network-clock.scm (network-time): 
8812         * tests/network-clock-utils.scm (q-push): Update callers.
8813
8814 2005-11-17  Wim Taymans  <wim@fluendo.com>
8815
8816         * gst/gstbin.c: (gst_bin_provide_clock_func),
8817         (gst_bin_sort_iterator_new):
8818         And unref the child too..
8819
8820 2005-11-17  Wim Taymans  <wim@fluendo.com>
8821
8822         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8823         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
8824         Refactor the sort iterator so it can be used while holding the
8825         LOCK too.
8826         Make clock selection select a clock closest to the source.
8827
8828 2005-11-17  Michael Smith <msmith@fluendo.com>
8829
8830         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
8831         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
8832         * gst/gstclock.h:
8833           Anonymous structs are a gcc (and some other compilers) extension, so
8834           don't use them. Since this is only for ABI-compatibility, and our
8835           API/ABI freeze is over in a few days, this whole thing will only
8836           last a few days, so don't bother trying to think up a meaningful
8837           name for the struct.
8838
8839 2005-11-17  Andy Wingo  <wingo@pobox.com>
8840
8841         * gst/gstclock.h (GstClock): Add rate and offset properties,
8842         preserving ABI stability. Add rate/offset accessors. Will file bug
8843         for the freeze break.
8844
8845         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
8846         and offset, trying to keep precision and avoiding
8847         underflow/overflow.
8848         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
8849         functions. Make gst_clock_set_time_adjust obsolete.
8850         (gst_clock_set_time_adjust): Note that this function is obsolete.
8851         Will file bug soon.
8852
8853         * gst/base/gstbasetransform.h: Make the ABI-stability hack
8854         greppable by using GST_PADDING-1+1.
8855
8856 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
8857
8858         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8859
8860         * gst/gstmessage.c: (gst_message_parse_clock_lost):
8861           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
8862
8863         * gst/gstpadtemplate.h:
8864         * gst/gstpluginfeature.h:
8865           Don't use c++ style comments in headers (#321638).
8866
8867 2005-11-16  Andy Wingo  <wingo@pobox.com>
8868
8869         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
8870         buffer.
8871
8872         * check/net/gstnettimeprovider.c: Check to see that the time
8873         provider actually provides times. Works, yo!
8874
8875 2005-11-16  Wim Taymans  <wim@fluendo.com>
8876
8877         * check/Makefile.am:
8878         Enable more tests.
8879
8880         * check/elements/fakesrc.c: (GST_START_TEST):
8881         Set element to NULL before disposing it.
8882
8883 2005-11-16  Andy Wingo  <wingo@pobox.com>
8884
8885         * gst/net/Makefile.am:
8886         * gst/net/gstnet.h:
8887         * gst/net/gstnettimeprovider.c: 
8888         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
8889         provider, include it from gstnet.h, and add it to the build.
8890
8891         * gst/net/gstnettimepacket.h: 
8892         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
8893         sending and receiving.
8894
8895 2005-11-16  Wim Taymans  <wim@fluendo.com>
8896
8897         * check/Makefile.am:
8898         Enable valgrind check.
8899
8900         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
8901         (gst_fake_src_alloc_buffer):
8902         Fix memleak.
8903
8904 2005-11-16  Wim Taymans  <wim@fluendo.com>
8905
8906         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
8907         Call parent finalize too.
8908
8909 2005-11-16  Wim Taymans  <wim@fluendo.com>
8910
8911         * check/Makefile.am:
8912         Enable valgrind check that should work fine now.
8913
8914         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8915         * gst/gstqueue.c: (gst_queue_init):
8916         Fix memleaks in pad allocation.
8917
8918 2005-11-16  Andy Wingo  <wingo@pobox.com>
8919
8920         * gst/net/Makefile.am:
8921         * gst/net/gstnet.h: New part of core to hold network elements and
8922         objects. Put in core because it exposes API that applications want
8923         to use. The library is named libgstnet-tempname right now because
8924         of the existing libgstnet in gst-plugins-base. Solution is
8925         probably to rename the one in plugins-base; will file a bug for
8926         the freeze break.
8927
8928         * gst/net/gstnettimeprovider.c: 
8929         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
8930         get_time call over the network.
8931
8932         * configure.ac: 
8933         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
8934
8935         * check/Makefile.am:
8936         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
8937         get additions shortly.
8938
8939 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8940
8941         * gst/gstpad.c: (gst_pad_new_from_static_template):
8942         * gst/gstpad.h:
8943           add gst_pad_new_from_static_template functions
8944         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
8945         (gst_check_setup_sink_pad):
8946         * gst/elements/gsttee.c: (gst_tee_init):
8947           and use them
8948
8949 2005-11-16  Wim Taymans  <wim@fluendo.com>
8950
8951         * gst/gstpad.c: (gst_pad_pause_task):
8952         Removed warning, it's not really an error either.
8953
8954 2005-11-16  Wim Taymans  <wim@fluendo.com>
8955
8956         * gst/base/gstbasetransform.c:
8957         (gst_base_transform_prepare_output_buf),
8958         (gst_base_transform_event):
8959         Check if the caps are NULL, this can happen if the element
8960         is shutting down and the pad caps are set to NULL.
8961
8962 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8963
8964         * gst/elements/gsttee.c: (gst_tee_init):
8965           fix pad template leak in tee
8966
8967 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8968
8969         * gst/glib-compat.c: (g_value_dup_gst_object):
8970         * gst/glib-compat.h:
8971         * gst/gstpad.c: (gst_pad_set_property):
8972           use gst_object_ref when setting the pad template; this will
8973           trigger the pad template leaks on GLib 2.6 and the slaves
8974
8975 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8976
8977         * gst/glib-compat.c: (gst_flags_get_first_value):
8978         * gst/glib-compat.h:
8979         * gst/gstregistryxml.c:
8980           remove functions copied from GLib 2.6
8981
8982 2005-11-16  Michael Smith <msmith@fluendo.com>
8983
8984         * gst/Makefile.am:
8985           Don't link against VALGRIND_LIBS. That was always the wrong thing to
8986           do, but only breaks with newer valgrind versions. We're not a
8987           valgrind tool, we have no link-time dependencies on libcoregrind.
8988
8989 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8990
8991         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8992           some debug changes
8993         * gst/gstmessage.h:
8994           typo fixes
8995
8996 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8997
8998         * gst/base/gstbasesrc.c: (gst_base_src_init):
8999         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9000         * gst/gstqueue.c: (gst_queue_init):
9001         * gst/gstregistryxml.c: (load_feature):
9002           Revert all these unrefs, they don't even pass make check !
9003
9004 2005-11-15  Johan Dahlin  <johan@gnome.org>
9005
9006         * gst/base/gstbasesrc.c: (gst_base_src_init):
9007         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9008         * gst/gstqueue.c: (gst_queue_init): 
9009         Free pad templates, fixes a couple of leaks.
9010
9011 2005-11-15  Daniel Fischer  <dan at f3c dot com>
9012
9013         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9014
9015         * gst/gstpad.c: (gst_pad_get_property):
9016           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
9017           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
9018           (#321452)
9019
9020 2005-11-15  Wim Taymans  <wim@fluendo.com>
9021
9022         * gst/gstevent.c:
9023         Small doc update.
9024
9025 2005-11-15  Andy Wingo  <wingo@pobox.com>
9026
9027         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
9028
9029         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
9030         using GST_CLOCK_TIME_NONE to disable base time management.
9031         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
9032         time if it was NONE before.
9033         (gst_pipeline_change_state): Only munge the base time if
9034         stream_time != GST_CLOCK_TIME_NONE.
9035
9036         * check/gst/gstpipeline.c (test_base_time): Punt around the
9037         problem of the probe not being called, because that's not the
9038         issue I'm looking at. Add a check that setting stream_time to NONE
9039         disables base time management.
9040         
9041 2005-11-15  Wim Taymans  <wim@fluendo.com>
9042
9043         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9044         segment_stop == -1 at startup.
9045
9046         * gst/base/gstbasetransform.c: (gst_base_transform_event),
9047         (gst_base_transform_change_state):
9048         Init segment values at start.
9049
9050 2005-11-15  Wim Taymans  <wim@fluendo.com>
9051
9052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9053         0 segment values are 0 in any format.
9054
9055         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9056         * gst/base/gstbasetransform.h:
9057         Parse newsegment correctly in basetransform
9058
9059         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9060         Sync to clock using updated segment values.
9061
9062 2005-11-15  Andy Wingo  <wingo@pobox.com>
9063
9064         * check/gst/gstpipeline.c (test_base_time): Add check that the
9065         base time and stream time are reset correctly.
9066
9067 2005-11-15  Wim Taymans  <wim@fluendo.com>
9068
9069         * docs/design/part-TODO.txt:
9070         Some more TODO items.
9071
9072 2005-11-15  Andy Wingo  <wingo@pobox.com>
9073
9074         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
9075         error if the user selected "no clock" as the clocking method.
9076
9077         * check/gst/gstpipeline.c (test_base_time): New test for buffer
9078         timestamps with live capture.
9079
9080         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
9081         is 0 but we are a live source, timestamp the buffers using the
9082         element's clock.
9083
9084 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
9085
9086         * docs/gst/gstreamer-sections.txt:
9087         * gst/gsterror.c:
9088         * gst/gstghostpad.c:
9089         * gst/gstobject.h:
9090         * gst/gstxml.c:
9091           more section docs
9092
9093 2005-11-14  Wim Taymans  <wim@fluendo.com>
9094
9095         * common/gst.supp:
9096           add suppressions from Wim's Debian machine
9097
9098 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9099
9100         * common/gst.supp:
9101           add suppressions from Andy's AMD64 Ubuntu machine
9102
9103 2005-11-14  Andy Wingo  <wingo@pobox.com>
9104
9105         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
9106         STATE_LOCK not necessary. Fixes #311489.
9107
9108         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
9109         #305291.
9110
9111         * gst/gstindex.c (gst_index_add_object): Note in the docs that
9112         this function is not implemented.
9113
9114 2005-11-14  Julien MOUTTE  <julien@moutte.net>
9115
9116         * gst/base/gstbasetransform.c:
9117         (gst_base_transform_prepare_output_buf):
9118         Ref the source pad caps while we need them.
9119         Fixes (#321386)
9120
9121 2005-11-11  Wim Taymans  <wim@fluendo.com>
9122
9123         * docs/gst/gstreamer-sections.txt:
9124         Added some docs for GstCollectData.
9125
9126         * gst/base/gstadapter.c:
9127         Some small code example fix.
9128
9129         * gst/base/gstcollectpads.c:
9130         * gst/base/gstcollectpads.h:
9131         Document some more.
9132
9133 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9134
9135         * configure.ac: back to HEAD
9136
9137 === release 0.9.5 ===
9138
9139 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
9140
9141         * configure.ac:
9142           releasing 0.9.5, "Bike Lunch Day"
9143
9144 2005-11-11  Wim Taymans  <wim@fluendo.com>
9145
9146         * gst/gstbuffer.c: (_gst_buffer_copy):
9147         Copy more flags.
9148
9149         * gst/gstcaps.c: (gst_caps_is_equal):
9150         Fix some docs.
9151         Make _is_equal fast in the trivial cases.
9152
9153         * gst/gstminiobject.c:
9154         * gst/gstminiobject.h:
9155         More docs. Spifify .h file.
9156
9157         * gst/gstutils.c:
9158         Small doc update.
9159
9160 2005-11-11  Wim Taymans  <wim@fluendo.com>
9161
9162         * gst/base/gstbasetransform.c:
9163         (gst_base_transform_prepare_output_buf),
9164         (gst_base_transform_handle_buffer):
9165         Small cleanups.
9166         If we're processing a buffer and need to allocate an output
9167         buffer, we cannot accept a format change. If we did get a 
9168         format change, we have to alloc a buffer ourselves of the 
9169         right size.
9170
9171 2005-11-11  Wim Taymans  <wim@fluendo.com>
9172
9173         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9174         While checking the flag for reentrancy in the gstcaps function
9175         is nice to detect recursive invocations, it also makes it 
9176         impossible to call getcaps from multiple threads, which must be
9177         possible. So, checking for recursive calls has to go.
9178
9179 2005-11-11  Michael Smith <msmith@fluendo.com>
9180
9181         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9182           Don't sync on buffers that fall partially outside our current
9183           segment. Prevents an assertion failure/abort playing some files.
9184
9185 2005-11-10  Andy Wingo  <wingo@pobox.com>
9186
9187         * check/gst/gstbin.c (test_message_state_changed_children): Style
9188         fix..
9189
9190         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9191         gst_bus_poll with the signal watch. Ensures that poll and a signal
9192         watch see the same messages.
9193
9194         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9195         a poll and a watch at the same time get the same messages.
9196
9197 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9198
9199         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9200         * gst/gstcaps.c: (gst_caps_intersect):
9201           Don't call gst_caps_do_simplify - it doesn't respect order of caps
9202           and it's not needed.
9203
9204 2005-11-10  Wim Taymans  <wim@fluendo.com>
9205
9206         * docs/design/part-TODO.txt:
9207         Updated todo.
9208
9209 2005-11-10  Wim Taymans  <wim@fluendo.com>
9210
9211         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9212         * gst/base/gstbasesrc.c: (gst_base_src_wait),
9213         (gst_base_src_do_sync), (gst_base_src_get_range):
9214         Implement clock sync in base class.
9215
9216 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9217
9218         patch by: Tim-Philipp Müller <tim at centricular dot net>
9219
9220         * gst/gststructure.c: (gst_structure_parse_field),
9221         (gst_structure_from_string):
9222           Forward-port a 0.8 patch to handle escaped spaces in structure string,
9223           so that gst_parse_launch() can deal with spaces in filtered link
9224           caps (fixes #164479)
9225         * check/gst/capslist.h:
9226         * check/gst/gststructure.c: (GST_START_TEST):
9227           add unit tests for this change
9228
9229 2005-11-10  Wim Taymans  <wim@fluendo.com>
9230
9231         * docs/gst/gstreamer-sections.txt:
9232         * gst/gstelement.c:
9233         * gst/gstelement.h:
9234         Fix docs, move some STATE macros to private.
9235
9236 2005-11-10  Wim Taymans  <wim@fluendo.com>
9237
9238         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9239         Added check for bug #317341
9240
9241         * gst/gstbuffer.c:
9242         * gst/gstbuffer.h:
9243         Some more spiffifying.
9244
9245         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9246         Call peer linkfunction if we are a source pad. Totally fixes
9247         #317341
9248
9249         * gst/gstpad.c:
9250         Update docs, source pads should call the peer linkfunction
9251         so they can atomically perform the pad link.
9252
9253 2005-11-09  Wim Taymans  <wim@fluendo.com>
9254
9255         * gst/gstbuffer.c:
9256         * gst/gstbuffer.h:
9257         Uber-spiffy-spiffify some more.
9258
9259 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
9260
9261         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9262         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9263         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9264         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9265         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9266         * gst/gstpad.c: (gst_pad_init):
9267           Use GST_DEBUG_FUNCPTR() more extensively.
9268
9269 2005-11-09  Wim Taymans  <wim@fluendo.com>
9270
9271         * gst/gstobject.c: (gst_object_class_init):
9272         * gst/gstobject.h:
9273         Documentation fixes.
9274
9275 2005-11-09  Edward Hervey  <edward@fluendo.com>
9276
9277         * gst/gsttypefindfactory.c:
9278         Fix docs.
9279         
9280 2005-11-09  Edward Hervey  <edward@fluendo.com>
9281
9282         * gst/base/gsttypefindhelper.c:
9283         * gst/gsttypefind.c:
9284         * gst/gsttypefind.h:
9285         Fix docs.
9286
9287 2005-11-09  Wim Taymans  <wim@fluendo.com>
9288
9289         * gst/gstiterator.c:
9290         Fix revision data.
9291
9292         * gst/gsttask.c:
9293         * gst/gsttask.h:
9294         Fix docs.
9295
9296 2005-11-09  Wim Taymans  <wim@fluendo.com>
9297
9298         * gst/gstevent.h:
9299         * gst/gsturi.h:
9300         Fix docs.
9301
9302 2005-11-09  Wim Taymans  <wim@fluendo.com>
9303
9304         * docs/gst/gstreamer-sections.txt:
9305         Moved the message async delivery private lock and cond
9306         to the private section.
9307
9308         * gst/gstmessage.c:
9309         * gst/gstmessage.h:
9310         Fixed docs.
9311
9312 2005-11-09  Edward Hervey  <edward@fluendo.com>
9313
9314         * docs/gst/gstreamer-sections.txt:
9315         * gst/gsturi.c:
9316         * gst/gsturi.h:
9317         Document GstURIHandler
9318
9319 2005-11-09  Wim Taymans  <wim@fluendo.com>
9320
9321         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9322         (gst_iterator_find_custom):
9323         * gst/gstiterator.h:
9324         Fix iterator docs.
9325
9326 2005-11-09  Wim Taymans  <wim@fluendo.com>
9327
9328         * gst/gstbin.h:
9329         Document another field.
9330
9331         * gst/gststructure.c:
9332         * gst/gststructure.h:
9333         Document.
9334
9335 2005-11-09  Wim Taymans  <wim@fluendo.com>
9336
9337         * gst/gstbin.h:
9338         Documented structs.
9339
9340 2005-11-09  Wim Taymans  <wim@fluendo.com>
9341
9342         * docs/gst/gstreamer-sections.txt:
9343         Added some new macros.
9344
9345         * gst/gstclock.c:
9346         * gst/gstclock.h:
9347         * gst/gstobject.h:
9348         Docs updates.
9349
9350 2005-11-09  Wim Taymans  <wim@fluendo.com>
9351
9352         * docs/design/part-TODO.txt:
9353         Some more items for the TODO
9354
9355         * gst/gstcaps.c:
9356         * gst/gstcaps.h:
9357         Document GstCaps.
9358
9359 2005-11-09  Andy Wingo  <wingo@pobox.com>
9360
9361         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
9362         to work on something else now tho...
9363
9364         * gst/base/gstadapter.c: More adapter docs.
9365
9366         * gst/elements/gstfilesink.c (gst_file_sink_start) 
9367         (gst_file_sink_stop): New functions, replace the state change
9368         handler.
9369         (gst_file_sink_class_init): Hook up the start and stop functions.
9370         (gst_file_sink_base_init): Don't set the state change handler any
9371         more. It was a bit ugly too, being set from here...
9372         (gst_file_sink_get_property, gst_file_sink_set_property):
9373         Cleanups...
9374         (gst_file_sink_set_location): More robust check that doesn't call
9375         GST_STATE. Ugggggg.
9376
9377 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9378
9379         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9380           Hold STREAM_LOCK while pushing newsegment or tag events as well.
9381
9382 2005-11-08  Wim Taymans  <wim@fluendo.com>
9383
9384         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9385         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9386         (gst_base_sink_chain), (gst_base_sink_change_state):
9387         * gst/base/gstbasesink.h:
9388         * gst/base/gstbasesrc.h:
9389         * gst/gstelement.h:
9390         * gst/gstevent.h:
9391         Avoid excessive typechecking in macros.
9392
9393         * gst/gstminiobject.c: (gst_mini_object_get_type),
9394         (gst_mini_object_init), (gst_mini_object_new),
9395         (gst_mini_object_free):
9396         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9397         (gst_object_finalize):
9398         Remove cruft code, optimize alloc_trace.
9399
9400 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9401
9402         * docs/faq/gst-uninstalled:
9403           fix up PS1 for systems that try to reset it
9404
9405 2005-11-07  Wim Taymans  <wim@fluendo.com>
9406
9407         * gst/base/gstbasesrc.c: (gst_base_src_init),
9408         (gst_base_src_get_range):
9409         Set the segment_end to -1 initially. Fixed typefind.
9410
9411 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9412
9413         * gst/base/gstadapter.c:
9414           Debug category should be 'adapter', not 'GstAdapter'.
9415           
9416         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
9417         (gst_collectpads_class_init), (gst_collectpads_init),
9418         (gst_collectpads_peek), (gst_collectpads_pop),
9419         (gst_collectpads_event), (gst_collectpads_chain):
9420           Add debug category and some debugging output. Use boilerplate
9421           macros. Remove some extraneous words from docs.
9422
9423 2005-11-05  Andy Wingo  <wingo@pobox.com>
9424
9425         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
9426         macro.
9427
9428 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9429
9430         * docs/gst/gstreamer-sections.txt:
9431         * gst/gstcaps.h:
9432         * gst/gstinfo.c:
9433         * gst/gstminiobject.h:
9434         * gst/gstobject.h:
9435         * gst/gstutils.h:
9436           more docs added
9437
9438 2005-11-04  Wim Taymans  <wim@fluendo.com>
9439
9440         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9441         Small update to stop at the configured segment_end
9442         position.
9443
9444 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9445
9446         * gst/gstregistry.c:
9447         * gst/gstregistry.h:
9448           added missing docs
9449
9450 2005-11-04  Edward Hervey  <edward@fluendo.com>
9451
9452         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9453         Check if we are doing a segment seek and have arrived at the
9454         end of that segment.
9455
9456 2005-11-04  Wim Taymans  <wim@fluendo.com>
9457
9458         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
9459         Don't leak a mutex unlock in case of an error.
9460
9461         * gst/gstbus.h:
9462         Doc fixes.
9463
9464 2005-11-04  Wim Taymans  <wim@fluendo.com>
9465
9466         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
9467         (gst_bus_post):
9468         Get the context to wake up only once.
9469
9470 2005-11-03  Wim Taymans  <wim@fluendo.com>
9471
9472         * check/states/sinks.c: (GST_START_TEST):
9473         Uncomment fixed check.
9474
9475         * docs/design/part-TODO.txt:
9476         Updated TODO.
9477
9478         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9479         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9480         (gst_base_sink_get_position):
9481         If we are going to PLAYING, post the right pending state
9482         when we post the intermediate paused message.
9483
9484         * gst/gstelement.c: (gst_element_continue_state),
9485         (gst_element_set_state_func), (gst_element_change_state):
9486         Don't post state changes that were between the same state
9487         and were not ASYNC.
9488
9489 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9490
9491         * docs/gst/gstreamer-sections.txt:
9492         * gst/gstcaps.h:
9493         * gst/gstinfo.c:
9494         * gst/gstminiobject.h:
9495         * gst/gstobject.h:
9496         * gst/gstutils.h:
9497           more docs and doc style fixes
9498
9499 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9500
9501         * docs/gst/gstreamer-sections.txt:
9502         * gst/gstelement.c:
9503         * gst/gstminiobject.c:
9504         doc fixes
9505
9506 2005-11-03  Andy Wingo  <wingo@pobox.com>
9507
9508         * check/states/sinks.c (test_livesrc_sink): Add checks that the
9509         state-changed messages actually have the right order and the right
9510         values.
9511
9512 2005-11-03  Wim Taymans  <wim@fluendo.com>
9513
9514         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9515         Added some more checks. Specifically the case where NO_PREROLL
9516         elements are in the pipeline.
9517
9518         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9519         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9520         (gst_base_sink_get_position):
9521         Post READY->PAUSED state change messages too.
9522         Fix bug where VOID was posted as pending state...
9523
9524         * gst/gstbin.c: (gst_bin_recalc_state):
9525         use _element_continue_state() to continue the state change.
9526
9527         * gst/gstelement.c: (gst_element_continue_state),
9528         (gst_element_commit_state), (gst_element_set_state_func),
9529         (gst_element_change_state), (gst_element_change_state_func):
9530         Lots of state change cleanups, assign the STATE_RETURN in
9531         a new continue_state() function that also propagates the
9532         last return value from a state change to the app.
9533         Update some debug statements with proper category.
9534
9535 2005-11-03  Wim Taymans  <wim@fluendo.com>
9536
9537         * docs/design/part-events.txt:
9538         * docs/design/part-gstpipeline.txt:
9539         * docs/design/part-messages.txt:
9540         * docs/design/part-overview.txt:
9541         * docs/design/part-seeking.txt:
9542         * docs/design/part-states.txt:
9543         * docs/design/part-trickmodes.txt:
9544         * docs/manual/advanced-position.xml:
9545         Small docs updates.
9546
9547         * gst/gstobject.h:
9548         People think !! is ugly, this looks better.
9549
9550         * gst/gstpad.c: (gst_pad_set_blocked_async):
9551         Remove !! since it's fixed elsewhere now.
9552
9553 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9554
9555         * gst/gstminiobject.h:
9556         * gst/gstobject.h:
9557           Add !! to _FLAG_IS_SET macros to make the result boolean.
9558
9559 2005-11-03  Edward Hervey  <edward@fluendo.com>
9560
9561         * gst/gstpad.c: (gst_pad_set_blocked_async):
9562         comparing a flag and a gboolean rarely returns coherent results...
9563         Added two characters (!!) to make that work correctly.
9564         
9565 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9566
9567         * gst/gstbus.c: (gst_bus_class_init):
9568           Fix some typos.
9569           
9570         * gst/gstqueue.c: (gst_queue_loop):
9571           Don't assume a miniobject that isn't a buffer is an
9572           event (it could be that there is a refcounting
9573           problem somewhere and the pointer is stale and
9574           refers to an already destroyed miniobject).
9575
9576 2005-11-03  Julien MOUTTE  <julien@moutte.net>
9577
9578         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
9579
9580 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9581
9582         * docs/manual/advanced-position.xml:
9583           Update seek example and explanations to current 0.9 API.
9584
9585         * gst/elements/gsttypefindelement.c:
9586         (gst_type_find_element_activate):
9587           Remove FIXME comment now that the found caps
9588           are unreffed.
9589
9590 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9591
9592         * gst/gstregistryxml.c: (load_feature):
9593           Add another GST_STR_NULL instance
9594
9595 2005-11-02  Edward Hervey  <edward@fluendo.com>
9596
9597         * gst/gstpad.c: (handle_pad_block):
9598         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
9599         
9600 2005-11-02  Wim Taymans  <wim@fluendo.com>
9601
9602         * gst/gstbin.c:
9603         Fix typo in docs.
9604
9605         * gst/gstelement.c: (gst_element_commit_state):
9606         Remove unused value.
9607
9608         * gst/gstiterator.c:
9609         Mention that the returned element is reffed in the docs.
9610
9611 2005-11-02  Wim Taymans  <wim@fluendo.com>
9612
9613         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
9614         (gst_pad_push), (gst_pad_push_event):
9615         Unlock blocked pads when they are flushed.
9616
9617 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9618
9619         * docs/README:
9620         * docs/gst/gstreamer-sections.txt:
9621         * gst/gstbin.c:
9622           doc updates
9623         * gst/gstregistry.c: (gst_registry_scan_path_level):
9624           fix for a nasty little missed situation where an installed plug-in
9625           which was in the cache did not get overridden by an uninstalled one
9626           which was earlier in the plugin path because the newly created plugin
9627           for the uninstalled one (not in the registry) didn't get its
9628           ->registered set to TRUE
9629
9630 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9631
9632         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
9633         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
9634         (gst_collectpads_is_active), (gst_collectpads_collect),
9635         (gst_collectpads_collect_range), (gst_collectpads_start),
9636         (gst_collectpads_stop), (gst_collectpads_peek),
9637         (gst_collectpads_pop), (gst_collectpads_available),
9638         (gst_collectpads_read), (gst_collectpads_flush):
9639           Guard public API with assertions.
9640         
9641         * gst/gstpad.c:
9642           Fix docs for gst_pad_set_link_function().
9643
9644 2005-11-02  Johan Dahlin  <johan@gnome.org>
9645
9646         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
9647         Unref found_caps after we used it.
9648
9649 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9650
9651         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
9652           Don't try to ref NULL.
9653
9654 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9655
9656         * win32/common/config.h.in:
9657           provide a GST_FUNCTION that just gives a string for now
9658
9659 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9660
9661         * win32/common/gstenumtypes.c: (register_gst_object_flags),
9662         (gst_object_flags_get_type), (register_gst_bin_flags),
9663         (gst_bin_flags_get_type), (register_gst_buffer_flag),
9664         (gst_buffer_flag_get_type), (register_gst_bus_flags),
9665         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
9666         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
9667         (gst_clock_return_get_type), (register_gst_clock_entry_type),
9668         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
9669         (gst_clock_flags_get_type), (register_gst_state),
9670         (gst_state_get_type), (register_gst_state_change_return),
9671         (gst_state_change_return_get_type), (register_gst_state_change),
9672         (gst_state_change_get_type), (register_gst_element_flags),
9673         (gst_element_flags_get_type), (register_gst_core_error),
9674         (gst_core_error_get_type), (register_gst_library_error),
9675         (gst_library_error_get_type), (register_gst_resource_error),
9676         (gst_resource_error_get_type), (register_gst_stream_error),
9677         (gst_stream_error_get_type), (register_gst_event_type),
9678         (gst_event_type_get_type), (register_gst_seek_type),
9679         (gst_seek_type_get_type), (register_gst_seek_flags),
9680         (gst_seek_flags_get_type), (register_gst_format),
9681         (gst_format_get_type), (register_gst_index_certainty),
9682         (gst_index_certainty_get_type), (register_gst_index_entry_type),
9683         (gst_index_entry_type_get_type),
9684         (register_gst_index_lookup_method),
9685         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
9686         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
9687         (gst_index_resolver_method_get_type), (register_gst_index_flags),
9688         (gst_index_flags_get_type), (register_gst_debug_level),
9689         (gst_debug_level_get_type), (register_gst_debug_color_flags),
9690         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
9691         (gst_iterator_result_get_type), (register_gst_iterator_item),
9692         (gst_iterator_item_get_type), (register_gst_message_type),
9693         (gst_message_type_get_type), (register_gst_mini_object_flags),
9694         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
9695         (gst_pad_link_return_get_type), (register_gst_flow_return),
9696         (gst_flow_return_get_type), (register_gst_activate_mode),
9697         (gst_activate_mode_get_type), (register_gst_pad_direction),
9698         (gst_pad_direction_get_type), (register_gst_pad_flags),
9699         (gst_pad_flags_get_type), (register_gst_pad_presence),
9700         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
9701         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
9702         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
9703         (gst_plugin_error_get_type), (register_gst_plugin_flags),
9704         (gst_plugin_flags_get_type), (register_gst_rank),
9705         (gst_rank_get_type), (register_gst_query_type),
9706         (gst_query_type_get_type), (register_gst_tag_merge_mode),
9707         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
9708         (gst_tag_flag_get_type), (register_gst_task_state),
9709         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
9710         (gst_alloc_trace_flags_get_type),
9711         (register_gst_type_find_probability),
9712         (gst_type_find_probability_get_type), (register_gst_uri_type),
9713         (gst_uri_type_get_type), (register_gst_parse_error),
9714         (gst_parse_error_get_type):
9715         * win32/common/gstversion.h:
9716           update win32 copies
9717
9718 2005-11-01  Luca Ognibene  <luogni@tin.it>
9719
9720         * gst/gst.c:
9721           fix docs. popt is dead, long live GOption.
9722
9723 2005-10-31  Wim Taymans  <wim@fluendo.com>
9724
9725         * gst/gstbuffer.h:
9726         Small doc fix.
9727
9728 2005-10-31  Andy Wingo  <wingo@pobox.com>
9729
9730         * Boo!
9731
9732         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
9733
9734         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
9735         need to serialize property notifications on GLib 2.8. GLib 2.6 has
9736         the possibility of deadlocks here if code calling notify() or
9737         set() has a lock that can be taken in another notify handler (ABBA
9738         with class lock and e.g. python GIL state lock).
9739
9740 2005-10-28  Julien MOUTTE  <julien@moutte.net>
9741
9742         * gst/gstbus.c: Doc updates.
9743
9744 2005-10-28  Wim Taymans  <wim@fluendo.com>
9745
9746         * docs/design/part-TODO.txt:
9747         * gst/gstiterator.c:
9748         * gst/gstsystemclock.c:
9749         * gst/gstsystemclock.h:
9750         Doc updates.
9751
9752 2005-10-28  Edward Hervey  <edward@fluendo.com>
9753
9754         * docs/gst/gstreamer-docs.sgml:
9755         * docs/gst/gstreamer-sections.txt:
9756         the GstURIType documentation page is private, it only defines GstURIType
9757         which should be defined in the GstURIHandler page
9758         
9759 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9760
9761         * gst/gstbin.c: (gst_bin_class_init):
9762         * gst/gstbin.h:
9763         * gst/gstutils.c:
9764         Documentation updates.
9765
9766 2005-10-28  Wim Taymans  <wim@fluendo.com>
9767
9768         * docs/gst/gstreamer-sections.txt:
9769         * gst/gstclock.c:
9770         * gst/gstclock.h:
9771         Documented the clocks.
9772
9773 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
9774
9775         * docs/gst/gstreamer-sections.txt:
9776           move some macros to private sections
9777         * gst/gstminiobject.c:
9778         * gst/gstminiobject.h:
9779           add descriptions provided by ds and some more
9780         * gst/gstpad.h:
9781           mark macro as to be removed
9782
9783 2005-10-28  Wim Taymans  <wim@fluendo.com>
9784
9785         * docs/design/part-TODO.txt:
9786         Add an item to TODO.
9787
9788         * gst/gstiterator.c: (gst_iterator_fold),
9789         (gst_iterator_find_custom):
9790         * gst/gstiterator.h:
9791         Add iterator docs.
9792
9793 2005-10-28  Wim Taymans  <wim@fluendo.com>
9794
9795         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9796         (gst_base_transform_init):
9797         Don't leak class.
9798
9799         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
9800         An EOS event marks the queue as completely filled.
9801
9802 2005-10-27  Wim Taymans  <wim@fluendo.com>
9803
9804         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9805         (gst_base_sink_do_sync), (gst_base_sink_get_position):
9806         Some more debugging.
9807
9808         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
9809         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
9810         (gst_base_transform_event), (gst_base_transform_getrange),
9811         (gst_base_transform_chain):
9812         * gst/base/gstbasetransform.h:
9813         Fix debugging,
9814         Protect transform and concurrent buffer alloc with a new lock.
9815         Try not to break ABI/API.
9816
9817 2005-10-27  Wim Taymans  <wim@fluendo.com>
9818
9819         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9820         (gst_base_src_init), (gst_base_src_query),
9821         (gst_base_src_default_newsegment),
9822         (gst_base_src_configure_segment), (gst_base_src_do_seek),
9823         (gst_base_src_send_event), (gst_base_src_event_handler),
9824         (gst_base_src_pad_get_range), (gst_base_src_loop),
9825         (gst_base_src_unlock), (gst_base_src_default_negotiate),
9826         (gst_base_src_start), (gst_base_src_deactivate),
9827         (gst_base_src_activate_push), (gst_base_src_change_state):
9828         Move some stuff around and cleanup things.
9829
9830 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
9831
9832         * gst/base/gstbasesrc.c: (gst_base_src_query):
9833           Add missing break statements.
9834
9835 2005-10-27  Wim Taymans  <wim@fluendo.com>
9836
9837         * check/gst/gstbin.c: (GST_START_TEST):
9838         An extra refcount is taken in basesrc.
9839
9840         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
9841         (gst_base_src_get_range), (gst_base_src_pad_get_range),
9842         (gst_base_src_loop):
9843         Small cleanups, check for flushing after being unlocked from the 
9844         LIVE_LOCK. take refcounts correctly (not yet everywhere).
9845         Don't send out EOS when going to READY.
9846
9847 2005-10-27  Wim Taymans  <wim@fluendo.com>
9848
9849         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9850         (gst_base_sink_get_position):
9851         Some more debug.
9852
9853         * gst/gstbin.c: (message_check), (bin_replace_message),
9854         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9855         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9856         (bin_query_duration_init), (bin_query_duration_fold),
9857         (bin_query_duration_done), (bin_query_generic_fold),
9858         (gst_bin_query):
9859         * tools/gst-launch.c: (main):
9860         Remove old option.
9861
9862 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
9863
9864         * examples/controller/audio-example.c: (main):
9865         * examples/queue/queue.c: (event_loop):
9866         * gst/base/gstbasetransform.h:
9867         * gst/gstelement.c: (gst_element_send_event):
9868         * gst/gstevent.h:
9869         * gst/gstpad.c: (gst_pad_send_event):
9870           fixing examples
9871           fixing docs typos
9872           changing log priority in error situations
9873
9874 2005-10-25  Wim Taymans  <wim@fluendo.com>
9875
9876         * gst/gstbin.c: (message_check), (bin_replace_message),
9877         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9878         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9879         (bin_query_duration_init), (bin_query_duration_fold),
9880         (bin_query_duration_done), (bin_query_generic_fold),
9881         (gst_bin_query):
9882         Some doc and debug updates.
9883         Cache previously requested query DURATION for speed. invalidate
9884         cached duration if element posts a DURATION message.
9885
9886 2005-10-25  Wim Taymans  <wim@fluendo.com>
9887
9888         * docs/design/part-TODO.txt:
9889         Update TODO.
9890
9891         * gst/gstbin.c: (message_check), (bin_replace_message),
9892         (bin_remove_messages), (is_eos), (gst_bin_add_func),
9893         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
9894         (bin_query_duration_init), (bin_query_duration_fold),
9895         (bin_query_duration_done), (bin_query_generic_fold),
9896         (gst_bin_query):
9897         Handle SEGMENT_START/DONE messages correctly.
9898         More evolved query algorithm that handles duration queries
9899         correctly.
9900
9901         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
9902         (gst_element_get_state_func), (gst_element_abort_state),
9903         (gst_element_commit_state), (gst_element_lost_state):
9904         Some more debugging.
9905
9906         * gst/gstmessage.h:
9907         Added doc.
9908
9909 2005-10-25  Wim Taymans  <wim@fluendo.com>
9910
9911         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9912         Don't use invalid stream_time.
9913
9914         * gst/gstevent.c: (gst_event_new_newsegment):
9915         stream_time in newsegment cannot be undefined.
9916
9917 2005-10-24  Wim Taymans  <wim@fluendo.com>
9918
9919         * gst/gstbus.c:
9920         Doc fix.
9921
9922         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9923         (gst_queue_loop):
9924         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
9925
9926 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
9927
9928         * docs/libs/tmpl/gstdparam.sgml:
9929         * docs/libs/tmpl/gstdplinint.sgml:
9930         * docs/libs/tmpl/gstdpman.sgml:
9931         * docs/libs/tmpl/gstdpsmooth.sgml:
9932         * docs/libs/tmpl/gstunitconvert.sgml:
9933           these are obsolete
9934
9935 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9936
9937         * configure.ac:
9938           back to HEAD
9939
9940 === release 0.9.4 ===
9941
9942 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9943
9944         * configure.ac:
9945           releasing 0.9.4, "Tyrannosaurus Rex"
9946
9947 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
9948
9949         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9950         (gst_file_sink_get_current_offset):
9951           Use fseeko() and ftello() if available. When falling back on
9952           lseek() to get the current offset, fflush() first to make sure
9953           everything is up-to-date and we get the right offset.
9954
9955 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9956
9957         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9958         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9959         * gst/gsterror.c: (_gst_stream_errors_init):
9960         * gst/gsterror.h:
9961         * gst/gstqueue.c: (gst_queue_loop):
9962         * po/POTFILES.in:
9963           remove prematurely added error category and clean up the instances
9964
9965 2005-10-21  Wim Taymans  <wim@fluendo.com>
9966
9967         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9968         (gst_base_sink_get_position), (gst_base_sink_query),
9969         (gst_base_sink_change_state):
9970         Simply set the right flag when going to playing, that's all
9971         we need to do instead of calling a function inside the object
9972         lock (that could take the lock as well and deadlock)
9973
9974 2005-10-21  Wim Taymans  <wim@fluendo.com>
9975
9976         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
9977         (gst_base_src_loop):
9978         Don't warn, the peer element knows what to do best when
9979         the seek failed, it might try something else.
9980
9981 2005-10-21  Wim Taymans  <wim@fluendo.com>
9982
9983         * gst/base/gstbasesrc.c: (gst_base_src_init),
9984         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9985         Fix seeking.
9986
9987 2005-10-21  Wim Taymans  <wim@fluendo.com>
9988
9989         * docs/design/part-segments.txt:
9990         More docs.
9991
9992         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9993         Correctly set caps, even on the subbufer.
9994
9995 2005-10-21  Wim Taymans  <wim@fluendo.com>
9996
9997         * docs/gst/gstreamer-docs.sgml:
9998         * docs/gst/gstreamer-sections.txt:
9999         * gst/gstelement.h:
10000         * gst/gstevent.c:
10001         * gst/gstevent.h:
10002         * gst/gstmessage.h:
10003         * gst/gstpad.h:
10004         * gst/gstparse.h:
10005         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
10006         * gst/gsttask.h:
10007         * gst/gstutils.c:
10008         * gst/gstutils.h:
10009         And 2% more doc coverage.
10010
10011 2005-10-21  Andy Wingo  <wingo@pobox.com>
10012
10013         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
10014         position reporting.
10015
10016 2005-10-20  Wim Taymans  <wim@fluendo.com>
10017
10018         * gst/gsterror.c: (gst_error_get_message):
10019         * gst/gstparse.h:
10020         * gst/gstquery.h:
10021         * gst/gststructure.c:
10022         * gst/gsttrace.c:
10023         * gst/gstutils.c:
10024         More docs.
10025
10026 2005-10-20  Wim Taymans  <wim@fluendo.com>
10027
10028         * gst/gstbuffer.h:
10029         * gst/gstpad.c:
10030         * gst/gstparse.c:
10031         Another 1% more coverage.
10032
10033 2005-10-20  Wim Taymans  <wim@fluendo.com>
10034
10035         * docs/gst/gstreamer-sections.txt:
10036         * gst/gstelement.c: (gst_element_get_state_func),
10037         (gst_element_abort_state), (gst_element_commit_state),
10038         (gst_element_lost_state):
10039         * gst/gstevent.h:
10040         * gst/gstquery.c: (gst_query_set_position),
10041         (gst_query_parse_position), (gst_query_set_duration),
10042         (gst_query_parse_duration), (gst_query_new_convert):
10043         * gst/gstutils.c:
10044         Yay! 1% more docs coverage.
10045
10046 2005-10-20  Wim Taymans  <wim@fluendo.com>
10047
10048         * gst/gstpad.h:
10049         * gst/gstquery.c: (gst_query_set_position),
10050         (gst_query_parse_position), (gst_query_set_duration),
10051         (gst_query_parse_duration), (gst_query_new_convert):
10052         * gst/gstquery.h:
10053         * gst/gstutils.c: (gst_element_query_convert):
10054         * gst/gstutils.h:
10055         Docs and consistency fixes.
10056
10057 2005-10-20  Wim Taymans  <wim@fluendo.com>
10058
10059         * gst/gsttask.c:
10060         * gst/gsttask.h:
10061         More docs.
10062
10063 2005-10-20  Wim Taymans  <wim@fluendo.com>
10064
10065         * gst/gstbin.c: (message_check), (bin_replace_message),
10066         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10067         (update_degree), (gst_bin_sort_iterator_next),
10068         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
10069         Reworked the message handling a bit, cache the messages instead of
10070         only the senders. alows us to do more in the future.
10071
10072 2005-10-20  Wim Taymans  <wim@fluendo.com>
10073
10074         * docs/design/part-TODO.txt:
10075         Update TODO
10076
10077         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10078         (gst_base_sink_query):
10079         Don't use clock time to report position when in EOS.
10080
10081 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
10082
10083         * tools/gst-inspect.c: (print_interfaces),
10084         (print_element_properties_info), (print_element_info):
10085           Fix interface output with gst-inspect -a; don't print
10086           newlines after double/float properties.
10087
10088 2005-10-20  Wim Taymans  <wim@fluendo.com>
10089
10090         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10091         (gst_base_sink_query):
10092         Speed up current position calculation.
10093
10094         * gst/base/gstbasesrc.c: (gst_base_src_query),
10095         (gst_base_src_default_newsegment):
10096         Correctly set stream position in newsegment.
10097
10098         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
10099         (update_degree), (gst_bin_sort_iterator_next),
10100         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
10101         * gst/gstmessage.c: (gst_message_new_custom):
10102         Clean up debugging info
10103
10104         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10105         (gst_queue_loop), (gst_queue_handle_src_query):
10106         Pause task faster.
10107
10108 2005-10-19  Wim Taymans  <wim@fluendo.com>
10109
10110         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10111         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10112         Fix query handling again.
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         * gst/base/gstbasesrc.c: (gst_base_src_query):
10119         * gst/elements/gstfilesink.c: (gst_file_sink_query):
10120         * gst/elements/gsttypefindelement.c:
10121         (gst_type_find_handle_src_query), (find_element_get_length),
10122         (gst_type_find_element_activate):
10123         API change fix.
10124
10125         * gst/gstquery.c: (gst_query_new_position),
10126         (gst_query_set_position), (gst_query_parse_position),
10127         (gst_query_new_duration), (gst_query_set_duration),
10128         (gst_query_parse_duration), (gst_query_set_segment),
10129         (gst_query_parse_segment):
10130         * gst/gstquery.h:
10131         Bundling query position/duration is not a good idea since duration
10132         does not change much and we don't want to recalculate it for every
10133         position query, so they are separated again..
10134         Base value in segment query is not needed.
10135
10136         * gst/gstqueue.c: (gst_queue_handle_src_query):
10137         * gst/gstutils.c: (gst_element_query_position),
10138         (gst_element_query_duration), (gst_pad_query_position),
10139         (gst_pad_query_duration):
10140         * gst/gstutils.h:
10141         Updates for query API change.
10142         Added some docs here and there.
10143
10144 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10145
10146         * check/gst/gstbin.c: (GST_START_TEST):
10147         * check/gst/gstghostpad.c: (GST_START_TEST):
10148         * check/pipelines/cleanup.c: (GST_START_TEST):
10149           wait on thread to die so we can check refcount correctly
10150
10151 2005-10-18  Wim Taymans  <wim@fluendo.com>
10152
10153         * check/pipelines/stress.c: (GST_START_TEST):
10154         Make check a little more time consuming.
10155
10156 2005-10-18  Wim Taymans  <wim@fluendo.com>
10157
10158         * check/Makefile.am:
10159         * check/pipelines/stress.c: (GST_START_TEST),
10160         (simple_launch_lines_suite), (main):
10161         Small state change torture test.
10162
10163         * docs/design/part-states.txt:
10164         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10165         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10166         (gst_base_sink_change_state):
10167         Never take state lock from streaming thread, clean up ugly
10168         hacks. Unfortunatly core does not yet support nice ways to
10169         async commit state.
10170         
10171         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10172         (bin_bus_handler):
10173         Start state recalc if a STATE_DIRTY message is posted, but only
10174         on the toplevel bin.
10175
10176         * gst/gstelement.c: (gst_element_sync_state_with_parent),
10177         (gst_element_get_state_func), (gst_element_abort_state),
10178         (gst_element_commit_state), (gst_element_lost_state),
10179         (gst_element_set_state_func), (gst_element_change_state):
10180         * gst/gstelement.h:
10181         State variables are now protected with the LOCK, the state
10182         lock is only used to serialize _set_state().
10183
10184 2005-10-18  Wim Taymans  <wim@fluendo.com>
10185
10186         * check/gst/gstbin.c: (GST_START_TEST):
10187         * check/gst/gstmessage.c: (GST_START_TEST):
10188         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10189         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10190         (bin_bus_handler):
10191         * gst/gstelement.c: (gst_element_abort_state),
10192         (gst_element_commit_state), (gst_element_lost_state):
10193         * gst/gstmessage.c: (gst_message_new_state_changed),
10194         (gst_message_new_state_dirty), (gst_message_new_segment_start),
10195         (gst_message_new_segment_done), (gst_message_new_duration),
10196         (gst_message_parse_state_changed),
10197         (gst_message_parse_segment_start),
10198         (gst_message_parse_segment_done), (gst_message_parse_duration):
10199         * gst/gstmessage.h:
10200         * tools/gst-launch.c: (event_loop):
10201         Seriously, this is better than a previous commit as we only need
10202         to notify the fact that an element changed state in a streaming
10203         thread, marking the state of the parents dirty, hence the 
10204         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10205         message.
10206
10207 2005-10-18  Wim Taymans  <wim@fluendo.com>
10208
10209         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10210         (gst_bin_recalc_func):
10211         * gst/gstelement.c: (gst_element_set_clock),
10212         (gst_element_abort_state), (gst_element_lost_state):
10213         Cleanups, prepare for state change fixes.
10214
10215 2005-10-18  Wim Taymans  <wim@fluendo.com>
10216
10217         * gst/gstbin.h:
10218         * gst/gstelement.c: (gst_element_class_init),
10219         (gst_element_set_state), (gst_element_set_state_func):
10220         * gst/gstelement.h:
10221         Pending ABI changes.
10222         GThreadPool in GstBinClass to monitor async state changes.
10223         state_cookie in GstElement to detect concurrent gst/set state.
10224         set_state is now virtual too in case a very complicated element
10225         has to be constructed.
10226
10227 2005-10-18  Wim Taymans  <wim@fluendo.com>
10228
10229         * check/gst/gstbin.c: (GST_START_TEST):
10230         * check/gst/gstmessage.c: (GST_START_TEST):
10231         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10232         * gst/gstbin.c: (bin_bus_handler):
10233         * gst/gstelement.c: (gst_element_commit_state),
10234         (gst_element_lost_state):
10235         * gst/gstmessage.c: (gst_message_new_state_changed),
10236         (gst_message_new_segment_start), (gst_message_new_segment_done),
10237         (gst_message_new_duration), (gst_message_parse_state_changed),
10238         (gst_message_parse_segment_start),
10239         (gst_message_parse_segment_done), (gst_message_parse_duration):
10240         * gst/gstmessage.h:
10241         * tools/gst-launch.c: (event_loop):
10242         Make messages future proof.
10243         state-change gets a flag if it was a message comming from the
10244         streaming thread.
10245         segment-start/stop can also be specified in other formats.
10246         A message to notify an app that a pipeline changed playback 
10247         duration.
10248         Also fix a GstMessage leak in -launch
10249
10250 2005-10-18  Andy Wingo  <wingo@pobox.com>
10251
10252         * gst/gstelement.c (gst_element_dispose): More helpful message.
10253
10254 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10255
10256         reviewed by: <delete if not using a buddy>
10257
10258         * common/gtk-doc.mak:
10259
10260 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10261
10262         * gst/gstregistry.c: (gst_registry_scan_path_level):
10263           unref a plug-in we get that was already initialized
10264
10265 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10266
10267         * docs/gst/gstreamer-sections.txt:
10268         * docs/libs/gstreamer-libs-sections.txt:
10269         * gst/gstelement.h:
10270           add new api entries
10271           hide internal macro
10272
10273 2005-10-17  Andy Wingo  <wingo@pobox.com>
10274
10275         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10276         cleanup.
10277
10278         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10279
10280         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10281
10282         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10283         (gst_element_get_state_func): Better debug message.
10284         (gst_element_commit_state): s/INFO/DEBUG/.
10285         (gst_element_lost_state, gst_element_change_state): 
10286
10287         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10288         (gst_message_new_custom): s/INFO/LOG/.
10289
10290 2005-10-17  Michael Smith <msmith@fluendo.com>
10291
10292         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10293           Check if end time is valid using end time, not start time.
10294
10295 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10296
10297         * check/gst-libs/controller.c: (GST_START_TEST),
10298         (gst_controller_suite):
10299         * libs/gst/controller/gstcontroller.c:
10300         (gst_controlled_property_set_interpolation_mode):
10301         * libs/gst/controller/gstcontroller.h:
10302         * libs/gst/controller/gstinterpolation.c:
10303         * testsuite/controller/.cvsignore:
10304         * testsuite/controller/Makefile.am:
10305         * testsuite/controller/interpolator.c:
10306           merge controller testsuites
10307           fix broken tests
10308           remove mem-chunk from docs
10309
10310 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10311
10312         * gst/gstmemchunk.c:
10313         * gst/gstmemchunk.h:
10314         * gst/gsttrashstack.c:
10315         * gst/gsttrashstack.h:
10316           out.  get out.  you're fired.  to the Attic !
10317
10318 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10319
10320         * gst/gstcaps.c: (gst_caps_intersect):
10321           fix signedness issues in a (hopefully) correct way
10322         * gst/gstelement.c: (gst_element_pads_activate):
10323           some debugging
10324         * gst/gstobject.c: (gst_object_set_parent):
10325           some debugging
10326
10327 2005-10-17  Julien MOUTTE  <julien@moutte.net>
10328
10329         * gst/gstvalue.h: Fix prototypes.
10330
10331 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10332
10333         * docs/gst/gstreamer-sections.txt:
10334         * gst/gst.c: (gst_version_string):
10335         * gst/gst.h:
10336         * gst/gstversion.h.in:
10337         * win32/common/libgstreamer.def:
10338           add gst_version_string ()
10339
10340 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10341
10342         * configure.ac:
10343           clean up further
10344         * gst/gst.c: (init_post):
10345         * win32/common/config.h.in:
10346           it's PLUGINDIR now
10347         * gst/gstcaps.c: (gst_caps_intersect):
10348           use gint64, the range could be bigger than a guint
10349
10350 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10351
10352         * gst/gstclock.h:
10353           document potential problem in 2038
10354
10355 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10356
10357         * gst/gstcaps.c: (gst_caps_intersect):
10358           Fix guint j diving under 0
10359
10360 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10361
10362         * configure.ac:
10363         * win32/common/config.h:
10364         * win32/common/config.h.in:
10365           check for process.h, declares getpid() on Windows
10366         * gst/gstinfo.c:
10367           include process.h if we have it
10368         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10369         * gst/gstmemchunk.h:
10370           fix signedness issues
10371         * win32/common/libgstreamer.def:
10372           fix get_type's
10373
10374 2005-10-16  Julien MOUTTE  <julien@moutte.net>
10375
10376         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
10377         fix. Because of unsigned ints, caps intersection was going nuts and
10378         trying to access structures with G_MAXUINT index. That fixes
10379         videotestsrc ! ffmpegcolorspace ! fakesink
10380         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
10381         consistency.
10382
10383 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10384
10385         * configure.ac:
10386           use the gettext macro
10387         * gst/elements/gstelements.c:
10388         * gst/gst.c:
10389         * gst/indexers/gstindexers.c:
10390           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
10391         * win32/common/config.h:
10392           updated config.h
10393         * win32/common/config.h.in:
10394           add the template to generate config.h
10395         * win32/common/gstenumtypes.c:
10396         * win32/common/gstversion.h:
10397           updated copies
10398
10399 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10400
10401         * gst/gst.c: (gst_version):
10402         * gst/gstversion.h.in:
10403           add the nano
10404
10405 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10406
10407         * gst/gstevent.h:
10408           Oops, add missing closing bracket.
10409
10410 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10411
10412         * configure.ac:
10413           use common m4's for argument checking
10414
10415 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10416
10417         * docs/gst/gstreamer-sections.txt:
10418         * gst/gstevent.h:
10419           Add GST_EVENT_TYPE_NAME() macro.
10420
10421 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10422
10423         * gst/gstinfo.c:
10424         * gst/gstpluginfeature.c:
10425         * gst/gsttask.c:
10426           privatize more symbols
10427
10428 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10429
10430         * configure.ac:
10431           add srcdir, builddir includes to GST_ALL_CFLAGS, since
10432           everything that uses GStreamer API should have the includes
10433
10434 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10435
10436         * docs/gst/gstreamer-sections.txt:
10437         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10438         * gst/gstvalue.h:
10439           give each value a _get_type, removes the DATA exports
10440
10441 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10442
10443         * gst/gst.c:
10444         * gst/gst.h:
10445           remove _gst_registry_auto_load, not used anymore
10446         * gst/gstbin.c: (gst_bin_get_type):
10447         * gst/gstbin.h:
10448         * gst/gstelement.c: (gst_element_get_type):
10449         * gst/gstelement.h:
10450         * gst/gstobject.c: (gst_object_get_type):
10451         * gst/gstobject.h:
10452         * gst/gstpad.c: (gst_pad_get_type):
10453         * gst/gstpad.h:
10454           make _get_type functions similar, fixes data export from library
10455
10456 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10457
10458         * configure.ac:
10459           correctly make conditionals
10460         * gst/elements/Makefile.am:
10461         * gst/elements/gstelements.c:
10462           fix typo causing fdsrc not to build
10463
10464 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10465
10466         * testsuite/Makefile.am:
10467         * testsuite/bytestream/.cvsignore:
10468         * testsuite/bytestream/Makefile.am:
10469         * testsuite/bytestream/filepadsink.c:
10470         * testsuite/bytestream/gstbstest.c:
10471         * testsuite/bytestream/test1.c:
10472         * testsuite/bytestream/testfile1:
10473         * testsuite/caps/normalisation.c:
10474         * testsuite/caps/random.c: (main):
10475         * testsuite/cleanup/.cvsignore:
10476         * testsuite/cleanup/Makefile.am:
10477         * testsuite/cleanup/cleanup1.c:
10478         * testsuite/cleanup/cleanup2.c:
10479         * testsuite/cleanup/cleanup3.c:
10480         * testsuite/cleanup/cleanup4.c:
10481         * testsuite/cleanup/cleanup5.c:
10482         * testsuite/controller/interpolator.c:
10483         * testsuite/debug/printf_extension.c: (main):
10484         * testsuite/elements/tee.c:
10485         * testsuite/negotiation/.cvsignore:
10486         * testsuite/negotiation/Makefile.am:
10487         * testsuite/negotiation/pad_link.c:
10488         * testsuite/pad/Makefile.am:
10489         * testsuite/pad/chainnopull.c:
10490         * testsuite/pad/getnopush.c:
10491         * testsuite/pad/link.c:
10492         * testsuite/refcounting/sched.c: (create_pipeline):
10493         * testsuite/registry/Makefile.am:
10494         * testsuite/registry/gst-print-formats.c:
10495         * testsuite/schedulers/.cvsignore:
10496         * testsuite/schedulers/142183-2.c:
10497         * testsuite/schedulers/142183.c:
10498         * testsuite/schedulers/143777-2.c:
10499         * testsuite/schedulers/143777.c:
10500         * testsuite/schedulers/147713.c:
10501         * testsuite/schedulers/147819.c:
10502         * testsuite/schedulers/147894-2.c:
10503         * testsuite/schedulers/147894.c:
10504         * testsuite/schedulers/Makefile.am:
10505         * testsuite/schedulers/group_link.c:
10506         * testsuite/schedulers/queue_link.c:
10507         * testsuite/schedulers/relink.c:
10508         * testsuite/schedulers/unlink.c:
10509         * testsuite/schedulers/unref.c:
10510         * testsuite/schedulers/useless_iteration.c:
10511         * testsuite/states/bin.c:
10512           clean out/remove some stuff from the testsuite directories
10513
10514 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10515
10516         * configure.ac:
10517           check for some headers
10518         * gst/elements/Makefile.am:
10519         * gst/elements/gstelements.c:
10520           don't compile fdsrc without sys/socket.h
10521         * gst/indexers/Makefile.am:
10522         * gst/indexers/gstindexers.c: (plugin_init):
10523           don't compile fileindex without mmap
10524
10525 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10526
10527         * configure.ac:
10528           reorganize
10529           clean up
10530           document more
10531           remove cruft
10532         * check/Makefile.am:
10533         * docs/gst/Makefile.am:
10534         * examples/helloworld/Makefile.am:
10535         * gst/Makefile.am:
10536         * gst/base/Makefile.am:
10537         * gst/check/Makefile.am:
10538         * gst/elements/Makefile.am:
10539         * gst/indexers/Makefile.am:
10540         * gst/parse/Makefile.am:
10541         * libs/gst/controller/Makefile.am:
10542         * libs/gst/dataprotocol/Makefile.am:
10543         * examples/helloworld/helloworld.c: (event_loop):
10544           compile fixes, though it's not being compiled currently
10545
10546 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10547
10548         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
10549           Add some simple tests for the new taglist date API.
10550
10551 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10552
10553         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
10554         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
10555           Beautify 'last-message' output: print 'none' for buffer timestamps
10556           and durations if none is set; improve alignment with next messages.
10557
10558 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10559
10560         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
10561         * gst/gstpluginfeature.h:
10562         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
10563         * gst/gstregistry.h:
10564         * docs/gst/gstreamer-sections.txt:
10565           Add new API to check plugin feature version requirements.
10566
10567         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
10568           Some basic tests for the above.         
10569
10570 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10571
10572         * gst/gststructure.c: (gst_structure_to_string):
10573           guard against NULL printf - happens when for example
10574           a message structure with GstClock gets serialized
10575
10576 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10577
10578         * gst/base/gstcollectpads.c: (gst_collectpads_event):
10579           Fix presumable copy'n'pasto.
10580
10581 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10582
10583         * gst/elements/gstfakesrc.h:
10584         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
10585         * gst/elements/gsttypefindelement.c:
10586           fix some signedness
10587         * gst/elements/gstfilesink.c: (gst_file_sink_render):
10588           I wonder if this could actually write +2GB files before
10589
10590 2005-10-13  Andy Wingo  <wingo@pobox.com>
10591
10592         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
10593         Fix Timmeke Waymans bug.
10594         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
10595         string of the proper length to gst_caps_from_string. There's a
10596         potential for, before this fix, that this could cause someone
10597         connecting over the network to cause a segfault if the payload is
10598         not NUL-terminated.
10599
10600 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10601
10602         * docs/design/draft-push-pull.txt:
10603         * docs/design/part-overview.txt:
10604         * docs/random/TODO-pre-0.9:
10605         * docs/random/old/ChangeLog.gstreamer:
10606         * gst/base/gstpushsrc.c:
10607         * gst/gstclock.c:
10608           fixed typos
10609
10610 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10611
10612         * gst/glib-compat.c: (gst_flags_get_first_value):
10613         * gst/glib-compat.h:
10614         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
10615         (gst_value_compare_double), (gst_value_serialize_flags):
10616           GLib 2.6 g_flags_get_first_value has a bug that triggers an
10617           infinite loop
10618
10619 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10620
10621         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10622         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10623           fix up debugging
10624         * tools/gst-launch.c: (event_loop):
10625           print out clock nicely
10626
10627 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10628
10629         * docs/gst/gstreamer-sections.txt:
10630         * gst/gsttaglist.h:
10631         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
10632         (gst_tag_list_get_date_index):
10633           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
10634           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
10635
10636 2005-10-13  Julien MOUTTE  <julien@moutte.net>
10637
10638         * gst/base/gstcollectpads.c: (gst_collectpads_event),
10639         (gst_collectpads_chain):
10640         * gst/base/gstcollectpads.h: Handle newsegment and store informations
10641         in CollectData.
10642
10643 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10644
10645         * docs/gst/gstreamer-sections.txt:
10646         * gst/gst.c:
10647         * gst/gsterror.h:
10648         * tools/gst-inspect.c: (main):
10649         * tools/gst-launch.c: (main):
10650         * tools/gst-run.c: (main):
10651         * tools/gst-xmlinspect.c: (main):
10652           fix GOption context leaks
10653           doc fixes
10654
10655 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10656
10657         * gst/gstbus.c:
10658           use HAVE_UNISTD_H
10659         * win32/common/config.h:
10660           update config
10661         * win32/vs6/grammar.dsp:
10662         * win32/vs6/libgstelements.dsp:
10663         * win32/vs6/libgstreamer.dsp:
10664           update vs6 files
10665
10666 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10667
10668         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10669         * gst/base/gstbasesrc.c: (gst_base_src_query):
10670           fix more guint64<->gdouble conversions
10671
10672 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10673
10674         * Makefile.am:
10675           add win32-update target
10676         * win32/common/gstconfig.h:
10677         * win32/common/gstenumtypes.c:
10678         * win32/common/gstenumtypes.h:
10679         * win32/common/gstversion.h:
10680           add files that visual studio can't generate
10681
10682 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10683
10684         * Makefile.am:
10685           add a win32-update target
10686         * configure.ac:
10687
10688 2005-10-12  Wim Taymans  <wim@fluendo.com>
10689
10690         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10691         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
10692         * gst/gstelement.c: (gst_element_commit_state),
10693         (gst_element_set_state):
10694         Protect flags with proper lock.
10695         unref provided cached clock in dispose.
10696
10697 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10698
10699         * gst/gst.c:
10700         * gst/gstminiobject.h:
10701         * gst/gstpad.h:
10702         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
10703           removed unused flags from miniobject
10704           doc fixes
10705
10706 2005-10-12  Wim Taymans  <wim@fluendo.com>
10707
10708         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10709         (gst_file_sink_event), (gst_file_sink_render):
10710         Flush before seeking.
10711
10712 2005-10-12  Andy Wingo  <wingo@pobox.com>
10713
10714         * gst/gst.c (gst_init_check): Ignore unknown options, as has
10715         always been the case.
10716
10717 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10718
10719         * check/gst/gstbin.c: (GST_START_TEST):
10720         * docs/gst/gstreamer-sections.txt:
10721         * gst/base/gstbasesink.c: (gst_base_sink_init):
10722         * gst/base/gstbasesrc.c: (gst_base_src_init),
10723         (gst_base_src_get_range), (gst_base_src_check_get_range),
10724         (gst_base_src_start), (gst_base_src_stop):
10725         * gst/base/gstbasesrc.h:
10726         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
10727         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10728         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
10729         (bin_bus_handler):
10730         * gst/gstbin.h:
10731         * gst/gstbuffer.h:
10732         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
10733         * gst/gstbus.h:
10734         * gst/gstelement.c: (gst_element_is_locked_state),
10735         (gst_element_set_locked_state), (gst_element_commit_state),
10736         (gst_element_set_state):
10737         * gst/gstelement.h:
10738         * gst/gstindex.c: (gst_index_init):
10739         * gst/gstindex.h:
10740         * gst/gstminiobject.h:
10741         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
10742         (gst_object_set_parent):
10743         * gst/gstobject.h:
10744         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
10745         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
10746         * gst/gstpad.h:
10747         * gst/gstpadtemplate.h:
10748         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
10749         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10750         * gst/gstpipeline.h:
10751         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10752         (gst_file_index_commit):
10753         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
10754         * testsuite/pad/link.c: (gst_test_src_init),
10755         (gst_test_filter_init), (gst_test_sink_init):
10756         * testsuite/states/locked.c: (main):
10757           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
10758           moved bitshift from macro to enum definition
10759
10760 2005-10-12  Wim Taymans  <wim@fluendo.com>
10761
10762         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
10763         * gst/elements/gstfilesink.c: (gst_file_sink_event),
10764         (gst_file_sink_render):
10765         Some more debugging info.
10766
10767 2005-10-12  Wim Taymans  <wim@fluendo.com>
10768
10769         * docs/design/part-states.txt:
10770         * tools/gst-launch.c: (main):
10771         Some doc updates.
10772         Revert non-intentional change.
10773
10774 2005-10-12  Wim Taymans  <wim@fluendo.com>
10775
10776         * check/gst/gstbin.c: (GST_START_TEST):
10777         * check/gst/gstelement.c: (GST_START_TEST):
10778         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
10779         * check/gst/gstghostpad.c: (GST_START_TEST):
10780         * check/gst/gstpipeline.c: (GST_START_TEST):
10781         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10782         * check/states/sinks.c: (GST_START_TEST):
10783         * gst/elements/gsttypefindelement.c: (stop_typefinding):
10784         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10785         (gst_bin_remove_func), (gst_bin_get_state_func),
10786         (gst_bin_recalc_state), (gst_bin_change_state_func),
10787         (bin_bus_handler):
10788         * gst/gstelement.c: (gst_element_get_state_func),
10789         (gst_element_get_state), (gst_element_abort_state),
10790         (gst_element_commit_state), (gst_element_set_state),
10791         (gst_element_change_state), (gst_element_change_state_func):
10792         * gst/gstelement.h:
10793         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
10794         (gst_pipeline_provide_clock_func):
10795         * gst/gstutils.c: (gst_element_link_pads_filtered):
10796         * tools/gst-launch.c: (main):
10797         * tools/gst-typefind.c: (main):
10798         Use GstClockTime in _get_state() instead of GTimeVal.
10799         Remove old code in gstutils.c
10800
10801 2005-10-12  Andy Wingo  <wingo@pobox.com>
10802
10803         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
10804         removed.
10805
10806         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
10807         there is no task. Shouldn't affect any code, as nothing in our
10808         plugins checks this return value.
10809         (gst_pad_stop_task): Also take the stream lock if the pad has no
10810         task. Docs updated.
10811
10812 2005-10-12  Wim Taymans  <wim@fluendo.com>
10813
10814         * gst/gstpad.c: (pre_activate), (post_activate),
10815         (gst_pad_activate_pull), (gst_pad_activate_push):
10816         Cleanup activation code. Reset old state if
10817         activation failed.
10818
10819 2005-10-12  Wim Taymans  <wim@fluendo.com>
10820
10821         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10822         (gst_base_sink_change_state):
10823         No need to prerol after receiving EOS.
10824
10825         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10826         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
10827         * gst/elements/gstidentity.c: (gst_identity_event):
10828         Print events more verbosely.
10829
10830 2005-10-12  Wim Taymans  <wim@fluendo.com>
10831
10832         * check/Makefile.am:
10833         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10834         * check/states/sinks2.c:
10835         Moved sinks2 testcode in sinks check.
10836
10837         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10838         (gst_bin_remove_func), (gst_bin_recalc_state),
10839         (gst_bin_change_state_func), (bin_bus_handler):
10840         Fix potential race condition when _get_state() iterated over an
10841         ASYNC element right before it posted a state completion.
10842
10843         * gst/gstclock.h:
10844         Do proper cast here.
10845
10846         * gst/gstevent.c: (gst_event_new_newsegment),
10847         (gst_event_parse_newsegment):
10848         A playback rate of 0.0 is not allowed.
10849
10850 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10851
10852         * win32/common/config.h:
10853         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10854         (_trewinddir), (_ttelldir), (_tseekdir):
10855         * win32/common/dirent.h:
10856         * win32/common/gtchar.h:
10857         * win32/common/libgstbase.def:
10858         * win32/common/libgstreamer.def:
10859         * win32/vs6/grammar.dsp:
10860         * win32/vs6/gst_inspect.dsp:
10861         * win32/vs6/gst_launch.dsp:
10862         * win32/vs6/gstreamer.dsw:
10863         * win32/vs6/libgstbase.dsp:
10864         * win32/vs6/libgstelements.dsp:
10865         * win32/vs6/libgstreamer.dsp:
10866           Visual Studio 6 project files, and a new common directory.
10867           Phear.
10868
10869 2005-10-11  Wim Taymans  <wim@fluendo.com>
10870
10871         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10872         (gst_base_sink_do_sync), (gst_base_sink_query),
10873         (gst_base_sink_change_state):
10874         * gst/base/gstbasesink.h:
10875         Correctly parse newsegment info.
10876
10877 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10878
10879         * gst/gst.c: (init_post):
10880           split plugin paths correctly
10881
10882 2005-10-11  Wim Taymans  <wim@fluendo.com>
10883
10884         * check/gst/gstevent.c: (GST_START_TEST):
10885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10886         (gst_base_sink_change_state):
10887         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
10888         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10889         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10890         * gst/gstevent.c: (gst_event_new_newsegment),
10891         (gst_event_parse_newsegment):
10892         * gst/gstevent.h:
10893         Added extra flag to newsegment for future API freeze.
10894         Updated check and base elements.
10895
10896 2005-10-11  Julien MOUTTE  <julien@moutte.net>
10897
10898         * gst/base/gstcollectpads.c: (gst_collectpads_init),
10899         (gst_collectpads_add_pad), (gst_collectpads_pop),
10900         (gst_collectpads_event), (gst_collectpads_chain):
10901         * gst/base/gstcollectpads.h: Handle EOS correctly.
10902
10903 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10904
10905         * tools/gst-launch.c: (main):
10906           more null protecting
10907
10908 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10909
10910         * gst/gst-i18n-lib.h:
10911           check for ENABLE_NLS, not GETTEXT_PACKAGE
10912         * gst/gstregistry.c: (gst_registry_add_plugin),
10913         (gst_registry_scan_path_level),
10914         (_gst_registry_remove_cache_plugins):
10915           protect possibly NULL strings
10916         * gst/parse/types.h:
10917           config.h already included before
10918         * tools/gst-inspect.c: (main):
10919           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
10920           check for ENABLE_NLS, not GETTEXT_PACKAGE
10921         * tools/gst-launch.c: (main):
10922           check for ENABLE_NLS, not GETTEXT_PACKAGE
10923
10924 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10925
10926         * configure.ac:
10927           if we don't have glib, fail before testing 2.8
10928         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
10929           fix a leak, should fix plugins-base testsuite
10930
10931 2005-10-11  Andy Wingo  <wingo@pobox.com>
10932
10933         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
10934         take the mode we're going to as an arg. Go head and set the mode
10935         and flushing flags now, so that if the activate function starts a
10936         thread all the flags will be in the right state.
10937         (post_activate): Renamed also. Just handle making sure streaming
10938         finishes for the deactivation case, and setting the deactivated
10939         mode.
10940         (gst_pad_set_active): Complain loudly if deactivation fails.
10941         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
10942         (gst_pad_activate_push): Adapt to pre/post_activate changes,
10943         remove the terrible hack.
10944
10945 2005-10-11  Wim Taymans  <wim@fluendo.com>
10946
10947         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10948         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
10949         (gst_bin_recalc_state), (gst_bin_change_state_func),
10950         (gst_bin_dispose), (bin_bus_handler):
10951         * gst/gstbin.h:
10952         Prepare to make current EOS message queue more generic.
10953         Fix some typos.
10954
10955         * gst/gstevent.c: (gst_event_new_newsegment),
10956         (gst_event_parse_newsegment):
10957         * gst/gstevent.h:
10958         Rename base to stream_time.
10959
10960         * gst/gstmessage.h:
10961         Fix typo in docs.
10962
10963 2005-10-11  Wim Taymans  <wim@fluendo.com>
10964
10965         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
10966         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
10967         (gst_bin_change_state_func), (bin_bus_handler):
10968         * gst/gstbin.h:
10969         Work on proper clock selection.
10970
10971 2005-10-11  Edward Hervey  <edward@fluendo.com>
10972
10973         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
10974         * libs/gst/controller/gstcontroller.h:
10975         Added GList* version of _remove_properties() in order to be able to wrap
10976         it in bindings.
10977
10978 2005-10-11  Wim Taymans  <wim@fluendo.com>
10979
10980         * docs/design/part-states.txt:
10981         Some more docs.
10982
10983         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
10984         (gst_bin_change_state_func), (bin_bus_handler):
10985         Doc updates. Don't distribute the same clock over and over again.
10986
10987         * gst/gstclock.c:
10988         * gst/gstclock.h:
10989         Doc updates.
10990
10991         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
10992         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
10993         (gst_pad_send_event):
10994         * gst/gstpad.h:
10995         Make probe emission threadsafe again.
10996         Register quarks and move _get_name() from utils.
10997         Doc updates.
10998
10999         * gst/gstpipeline.c: (gst_pipeline_class_init),
11000         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11001         Only redistribute the clock of it changed.
11002
11003         * gst/gstsystemclock.h:
11004         Doc updates. 
11005
11006         * gst/gstutils.c:
11007         * gst/gstutils.h:
11008         Moved the _flow_get_name() to GstPad.
11009
11010 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11011
11012         * check/gst-libs/gdp.c: (GST_START_TEST):
11013         * check/gst/gstcaps.c: (GST_START_TEST):
11014         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
11015         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
11016         (gst_dp_packet_from_caps):
11017           fix more valgrind warnings before turning up the heat
11018
11019 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11020
11021         * gst/parse/grammar.y:
11022           some cleanup before the hacking
11023
11024 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11025
11026         * gst/base/gstbasesrc.c: (gst_base_src_query):
11027           use conversions
11028         * gst/gstutils.c: (gst_guint64_to_gdouble),
11029         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
11030         * gst/gstutils.h:
11031           externalize, basesrc uses it
11032           obviously the implementation needs testing
11033
11034 2005-10-10  Wim Taymans  <wim@fluendo.com>
11035
11036         * tests/sched/Makefile.am:
11037         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
11038         (make_pipeline3), (make_pipeline4), (print_elem), (main):
11039
11040 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11041
11042         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
11043           apparently converting from guint64 to double is not implemented
11044           on MSVC
11045
11046 2005-10-10  Wim Taymans  <wim@fluendo.com>
11047
11048         * check/Makefile.am:
11049         * check/generic/states.c: (GST_START_TEST):
11050         * check/gst/gstbin.c: (GST_START_TEST):
11051         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11052         * check/states/sinks.c: (GST_START_TEST):
11053         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
11054         (main):
11055         Check fixes, use API as stated in design docs, remove hacks.
11056
11057         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11058         (gst_base_sink_change_state):
11059         Catch stopping our task while we're shutting down.
11060
11061         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
11062         (gst_bin_remove_func), (gst_bin_get_state_func),
11063         (gst_bin_recalc_state), (gst_bin_change_state_func),
11064         (bin_bus_handler):
11065         * gst/gstbin.h:
11066         * gst/gstelement.c: (gst_element_init),
11067         (gst_element_get_state_func), (gst_element_abort_state),
11068         (gst_element_commit_state), (gst_element_lost_state),
11069         (gst_element_set_state), (gst_element_change_state),
11070         (gst_element_change_state_func):
11071         * gst/gstelement.h:
11072         New state change algorithm (see #318116)
11073
11074         * gst/gstpipeline.c: (gst_pipeline_class_init),
11075         (gst_pipeline_init), (gst_pipeline_set_property),
11076         (gst_pipeline_get_property), (do_pipeline_seek),
11077         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11078         * gst/gstpipeline.h:
11079         Remove crude state change hacks.
11080
11081         * gst/gstutils.h:
11082         Remove crude hacks.
11083
11084         * tools/gst-launch.c: (main):
11085         Fixes for state change. Needs some more work to fully use the
11086         new stuff.
11087
11088 2005-10-10  Andy Wingo  <wingo@pobox.com>
11089
11090         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
11091
11092         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
11093         this flag, but it's not even in GLib 2.6. Odd. Hack around the
11094         issue.
11095
11096 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11097
11098         * gst/gstiterator.c: (gst_iterator_new):
11099           Fix my previous commit: GTypes passed to gst_iterator_new()
11100           can be fundamental types.
11101
11102 2005-10-10  Wim Taymans  <wim@fluendo.com>
11103
11104         * gst/gstelement.c: (gst_element_iterate_pad_list),
11105         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
11106         (gst_element_iterate_sink_pads):
11107         Use src/sink pads lists for the respective iterators instead
11108         of filtering.
11109
11110 2005-10-10  Andy Wingo  <wingo@pobox.com>
11111
11112         Merged in popt removal + GOption addition patch from Ronald, bug
11113         #169772.
11114
11115         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
11116         GstElement macros around, remove popt-related symbols, add goption
11117         stuff.
11118
11119         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
11120         
11121         * docs/gst/Makefile.am:
11122         * docs/libs/Makefile.am: No POPT_CFLAGS.
11123         
11124         * examples/manual/Makefile.am:
11125         * docs/manual/basics-init.xml: Doc updates with an example.
11126         
11127         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11128         (gst_init), (parse_one_option), (parse_goption_arg):
11129         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
11130         bit of hand merging and debugging to get the GOption stuff working
11131         tho.
11132         
11133         * tests/Makefile.am:
11134         * tools/Makefile.am:
11135         * tools/gst-inspect.c: (main):
11136         * tools/gst-launch.c: (main):
11137         * tools/gst-run.c: (main):
11138         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11139
11140 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11141
11142         * gst/gstiterator.c: (gst_iterator_new):
11143           Add assertions to make sure passed GType is likely to really
11144           be a GType (as the compiler won't catch it if the size and
11145           GType arguments get mixed up, see #318447).
11146
11147 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
11148
11149         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11150
11151         * gst/gstbin.c: (gst_bin_iterate_sorted):
11152           Pass GType and size arguments to gst_iterator_new() in the right
11153           order (maybe we should make _new() take the GType as first argument
11154           just like _new_list()?) (#318447).
11155           
11156
11157 2005-10-10  Wim Taymans  <wim@fluendo.com>
11158
11159         * gst/gstelement.c: (gst_element_finalize):
11160         And free the GStaticRecMutex too
11161
11162 2005-10-10  Andy Wingo  <wingo@pobox.com>
11163
11164         * gst/gstelement.c (gst_element_init, gst_element_finalize):
11165         Allocate and free the mutex properly.
11166
11167         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11168         New macros.
11169         (GstElement): The state_lock is now recursive. Rebuild your
11170         plugins, suckers. Old macros adapted.
11171
11172         * docs/gst/gstreamer-sections.txt: Doc updates.
11173
11174         * gst/gstutils.h:
11175         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
11176         (g_static_rec_cond_wait): Ported from state changes patch, while
11177         we wait on bug #317802 to be solved in a well-distributed GLib.
11178
11179         * gst/gstelement.c (gst_element_change_state_func): Renamed from
11180         gst_element_change_state, variable name changes.
11181         (gst_element_change_state): Split out of gst_element_set_state in
11182         preparation for the state change merge. Doesn't pay attention to
11183         the 'transition' argument.
11184         (gst_element_set_state): Updates, hopefully purely cosmetic.
11185         (gst_element_sync_state_with_parent): MT-safety. Ported from the
11186         state change patch.
11187         (gst_element_get_state_func): Renamed from get_state, cosmetic
11188         changes.
11189
11190 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11191
11192         * gst/elements/gstelements.c:
11193         * win32/GStreamer.vcproj:
11194         * win32/config.h:
11195         * win32/dirent.c: (_tseekdir):
11196         * win32/gst-inspect.vcproj:
11197         * win32/gst-launch.vcproj:
11198         * win32/gstconfig.h:
11199         * win32/gstelements.vcproj:
11200         * win32/gstenumtypes.c: (gst_object_flags_get_type):
11201         * win32/gstreamer.def:
11202         * win32/msvc71.sln:
11203           updates for the win32 build (patch from Sebastien Moutte)
11204
11205 2005-10-10  Andy Wingo  <wingo@pobox.com>
11206
11207         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11208         gst_bin_get_state, cleaned up (but no logic changes).
11209         (bin_element_is_sink): Comment updates.
11210         (sink_iterator_filter): Remove needless cast.
11211         (gst_bin_iterate_sinks): Doc update.
11212         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11213         cleaned up (but no logic changes).
11214
11215         * check/states/sinks.c (test_src_sink): Cleanups from the state
11216         change patch.
11217         (test_livesrc_sink): Sync on the state.
11218
11219         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11220         the state change patch.
11221
11222         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11223         change patch.
11224
11225         * check/gst/gstbin.c: Merge in some style fixes and additional
11226         checks from Wim's state change patch.
11227
11228 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11229
11230         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11231         (gst_type_find_helper):
11232           Check whether we have the requested data already in our list of
11233           cached buffers before pulling a new buffer; also make the buffer
11234           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11235
11236 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11237
11238         * gst/gstcaps.c:
11239         * gst/gstevent.c:
11240           doc updates
11241         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11242           don't use long long, it's not portable.  Replacing with
11243           gint64 seems to work; let's hope no skeletons fall out of the closet.
11244
11245 2005-10-10  Andy Wingo  <wingo@pobox.com>
11246
11247         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11248
11249 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
11250
11251         * docs/gst/gstreamer-sections.txt:
11252         * gst/gstevent.c:
11253         * gst/gstevent.h:
11254         * gst/gstinfo.c:
11255         * gst/gstinfo.h:
11256         * gst/gstmessage.c: (gst_message_parse_state_changed):
11257         * gst/gstpad.c:
11258         * gst/gstpad.h:
11259           more docs, fix compilation
11260
11261 2005-10-09  Philippe Khalaf <burger@speedy.org>
11262         * gst/gstmessage.c:
11263           Fixed a few forgotten variables on previous commit
11264
11265 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11266
11267         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11268           Fix evil typefind crasher: getrange() might return a short
11269           buffer at the end of a file, but gst_type_find_peek() must
11270           either return the full data as requested or NULL, but
11271           never a short buffer.
11272
11273 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11274
11275         * gst/gstmessage.c: (gst_message_new_state_changed),
11276         (gst_message_parse_state_changed):
11277         * gst/gstmessage.h:
11278           don't use "new", it's a C++ keyword
11279
11280 2005-10-08  Wim Taymans  <wim@fluendo.com>
11281
11282         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11283         * gst/gstelement.c: (gst_element_post_message):
11284         * gst/gstpipeline.c: (gst_pipeline_change_state):
11285         Small docs and debug updates.
11286
11287 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11288
11289         * docs/gst/gstreamer-sections.txt:
11290         * gst/gstelementfactory.c:
11291         * gst/gstevent.c:
11292         * gst/gsttaglist.c:
11293           more docs
11294
11295 2005-10-08  Wim Taymans  <wim@fluendo.com>
11296
11297         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11298         (gst_bin_dispose), (bin_bus_handler):
11299         Fix typos, add comments.
11300         Clear EOS list when going to PAUSED from any direction and do it
11301         in a threadsafe way.
11302         Get base time in a threadsafe way too.
11303         Fix confusing debug in the change_state function.
11304         Various other small cleanups.
11305         
11306         * gst/gstelement.c: (gst_element_post_message):
11307         Fix very verbose bus posting code.
11308
11309         * gst/gstpipeline.c: (gst_pipeline_class_init),
11310         (gst_pipeline_set_property), (gst_pipeline_get_property),
11311         (gst_pipeline_change_state):
11312         Small ARG_ -> PROP_ cleanup
11313
11314 2005-10-08  Wim Taymans  <wim@fluendo.com>
11315
11316         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11317         Do a less CPU demanding EOS check because we can.
11318
11319 2005-10-08  Wim Taymans  <wim@fluendo.com>
11320
11321         * libs/gst/dataprotocol/dataprotocol.c:
11322         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11323         (gst_dp_packet_from_event):
11324         * libs/gst/dataprotocol/dataprotocol.h:
11325         * libs/gst/dataprotocol/dp-private.h:
11326         It's about time we bump the version number.
11327         Since event types don't fit in the guint8 anymore describing
11328         the payload type, make payload type 16 bits wide.
11329
11330 2005-10-08  Wim Taymans  <wim@fluendo.com>
11331
11332         * docs/design/part-TODO.txt:
11333         * docs/design/part-clocks.txt:
11334         * docs/design/part-events.txt:
11335         * docs/design/part-gstbin.txt:
11336         * docs/design/part-gstelement.txt:
11337         * docs/design/part-gstpipeline.txt:
11338         * docs/design/part-live-source.txt:
11339         * docs/design/part-messages.txt:
11340         * docs/design/part-overview.txt:
11341         * docs/design/part-states.txt:
11342         Many doc updates.
11343
11344 2005-10-08  Wim Taymans  <wim@fluendo.com>
11345
11346         * gst/gstevent.c:
11347         * gst/gstevent.h:
11348         Fix event quark registration.
11349         Add some space between events so we can insert them in the
11350         right groups.
11351
11352 2005-10-08  Wim Taymans  <wim@fluendo.com>
11353
11354         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11355         (gst_base_sink_handle_buffer):
11356         Better log message.
11357
11358         * gst/gstbus.h:
11359         * gst/gstelement.h:
11360         More docs.
11361
11362         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11363         (gst_queue_set_property), (gst_queue_get_property):
11364         * gst/gstqueue.h:
11365         Remove old unused properties.
11366
11367 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11368         * docs/gst/gstreamer-sections.txt:
11369         * gst/gstmessage.c:
11370         * gst/gstmessage.h:
11371         * gst/gstminiobject.c:
11372         * gst/gstminiobject.h:
11373         * gst/gstobject.h:
11374         * gst/gstpad.h:
11375         * gst/gstutils.h:
11376           lots of new docs and doc fixes
11377
11378 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11379
11380         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
11381         * gst/gstplugin.h:
11382         * gst/gstregistry.c: (gst_registry_lookup_locked),
11383         (gst_registry_scan_path_level):
11384         * gst/gstregistryxml.c: (load_plugin):
11385           Only ever load one plugin for a given plugin basename.
11386           This ensures correct overriding of GST_PLUGIN_PATH over
11387           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
11388           system installed plugins.
11389
11390 2005-10-08  Wim Taymans  <wim@fluendo.com>
11391
11392         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11393         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
11394         Prepare for doing QOS.
11395
11396 2005-10-08  Wim Taymans  <wim@fluendo.com>
11397
11398         * check/gst/gstbin.c: (GST_START_TEST):
11399         * check/pipelines/cleanup.c: (GST_START_TEST):
11400         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11401         Allow new clock message too.
11402
11403 2005-10-08  Wim Taymans  <wim@fluendo.com>
11404
11405         * gst/gstmessage.c: (gst_message_new_error),
11406         (gst_message_new_warning), (gst_message_new_tag),
11407         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11408         (gst_message_new_clock_lost), (gst_message_new_new_clock),
11409         (gst_message_new_segment_start), (gst_message_new_segment_done),
11410         (gst_message_parse_state_changed),
11411         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
11412         (gst_message_parse_new_clock):
11413         * gst/gstmessage.h:
11414         Also carry the clock in question.
11415
11416 2005-10-08  Wim Taymans  <wim@fluendo.com>
11417
11418         * gst/gstmessage.c: (gst_message_new_custom),
11419         (gst_message_new_eos), (gst_message_new_error),
11420         (gst_message_new_warning), (gst_message_new_tag),
11421         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11422         (gst_message_new_new_clock), (gst_message_new_segment_start),
11423         (gst_message_new_segment_done), (gst_message_parse_state_changed),
11424         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
11425         * gst/gstmessage.h:
11426         Clean up.
11427         Added clock related messages.
11428
11429         * gst/gstpipeline.c: (gst_pipeline_change_state):
11430         Post message when the clock changed.
11431
11432         * tools/gst-launch.c: (event_loop):
11433         Print new clock.
11434
11435 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11436
11437         * tools/gst-inspect.c: (print_element_properties_info):
11438           Can't pass NULL strings to g_print() on windows.
11439
11440 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11441
11442         * docs/Makefile.am:
11443         * docs/gst/Makefile.am:
11444         * docs/gst/gstreamer-docs.sgml:
11445         * docs/gst/running.xml:
11446         * docs/version.entities.in:
11447           add a chapter on running GStreamer.
11448           document GST_DEBUG and GST_PLUGIN* env vars
11449
11450 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11451
11452         * Makefile.am:
11453           remove include dir
11454         * configure.ac:
11455           remove PLUGINS_BUILDDIR stuff
11456         * gst/gst.c: (init_post):
11457           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
11458         * idiottest.mak:
11459           remove, it was condescending and not needed
11460
11461 2005-10-08  Wim Taymans  <wim@fluendo.com>
11462
11463         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
11464         (gst_base_sink_handle_object), (gst_base_sink_event),
11465         (gst_base_sink_wait), (gst_base_sink_handle_event),
11466         (gst_base_sink_change_state):
11467         * gst/base/gstbasesink.h:
11468         Repost EOS message while going to PLAYING if still EOS.
11469         Make sure that when receiving a FLUSH_START we don't attempt
11470         to sync on the clock anymore.
11471
11472 2005-10-08  Wim Taymans  <wim@fluendo.com>
11473
11474         * tools/gst-launch.c: (event_loop):
11475         Better message printout.
11476
11477 2005-10-08  Wim Taymans  <wim@fluendo.com>
11478
11479         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
11480         (gst_bin_child_proxy_get_children_count):
11481         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11482         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
11483         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
11484         (gst_child_proxy_set_valist):
11485         * gst/parse/grammar.y:
11486         Make ChildProxy threadsafe and fix mem leaks.
11487
11488 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11489
11490         * gst/gst.c: (init_post):
11491           debug the GST_PLUGIN_ env vars
11492
11493 2005-10-08  Wim Taymans  <wim@fluendo.com>
11494
11495         * check/gst/gstbin.c: (GST_START_TEST):
11496         * check/gst/gstmessage.c: (GST_START_TEST):
11497         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
11498         * gst/gstelement.c: (gst_element_commit_state),
11499         (gst_element_lost_state):
11500         * gst/gstmessage.c: (gst_message_new_state_changed),
11501         (gst_message_parse_state_changed):
11502         * gst/gstmessage.h:
11503         * tools/gst-launch.c: (event_loop):
11504         Added extra field to STATE_CHANGE message with the pending
11505         state, which will be different from the new state soon.
11506
11507 2005-10-08  Wim Taymans  <wim@fluendo.com>
11508
11509         * gst/gstbus.c: (gst_bus_pop):
11510         * gst/gstclock.c:
11511         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11512         Small cleanups and doc updates.
11513
11514 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11515
11516         * gst/gst.c: (init_pre):
11517         * gst/gstbin.c: (gst_bin_add_func):
11518           log distributing clocks and base time
11519         * gst/gstregistry.c: (gst_registry_add_plugin),
11520         (gst_registry_scan_path_level), (gst_registry_scan_path):
11521           clean up the debugging output a little
11522         * gst/gstutils.c: (gst_element_state_get_name):
11523           warn about a memleak (I've actually seen this be used, though
11524           it was probably a bug)
11525
11526 2005-10-07  Wim Taymans  <wim@fluendo.com>
11527
11528         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11529         (gst_base_src_init), (gst_base_src_default_newsegment),
11530         (gst_base_src_newsegment), (gst_base_src_do_seek),
11531         (gst_base_src_loop), (gst_base_src_start):
11532         * gst/base/gstbasesrc.h:
11533         Make the newsegment event customizable by subclasses.
11534
11535 2005-10-07  Wim Taymans  <wim@fluendo.com>
11536
11537         * gst/gstevent.c: (gst_event_new_buffersize),
11538         (gst_event_parse_buffersize):
11539         * gst/gstevent.h:
11540         New event for future idea.
11541
11542 2005-10-07  Andy Wingo  <wingo@pobox.com>
11543
11544         * gst/gstelement.c (gst_element_post_message): Doc update.
11545
11546         * docs/gst/gstreamer-sections.txt: Update.
11547
11548         * gst/gstmessage.c (gst_message_new_application): Made into a
11549         function like honest API calls.
11550         (gst_message_new_element): New message type.
11551
11552         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
11553
11554         * check/elements/fakesrc.c (test_no_preroll): New check, checks
11555         that setting a live fakesrc to PAUSED returns NO_PREROLL both
11556         times.
11557
11558         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
11559         NO_PREROLL from gst_element_change_state to fall through.
11560
11561 2005-10-07  Wim Taymans  <wim@fluendo.com>
11562
11563         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
11564         (gst_ghost_pad_do_activate_push):
11565         Activating a ghostpad with no internal pad in push mode
11566         is ok.
11567
11568 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11569
11570         * gst/gstobject.h:
11571           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
11572           Fixes compilation on Windows.
11573
11574 2005-10-07  Michael Smith <msmith@fluendo.com>
11575
11576         * tools/gst-inspect.c:
11577           Print out feature and plugin count at the end when printing out
11578           all features.
11579
11580 2005-10-04  Michael Smith <msmith@fluendo.com>
11581
11582         * gst/gsterror.c: (_gst_stream_errors_init):
11583           Add another error string used in a few existing plugins.
11584
11585         * gst/gstplugin.c:
11586         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11587         * tools/gst-inspect.c: (print_element_info):
11588           When a feature disappears from a plugin (and the feature exists in
11589           the cached registry file), things went horribly wrong. This isn't a
11590           complete fix, we should actually be removing the 'missing' features
11591           from the features list when we load the actual plugin. That's not
11592           yet implemented. 
11593
11594 2005-10-04  Johan Dahlin  <johan@gnome.org>
11595
11596         * check/gst/gstiterator.c: (GST_START_TEST):
11597         * gst/gstbin.c: (gst_bin_iterate_elements),
11598         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
11599         * gst/gstelement.c: (gst_element_iterate_pads):
11600         * gst/gstformat.c: (gst_format_iterate_definitions):
11601         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11602         (gst_iterator_new_list), (gst_iterator_filter):
11603         * gst/gstiterator.h:
11604         * gst/gstquery.c: (gst_query_type_iterate_definitions):
11605         Add a GType to GstIterator, update callsites and tests.
11606
11607 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11608
11609         * gst/gstpad.c: (gst_pad_event_default_dispatch):
11610           give events a chance to be handled by event probes when the pad
11611           is not linked
11612
11613 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11614
11615         * gst/gstevent.c: (gst_event_type_get_name),
11616         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
11617         * gst/gstevent.h:
11618           add string representations for event types
11619
11620 2005-10-06  Wim Taymans  <wim@fluendo.com>
11621
11622         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
11623         Don't use NULL pointers.
11624
11625 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11626
11627         * gst/gst_private.h:
11628         * gst/gstbus.c:
11629         * gst/gstelement.c:
11630         * gst/gstinfo.c:
11631         * gst/gstpluginfeature.c:
11632           widen the debug category in output to fit the biggest one we have
11633           add a bus category and use it
11634           play with the colors
11635           fix up some categories
11636
11637 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11638
11639         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
11640           add push activation of sink ghost pads.
11641           Andye, please verify
11642
11643 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11644
11645         * gst/gstutils.c: (gst_element_link_pads):
11646           fix a bug in the case where neither element has a pad
11647         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11648           add a test for that case
11649
11650 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11651
11652         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
11653           emit have-data before checking for peers.  This allows
11654           for probe handlers to connect elements.  This helps autopluggers.
11655         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
11656         (gst_pad_suite):
11657           add six checks, linked/unlinked with no/true/false probe
11658
11659 2005-10-04  Wim Taymans  <wim@fluendo.com>
11660
11661         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
11662         (gst_fake_sink_event), (gst_fake_sink_preroll),
11663         (gst_fake_sink_render), (gst_fake_sink_change_state):
11664         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
11665         (gst_fake_src_get_property), (gst_fake_src_create),
11666         (gst_fake_src_stop):
11667         * gst/elements/gstidentity.c: (gst_identity_stop):
11668         Protect last_message with lock.
11669
11670 2005-10-04  Edward Hervey  <edward@fluendo.com>
11671
11672         * gst/gstformat.h: 
11673         Added precision in the comments for GST_FORMAT_DEFAULT
11674
11675 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
11676
11677         * tools/gst-launch.c: (main):
11678           Don't try to run erroneous pipelines.
11679
11680 2005-10-04  Julien MOUTTE  <julien@moutte.net>
11681
11682         * gst/gstbus.c: We don't need this header.
11683
11684 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11685
11686         * configure.ac:
11687           back to development
11688
11689 === release 0.9.3 ===
11690
11691 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11692
11693         * README:
11694         * configure.ac:
11695           Releasing 0.9.3, "Unregistered"
11696
11697 2005-10-03  Andy Wingo  <wingo@pobox.com>
11698
11699         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
11700         whereby calling a pad's activatepush() function can start a thread
11701         that starts to push or pull before the pad gets the FLUSHING flag
11702         unset. Hack around it by holding the stream lock until the flag is
11703         set. Need to replace this with a proper solution. Together with
11704         the ghost pad fixes, this fixes mp3 playing/tagreading.
11705
11706         * docs/design/part-gstghostpad.txt: Add a note about activation of
11707         proxy pads outside of ghost pads.
11708
11709         * gst/gstghostpad.c: Implement the ghost pad activation design.
11710
11711 2005-10-02  Andy Wingo  <wingo@pobox.com>
11712
11713         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
11714         It is volatile, after all.
11715
11716         * docs/design/part-gstghostpad.txt: Flesh out activation with
11717         ghost pads.
11718
11719         * gst/base/gstbasesrc.c (gst_base_src_init): Use
11720         GST_DEBUG_FUNCPTR.
11721
11722 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11723
11724         * configure.ac:
11725           Fix (unused) AM_CONDITIONAL tests.
11726
11727 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
11728
11729         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11730
11731         * gst/gstutils.c: (gst_pad_query_convert):
11732           Add assertion that makes sure src_val is >=0, just like
11733           gst_query_new_convert() has. (#315895)
11734
11735 2005-09-30  Edward Hervey  <edward@fluendo.com>
11736
11737         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
11738         Let's not iterate pads we're not interested in, it avoids getting 
11739         sky-high refcounts on sinkpad.
11740
11741 2005-09-30  Wim Taymans  <wim@fluendo.com>
11742
11743         * gst/gstelement.c: (gst_element_set_state),
11744         (gst_element_change_state):
11745         Small tweak, element in ASYNC remains ASYNC.
11746
11747 2005-09-30  Wim Taymans  <wim@fluendo.com>
11748
11749         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11750         Only error is an error.
11751
11752         * gst/gstbin.c: (gst_bin_change_state):
11753         Better debugging.
11754
11755         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
11756         Also call pad_block in pad alloc.
11757
11758         * gst/gstutils.c: (gst_flow_get_name):
11759         Better debugging.
11760
11761 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11762
11763         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11764         (gst_base_src_get_range):
11765           Fix documentation typos. Add some more debug info.
11766
11767 2005-09-29  David Schleef  <ds@schleef.org>
11768
11769         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
11770           more end-user friendly.
11771         * tools/gst-inspect.c: (main): Check if command-line argument is
11772           a file and attempt to load that file as a plugin.
11773
11774 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11775
11776         * check/gst/gstbin.c:
11777         * check/states/sinks.c:
11778           fix tests for the new warning
11779         * check/gst/gstpipeline.c:
11780           add a test for pipeline and bus interaction
11781         * gst/gstelement.c:
11782           elements should be NULL if they get disposed; add a warning if not
11783
11784 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11785
11786         * gst/gstobject.c:
11787           for 2.6 refcounting, make debug log more correct by printing
11788           the actual refcounts at the time of swap (Wim)
11789
11790 2005-09-29  Andy Wingo  <wingo@pobox.com>
11791
11792         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
11793         removes signal watches previously added via
11794         gst_bus_add_signal_watch.
11795         (gst_bus_add_signal_watch): Don't return the source id, just store
11796         it on the bus if there wasn't an id already.
11797
11798         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
11799         add_signal_watch and remove_signal_watch.
11800
11801 2005-09-29  Edward Hervey  <edward@fluendo.com>
11802
11803         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
11804         Better if we actually iterate the list :)
11805
11806 2005-09-29  Wim Taymans  <wim@fluendo.com>
11807
11808         * check/gst/gstbin.c: (GST_START_TEST):
11809         Change for new bus API.
11810
11811         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11812         (send_messages), (GST_START_TEST), (gstbus_suite):
11813         Change for new bus signal API.
11814
11815         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
11816         (gst_bus_source_prepare), (gst_bus_source_check),
11817         (gst_bus_create_watch), (gst_bus_add_watch_full),
11818         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
11819         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
11820         * gst/gstbus.h:
11821         Remove support for multiple GSources operating on different
11822         message types as it is too complex and unneeded when using
11823         signals.
11824         Added support for receiving signals from the bus.
11825
11826 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11827
11828         * docs/libs/tmpl/gstdataprotocol.sgml:
11829         * docs/manual/advanced-dataaccess.xml:
11830         * gst/elements/gstcapsfilter.c:
11831         * gst/gstutils.c:
11832           rename filter-caps to caps property
11833
11834 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11835
11836         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11837           More robust fraction string parsing.
11838
11839         * docs/pwg/appendix-porting.xml:
11840           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
11841
11842 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11843
11844         * gst/gstcaps.c: (gst_caps_do_simplify):
11845           Thou shalt not free a structure and then continue using it
11846           in the next loop iteration.
11847
11848         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
11849         (gst_caps_suite):
11850           Add test case for caps simplification.
11851
11852 2005-09-29  Wim Taymans  <wim@fluendo.com>
11853
11854         * check/gst/gstbin.c: (GST_START_TEST):
11855         Oops.
11856
11857 2005-09-29  Wim Taymans  <wim@fluendo.com>
11858
11859         * check/gst/gstbin.c: (GST_START_TEST):
11860         Add bus to bin.
11861
11862         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
11863         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11864         (find_element), (gst_bin_sort_iterator_next),
11865         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11866         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11867         (gst_bin_change_state), (gst_bin_dispose):
11868         A bin does not have a bus, it gets the bus from the parent.
11869
11870         * gst/gstelement.c: (gst_element_requires_clock),
11871         (gst_element_provides_clock), (gst_element_is_indexable),
11872         (gst_element_is_locked_state), (gst_element_change_state),
11873         (gst_element_set_bus_func):
11874         Small cleanups.
11875
11876         * gst/gstpipeline.c: (gst_pipeline_class_init),
11877         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
11878         The pipeline provides a bus.
11879
11880 2005-09-28  Johan Dahlin  <johan@gnome.org>
11881
11882         * gst/gstmessage.c (gst_message_parse_state_changed): Use
11883         gst_structure_get_enum instead of gst_structure_get_int
11884
11885         * gst/gststructure.c (gst_structure_get_enum): Impl.
11886
11887         * gst/gststructure.h (gst_structure_get_enum): Add
11888
11889         * docs/gst/gstreamer-sections.txt: Ditto
11890
11891         * gst/gstmessage.c (gst_message_new_state_changed): Use
11892         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
11893         which does introspection.
11894         Reviewed by Christian Schaller
11895
11896 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11897
11898         * gst/gstinfo.c: (gst_debug_log_default):
11899           don't do dummy g_strdup()s
11900         * libs/gst/controller/gstcontroller.c:
11901         (on_object_controlled_property_changed),
11902         (gst_controlled_property_new), (gst_controller_new_valist),
11903         (gst_controller_new_list),
11904         (gst_controller_remove_properties_valist), (gst_controller_set),
11905         (gst_controller_get), (gst_controller_sync_values),
11906         (gst_controller_get_value_array), (_gst_controller_class_init),
11907         (gst_controller_get_type):
11908         * libs/gst/controller/gstcontroller.h:
11909         * libs/gst/controller/gstinterpolation.c:
11910         (gst_controlled_property_find_timed_value_node):
11911           convert // to /**/ comments
11912
11913 2005-09-28  Wim Taymans  <wim@fluendo.com>
11914
11915         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
11916         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
11917         (gst_bus_sync_signal_handler):
11918         * gst/gstbus.h:
11919         Added async-message and sync-message signals to the bus.
11920         Added helper BusFunc to emit signals for all posted messages.
11921
11922         * gst/gstmessage.c: (gst_message_type_get_name),
11923         (gst_message_type_to_quark), (gst_message_get_type):
11924         * gst/gstmessage.h:
11925         Register quarks for message names.
11926
11927 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
11928
11929         * docs/libs/gstreamer-libs-sections.txt:
11930         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11931         (gst_controller_new_list):
11932         * libs/gst/controller/gstcontroller.h:
11933           added another constructor for language bindings
11934
11935 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11936
11937         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11938           add another check
11939         * gst/gstbus.c:
11940           add some doc
11941         * gst/gstinfo.c: (_gst_debug_init):
11942           slightly more readable color for refcount debugging
11943
11944 2005-09-28  Wim Taymans  <wim@fluendo.com>
11945
11946         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11947         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
11948         (find_element), (gst_bin_sort_iterator_next),
11949         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11950         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11951         (gst_bin_change_state), (gst_bin_dispose):
11952         Small doc fixes. get_clock -> provide_clock.
11953
11954         * gst/gstelement.c: (gst_element_class_init),
11955         (gst_element_provides_clock), (gst_element_provide_clock),
11956         (gst_element_get_clock), (gst_element_commit_state),
11957         (gst_element_lost_state):
11958         * gst/gstelement.h:
11959         Make get/set_clock() symetric. Add provide_clock vmethod since
11960         that is actually what this function does.
11961
11962         * gst/gstpipeline.c: (gst_pipeline_class_init),
11963         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
11964         (gst_pipeline_get_clock):
11965         get_clock -> provide_clock.
11966
11967 2005-09-28  Andy Wingo  <wingo@pobox.com>
11968
11969         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
11970         lieu of real docs...
11971
11972         * gst/elements/gstfdsrc.c: Cleaned up a bit.
11973
11974 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
11975
11976         * gst/elements/gstcapsfilter.c:
11977         * gst/elements/gstfakesink.c:
11978         * gst/elements/gstfakesrc.c:
11979         * gst/elements/gstfdsink.c:
11980         * gst/elements/gstfdsrc.c:
11981         * gst/elements/gstfilesink.c:
11982         * gst/elements/gstfilesrc.c:
11983         * gst/elements/gstidentity.c:
11984         * gst/elements/gsttee.c:
11985         * gst/elements/gsttypefindelement.c:
11986           Make element details static.
11987
11988 2005-09-28  Wim Taymans  <wim@fluendo.com>
11989
11990         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
11991         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
11992         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
11993         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
11994         (gst_bin_change_state), (gst_bin_dispose):
11995         Some documentation updates.
11996         Clean up dispose handlers.
11997
11998         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
11999         * gst/gstpad.c: (gst_pad_dispose):
12000         Clean up dispose handler.
12001
12002         * gst/gstpipeline.c: (gst_pipeline_change_state):
12003         Removed spurious UNLOCK.
12004
12005 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
12006
12007         * docs/gst/gstreamer-sections.txt:
12008         * gst/base/gstbasesrc.h:
12009         * gst/gstelement.h:
12010         * gst/gstevent.h:
12011         * gst/gstobject.h:
12012         * gst/gstpad.h:
12013         * gst/gstpipeline.c:
12014         * gst/gstpipeline.h:
12015         * gst/gstutils.h:
12016         * gst/gstxml.h:
12017           added two new functions to the docs
12018                 documents all undocumented GstXXXFlags
12019                 completed some incomplete docs 
12020
12021 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12022
12023         * gst/gstbin.c: (gst_bin_dispose):
12024         * gst/gstelement.c: (gst_element_dispose):
12025           remove now useless and leaky resurrection code in dispose
12026         * gst/base/gstbasesrc.c: (gst_base_src_init):
12027         * gst/gstelementfactory.c: (gst_element_factory_create):
12028         * gst/gstobject.c: (gst_object_set_parent):
12029           add some debugging
12030
12031 2005-09-27  Wim Taymans  <wim@fluendo.com>
12032
12033         * docs/design/part-TODO.txt:
12034         Update TODO.
12035
12036         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12037         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12038         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12039         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12040         (gst_bin_change_state):
12041         * gst/gstelement.h:
12042         Remove element variable, we keep element info in the iterator now.
12043
12044 2005-09-27  Andy Wingo  <wingo@pobox.com>
12045
12046         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
12047         values.
12048
12049 2005-09-27  Wim Taymans  <wim@fluendo.com>
12050
12051         * check/gst/gstbin.c: (GST_START_TEST):
12052         Enable check that works now.
12053
12054         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12055         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12056         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12057         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12058         (gst_bin_change_state):
12059         * gst/gstbin.h:
12060         Redid the state change algorithm using a topological sort algo.
12061         Handles all cases correctly.
12062         Exposed iterator for state change order.
12063
12064         * gst/gstelement.h:
12065         Temp storage for state changes. Need to get rid of this soon.
12066
12067 2005-09-27  Wim Taymans  <wim@fluendo.com>
12068
12069         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
12070         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
12071         (link_fold_func), (gst_pad_proxy_setcaps):
12072         Leak fixes, the fold functions need to unref the passed object and
12073         _get_parent_*() returns ref to parent.
12074
12075 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12076
12077         * check/gst/gstbuffer.c: (test_make_writable):
12078           Plug leak in test case and fix 'make check-valgrind'
12079
12080 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12081
12082         * gst/gstbuffer.c: (gst_subbuffer_init):
12083           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
12084           works correctly in all circumstances (we could have just copied
12085           the parent buffer's readonly flag, but conceptually it seems
12086           cleaner to mark all subbuffers as read-only). (based on patch
12087           by Alessandro Decina, #314710).
12088         
12089         * check/gst/gstbuffer.c: (create_read_only_buffer),
12090         (test_make_writable), (test_subbuffer_make_writable),
12091         (gst_test_suite):
12092           Add some tests for gst_buffer_make_writable().
12093
12094 2005-09-27  Wim Taymans  <wim@fluendo.com>
12095
12096         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
12097         use gst_object_has_ancestor().
12098
12099         * gst/gstobject.c: (gst_object_has_ancestor):
12100         * gst/gstobject.h:
12101         gst_object_has_ancestor() copied from gstbin.c as it is a
12102         usefull function.
12103
12104         * tests/instantiate/create.c: (create_all_elements):
12105         * tests/lat.c: (handoff_src), (handoff_sink):
12106         * tests/sched/runxml.c: (main):
12107         * tests/seeking/seeking1.c: (main):
12108         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12109         (main):
12110         Fix compilation of some tests.
12111
12112 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12113
12114         * gst/gsterror.h:
12115           Remove comment. GST_TYPE_G_ERROR is here to stay,
12116           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
12117           (#316961, #300610).
12118
12119 2005-09-26  Wim Taymans  <wim@fluendo.com>
12120
12121         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12122         Added check that shows error in state change order.
12123
12124 2005-09-26  Wim Taymans  <wim@fluendo.com>
12125
12126         * gst/gstbin.c: (gst_bin_change_state):
12127         Make state change function use 3 queues again, we were
12128         adding elements in the wrong order.
12129
12130         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12131         Some debug info,
12132
12133         * gst/gstpad.c: (gst_pad_dispose):
12134         Added some debug info first.
12135
12136 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
12137
12138         * docs/design/draft-push-pull.txt:
12139         * docs/design/part-events.txt:
12140         * docs/design/part-overview.txt:
12141         * docs/design/part-scheduling.txt:
12142           Replace all _pull_region() with _pull_range()
12143           
12144 2005-09-26  Andy Wingo  <wingo@pobox.com>
12145
12146         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12147
12148         * check/gst-libs/controller.c: Update for controller api change.
12149
12150         * configure.ac: 
12151         * tests/Makefile.am:
12152         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12153         over by GLib bug 118439.
12154         
12155         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12156         routines to a function.
12157
12158         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12159
12160         * libs/gst/controller/gsthelper.c:
12161         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12162         (gst_object_sync_values): Renamed from sink_values. Ugh.
12163
12164         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12165
12166         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12167         Renamed from controller_key, as it is exported.
12168
12169         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12170
12171 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12172
12173         * gst/Makefile.am:
12174         * gst/gst.h:
12175         * gst/gstpad.h:
12176         * gst/gstpadtemplate.h:
12177         * gst/gstquery.c:
12178         * gst/gstquery.h:
12179         * gst/gstqueryutils.c:
12180         * gst/gstqueryutils.h:
12181           remove queryutils headers after moving the two used functions
12182           to gstquery.  also fixes build problem for gstsiddec
12183
12184 2005-09-26  Michael Smith <msmith@fluendo.com>
12185
12186         * tools/gst-launch.1.in:
12187         Correct documentation in manpage of debug syntax
12188
12189 2005-09-26  Wim Taymans  <wim@fluendo.com>
12190
12191         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12192         (gst_base_src_is_seekable), (gst_base_src_change_state):
12193         Some more debugging info.
12194
12195 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12196
12197         * docs/gst/gstreamer-sections.txt:
12198         * gst/base/gstbasetransform.h:
12199         * gst/gstindex.h:
12200           added more docs
12201
12202 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12203
12204         * docs/gst/.cvsignore:
12205         * docs/gst/tmpl/.cvsignore:
12206         * docs/gst/tmpl/gstpipeline.sgml:
12207         * docs/gst/tmpl/gstplugin.sgml:
12208         * gst/gstpipeline.c:
12209         * gst/gstplugin.c:
12210         * gst/gstplugin.h:
12211           inlined the last two docs files
12212           removed the tmpl directory from cvs (no more conflicts here!)
12213
12214 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12215
12216         * docs/gst/gstreamer-sections.txt:
12217         * docs/gst/tmpl/.cvsignore:
12218         * docs/gst/tmpl/gstpad.sgml:
12219         * docs/gst/tmpl/gstpadtemplate.sgml:
12220         * gst/Makefile.am:
12221         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12222         (gst_pad_finalize), (gst_pad_set_pad_template):
12223         * gst/gstpad.h:
12224         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12225         (gst_pad_template_class_init), (gst_pad_template_init),
12226         (gst_pad_template_dispose), (name_is_valid),
12227         (gst_static_pad_template_get), (gst_pad_template_new),
12228         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12229         (gst_pad_template_pad_created):
12230         * gst/gstpadtemplate.h:
12231           inlined two more docs
12232           factored gstpadtemplate out of gstpad
12233
12234 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
12235
12236         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12237         (test_children_state_change_order_semi_sink):
12238           Fix test case: we can't rely on a fixed state change order when
12239           going from READY => PAUSED because the sink might commit its 
12240           new state first when the first buffer created by the source 
12241           reaches the sink before the source has finished its change state.
12242           (Test case still fails at times, see #316856, comment 5 onwards)
12243
12244 2005-09-24  Wim Taymans  <wim@fluendo.com>
12245
12246         * docs/design/part-events.txt:
12247         * docs/design/part-gstbus.txt:
12248         * docs/design/part-gstpipeline.txt:
12249         * docs/design/part-messages.txt:
12250         * docs/design/part-overview.txt:
12251         * docs/design/part-segments.txt:
12252         * gst/gstbin.c:
12253         * gst/gstbuffer.c:
12254         * gst/gstclock.c:
12255         * gst/gstelement.c:
12256         * gst/gstevent.c:
12257         * gst/gstfilter.c:
12258         * gst/gstiterator.c:
12259         Various documentation updates.
12260
12261 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12262
12263         * gst/gstclock.h:
12264           Well, that's embarassing.  Luckily we weren't using
12265           GST_CLOCK_DIFF anywhere.
12266
12267 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12268
12269         * common/gtk-doc.mak:
12270           don't fail on building XML, FC4 slave shows a bunch of doc
12271           missing bits that I don't get
12272         * gst/gstpad.c:
12273         * gst/gstpipeline.c:
12274         * gst/gststructure.c:
12275           some doc updates
12276
12277 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12278
12279         * docs/design/part-gstbin.txt:
12280         * docs/design/part-gstbus.txt:
12281         * gst/gstbus.c:
12282           Add blurb about how the bus goes into flushing mode and
12283           drops all messages when its bin goes from READY into NULL 
12284           state.
12285
12286 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12287
12288         * docs/gst/gstreamer-sections.txt:
12289         * gst/gststructure.c: (gst_structure_get_clock_time):
12290         * gst/gststructure.h:
12291           add a method to get a GstClockTime out of a structure
12292
12293 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12294
12295         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12296         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12297           Added test to check state change order in bins (can still be made
12298           to fail here under heavy disk load; bails out with 'Push on pad
12299           fakesink:sink0, but it was not activated in push mode').
12300
12301         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12302           Fix state change order when there is only a semi sink (#316856)
12303
12304         * gst/gstbus.c: (gst_bus_class_init):
12305           Use _class_peek_parent(), not _class_ref(); fix docs to say
12306           'default main context' instead of 'mainloop' where that is
12307           what's meant.
12308
12309         * gst/gstelement.c: (gst_element_commit_state),
12310         (gst_element_set_state):
12311           Fix typos in debug messages
12312
12313 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12314
12315         * docs/README:
12316         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12317         * gst/gstpluginfeature.c:
12318         * gst/gstutils.c:
12319           various doc updates
12320         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12321           change an assert into an error until it gets fixed properly
12322
12323 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
12324
12325         * docs/gst/gstreamer-sections.txt:
12326         * docs/gst/tmpl/.cvsignore:
12327         * docs/gst/tmpl/gstelement.sgml:
12328         * docs/gst/tmpl/gstinfo.sgml:
12329         * docs/gst/tmpl/gstobject.sgml:
12330         * gst/gstelement.c:
12331         * gst/gstelement.h:
12332         * gst/gstinfo.c:
12333         * gst/gstinfo.h:
12334         * gst/gstobject.c: (gst_object_class_init):
12335         * gst/gstobject.h:
12336           inlined 3 more biiiig doc files and added some missing docs on the fly
12337
12338 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12339
12340         * check/gst/.cvsignore:
12341         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12342         * gst/gstregistryxml.c: (load_plugin),
12343         (gst_registry_xml_save_plugin):
12344           put back source in registry.  add checks for find_plugin.
12345         * testsuite/states/bin.c: (assert_state), (empty_bin),
12346         (test_adding_one_element), (main):
12347         * testsuite/states/locked.c: (main):
12348           some compile/run fixes
12349
12350 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12351
12352         * check/gst/gstvalue.c: (GST_START_TEST):
12353           fix leaks in the test itself
12354
12355 2005-09-22  Wim Taymans  <wim@fluendo.com>
12356
12357         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12358         (gst_base_sink_send_event), (gst_base_sink_peer_query),
12359         (gst_base_sink_query):
12360         Prepare for more accurate position reporting and query
12361         handling.
12362
12363         * gst/gstelement.c: (gst_element_send_event),
12364         (gst_element_set_state):
12365         Add some comment.
12366
12367 2005-09-22  Wim Taymans  <wim@fluendo.com>
12368
12369         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
12370         (gst_query_parse_segment):
12371         * gst/gstquery.h:
12372         More documentation.
12373         Add segment query for future use.
12374
12375 2005-09-22  Wim Taymans  <wim@fluendo.com>
12376
12377         * gst/gstbin.c: (gst_bin_add_func):
12378         Some more debug info.
12379
12380         * gst/gstelement.c: (gst_element_send_event):
12381         Simplify send_event
12382
12383         * gst/gstelement.h:
12384         Don't know how flags got broken.
12385
12386         * gst/gstquery.h:
12387         Added new query.
12388
12389 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12390
12391         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
12392           Add simplistic test suite for GST_TYPE_DATE serialisation and
12393           deserialisation.
12394
12395 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12396
12397         * docs/gst/gstreamer-sections.txt:
12398         * gst/gststructure.c: (gst_structure_set_valist),
12399         (gst_structure_get_date):
12400         * gst/gststructure.h:
12401         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
12402         (gst_date_copy), (gst_value_compare_date),
12403         (gst_value_serialize_date), (gst_value_deserialize_date),
12404         (gst_value_transform_date_string),
12405         (gst_value_transform_string_date), (_gst_value_initialize):
12406         * gst/gstvalue.h:
12407           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
12408           bunch of utility functions along with a hack that checks that
12409           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
12410           is required. Part of the grand scheme in #170777.
12411
12412 2005-09-22  Andy Wingo  <wingo@pobox.com>
12413
12414         * gst/gstconfig.h.in: Psych out gtk-doc.
12415
12416         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
12417
12418         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
12419
12420         * tools/gst-inspect.c (print_element_list): Plug some
12421         inconsequential leaks.
12422
12423         * gst/gstregistry.c (gst_registry_get_default): Doc.
12424
12425         * check/gst/gstplugin.c: 
12426         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
12427         * gst/gstelementfactory.c (gst_element_factory_create): 
12428         * gst/gstindexfactory.c (gst_index_factory_create): Update for
12429         refcount changes.
12430
12431         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
12432         (gst_plugin_feature_load): Doc, don't eat refs.
12433
12434         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
12435         (gst_plugin_list_free): Doc.
12436         (gst_plugin_load_file): Doc updates.
12437
12438         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
12439         accessors returning refcounted objects, return a ref.
12440
12441         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
12442         accessor for caps. IDEMPOTENCE. Oh yes.
12443
12444 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
12445
12446         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12447
12448         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12449         (_gst_debug_register_funcptr):
12450           Add mutex to serialise access to the hash table with
12451           the function pointer => function name string mapping;
12452           make that hash table static scope (#316809).
12453
12454         * gst/registries/.cvsignore:
12455           Remove left-over file.
12456
12457 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12458
12459         * docs/pwg/appendix-porting.xml:
12460           And something about newsegment events and caps-on-buffers to
12461           the porting guide (feel free to improve).
12462
12463 2005-09-21  Andy Wingo  <wingo@pobox.com>
12464
12465         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
12466         data and event probes on the same pad.
12467         (test_buffer_probe_once): Test that removing probes from within
12468         the probe functions works.
12469
12470 2005-09-21  Andy Wingo  <wingo@pobox.com>
12471
12472         * check/gst/gstutils.c: New file.
12473         (test_buffer_probe_n_times): A simple buffer probe test. More to
12474         come, foolios.
12475
12476         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
12477         have-data::buffer, not have-data.
12478         (gst_pad_add_event_probe): Likewise for have-data::event.
12479         (gst_pad_add_data_probe): More docs. The part about 'resolving the
12480         peer' isn't quite right yet though.
12481         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
12482         (gst_pad_remove_data_probe): Change to take the guint handler_id
12483         as their arg, not the function+data, which is more glib-like.
12484
12485         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
12486         the signal emission to indicate if the data is a buffer or an
12487         event.
12488         (gst_pad_get_type): Initialize buffer and event quarks.
12489         (gst_pad_class_init): have-data is now a detailed signal, yes it
12490         is.
12491
12492 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12493
12494         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12495         * gst/gstutils.c: (gst_util_set_value_from_string),
12496         (gst_util_set_object_arg):
12497           Don't put functional code in g_return_if_fail() or
12498           g_return_val_if_fail() statements, otherwise things will 
12499           break when G_DISABLE_CHECKS is defined during compilation.
12500
12501 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12502
12503         * docs/gst/tmpl/.cvsignore:
12504         * docs/gst/tmpl/gstvalue.sgml:
12505         * gst/gstvalue.c:
12506         * gst/gstvalue.h:
12507           inlied another one and added  some obvious docs
12508
12509 2005-09-21  Wim Taymans  <wim@fluendo.com>
12510
12511         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12512         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
12513         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
12514         (gst_fdsrc_get_property), (gst_fdsrc_create):
12515         * gst/elements/gstfdsrc.h:
12516         Properly implement fdsrc. Removed signal and timeout,
12517         better implemented somewhere else.
12518
12519 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12520
12521         * docs/gst/tmpl/.cvsignore:
12522         * docs/gst/tmpl/gstimplementsinterface.sgml:
12523         * gst/gstinterface.c:
12524           inlined more docs
12525
12526 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12527
12528         * docs/gst/gstreamer-sections.txt:
12529         * docs/gst/tmpl/.cvsignore:
12530         * docs/gst/tmpl/gstenumtypes.sgml:
12531           remove obsolete doc file
12532
12533 2005-09-21  David Schleef  <ds@schleef.org>
12534
12535         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
12536         little beer, fix a little leak.
12537
12538 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12539
12540         * docs/gst/gstreamer-docs.sgml:
12541         * docs/gst/gstreamer-sections.txt:
12542         * docs/gst/tmpl/.cvsignore:
12543         * gst/Makefile.am:
12544         * gst/gst.h:
12545         * gst/gstbin.c:
12546         * gst/gstelement.h:
12547         * gst/gstindex.c: (gst_index_class_init):
12548         * gst/gstindex.h:
12549         * gst/gstindexfactory.c: (gst_index_factory_get_type),
12550         (gst_index_factory_class_init), (gst_index_factory_init),
12551         (gst_index_factory_finalize), (gst_index_factory_new),
12552         (gst_index_factory_destroy), (gst_index_factory_find),
12553         (gst_index_factory_create), (gst_index_factory_make):
12554         * gst/gstindexfactory.h:
12555         * gst/gstpluginfeature.c:
12556         * gst/gstpluginfeature.h:
12557         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12558           more docs inlined, splitted gstindex.{c,h}
12559
12560 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12561
12562         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12563           fix a leak
12564
12565 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12566
12567         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12568           Set sync to FALSE by default.
12569
12570 2005-09-20  Wim Taymans  <wim@fluendo.com>
12571
12572         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12573         (gst_base_sink_init):
12574         Make sync property settable from subclass.
12575
12576         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12577         (gst_fake_sink_change_state):
12578         Set sync to FALSE by default.
12579
12580 2005-09-20  Wim Taymans  <wim@fluendo.com>
12581
12582         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
12583         * tools/gst-launch.c: (main):
12584         The timeout handler should have lower priority than the source
12585         so we don't timeout before popping a message with 0 timeout.
12586         Dump error messages after failed state change.
12587
12588 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12589
12590         * tools/gst-inspect.c: (print_element_properties_info):
12591           Fix two typos.
12592
12593 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12594
12595         * check/gst/gstevent.c:
12596         * gst/elements/gstfakesink.c:
12597         * gst/elements/gstfakesink.h:
12598           remove the sync property from fakesink.
12599           has the side effect of setting sync TRUE
12600           for fakesink, which is a change.  Anyone who knows how
12601           to fix this nicely in a GObject-y way, feel free.
12602
12603 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12604
12605         * docs/gst/gstreamer-docs.sgml:
12606           remove probe refsection
12607
12608 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12609
12610         * check/Makefile.am:
12611           disable valgrinding the controller test again
12612         * docs/gst/gstreamer-sections.txt:
12613           update for api-changes
12614
12615 2005-09-20  Wim Taymans  <wim@fluendo.com>
12616
12617         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12618         (gst_base_sink_set_property), (gst_base_sink_get_property),
12619         (gst_base_sink_do_sync):
12620         * gst/base/gstbasesink.h:
12621         Added sync property to basesink to disable clock sync.
12622
12623 2005-09-20  Andy Wingo  <wingo@pobox.com>
12624
12625         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
12626         eating the caller's refcount.
12627
12628         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
12629         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
12630         refcount.
12631
12632         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
12633         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
12634         of GLib 2.8 public, so we can know which refcount to check in
12635         tests.
12636
12637         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
12638         (gst_object_init): Only set the gst refcount if we're going ahead
12639         with the refcount hack.
12640
12641 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12642
12643         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12644         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12645           more leaks plumbed, added more debug-logging
12646         * gst/gstmacros.h:
12647           whitespace fix
12648
12649 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12650
12651         * gst/gstmessage.c:
12652           remove include of gstmemchunk.h
12653
12654 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12655
12656         * gst/gstclock.c: (_gst_clock_id_free):
12657           Commit from the Political Party For More Atomic CVS Commits,
12658           so that people don't waste too much of their day fishing
12659           out obvious leaks out of massive commits.
12660           Oh, and fix a pretty damn obvious leak in the memchunk
12661           removal code.
12662
12663 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12664
12665         * check/Makefile.am:
12666         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12667           plug mem-leak, re-add to valgrindable tests
12668
12669 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12670
12671         * gst/gstplugin.h:
12672           unbreak the build for those who have chronic arthritis
12673           and typing "make check" is just too taxing on the hands
12674
12675 2005-09-20  Andy Wingo  <wingo@pobox.com>
12676
12677         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
12678         really want it out, you should fix plugins at the same time.
12679
12680 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
12681
12682         * configure.ac:
12683         * docs/gst/gstreamer-sections.txt:
12684         * gst/gstobject.c:
12685           added missing symbols to api docs
12686           disable ref-count hack if we have glib >= 2.8
12687
12688 2005-09-19  David Schleef  <ds@schleef.org>
12689
12690         * docs/gst/Makefile.am: Ignore a few more internal headers
12691         * docs/gst/gstreamer-docs.sgml: Remove old sections
12692         * docs/gst/gstreamer-sections.txt: Remove old sections
12693         * docs/gst/tmpl/gstobject.sgml: update
12694         * docs/gst/tmpl/gstplugin.sgml: update
12695         * docs/gst/tmpl/gstpluginfeature.sgml: update
12696         * docs/random/ds/0.9-suggested-changes: update.
12697         * gst/Makefile.am: remove memchunk and trashstack, since they're
12698           not used.
12699         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
12700         * gst/gst.h: don't include some headers
12701         * gst/gstchildproxy.c: add gstmarshal.h
12702         * gst/gstclock.c: Don't use memchunks
12703         * gst/gstminiobject.c: Add some docs
12704         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
12705         * gst/gstobject.h: same
12706         * gst/gstplugin.c: include gstmacros.h
12707         * gst/gstplugin.h: don't include gstmacros.h, since it's private
12708         * gst/gstquery.c: don't use memchunks
12709         * gst/gstregistry.c: rename gst_registry_deinit()
12710         * gst/gstregistry.h: same
12711
12712 2005-09-19  David Schleef  <ds@schleef.org>
12713
12714         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
12715         * docs/libs/gstreamer-libs-sections.txt:
12716         * docs/libs/tmpl/gstgetbits.sgml:
12717         * docs/libs/tmpl/gstputbits.sgml:
12718
12719 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
12720
12721         * win32/gstenumtypes.c:
12722         * win32/gstenumtypes.h:
12723           Update.
12724
12725 2005-09-19  Wim Taymans  <wim@fluendo.com>
12726
12727         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
12728         Automatically PAUSE and RESUME a pipeline when a flushing seek
12729         is performed.
12730
12731 2005-09-19  Andy Wingo  <wingo@pobox.com>
12732
12733         * gst/gstregistry.h: Spacing fixen.
12734
12735 2005-09-19  Wim Taymans  <wim@fluendo.com>
12736
12737         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
12738         Handle state change failure more correctly.
12739
12740 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12741
12742         * check/Makefile.am:
12743         * check/pipelines/cleanup.c: (run_pipeline):
12744         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12745         (GST_START_TEST):
12746           enable cleanup again after fixing the leak
12747         * docs/README:
12748           some more info on docs
12749
12750 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12751
12752         * check/Makefile.am:
12753           re-enable tests now that leaks are plugged
12754         * check/gst/gst.c:
12755         * check/gst/gstbin.c:
12756         * check/gst/gstpipeline.c:
12757           add some more tests while fixing leaks
12758         * common/check.mak:
12759           make sure binaries are uptodate when valgrinding/gdbing
12760         * gst/gst.c:
12761         * gst/gstelementfactory.c:
12762           remove a ref too many, and add a FIXME for when we get
12763           round to disposing of classes
12764         * gst/gstplugin.c:
12765           fix the refcounting when loading a plugin from a file and
12766           the code pretends that the pointer is the same even though
12767           of course it can change
12768         * gst/gstpluginfeature.c:
12769           unref plugins marked cached (a bit confusing as a name)
12770           as the docs state should be done
12771           various doc additions to explain refcounting
12772         * gst/gstregistry.c:
12773         * gst/gstregistryxml.c:
12774           debugging
12775
12776 2005-09-19  Wim Taymans  <wim@fluendo.com>
12777
12778         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12779         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12780         (send_messages), (GST_START_TEST), (gstbus_suite):
12781         * check/gst/gstpipeline.c: (GST_START_TEST):
12782         * check/pipelines/cleanup.c: (run_pipeline):
12783         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12784         (GST_START_TEST):
12785         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
12786         (gst_bus_source_check), (gst_bus_source_dispatch),
12787         (gst_bus_create_watch), (gst_bus_add_watch_full),
12788         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
12789         * gst/gstbus.h:
12790         * tools/gst-launch.c: (event_loop):
12791         * tools/gst-md5sum.c: (event_loop):
12792         GstBusHandler -> GstBusFunc, return value has the same meaning as
12793         any other GSource (FALSE == remove source).
12794         _add_watch() and _add_watch_full() now take a MessageType mask to
12795         only handle specific types of messages.
12796         _poll() returns the GstMessage instead of the message type to avoid
12797         race conditions.
12798         _have_pending() takes a MessageType mask now too.
12799         Added testsuite for multiple bus watches.
12800         Fix testsuites and applications for new bus API.
12801
12802 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12803
12804         * check/Makefile.am:
12805           mark a bunch of the tests as to fix until we fix them
12806
12807 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12808
12809         * common/check.mak:
12810           use GST_PLUGIN settings for valgrind tests as well, so we're
12811           valgrinding the correct thing
12812         * gst/gst.c: (init_post):
12813           plug another leak
12814
12815 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12816
12817         * gst/gst.c: (init_post), (gst_deinit):
12818         * gst/gstelementfactory.c: (gst_element_factory_class_init),
12819         (gst_element_factory_finalize), (gst_element_factory_cleanup):
12820         * gst/gstindex.c: (gst_index_factory_class_init),
12821         (gst_index_factory_finalize):
12822         * gst/gstobject.c: (gst_object_dispose):
12823         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12824         (gst_plugin_load_file), (gst_plugin_desc_free):
12825         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
12826         (gst_plugin_feature_finalize):
12827         * gst/gstregistry.c: (gst_registry_class_init),
12828         (gst_registry_init), (gst_registry_finalize),
12829         (gst_registry_get_default), (gst_registry_deinit):
12830         * gst/gstregistry.h:
12831         * gst/gstregistryxml.c: (load_feature), (load_plugin):
12832           various cleanups and memleak plugging.  make valgrind is happy now.
12833
12834 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12835
12836         * common/check.mak:
12837           add a check-valgrind target
12838
12839 2005-09-18  David Schleef  <ds@schleef.org>
12840
12841         * tools/gst-inspect.c: Revert the GOption code.
12842
12843 2005-09-17  David Schleef  <ds@schleef.org>
12844
12845         * check/Makefile.am: Fix environment variables.
12846         * check/gst/gstplugin.c: Fix for API changes.
12847         * tools/gst-inspect.c: Fix for API changes.
12848         * tools/gst-xmlinspect.c: Fix for API changes.
12849         * gst/gstelementfactory.c:
12850         * gst/gstplugin.c:
12851         * gst/gstplugin.h:
12852         * gst/gstpluginfeature.c:
12853         * gst/gstpluginfeature.h:
12854         * gst/gstregistry.c:
12855         * gst/gstregistry.h:
12856         * gst/gstregistryxml.c:
12857         * gst/gsttypefind.c:
12858         * gst/gsttypefindfactory.c:
12859         * gst/indexers/gstfileindex.c:
12860         * gst/indexers/gstmemindex.c:
12861         * gst/schedulers/Makefile.am:
12862           Change registry to keep track of both plugins and features,
12863           removing the feature tracking from plugins themselves.
12864
12865 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12866
12867         * check/Makefile.am:
12868         * tools/gst-register.1.in:
12869           remove gst-register
12870
12871 2005-09-15  David Schleef  <ds@schleef.org>
12872
12873         * check/gst/gstplugin.c:
12874         * gst/gstelementfactory.c:
12875         * gst/gstplugin.c:
12876         * gst/gstpluginfeature.c:
12877         * gst/gstregistry.c:
12878           Getting tired of debugging.  Disabled all the unreffing of
12879           plugins and features, which fixes the segfaults, but of
12880           course leaks like crazy.  At least playbin works.
12881
12882 2005-09-15  David Schleef  <ds@schleef.org>
12883
12884         * check/gst/gstplugin.c: (register_check_elements),
12885         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
12886         More testing
12887         * gst/elements/gsttypefindelement.c: Fix refcounting.
12888         * gst/gsttypefind.c:
12889         * gst/gsttypefindfactory.c:
12890         * gst/gsttypefindfactory.h:
12891
12892 2005-09-15  David Schleef  <ds@schleef.org>
12893
12894         * gst/gstindex.c: get refcounting correct.
12895         * gst/gstregistry.c: Handle the case where a feature/plugin is
12896           not found.
12897
12898 2005-09-15  David Schleef  <ds@schleef.org>
12899
12900         * check/Makefile.am:
12901         * check/gst/gstplugin.c: Add test
12902         * gst/gstplugin.c: Fix problems noticed by testsuite
12903         * gst/gstplugin.h:
12904         * gst/gstregistry.c: 
12905         * gst/gstregistry.h:
12906
12907 2005-09-15  David Schleef  <ds@schleef.org>
12908
12909         * gst/gstplugin.c: Implement semi-decent recounting and locking
12910           in plugins and plugin features.
12911         * gst/gstplugin.h:
12912         * gst/gstpluginfeature.c:
12913         * gst/gstpluginfeature.h:
12914         * gst/gstregistry.c:
12915
12916 2005-09-15  Michael Smith <msmith@fluendo.com>
12917
12918         * gst/gstregistry.c: (gst_registry_get_feature_list):
12919           Implement this. Makes oggdemux work; decodebin still broken.
12920
12921 2005-09-14  David Schleef  <ds@schleef.org>
12922
12923         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
12924           #316076)
12925         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
12926         * gst/check/Makefile.am:
12927         * libs/gst/controller/Makefile.am:
12928         * libs/gst/dataprotocol/Makefile.am:
12929
12930 2005-09-14  David Schleef  <ds@schleef.org>
12931
12932         * configure.ac: Remove getbits library.  Nothing uses it, and
12933           it should be in something like liboil if someone did want
12934           to use it.
12935         * libs/gst/Makefile.am:
12936         * libs/gst/getbits/Makefile.am:
12937         * libs/gst/getbits/gbtest.c:
12938         * libs/gst/getbits/getbits.c:
12939         * libs/gst/getbits/getbits.h:
12940         * libs/gst/getbits/gstgetbits_generic.c:
12941         * libs/gst/getbits/gstgetbits_i386.s:
12942         * libs/gst/getbits/gstgetbits_inl.h:
12943
12944 2005-09-14  David Schleef  <ds@schleef.org>
12945
12946         * gst/Makefile.am: Dist glib-compat.h
12947
12948 2005-09-14  David Schleef  <ds@schleef.org>
12949
12950         * configure.ac: Remove gst/registries, since it's no longer used.
12951         * gst/registries/Makefile.am:
12952         * gst/registries/gstlibxmlregistry.c:
12953         * gst/registries/gstlibxmlregistry.h:
12954         * gst/registries/gstxmlregistry.c:
12955         * gst/registries/gstxmlregistry.h:
12956         * gst/registries/registrytest.c:
12957
12958 2005-09-14  David Schleef  <ds@schleef.org>
12959
12960         * gst/glib-compat.h:
12961         * gst/gstregistryxml.c:
12962           Convergence is near.  Seriously.
12963
12964 2005-09-14  David Schleef  <ds@schleef.org>
12965
12966         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12967         * gst/glib-compat.h:
12968           Attempt #4 to appease the buildbots.
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           Attempt #3.
12974
12975 2005-09-14  David Schleef  <ds@schleef.org>
12976
12977         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12978         Attempt #2.
12979
12980 2005-09-14  David Schleef  <ds@schleef.org>
12981
12982         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
12983           the new functions.
12984
12985 2005-09-14  David Schleef  <ds@schleef.org>
12986
12987         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
12988         * gst/glib-compat.h: Add some functions that are in newer versions
12989           of glib than we care to require.
12990         * gst/gstregistryxml.c: Use them.
12991
12992 2005-09-14  David Schleef  <ds@schleef.org>
12993
12994         * po/POTFILES.in: remove gst-register.c
12995
12996 2005-09-14  David Schleef  <ds@schleef.org>
12997
12998         * docs/gst/gstreamer-docs.sgml:
12999         * docs/gst/gstreamer-sections.txt:
13000         * docs/gst/gstreamer.types:
13001         * docs/gst/tmpl/gstelement.sgml:
13002         * docs/gst/tmpl/gstplugin.sgml:
13003         * docs/gst/tmpl/gstpluginfeature.sgml:
13004           Documentation updates for registry changes.
13005
13006 2005-09-14  David Schleef  <ds@schleef.org>
13007
13008         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
13009           because we don't require glib-2.8.
13010
13011 2005-09-14  David Schleef  <ds@schleef.org>
13012
13013         * gst/gstregistryxml.c: Added.  Essentially moved out of the
13014           registries directory.
13015
13016 2005-09-14  David Schleef  <ds@schleef.org>
13017
13018         * check/Makefile.am:
13019         * check/generic/states.c:
13020         * gst/Makefile.am:
13021         * gst/gst.c:
13022         * gst/gst.h:
13023         * gst/gst_private.h:
13024         * gst/gstelementfactory.c:
13025         * gst/gstindex.c:
13026         * gst/gstinfo.c:
13027         * gst/gstplugin.c:
13028         * gst/gstplugin.h:
13029         * gst/gstpluginfeature.c:
13030         * gst/gstpluginfeature.h:
13031         * gst/gstregistry.c:
13032         * gst/gstregistry.h:
13033         * gst/gstregistrypool.c: remove
13034         * gst/gstregistrypool.h: remove
13035         * gst/gsttypefind.c:
13036         * gst/gsttypefindfactory.c:
13037         * gst/gsturi.c:
13038         * tools/Makefile.am:
13039         * tools/gst-compprep.c:
13040         * tools/gst-inspect.c:
13041         * tools/gst-register.c: remove
13042         * tools/gst-xmlinspect.c:
13043           Registry rewrite.  Changes registry from being a file created
13044           by a tool into a simple cache file created automatically by 
13045           libgstreamer.  Removed gst-register (because it's no longer
13046           needed).  Remove registry pools, because we only have one
13047           registry implementation (XML).  Fix up other subsystems as
13048           necessary.
13049
13050 2005-09-13  Michael Smith <msmith@fluendo.com>
13051
13052         * gst/gstconfig.h.in:
13053           Don't Use windows linking attributes for MinGW. Fixes #316157
13054
13055 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13056
13057         * gst/gstutils.c: (set_state_async_thread_func),
13058         (gst_element_set_state_async):
13059           Apparently people think it's better if this function doesn't
13060           try to set the state to whatever state was asked for on the first
13061           call to this function for any object.  Seriously.
13062
13063 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13064
13065         * check/gst/gstpipeline.c: (GST_START_TEST):
13066         * docs/gst/gstreamer-sections.txt:
13067         * gst/gstutils.c: (set_state_async_thread_func),
13068         (gst_element_set_state_async):
13069         * gst/gstutils.h:
13070           add a "gst_element_set_state_async" method that
13071           sets the state and starts a thread to make sure the state
13072           change completes as best as it can
13073
13074 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13075
13076         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13077           codify design+behaviour in testsuite after discussion
13078
13079 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13080
13081         * docs/gst/tmpl/gstelement.sgml:
13082         * docs/manual/appendix-quotes.xml:
13083           add a quote
13084         * gst/gstelement.c: (gst_element_set_state):
13085           add some debug
13086
13087 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
13088
13089         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13090         (gst_base_transform_prepare_output_buf),
13091         (gst_base_transform_handle_buffer):
13092         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
13093         (gst_capsfilter_prepare_buf):
13094           Remove the requirement for sub-classes to call the parent
13095           implementation of prepare_output_buffer with a wrapper function.
13096           
13097         * gst/gsttaglist.h:
13098         * gst/gsttagsetter.h:
13099           Fix #define wrapper
13100
13101 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
13102
13103         * docs/gst/gstreamer-sections.txt:
13104           more doc cleanups
13105
13106 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13107
13108         * docs/gst/gstreamer-sections.txt:
13109         * docs/gst/tmpl/gstelement.sgml:
13110         * docs/gst/tmpl/gstplugin.sgml:
13111         * gst/gstminiobject.c:
13112         * gst/gstvalue.h:
13113           docs now stop throwing warnings
13114
13115 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13116
13117         * docs/gst/gstreamer-sections.txt:
13118         * docs/gst/gstreamer.types:
13119         * docs/gst/tmpl/gstpad.sgml:
13120         * docs/gst/tmpl/gsttypes.sgml:
13121         * gst/base/gstadapter.h:
13122         * gst/base/gstbasesink.h:
13123         * gst/base/gstbasesrc.h:
13124         * gst/gstbin.h:
13125         * gst/gstbuffer.h:
13126         * gst/gstbus.h:
13127         * gst/gstcaps.h:
13128         * gst/gstclock.h:
13129         * gst/gstelement.h:
13130         * gst/gstevent.h:
13131         * gst/gstmessage.h:
13132         * gst/gstpad.h:
13133         * gst/gststructure.c:
13134         * gst/registries/gstlibxmlregistry.h:
13135           various documentation fixes
13136
13137 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13138
13139         * docs/gst/gstreamer-sections.txt:
13140         * docs/gst/tmpl/gstvalue.sgml:
13141           rearrange gstvalue section
13142         * gst/gstutils.c: (gst_element_state_get_name):
13143           NONE -> VOID
13144         * gst/gstvalue.c: (_gst_value_initialize):
13145         * gst/gstvalue.h:
13146           doc updates
13147
13148 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
13149
13150         * check/gst-libs/controller.c:
13151           Header include fix.
13152         * gst/base/gstbasetransform.c:
13153         (gst_base_transform_default_prepare_buf),
13154         (gst_base_transform_handle_buffer):
13155         * gst/base/gstbasetransform.h:
13156           Some more basetransform changes and fixes to enable sub-classes
13157           that modify buffer metadata only.
13158         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13159         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13160         (gst_capsfilter_prepare_buf):
13161           If the output pad has fixed allowed caps and input buffers 
13162           don't have any, set the fixed caps on outgoing buffers.
13163
13164 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
13165         * check/elements/identity.c: (GST_START_TEST):
13166           Make the error a little clearer when the test fails because
13167           identity made a copy of the buffer.
13168         * docs/gst/gstreamer-sections.txt:
13169           New symbols in gstbasetransform.h
13170         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13171         (gst_base_transform_init), (gst_base_transform_transform_size),
13172         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13173         (gst_base_transform_default_prepare_buf),
13174         (gst_base_transform_get_unit_size),
13175         (gst_base_transform_buffer_alloc),
13176         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13177         (gst_base_transform_change_state),
13178         (gst_base_transform_set_passthrough),
13179         (gst_base_transform_set_in_place),
13180         (gst_base_transform_is_in_place):
13181         * gst/base/gstbasetransform.h:
13182           Change BaseTransform to separate in_place operate from same_caps
13183           output. in_place implies that the element can perform the transform
13184           on incoming buffers in-place, even if the caps on the output are
13185           different.
13186           Sub-class elements can now implement special buffer allocation
13187           methods for outgoing buffers if they wish to.
13188           Big documentation addition.
13189         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13190         * gst/elements/gstelements.c:
13191           Changes for basetransform modifications.
13192         * gst/elements/Makefile.am:
13193         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13194           Compile fix. Extra debug output.
13195
13196 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13197
13198         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13199         (gst_pad_suite):
13200           add tests for valid pad naming
13201         * gst/check/gstcheck.c: (gst_check_log_message_func),
13202         (gst_check_log_critical_func):
13203           add ASSERT_WARNING
13204           remove printing of code, it is fragile when the code contains
13205           % and the line number is enough info
13206         * gst/check/gstcheck.h:
13207         * gst/gstpad.c: (gst_pad_template_new):
13208           fix memleaks
13209
13210 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13211
13212         * configure.ac:
13213           say what CHECK flags we use
13214         * docs/libs/gstreamer-libs.types:
13215         * libs/gst/controller/Makefile.am:
13216         * libs/gst/controller/gst-controller.c:
13217         * libs/gst/controller/gst-controller.h:
13218         * libs/gst/controller/gst-helper.c:
13219         * libs/gst/controller/gst-interpolation.c:
13220         * libs/gst/controller/gstcontroller.c:
13221         * libs/gst/controller/gsthelper.c:
13222         * libs/gst/controller/gstinterpolation.c:
13223         * tools/gst-inspect.c: (print_plugin_info):
13224           we don't use dashes in header names
13225
13226 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13227
13228         * check/Makefile.am:
13229         * check/gst/.cvsignore:
13230         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13231         (gst_pipeline_suite), (main):
13232           adding a test for pipelines and state changes
13233         * gst/gstutils.c: (get_state_func):
13234           add some debugging
13235         * gstreamer.spec.in:
13236           fix up spec file
13237
13238 2005-09-08  Michael Smith <msmith@fluendo.com>
13239
13240         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13241         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13242         (gst_file_src_is_seekable), (gst_file_src_get_size),
13243         (gst_file_src_start):
13244         * gst/elements/gstfilesrc.h:
13245           Various fixes for unseekable, unmmapable, and non-normal files, so
13246           that fallback to read() rather than mmap() works.
13247         * gst/gstevent.c: (gst_event_new_newsegment):
13248           Allow newsegment events with segment_start == segment_end, as will
13249           correctly happen if you use filesrc on a zero-size file, for
13250           example.
13251
13252 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13253
13254         * gst/gstplugin.c: (gst_plugin_load_file):
13255           Call g_module_close when we don't load the module
13256
13257         * gst/registries/gstlibxmlregistry.c:
13258         (gst_xml_registry_get_property):
13259           Port leak fix from 0.8
13260
13261 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13262
13263         * docs/gst/gstreamer-docs.sgml:
13264         * docs/gst/tmpl/.cvsignore:
13265         * docs/gst/tmpl/gsttrace.sgml:
13266         * docs/gst/tmpl/gsttrashstack.sgml:
13267         * gst/Makefile.am:
13268         * gst/gst.h:
13269         * gst/gstelement.h:
13270         * gst/gstevent.h:
13271         * gst/gstmessage.c:
13272         * gst/gstmessage.h:
13273         * gst/gsttag.c:
13274         * gst/gsttag.h:
13275         * gst/gsttaginterface.c:
13276         * gst/gsttaginterface.h:
13277         * gst/gsttaglist.c:
13278         * gst/gsttaglist.h:
13279         * gst/gsttagsetter.c:
13280         * gst/gsttagsetter.h:
13281         * gst/gsttrace.c:
13282         * gst/gsttrace.h:
13283         * gst/gsttrashstack.c:
13284           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13285           inlined docs for gsttrace, gsttrashstack
13286
13287 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13288
13289         * gst/Makefile.am:
13290         * gst/elements/gstbufferstore.h:
13291         * gst/elements/gsttypefindelement.c:
13292         * gst/elements/gsttypefindelement.h:
13293         * gst/gst.h:
13294         * gst/gsttypefind.c:
13295         * gst/gsttypefind.h:
13296         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13297         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13298         (gst_type_find_factory_dispose),
13299         (gst_type_find_factory_unload_thyself),
13300         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13301         (gst_type_find_factory_get_caps),
13302         (gst_type_find_factory_get_extensions),
13303         (gst_type_find_factory_call_function):
13304         * gst/gsttypefindfactory.h:
13305         * gst/registries/gstlibxmlregistry.c:
13306         * gst/registries/gstxmlregistry.c:
13307           splitted gsttypefind into gsttypefind, gsttypefindfactory
13308
13309 2005-09-07  Andy Wingo  <wingo@pobox.com>
13310
13311         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13312         condition whereby the pad's task function is entered before the
13313         pad_mode variable was set.
13314
13315 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13316
13317         * gst/gstpad.c: (gst_pad_alloc_buffer):
13318           Catch misbehaving pad_alloc functions that don't
13319           set up caps and do it for them.
13320
13321 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13322
13323         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13324           test for pipe!=NULL
13325         * docs/gst/tmpl/.cvsignore:
13326         * docs/gst/tmpl/gstmemchunk.sgml:
13327         * docs/gst/tmpl/gstparse.sgml:
13328         * docs/gst/tmpl/gsttaglist.sgml:
13329         * docs/gst/tmpl/gsttagsetter.sgml:
13330         * docs/gst/tmpl/gsttypefind.sgml:
13331         * docs/gst/tmpl/gsttypefindfactory.sgml:
13332         * gst/gstmemchunk.c:
13333         * gst/gstparse.c:
13334         * gst/gsttag.c:
13335         * gst/gsttaginterface.c:
13336         * gst/gsttypefind.c:
13337         * gst/gsttypefind.h:
13338           inlined more docs
13339
13340 === release 0.9.2 ===
13341
13342 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13343
13344         * NEWS:
13345         * RELEASE:
13346         * configure.ac:
13347           releasing 0.9.2, "South"
13348
13349 2005-09-05  Andy Wingo  <wingo@pobox.com>
13350
13351         * gst/registries/gstxmlregistry.h:
13352         * gst/registries/gstxmlregistry.c: Um... resurrect...
13353         
13354         * gst/registries/gstxmlregistry.h:
13355         * gst/registries/gstxmlregistry.c: and update to newer API.
13356         Incidentally they should be a bit faster now that they don't have
13357         to parse the caps.
13358         
13359 2005-09-05  Andy Wingo  <wingo@pobox.com>
13360
13361         * gst/registries/gstxmlregistry.h:
13362         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
13363         replaced by the libxml registry a while back
13364
13365 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13366
13367         * docs/gst/tmpl/gstplugin.sgml:
13368         * gst/elements/gstelements.c:
13369         * gst/gst.c:
13370         * gst/gstplugin.c: (gst_plugin_register_func),
13371         (gst_plugin_desc_copy), (gst_plugin_desc_free),
13372         (gst_plugin_get_source):
13373         * gst/gstplugin.h:
13374         * gst/registries/gstlibxmlregistry.c: (load_plugin),
13375         (gst_xml_registry_save_plugin):
13376         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
13377         (gst_xml_registry_save_plugin):
13378         * tools/gst-inspect.c: (print_plugin_info):
13379           add a "source" plugin description field, to represent the source
13380           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
13381           will set it to PACKAGE, which is automake's idea of the name of
13382           the source project.
13383
13384 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13385
13386         * Makefile.am:
13387         * autogen.sh:
13388         * configure.ac:
13389         * docs/Makefile.am:
13390         * docs/faq/Makefile.am:
13391         * docs/gst/tmpl/gstelement.sgml:
13392         * docs/gst/tmpl/gsttypes.sgml:
13393         * docs/htmlinstall.mak:
13394         * docs/manual/Makefile.am:
13395         * docs/pwg/Makefile.am:
13396           reorganize doc build a little
13397           split out docbook and gtk-doc stuff
13398           have two separate --enable's and enable them through autogen
13399           but disable by default in configure (to be similar to other
13400           projects)
13401         * gstreamer.spec.in:
13402           clean up docs install
13403         * po/af.po:
13404         * po/az.po:
13405         * po/ca.po:
13406         * po/cs.po:
13407         * po/de.po:
13408         * po/en_GB.po:
13409         * po/fr.po:
13410         * po/it.po:
13411         * po/nb.po:
13412         * po/nl.po:
13413         * po/ru.po:
13414         * po/sq.po:
13415         * po/sr.po:
13416         * po/sv.po:
13417         * po/tr.po:
13418         * po/uk.po:
13419         * po/vi.po:
13420           translation updates
13421
13422 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
13423
13424         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
13425           Add comment.
13426           
13427         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13428         (gst_fake_sink_change_state):
13429           Make state change function thread-safe.
13430           
13431         * gst/gstpad.c: (gst_pad_alloc_buffer):
13432           Set offset on generic buffer allocated by fallback.
13433
13434 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
13435
13436         * docs/gst/gstreamer-sections.txt:
13437         * docs/gst/tmpl/gstelement.sgml:
13438         * gst/gstpad.c:
13439         * libs/gst/controller/gst-controller.c:
13440         (gst_controlled_property_set_interpolation_mode),
13441         (gst_controlled_property_new),
13442         (gst_controller_find_controlled_property):
13443          run the wingo-magic script against the docs
13444
13445 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13446
13447         * docs/gst/gstreamer-docs.sgml:
13448         * docs/gst/gstreamer-sections.txt:
13449         * docs/gst/tmpl/.cvsignore:
13450         * docs/gst/tmpl/gstelementdetails.sgml:
13451         * docs/gst/tmpl/gstelementfactory.sgml:
13452         * gst/gst.c:
13453         * gst/gstbus.c:
13454         * gst/gstelementfactory.c:
13455         * gst/gstelementfactory.h:
13456           merged elementdetails docs into elementfactory docs
13457           inlined both
13458
13459 2005-09-02  Andy Wingo  <wingo@pobox.com>
13460
13461         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
13462         consider this enum an enum and not a flags.
13463
13464 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13465
13466         * docs/gst/gstreamer-docs.sgml:
13467         * docs/gst/tmpl/.cvsignore:
13468         * docs/gst/tmpl/gstghostpad.sgml:
13469         * docs/gst/tmpl/gstiterator.sgml:
13470         * docs/gst/tmpl/gstmacros.sgml:
13471         * docs/gst/tmpl/gstrealpad.sgml:
13472         * docs/gst/tmpl/gstregistry.sgml:
13473         * docs/gst/tmpl/gstregistrypool.sgml:
13474         * docs/gst/tmpl/gststructure.sgml:
13475         * docs/gst/tmpl/gstsystemclock.sgml:
13476         * docs/gst/tmpl/gsttrace.sgml:
13477         * gst/gstghostpad.c:
13478         * gst/gstmacros.h:
13479         * gst/gstmemchunk.c:
13480         * gst/gstmemchunk.h:
13481         * gst/gstqueue.c:
13482         * gst/gstregistry.c:
13483         * gst/gstregistrypool.c:
13484         * gst/gststructure.c:
13485         * gst/gstsystemclock.c:
13486           more docs inlined
13487
13488 2005-09-02  Andy Wingo  <wingo@pobox.com>
13489
13490         * gst/gstelement.h (GstState): Renamed from GstElementState,
13491         changed to be a normal enum instead of flags.
13492         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
13493         munged to be GST_STATE_CHANGE_*.
13494         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
13495         work with the new state representation.
13496         (GstStateChange): New enumeration of possible state transitions.
13497         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
13498         (GstElementClass::change_state): Pass the GstStateChange along as
13499         an argument. Helps language bindings, so they don't have to use
13500         tricky lock-needing macros like GST_STATE_CHANGE ().
13501
13502         * scripts/update-states (file): New script. Run it on a file to
13503         update it for state naming and API changes. Updates files in
13504         place.
13505
13506         * All files updated for the new API.
13507
13508 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13509
13510         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
13511         * gst/gstutils.c: (gst_util_set_value_from_string),
13512         (gst_util_set_object_arg):
13513           fix a bunch of unchecked return values
13514         * tools/gst-complete.c: (main):
13515         * gstreamer.spec.in:
13516           clean up a little
13517
13518 2005-09-01  Wim Taymans  <wim@fluendo.com>
13519
13520         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13521         (gst_base_sink_event), (gst_base_sink_do_sync),
13522         (gst_base_sink_handle_event):
13523         * gst/base/gstbasesink.h:
13524         Handle newsegments more correctly.
13525
13526         * gst/gstbus.c:
13527         Fix docs.
13528
13529         * gst/gstevent.c: (gst_event_new_newsegment):
13530         A newsegment cannot have a start_time of -1
13531
13532 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
13533
13534         * win32/gstenumtypes.c:
13535         * win32/gstenumtypes.h:
13536           Update
13537
13538 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13539
13540         * libs/gst/controller/gst-controller.c:
13541         (gst_controlled_property_set_interpolation_mode),
13542         (gst_controlled_property_new):
13543          fixed boolean again
13544
13545 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13546
13547         * docs/faq/gst-uninstalled:
13548           add -good
13549         * gst/gstevent.c:
13550         * gst/gstevent.h:
13551           remove wrong docs
13552         * gst/gstutils.c: (gst_element_link_filtered):
13553         * gst/gstutils.h:
13554           add gst_element_link_filtered
13555
13556 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13557
13558         * docs/gst/gstreamer-docs.sgml:
13559         * docs/gst/gstreamer-sections.txt:
13560         * docs/gst/tmpl/.cvsignore:
13561         * docs/gst/tmpl/gsterror.sgml:
13562         * docs/gst/tmpl/gstfilter.sgml:
13563         * docs/gst/tmpl/gsturihandler.sgml:
13564         * docs/gst/tmpl/gsturitype.sgml:
13565         * docs/gst/tmpl/gstutils.sgml:
13566         * docs/gst/tmpl/gstxml.sgml:
13567         * gst/gsterror.c:
13568         * gst/gsterror.h:
13569         * gst/gstfilter.c:
13570         * gst/gsturi.c:
13571         * gst/gsturitype.c:
13572         * gst/gstutils.c:
13573         * gst/gstxml.c:
13574           inlined more docs, fixed double id-ref
13575
13576 2005-08-31  Wim Taymans  <wim@fluendo.com>
13577
13578         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13579         (gst_base_transform_handle_buffer):
13580         Passthrough elements don't need the caps as they don't care.
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), (gst_base_transform_chain):
13586         Don't leak refcounts on buffers.
13587
13588 2005-08-31  Wim Taymans  <wim@fluendo.com>
13589
13590         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
13591         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13592         (gst_base_transform_chain), (gst_base_transform_change_state):
13593         * gst/base/gstbasetransform.h:
13594         Handle the case where we are not negotiated more gracefully.
13595
13596 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
13597
13598         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
13599         (gst_file_src_map_region):
13600           Set READONLY flag on mmap'ed buffers, otherwise
13601           gst_buffer_make_writable() won't work properly (#314708).
13602
13603 2005-08-31  Wim Taymans  <wim@fluendo.com>
13604
13605         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
13606         passthrough elements can even do inplace on non writable
13607         buffers (as they don't touch them).
13608
13609 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13610
13611         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13612         (gst_test_mono_source_set_property),
13613         (gst_test_mono_source_class_init), (GST_START_TEST),
13614         (gst_controller_suite):
13615           more tests (hehe I have the most)
13616         * gst/gstbus.c:
13617           describe popping messages whenusing mulltiple sources
13618         * libs/gst/controller/gst-controller.c:
13619         (gst_controlled_property_set_interpolation_mode),
13620         (gst_controlled_property_new):
13621         * libs/gst/controller/gst-controller.h:
13622         * libs/gst/controller/gst-interpolation.c:
13623           implement boolean properties
13624
13625 2005-08-31  Wim Taymans  <wim@fluendo.com>
13626
13627         * gst/gstminiobject.c: (gst_mini_object_ref):
13628         Cannot assert that the refcount has to be positive
13629         since a disposed object can be resurrected.
13630
13631 2005-08-31  Wim Taymans  <wim@fluendo.com>
13632
13633         * gst/gstpad.c: (gst_pad_init):
13634         Revert change, need to first fix badly behaving 
13635         apps.
13636
13637 2005-08-30  Wim Taymans  <wim@fluendo.com>
13638
13639         * check/elements/fakesrc.c: (setup_fakesrc):
13640         * check/elements/identity.c: (setup_identity):
13641         Activate pads before using them.
13642
13643 2005-08-30  Wim Taymans  <wim@fluendo.com>
13644
13645         * gst/base/gstadapter.c: (gst_adapter_flush):
13646         Flushing out 0 bytes is ok for this function.
13647
13648         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13649         no newsegment gives a warning and sets the start/stop to 
13650         invalid.
13651
13652         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
13653         (gst_base_transform_set_passthrough):
13654         Some debug info.
13655
13656         * gst/gstminiobject.c: (gst_mini_object_ref):
13657         Check refcount here too.
13658
13659         * gst/gstpad.c: (gst_pad_init):
13660         Pads are initially flushing and refusing data.
13661
13662         * gst/gstutils.c: (gst_element_link_pads_filtered):
13663         When adding a capsfilter element make sure it has the
13664         same state as the parent bin.
13665
13666 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13667
13668         * docs/gst/tmpl/.cvsignore:
13669         * docs/gst/tmpl/gstformat.sgml:
13670         * docs/gst/tmpl/gstversion.sgml:
13671         * gst/gstbus.h:
13672         * gst/gstformat.c:
13673         * gst/gstformat.h:
13674         * gst/gstversion.h.in:
13675           more docs and two more inlined
13676
13677 2005-08-30  Wim Taymans  <wim@fluendo.com>
13678
13679         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
13680         Don't sync to clock.
13681
13682 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13683
13684         * docs/gst/gstreamer-sections.txt:
13685           ultral33t func10ns deserve to appear in the docs actually
13686         * docs/gst/tmpl/.cvsignore:
13687         * docs/gst/tmpl/gstcompat.sgml:
13688         * docs/gst/tmpl/gstconfig.sgml:
13689         * gst/check/gstcheck.c:
13690         * gst/gstcompat.h:
13691         * gst/gstconfig.h.in:
13692           inlined more docs
13693
13694 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13695
13696         * docs/gst/tmpl/.cvsignore:
13697         * docs/gst/tmpl/gstquery.sgml:
13698         * docs/gst/tmpl/gstutils.sgml:
13699         * gst/gstquery.c:
13700         * gst/gstquery.h:
13701           inlined and extended docs
13702
13703 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13704
13705         * check/gst-libs/controller.c: (GST_START_TEST),
13706         (gst_controller_suite):
13707           more tests
13708         * docs/gst/tmpl/gstutils.sgml:
13709         * docs/libs/gstreamer-libs-sections.txt:
13710         * docs/libs/tmpl/gstdataprotocol.sgml:
13711           include path fixes
13712         * examples/controller/audio-example.c: (main):
13713           controller example works now
13714         * gst/gstclock.h:
13715           doc fixes
13716         * tools/gst-inspect.c: (print_element_properties_info):
13717           show param spec flags
13718
13719 2005-08-29  Andy Wingo  <wingo@pobox.com>
13720
13721         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
13722
13723 2005-08-28  Andy Wingo  <wingo@pobox.com>
13724
13725         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
13726         as having two arguments instead of just one. Allows superclasses
13727         to access information on subclasses -- see the terrible for() loop
13728         in gtype.c:g_type_create_instance for the reason why. All callers
13729         changed.
13730
13731 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13732
13733         * docs/design/part-messages.txt:
13734           update info
13735         * docs/gst/tmpl/.cvsignore:
13736         * docs/gst/tmpl/gstcaps.sgml:
13737         * docs/gst/tmpl/gstclock.sgml:
13738         * gst/gstbus.c:
13739         * gst/gstcaps.c:
13740         * gst/gstcaps.h:
13741         * gst/gstclock.c:
13742         * gst/gstclock.h:
13743         * gst/gstmessage.c:
13744           added descriptions for bus and message
13745           inline caps and clock docs
13746
13747 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13748
13749         * gst/gstmessage.c:
13750         * gst/gstmessage.h:
13751           doc fixes
13752
13753 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13754
13755         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13756           fix div-by-zero
13757
13758 2005-08-26  Andy Wingo  <wingo@pobox.com>
13759
13760         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
13761         element_set_state's return val.
13762         (test_2_elements): Add test that's been disabled for months.
13763
13764         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
13765         can-activate-pull properties.
13766
13767         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
13768         can-activate-pull properties. Implement is_seekable so fakesrc can
13769         operate in pull mode.
13770
13771         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
13772         properties.
13773         (gst_base_sink_activate, gst_base_sink_activate_pull)
13774         (gst_base_sink_activate_push): Make activation mode choosing work.
13775         Cleanups.
13776         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
13777         is right. Make pull mode work. Post an eos before pausing in pull
13778         mode.
13779         (gst_base_sink_change_state): Pay attention to the core's
13780         change_state() return val.
13781         
13782         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
13783         has-getrange properties. Cleanups.
13784         
13785         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
13786         has_getrange and replace with can_activate_pull and
13787         can_activate_push.
13788
13789         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
13790         locking comments. Remove has_loop, has_chain and replace with
13791         can_activate_pull and can_activate_push.
13792
13793 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
13794
13795         * configure.ac:
13796         * examples/Makefile.am:
13797         * examples/metadata/Makefile.am:
13798         * examples/metadata/read-metadata.c: (message_loop),
13799         (have_pad_handler), (make_pipeline), (print_tag), (main):
13800           Add metadata reading example that loops over a list of filenames,
13801           dumping any tags found.
13802
13803         * gst/gstbus.c: (gst_bus_dispose):
13804         * gst/gstelement.c: (gst_element_dispose):
13805           Release a few potentially-held references in dispose.
13806
13807 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13808
13809         * docs/gst/tmpl/gstminiobject.sgml:
13810           do *not* add tmpl/*.sgml files to CVS!
13811
13812 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13813
13814         * libs/gst/bytestream/.cvsignore:
13815         * libs/gst/bytestream/Makefile.am:
13816         * libs/gst/bytestream/adapter.c:
13817         * libs/gst/bytestream/adapter.h:
13818         * libs/gst/bytestream/bytestream.c:
13819         * libs/gst/bytestream/bytestream.h:
13820         * libs/gst/bytestream/filepad.c:
13821         * libs/gst/bytestream/filepad.h:
13822           removing obsolete files
13823
13824 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13825
13826         * docs/gst/gstreamer-docs.sgml:
13827         * docs/libs/gstreamer-libs-docs.sgml:
13828           disabed additional index entries again, as this makes docs-gen just
13829           slow and they aren't useful yet
13830         * docs/libs/gstreamer-libs-sections.txt:
13831           little -section.txt cleanup for libs
13832
13833 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13834
13835         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13836         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
13837           fix up some debugging
13838         (gst_base_transform_get_unit_size),
13839         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13840         (gst_base_transform_handle_buffer):
13841         * gst/base/gstbasetransform.h:
13842           handle and store timed NEWSEGMENT events so that subclasses that
13843           calculate time by counting samples have a segment_start time they
13844           need to add to their timestamps - see audioresample
13845
13846 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13847
13848         * gst/gstbin.h:
13849           removed ';' from the end of macro defs
13850         * docs/gst/gstreamer-docs.sgml:
13851         * docs/gst/gstreamer-sections.txt:
13852         * docs/gst/tmpl/.cvsignore:
13853         * gst/gstbus.h:
13854         * gst/gstelement.c: (gst_element_class_init),
13855         (gst_element_set_state), (activate_pads),
13856         (gst_element_save_thyself):
13857         * gst/gstevent.c: (gst_event_new_newsegment):
13858         * gst/gstevent.h:
13859         * gst/gstiterator.c:
13860         * gst/gstiterator.h:
13861         * gst/gstpad.c:
13862         * gst/gstprobe.h:
13863         * gst/gstutils.c: (gst_pad_query_convert):
13864         * gst/gstutils.h:
13865           fixed parameter name mismatches between source, header and docs
13866           added some more docs, resolved the last batch of unused elements in
13867           docs (now someone needs to doc them)
13868
13869 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13870
13871         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
13872         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
13873           don't walk through the plugins backwards.  Where is all this
13874           reversed logic coming from ?
13875
13876 2005-08-25  Wim Taymans  <wim@fluendo.com>
13877
13878         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13879         (gst_base_transform_transform_size),
13880         (gst_base_transform_configure_caps),
13881         (gst_base_transform_get_unit_size),
13882         (gst_base_transform_buffer_alloc),
13883         (gst_base_transform_change_state):
13884         * gst/base/gstbasetransform.h:
13885         Cache caps unit_size.
13886         Make sure we cannot negotiate up and downstream at the
13887         same time.
13888
13889 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13890
13891         * gst/gst.c: (init_pre), (init_post):
13892           register the installed plugin path after the env var
13893         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
13894         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
13895           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
13896           directories, so the tests can prefer uninstalled over installed
13897
13898 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13899
13900         * gst/base/gstbasetransform.h:
13901           comment
13902         * gst/gstpad.c:
13903           add to docs
13904
13905 2005-08-25  Wim Taymans  <wim@fluendo.com>
13906
13907         * gst/gstbin.c: (bin_bus_handler):
13908         Be a bit more conservative about the posted message.
13909         
13910         * gst/gstbus.c: (gst_bus_post):
13911         Some cleanups, warn wrong return values.
13912
13913 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
13914
13915         * check/gst/gstbin.c: (GST_START_TEST):
13916         * gst/gstbin.c: (bin_bus_handler):
13917         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
13918         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
13919         (gst_message_new_warning), (gst_message_new_tag),
13920         (gst_message_new_state_changed), (gst_message_new_segment_start),
13921         (gst_message_new_segment_done), (gst_message_new_custom):
13922         * gst/gstmessage.h:
13923         * tools/gst-launch.c: (event_loop):
13924         * tools/gst-md5sum.c: (event_loop):
13925           Revert unpopular change for GST_MESSAGE_SRC to GObject.
13926
13927 2005-08-25  Wim Taymans  <wim@fluendo.com>
13928
13929         * check/generic/states.c: (GST_START_TEST):
13930         Cleanup can be done at the end.
13931
13932         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
13933         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13934         (gst_task_get_state), (gst_task_start), (gst_task_pause):
13935         Oh boy.. Thanks for finding this, Thomas. 
13936
13937 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13938
13939         * docs/gst/gstreamer.types:
13940           added missing types
13941
13942 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
13943
13944         * docs/gst/gstreamer-docs.sgml:
13945         * docs/gst/gstreamer-sections.txt:
13946         * docs/gst/tmpl/.cvsignore:
13947         * gst/gstbin.c:
13948         * gst/gstiterator.c:
13949         * gst/gstutils.c:
13950         * gst/registries/gstxmlregistry.h:
13951           added missing classes and symbols (123 more to go)
13952           removed removed symbols from section file
13953           fixed many doc-comments
13954
13955 2005-08-24  Wim Taymans  <wim@fluendo.com>
13956
13957         * check/generic/states.c: (GST_START_TEST):
13958         Make sure all tasks are stopped.
13959
13960         * check/gst/gstbin.c: (GST_START_TEST):
13961         Unref after usage for proper valgrinding.
13962
13963         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
13964         Really wait for the task to stop before destroying the
13965         mutex.
13966
13967         * gst/gstqueue.c: (gst_queue_sink_activate_push),
13968         (gst_queue_src_activate_push):
13969         Small cleanups. Don't stop the task when we did not start
13970         it.
13971
13972         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
13973         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
13974         (gst_task_get_state), (gst_task_start), (gst_task_pause),
13975         (gst_task_join):
13976         * gst/gsttask.h:
13977         Protect the stream lock with the object lock.
13978         Disallow setting the stream lock when running.
13979         Add cleanup_all to wait for the threadpool to finish.
13980         Remove code to autoallocate a mutex if none was provided.
13981         Add _join() to wait for a task to stop.
13982         Protect the thread pool with a global lock.
13983
13984 2005-08-24  Wim Taymans  <wim@fluendo.com>
13985
13986         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13987         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13988         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
13989         * gst/base/gstbasesink.h:
13990         Handle newsegment events correctly.
13991         Drop buffers out of the segment range.
13992
13993 2005-08-22  Andy Wingo  <wingo@pobox.com>
13994
13995         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
13996         macro, implements an interface and gstimplementsinterface for a
13997         new type.
13998
13999 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14000
14001         * check/Makefile.am:
14002         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
14003           add a test that does a bunch of state changes on elements
14004           needs some fixing for valgrind
14005         * check/states/sinks.c: (gst_object_suite):
14006           whitespace
14007         * gst/gstcaps.h:
14008           add prototype for gst_caps_is_equal_fixed
14009         * gst/gstplugin.c:
14010         * gst/gstregistrypool.c:
14011           doc fixes
14012
14013 2005-08-24  Andy Wingo  <wingo@pobox.com>
14014
14015         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
14016         convert a negative value. Doesn't make much sense. Mostly this is
14017         here to force callers to ensure -1 maps to -1.
14018
14019 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14020
14021         * docs/pwg/advanced-types.xml:
14022           Well done to Michael for catching my deliberate introduction
14023           of this spelling mistake. 
14024         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
14025         * gst/gstelement.h:
14026           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
14027           unlink pads before removing the element from the bin.
14028
14029 2005-08-24  Andy Wingo  <wingo@pobox.com>
14030
14031         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
14032         the same thing as GST_DEBUG=*:4.
14033         (parse_debug_level, parse_debug_category): New helper parsers.
14034
14035 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14036
14037         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14038         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
14039         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
14040         (gst_base_transform_buffer_alloc),
14041         (gst_base_transform_handle_buffer):
14042           use gboolean return values and pointers to size so we can use the
14043           full GST_BUFFER_SIZE range (guint) for buffer sizes
14044           use GstPadDirection for transform_caps
14045         * gst/base/gstbasetransform.h:
14046           rename get_size to get_unit_size since that's what it is
14047         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
14048           use GstPadDirection for transform_caps
14049         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14050         * gst/gstutils.h:
14051           cleanup and debugging
14052
14053 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14054
14055         * gst/gstelement.c: (gst_element_class_init),
14056         (gst_element_set_state), (activate_pads),
14057         (gst_element_save_thyself):
14058         * tools/gst-compprep.c: (main):
14059         * tools/gst-inspect.c: (print_element_properties_info):
14060         * tools/gst-xmlinspect.c: (print_element_properties):
14061           Fixed long standing mem-leak
14062
14063 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14064
14065         * check/gst/gstbin.c: (GST_START_TEST):
14066         * gst/gstbin.c: (bin_bus_handler):
14067         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14068         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14069         (gst_message_new_warning), (gst_message_new_tag),
14070         (gst_message_new_state_changed), (gst_message_new_segment_start),
14071         (gst_message_new_segment_done), (gst_message_new_custom):
14072         * gst/gstmessage.h:
14073         * tools/gst-launch.c: (event_loop):
14074         * tools/gst-md5sum.c: (event_loop):
14075           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
14076           that applications can sensibly post custom messages with references
14077           to their own objects.
14078
14079 2005-08-24  Andy Wingo  <wingo@pobox.com>
14080
14081         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
14082         already.
14083
14084 2005-08-24  Wim Taymans  <wim@fluendo.com>
14085
14086         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14087         (gst_base_transform_transform_caps),
14088         (gst_base_transform_transform_size),
14089         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14090         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14091         (gst_base_transform_handle_buffer):
14092         * gst/base/gstbasetransform.h:
14093         Many fixes and new features added by Thomas. Can now also do
14094         transforms with variable sizes and a custom fixate_caps function.
14095
14096 2005-08-24  Wim Taymans  <wim@fluendo.com>
14097
14098         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14099         Some debugging.
14100
14101         * gst/gstclock.h:
14102         Cast to ClockTime before formatting to time.
14103
14104         * gst/gstutils.h:
14105         Cleanups.
14106
14107 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14108
14109         * check/gst-libs/controller.c: (GST_START_TEST),
14110         (gst_controller_suite):
14111         * docs/gst/tmpl/gstcaps.sgml:
14112         * docs/gst/tmpl/gstghostpad.sgml:
14113         * docs/gst/tmpl/gstquery.sgml:
14114         * docs/gst/tmpl/gstutils.sgml:
14115         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
14116         (gst_object_sink_values), (gst_object_get_value_arrays),
14117         (gst_object_get_value_array):
14118           gracefully handle helper method calls to objects that are not beeing
14119           controlled, added test case for that          
14120
14121 2005-08-23  Wim Taymans  <wim@fluendo.com>
14122
14123         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
14124         (gst_event_new_newsegment), (gst_event_parse_newsegment),
14125         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
14126         (gst_event_parse_qos), (gst_event_new_seek),
14127         (gst_event_parse_seek):
14128         * gst/gstevent.h:
14129         Some more debugging output and doc cleanups.
14130
14131         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14132         Fix possible deadlock.
14133
14134 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14135
14136         * docs/gst/gstreamer-docs.sgml:
14137         * docs/gst/gstreamer-sections.txt:
14138         * docs/gst/gstreamer.types:
14139         * docs/gst/tmpl/.cvsignore:
14140         * gst/gstbin.h:
14141         * gst/gstbus.c:
14142         * gst/gstelement.c:
14143         * gst/gstevent.h:
14144           added 100 symbols from gstreamer-unused.txt to the right sections
14145           fixed more broken comments
14146           added GstBus to docs
14147
14148 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14149
14150         * docs/gst/gstreamer-sections.txt:
14151         * docs/gst/tmpl/.cvsignore:
14152         * docs/gst/tmpl/gstbin.sgml:
14153         * docs/gst/tmpl/gstbuffer.sgml:
14154         * gst/base/gstbasesrc.c:
14155         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14156         * gst/gstbuffer.c:
14157         * gst/gstbuffer.h:
14158         * tools/gst-launch.1.in:
14159           inlined more doc comments, added missing comments and fixed comments
14160           fixed typos
14161
14162 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14163
14164         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14165           some debugging
14166         * gst/gstcaps.h:
14167           whitespace fixes
14168         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14169           more debugging
14170         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14171         * gst/gststructure.h:
14172           add a fixate function for booleans; add a FIXME that these func
14173           names should probably be gst_structure_fixate_*
14174
14175 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14176
14177         * docs/gst/gstreamer-docs.sgml:
14178         * docs/gst/gstreamer-sections.txt:
14179         * gst/Makefile.am:
14180         * gst/gstbin.c: (gst_bin_get_type),
14181         (gst_bin_child_proxy_get_child_by_index),
14182         (gst_bin_child_proxy_get_children_count),
14183         (gst_bin_child_proxy_init):
14184         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14185         (gst_child_proxy_get_child_by_index),
14186         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14187         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14188         (gst_child_proxy_get), (gst_child_proxy_set_property),
14189         (gst_child_proxy_set_valist), (gst_child_proxy_set),
14190         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14191         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14192         * gst/gstchildproxy.h:
14193         * gst/parse/grammar.y:
14194         * tools/gst-inspect.c: (print_interfaces),
14195         (print_element_properties_info), (print_element_info):
14196           ported gstchildproxy over from 0.8
14197           ported gst-inspect fixes and enhancements over from 0.8
14198
14199 2005-08-22  Wim Taymans  <wim@fluendo.com>
14200
14201         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14202         (gst_base_transform_handle_buffer):
14203         Also call the transform function if we have ANY caps.
14204
14205         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14206         Fix debug info.
14207
14208 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14209
14210         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14211           Don't pretend to handle seek events if the source is not seekable
14212
14213 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14214
14215         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14216           Remove extra parameter to debug output
14217
14218         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14219         (gst_base_src_do_seek), (gst_base_src_activate_push):
14220           Fix seek event handling.
14221
14222         * gst/gstpipeline.c: (gst_pipeline_change_state):
14223         * gst/gstqueue.c: (gst_queue_handle_sink_event),
14224         (gst_queue_src_activate_push):
14225           Don't start the src pad task on FLUSH_STOP if the pad
14226           isn't linked.
14227           Debug changes.
14228
14229 2005-08-22  Wim Taymans  <wim@fluendo.com>
14230
14231         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14232         Added check for gst_static_caps_get() refcounting.
14233
14234 2005-08-22  Wim Taymans  <wim@fluendo.com>
14235
14236         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14237         Make _static_caps_get() refcounting sane.
14238         
14239         * gst/gstelement.c: (gst_element_set_state):
14240         Add g_return_val_if_fail() to protect against segfaults.
14241
14242 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
14243
14244         * docs/gst/tmpl/gstevent.sgml:
14245         * gst/gstevent.c:
14246         * gst/gstevent.h:
14247           inlined remaining docs, added missing doc comments
14248
14249 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14250
14251         * check/gst/gstbin.c: (GST_START_TEST):
14252           since we don't know when preroll is done, use refcount range
14253           check for the sink
14254         * gst/check/gstcheck.h:
14255           add macro for checking refcount range
14256
14257 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14258
14259         * check/Makefile.am:
14260           clean up environment for when registry gets built versus
14261           when actual tests are run; valgrind seems to not report
14262           leaks if GST_PLUGIN_PATH is set to some specific values
14263         * check/gst/gstbin.c: (GST_START_TEST):
14264           add more refcounting checks; maybe this exposes a
14265           preroll lock bug ?
14266         * common/check.mak:
14267         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14268         * gst/check/gstcheck.h:
14269         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14270         (gst_bin_change_state):
14271         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14272           add/fix debugging/whitespace
14273
14274 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14275
14276         * check/gst/gstevent.c: (event_probe), (test_event),
14277         (GST_START_TEST):
14278          Er, don't call gst_bin_watch_for_state_change you idiot.
14279
14280 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14281
14282         * check/Makefile.am:
14283           Use CHECK_CFLAGS and CHECK_LIBS
14284         * check/gst/gstevent.c: (event_probe), (test_event),
14285         (GST_START_TEST):
14286           Don't leak events.
14287         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14288         (gst_base_src_start), (gst_base_src_stop),
14289         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14290         (gst_base_src_change_state):
14291           Sprinkle gst_base_src_stop liberally around error paths to fix
14292           problems reusing a source after failed state changes.
14293         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14294         (helper_find_suggest), (gst_type_find_helper):
14295           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14296         * gst/gstevent.h:
14297         * docs/gst/tmpl/gstevent.sgml:
14298           Migrate part of the docs from the SGML file. Wait for ensonic to
14299           tell me how I did it wrong ;)
14300         * tools/gst-typefind.c: (main):
14301           Extra robustness to state changes between files.
14302
14303 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14304
14305         * check/Makefile.am:
14306           don't valgrind the controller test - it's leaking - Stefan, HELP
14307         * gst/check/gstcheck.c: (gst_check_message_error),
14308         (gst_check_chain_func), (gst_check_setup_element),
14309         (gst_check_teardown_element), (gst_check_setup_src_pad),
14310         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14311         (gst_check_teardown_sink_pad):
14312         * gst/check/gstcheck.h:
14313           add a bunch of methods to set up elements, and src and sink pads
14314         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14315         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14316         (GST_START_TEST):
14317           use them
14318         * gst/gstmessage.c:
14319         * gst/gsttag.h:
14320           whitespace/doc fixes
14321
14322 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14323
14324         * gst/gstelement.h:
14325           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14326           be handled by the application and not always printed as well
14327
14328 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14329
14330         * check/Makefile.am:
14331           set GST_TOOLS_DIR
14332         * gst/check/gstcheck.c: (gst_check_message_error):
14333         * gst/check/gstcheck.h:
14334           add a fail_unless_equals_int
14335           add fail_unless for error messages
14336
14337 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14338
14339         * check/Makefile.am:
14340         * check/gst.supp:
14341         * common/Makefile.am:
14342         * common/check.mak:
14343         * common/gst.supp:
14344           factor out some of the common stuff so we can use it
14345
14346 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14347
14348         * check/Makefile.am:
14349         * check/gst/gstiterator.c: (GST_START_TEST):
14350         * check/gst/gstsystemclock.c: (GST_START_TEST),
14351         (gst_systemclock_suite):
14352         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14353         * gst/gstclock.c:
14354           valgrind more tests
14355
14356 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14357
14358         * check/elements/.cvsignore:
14359         * check/elements/gstfakesrc.c:
14360           rename to name of element
14361         * check/elements/identity.c: (chain_func), (event_func),
14362         (setup_identity), (cleanup_identity), (GST_START_TEST),
14363         (identity_suite), (main):
14364           add a test for identity
14365         * check/Makefile.am:
14366         * pkgconfig/Makefile.am:
14367         * pkgconfig/gstreamer-check.pc.in:
14368         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14369         * gst/check:
14370         * gst/Makefile.am:
14371         * configure.ac:
14372           move the check stuff to a library that gets installed
14373         * check/gst-libs/controller.c: (GST_START_TEST):
14374         * check/gst-libs/gdp.c:
14375         * check/gst/gst.c: (GST_START_TEST):
14376         * check/gst/gstbin.c:
14377         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14378         * check/gst/gstbus.c:
14379         * check/gst/gstcaps.c: (GST_START_TEST):
14380         * check/gst/gstelement.c:
14381         * check/gst/gstghostpad.c:
14382         * check/gst/gstiterator.c:
14383         * check/gst/gstmessage.c:
14384         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
14385         * check/gst/gstobject.c:
14386         * check/gst/gstpad.c: (GST_START_TEST):
14387         * check/gst/gststructure.c: (GST_START_TEST):
14388         * check/gst/gstsystemclock.c: (GST_START_TEST),
14389         (gst_systemclock_suite):
14390         * check/gst/gsttag.c: (gst_tag_suite):
14391         * check/gst/gstvalue.c:
14392         * check/pipelines/cleanup.c:
14393         * check/pipelines/simple_launch_lines.c:
14394         * check/states/sinks.c:
14395           change include statement
14396
14397         * docs/gst/gstreamer-sections.txt:
14398         * docs/gst/tmpl/gstpad.sgml:
14399           document more pad stuff
14400         * gst/gstminiobject.c: (gst_mini_object_ref),
14401         (gst_mini_object_unref):
14402           debug refcounting
14403
14404 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
14405
14406         * docs/gst/tmpl/gst.sgml:
14407         * gst/gst.c:
14408           eliminate another tmpl file, fix spelling in the long-description
14409
14410 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14411
14412         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14413         (test_event), (timediff), (gstevents_suite):
14414           Should fix build on 64-bit arch's
14415
14416 2005-08-18  Andy Wingo  <wingo@pobox.com>
14417
14418         Make sure that when a pipeline goes to PLAYING, that data has
14419         actually hit the sink.
14420
14421         * check/states/sinks.c (test_sink): A sink that doesn't get any
14422         data shouldn't return SUCCESS for going to either PLAYING or
14423         PAUSED. Test also the return values on the way back down.
14424
14425         * gst/gstelement.c (gst_element_set_state): When changing the
14426         state of an element currently changing state asynchronously, go to
14427         lost-state after commiting the pending state. Makes future calls
14428         to get_state continue to return ASYNC.
14429
14430         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
14431         ASYNC when going to PLAYING if we still don't have preroll, as can
14432         happen with live sources.
14433
14434 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14435
14436         * docs/pwg/advanced-types.xml:
14437           Hack long paragraph into 2 chunks as a workaround for buggy
14438           jadetex version in sid and breezy that loops infinitely and
14439           eats all RAM.
14440
14441 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14442
14443         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14444         (test_event), (timediff), (gstevents_suite):
14445           Provide more error margin in clock measurements to allow for 
14446           g_get_current_time inaccuracies.
14447
14448 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14449
14450         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14451         (test_event), (timediff), (gstevents_suite):
14452            Fix error message output so I might be able to tell why the
14453            test works here but fails on the build farm.
14454
14455 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14456
14457         * check/Makefile.am:
14458         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14459         (test_event), (timediff), (gstevents_suite), (main):
14460           I wrote a test!
14461
14462         * docs/design/part-seeking.txt:
14463           Spelling correction
14464
14465         * docs/gst/tmpl/gstevent.sgml:
14466         * docs/gst/tmpl/gstfakesrc.sgml:
14467           Docs updates.
14468
14469         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14470           Treat a buffer-without-newsegment the same as a receiving 
14471           a newsegment not in time format, and disable syncing to the clock
14472           with a warning.
14473
14474         * gst/gstbus.c: (gst_bus_set_sync_handler):
14475           Assert if anyone tries to replace the existing sync_handler for bus, 
14476           as only the owner should be setting it.
14477
14478         * gst/gstevent.h:
14479           Have a fixed set of custom event enums with events identified by
14480           their structure name (as in 0.8), rather than a free-for-all
14481           allowing collisions between enum values from different plugins.
14482
14483         * gst/gstpad.c: (gst_pad_class_init):
14484           Docs change.
14485           
14486         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14487           Handle out-of-band downstream events from the sending thread.
14488
14489 2005-08-17  Andy Wingo  <wingo@pobox.com>
14490
14491         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
14492         play-timeout==0 to mean no timeout at all. In that case, don't
14493         bother with a get_state or a warning, just return directly, even
14494         if it's ASYNC.
14495
14496         * gst/base/gstbasetransform.c: Debug changes.
14497
14498         * gst/gstutils.h:
14499         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
14500         ensure bins post state change messages. A bit of a hack but I can't
14501         think of a way to avoid it.
14502
14503         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
14504
14505 2005-08-16  Andy Wingo  <wingo@pobox.com>
14506
14507         * gst/base/gstadapter.h:
14508         * gst/base/gstadapter.c (gst_adapter_take): New function, like
14509         peek() but you own the data. Not terribly efficient atm.
14510
14511 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14512
14513         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
14514         (gst_element_found_tags):
14515         * gst/gstutils.h:
14516           Add two utility functions for tag handling.
14517
14518 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14519
14520         * docs/manual/advanced-dataaccess.xml:
14521         * docs/manual/basics-helloworld.xml:
14522           Fix docs to use _bin_add() before _link(), which fixes the examples
14523           with recent core versions (reported by Madhan Raj M
14524           <raj_madan@rediffmail.com>, #313199).
14525
14526 2005-08-16  Wim Taymans  <wim@fluendo.com>
14527
14528         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14529         Added subtract checks.
14530
14531         * docs/design/part-events.txt:
14532         Some more docs about newsegment
14533
14534         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14535         Fix FIXME
14536
14537         * gst/gstcaps.c: (gst_caps_to_string):
14538         Add comments, cleanups.
14539         
14540         * gst/gstelement.c: (gst_element_save_thyself):
14541         cleanups
14542         
14543         * gst/gstvalue.c: (gst_value_collect_int_range),
14544         (gst_string_unwrap), (gst_value_union_int_int_range),
14545         (gst_value_union_int_range_int_range),
14546         (gst_value_intersect_int_int_range),
14547         (gst_value_intersect_int_range_int_range),
14548         (gst_value_intersect_double_double_range),
14549         (gst_value_intersect_double_range_double_range),
14550         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
14551         (gst_value_subtract_int_range_int),
14552         (gst_value_subtract_double_range_double),
14553         (gst_value_subtract_double_range_double_range),
14554         (gst_value_subtract_from_list), (gst_value_subtract_list),
14555         (gst_value_can_compare), (gst_value_compare_fraction):
14556         Cleanups, add comments, remove unneeded asserts.
14557
14558 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14559
14560         * tools/gst-launch.c: (event_loop):
14561           don't convert NULL structures to strings
14562
14563 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
14564
14565         * docs/gst/gstreamer-sections.txt:
14566           made some defines private
14567         * docs/gst/tmpl/gstconfig.sgml:
14568         * docs/gst/tmpl/gstqueue.sgml:
14569         * docs/gst/tmpl/gsttaglist.sgml:
14570         * docs/gst/tmpl/gsttypes.sgml:
14571         * docs/gst/tmpl/gstutils.sgml:
14572         * docs/pwg/appendix-porting.xml:
14573         * gst/base/gstbasesink.h:
14574         * gst/base/gstbasesrc.c:
14575         * gst/base/gstbasesrc.h:
14576         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
14577         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
14578         * gst/gstelement.c: (gst_element_class_init):
14579         * gst/gstpad.c: (gst_pad_class_init):
14580         * gst/gstqueue.c: (gst_queue_class_init):
14581         * gst/gstxml.c: (gst_xml_class_init):
14582           documented all undocumented signal inline
14583         * libs/gst/controller/gst-controller.h:
14584           added padding
14585
14586 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14587
14588         * docs/pwg/appendix-porting.xml:
14589           Document _set_link_function -> _set_setcaps_function.
14590
14591 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14592
14593         * check/Makefile.am:
14594           add a .check target for running the check
14595         * check/gst-libs/controller.c: (GST_START_TEST):
14596           cosmetic fixups
14597         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14598           complete checks for gstbuffer; would be nice if I could get the
14599           gcov stuff to work so I can see if I actually completed gstbuffer.c
14600         * check/gstcheck.h:
14601           add ASSERT_BUFFER_REFCOUNT
14602
14603 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
14604
14605         * docs/gst/gstreamer-sections.txt:
14606         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
14607         * gst/gsttag.h:
14608           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
14609           spew out a warning if a tag that is already registered
14610           is re-registered, unless it is re-registered with a 
14611           different type (#308438).
14612
14613 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
14614
14615         * docs/pwg/appendix-porting.xml:
14616         * docs/pwg/building-state.xml:
14617           Add some paragraphs about state changes in 0.9 to the PWG
14618           and the porting guide, in particular about the new meaning
14619           of GST_STATE_PAUSED and how to write state change functions
14620           with concurrent access by multiple threads in mind.
14621
14622 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
14623
14624         * docs/gst/gstreamer-docs.sgml:
14625         * docs/libs/gstreamer-libs-docs.sgml:
14626           added deprecation and since indexes
14627         * libs/gst/controller/gst-controller.c:
14628         * libs/gst/controller/gst-helper.c:
14629           added since tags
14630
14631
14632 2005-08-11  Wim Taymans  <wim@fluendo.com>
14633
14634         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
14635         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
14636         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
14637         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
14638         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
14639         (gst_ghost_pad_set_target):
14640         Actually implement (re)setting the target on a ghostpad
14641         as described in the docs.
14642
14643 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14644
14645         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
14646           Check whether GST_DEBUG_NO_COLOR environment variable is
14647           set and disable coloured debug output if that is the case.
14648
14649 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14650
14651         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14652         (gst_type_find_helper):
14653           The memory returned by gst_type_find_peek() needs to
14654           stay valid until the end of a typefind function, and
14655           typefind functions may keep results from different 
14656           offsets around, so we can't just unref the buffer from
14657           the previous _peek(), but have to save all buffers 
14658           returned by _peek() until typefinding is done and only
14659           free them then.
14660
14661 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
14662
14663         * docs/gst/gstreamer-sections.txt:
14664         * gst/gstutils.h:
14665           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
14666
14667 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14668
14669         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
14670           Fix a pretty good memleak.
14671
14672 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14673
14674         * gst/gstiterator.h:
14675           Fix wrong include and 'make distcheck'.
14676
14677 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14678
14679         * gst/gstbin.c: (bin_bus_handler):
14680           Use gst_element_post_message() instead.
14681
14682 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14683
14684         * gst/base/gstadapter.h:
14685         * gst/base/gstbasesink.h:
14686         * gst/base/gstbasesrc.h:
14687         * gst/base/gstbasetransform.h:
14688         * gst/base/gstcollectpads.h:
14689         * gst/base/gstpushsrc.h:
14690         * gst/gstiterator.h:
14691           Add padding to our base elements' class and instance structs and
14692           to GstIterator (you will need to rebuild all plugins and apps!)
14693
14694 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14695
14696         * gst/gstbin.c: (bin_bus_handler):
14697           Make default message forwarding from child->bus to bin->bus
14698           threadsafe and make it not emit warnings if the parent has no bus.
14699
14700 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14701
14702         * gst/gstelement.c: (activate_pads):
14703           On paused->ready, set pad->caps to NULL, as is the documented
14704           behaviour in this state change. Fixes playback of series of
14705           media files when visualization is enabled in Totem.
14706
14707 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14708
14709         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
14710           Allow NULL as filter-caps (which means "any").
14711
14712 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14713
14714         * docs/libs/gstreamer-libs-sections.txt:
14715         * libs/gst/controller/gst-controller.c:
14716         * libs/gst/controller/gst-controller.h:
14717         * libs/gst/controller/gst-helper.c:
14718           adding more entries to the docs and fix small doc-bugs
14719
14720 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14721
14722         * docs/gst/gstreamer-docs.sgml:
14723         * docs/gst/gstreamer-sections.txt:
14724         * docs/gst/gstreamer.types:
14725         * docs/gst/tmpl/gstbasesink.sgml:
14726         * docs/gst/tmpl/gstbasesrc.sgml:
14727         * docs/gst/tmpl/gstbasetransform.sgml:
14728         * docs/gst/tmpl/gstfakesrc.sgml:
14729         * gst/base/gstcollectpads.c:
14730         * gst/base/gstcollectpads.h:
14731         * libs/gst/controller/gst-controller.c:
14732         * libs/gst/controller/gst-controller.h:
14733         * libs/gst/controller/gst-helper.c:
14734         * libs/gst/controller/gst-interpolation.c:
14735         * libs/gst/controller/lib.c:
14736           added long/short desc for controller docs
14737           added collectpads base class docs
14738           added correct includes to base-class docs
14739
14740 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14741
14742         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14743         (gst_test_mono_source_set_property),
14744         (gst_test_mono_source_class_init), (GST_START_TEST),
14745         (gst_controller_suite):
14746         * docs/gst/gstreamer-docs.sgml:
14747         * docs/gst/gstreamer-sections.txt:
14748         * docs/gst/gstreamer.types:
14749         * docs/libs/gstreamer-libs-docs.sgml:
14750         * docs/libs/gstreamer-libs-sections.txt:
14751         * gst/base/gstadapter.c:
14752         * libs/gst/controller/gst-controller.c:
14753         (gst_controlled_property_new), (gst_controlled_property_free),
14754         (gst_controller_new_valist),
14755         (gst_controller_remove_properties_valist),
14756         (gst_controller_sink_values), (_gst_controller_finalize):
14757         * libs/gst/controller/gst-controller.h:
14758         * libs/gst/controller/gst-helper.c:
14759         (gst_object_control_properties), (gst_object_uncontrol_properties),
14760         (gst_object_get_controller), (gst_object_set_controller),
14761         (gst_object_sink_values), (gst_object_get_value_arrays),
14762         (gst_object_get_value_array):
14763           more tests (and fixes) for the controller
14764           more docs for the controller
14765           integrated companies docs for the adapter 
14766
14767 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14768
14769         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
14770         (GST_START_TEST), (fakesrc_suite):
14771           add tests for sizetype
14772
14773 2005-08-04  Andy Wingo  <wingo@pobox.com>
14774
14775         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
14776         fixes buffer_alloc proxying among other things.
14777
14778         * gst/base/gstbasetransform.c:
14779         * gst/base/gstbasetransform.h:
14780         Revert patch to gstbasetransform from 7-28 removing
14781         delay_configure.
14782
14783         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
14784         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
14785         Semantics changed, should return not the size of the output buffer
14786         but the byte size of a buffer with a given caps.
14787
14788         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
14789         debug object.
14790         (gst_base_transform_configure_caps): Don't set out_size here: (in,
14791         out) are not the pad caps until setcaps finishes.
14792         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
14793         not-in-place case as well. Deal with changing from in-place to
14794         not-in-place within calling pad_alloc_buffer. Still a bit
14795         concerned about the overhead here...
14796
14797 2005-08-03  Andy Wingo  <wingo@pobox.com>
14798
14799         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
14800         fixating is an error.
14801
14802 2005-08-04  Edward Hervey  <edward@fluendo.com>
14803
14804         * gst/base/gstadapter.h: 
14805         Added gst_adapter_get_type() to the header
14806
14807 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14808
14809         * check/Makefile.am:
14810         * check/gst-libs/controller.c:
14811         * libs/gst/controller/gst-controller.c:
14812         (gst_controller_new_valist):
14813           added check test suite for the controller
14814         * gst/base/gstpushsrc.c:
14815           fixed a doc typo
14816
14817 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14818
14819         * docs/gst/Makefile.am:
14820         * docs/gst/gstreamer-docs.sgml:
14821         * docs/gst/gstreamer-sections.txt:
14822         * docs/gst/gstreamer.types:
14823         * docs/gst/tmpl/gstfakesrc.sgml:
14824         * gst/base/README:
14825         * gst/base/gstbasesink.c:
14826         * gst/base/gstbasesink.h:
14827         * gst/base/gstbasesrc.c:
14828         * gst/base/gstbasesrc.h:
14829         * gst/base/gstbasetransform.c:
14830         * gst/base/gstpushsrc.c:
14831         * gst/base/gstpushsrc.h:
14832           add short/long description docs to base classes
14833           add pushsrc to the docs
14834           remove consolidated doc fragments
14835
14836 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14837
14838         * configure.ac:
14839         * docs/libs/Makefile.am:
14840         * docs/libs/gstreamer-libs-docs.sgml:
14841         * docs/libs/gstreamer-libs-sections.txt:
14842         * docs/libs/gstreamer-libs.types:
14843         * examples/Makefile.am:
14844         * examples/controller/.cvsignore:
14845         * examples/controller/Makefile.am:
14846         * examples/controller/audio-example.c: (main):
14847         * libs/gst/Makefile.am:
14848         * libs/gst/controller/.cvsignore:
14849         * libs/gst/controller/Makefile.am:
14850         * libs/gst/controller/gst-controller.c:
14851         (on_object_controlled_property_changed), (gst_timed_value_compare),
14852         (gst_timed_value_find),
14853         (gst_controlled_property_set_interpolation_mode),
14854         (gst_controlled_property_new), (gst_controlled_property_free),
14855         (gst_controller_find_controlled_property),
14856         (gst_controller_new_valist), (gst_controller_new),
14857         (gst_controller_remove_properties_valist),
14858         (gst_controller_remove_properties), (gst_controller_set),
14859         (gst_controller_set_from_list), (gst_controller_unset),
14860         (gst_controller_get), (gst_controller_get_all),
14861         (gst_controller_sink_values), (gst_controller_get_value_arrays),
14862         (gst_controller_get_value_array),
14863         (gst_controller_set_interpolation_mode),
14864         (_gst_controller_finalize), (_gst_controller_init),
14865         (_gst_controller_class_init), (gst_controller_get_type):
14866         * libs/gst/controller/gst-controller.h:
14867         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
14868         (g_object_uncontrol_properties), (g_object_get_controller),
14869         (g_object_set_controller), (g_object_sink_values),
14870         (g_object_get_value_arrays), (g_object_get_value_array):
14871         * libs/gst/controller/gst-interpolation.c:
14872         (gst_controlled_property_find_timed_value_node),
14873         (interpolate_none_get), (interpolate_trigger_get),
14874         (interpolate_trigger_get_value_array):
14875         * libs/gst/controller/lib.c: (gst_controller_init):
14876         * pkgconfig/Makefile.am:
14877         * pkgconfig/gstreamer-control-uninstalled.pc.in:
14878         * pkgconfig/gstreamer-control.pc.in:
14879         * testsuite/Makefile.am:
14880         * testsuite/controller/.cvsignore:
14881         * testsuite/controller/Makefile.am:
14882         * testsuite/controller/interpolator.c: (main):
14883           added controller code
14884           removed dparam pc files
14885
14886 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14887         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
14888         (gst_collectpads_stop):
14889           Broadcast the condition when shutting down, to make sure we wake all
14890           threads up. Shut down pads on finalize, for safety.
14891
14892 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
14893         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14894         (gst_base_transform_handle_buffer),
14895         (gst_base_transform_change_state):
14896           Handle PAUSED->READY->PAUSED transition after negotiation
14897           occurred already.
14898         * gst/gstmessage.c: (gst_message_init):
14899           Extra piece of debug for new messages.
14900
14901 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
14902
14903         * configure.ac:
14904         * docs/gst/tmpl/gstbasesrc.sgml:
14905         * docs/gst/tmpl/gstelement.sgml:
14906         * docs/gst/tmpl/gstevent.sgml:
14907         * docs/gst/tmpl/gstfakesrc.sgml:
14908         * docs/gst/tmpl/gstformat.sgml:
14909         * docs/gst/tmpl/gstghostpad.sgml:
14910         * docs/gst/tmpl/gstpad.sgml:
14911         * docs/gst/tmpl/gstquery.sgml:
14912         * docs/gst/tmpl/gststructure.sgml:
14913         * docs/gst/tmpl/gsttaglist.sgml:
14914         * docs/gst/tmpl/gstvalue.sgml:
14915         * docs/libs/gstreamer-libs-docs.sgml:
14916         * docs/libs/gstreamer-libs-sections.txt:
14917         * docs/libs/gstreamer-libs.types:
14918         * libs/gst/Makefile.am:
14919         * libs/gst/control/.cvsignore:
14920         * libs/gst/control/Makefile.am:
14921         * libs/gst/control/control.c:
14922         * libs/gst/control/control.h:
14923         * libs/gst/control/dparam.c:
14924         * libs/gst/control/dparam.h:
14925         * libs/gst/control/dparam_smooth.c:
14926         * libs/gst/control/dparam_smooth.h:
14927         * libs/gst/control/dparamcommon.h:
14928         * libs/gst/control/dparammanager.c:
14929         * libs/gst/control/dparammanager.h:
14930         * libs/gst/control/dplinearinterp.c:
14931         * libs/gst/control/dplinearinterp.h:
14932         * libs/gst/control/unitconvert.c:
14933         * libs/gst/control/unitconvert.h:
14934         * testsuite/Makefile.am:
14935         * testsuite/dynparams/.cvsignore:
14936         * testsuite/dynparams/Makefile.am:
14937         * testsuite/dynparams/dparamstest.c:
14938         * tools/Makefile.am:
14939         * tools/gst-inspect.c: (print_element_info), (main):
14940         * tools/gst-xmlinspect.c: (print_element_info), (main):
14941           deactivate and remove dparams (libgstcontrol)
14942
14943 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14944
14945         * gst/elements/gsttypefindelement.c:
14946         (gst_type_find_element_have_type), (gst_type_find_element_init),
14947         (stop_typefinding), (gst_type_find_element_handle_event),
14948         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14949         * gst/elements/gsttypefindelement.h:
14950           Set caps on all outgoing buffers, not just the first one.
14951
14952 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14953
14954         * gst/elements/gsttypefindelement.c:
14955         (gst_type_find_element_have_type),
14956         (gst_type_find_element_check_set_buffer_caps),
14957         (gst_type_find_element_init), (stop_typefinding),
14958         (gst_type_find_element_handle_event),
14959         (gst_type_find_element_chain), (gst_type_find_element_getrange):
14960         * gst/elements/gsttypefindelement.h:
14961           Set caps on first outgoing buffer when we've found the type.
14962
14963 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
14964
14965         * docs/gst/gstreamer-docs.sgml:
14966         * docs/gst/gstreamer-sections.txt:
14967         * docs/gst/tmpl/gstscheduler.sgml:
14968         * docs/gst/tmpl/gstschedulerfactory.sgml:
14969           Remove some old cruft from docs.
14970
14971 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
14972
14973         * gst/gstpad.h:
14974           Fix inline docs for GstPadLinkReturn.
14975           
14976         * gst/gststructure.c: (gst_structure_has_name):
14977         * gst/gststructure.h:
14978         * docs/gst/gstreamer-sections.txt:
14979           New API: gst_structure_has_name().
14980
14981 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
14982
14983         * configure.ac:
14984           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
14985           and _LARGEFILE_SOURCE in config.h as required. Do not 
14986           export those flags in our .pc files any longer (#142209).
14987
14988           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
14989
14990         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
14991         (gst_file_sink_do_seek), (gst_file_sink_event),
14992         (gst_file_sink_get_current_offset), (gst_file_sink_render):
14993           Redo seek/tell calls with large file support in mind; add some
14994           debugging messages; add log message that tells us when large
14995           file support is unavailable or not enabled for some reason.
14996
14997         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
14998           Add log message that tells us when large file support 
14999           is unavailable or not enabled for some reason.
15000
15001 2005-07-29  Wim Taymans  <wim@fluendo.com>
15002
15003         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15004         Added test for removing an element with ghostpad from a bin.
15005         Fixed test as current implementation does the right thing.
15006
15007         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
15008         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
15009         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
15010         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
15011         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
15012         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
15013         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
15014         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15015         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
15016         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
15017         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
15018         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
15019         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
15020         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
15021         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
15022         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
15023         * gst/gstghostpad.h:
15024         Clean up ghostpads, remove properties for internal stuff.
15025         Make threadsafe.
15026         Fix refcounting.
15027         Prepare for switching targets, not all use cases work yet.
15028
15029 2005-07-29  Wim Taymans  <wim@fluendo.com>
15030
15031         * docs/design/part-gstghostpad.txt:
15032         Small update.
15033
15034         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15035         (gst_bin_remove_func):
15036         Unlinking pads while holding the bin LOCK is not a good
15037         idea.
15038
15039         * gst/gstpad.c: (gst_pad_class_init),
15040         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
15041         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
15042         No prob setting template after creating the pad.
15043
15044 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
15045
15046         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
15047         (gst_bus_peek), (gst_bus_source_dispatch),
15048         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
15049         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
15050           gst_bus_poll may be called from other threads. Handle
15051           this nicely by not making poll_data disappear off the
15052           stack once gst_bus_poll returns.
15053           gst_bus_peek now increments the refcount on the returned
15054           message.
15055
15056 2005-07-29  Wim Taymans  <wim@fluendo.com>
15057
15058         * docs/design/part-gstghostpad.txt:
15059         Overview of current GhostPad datastructures and use
15060         cases for changing the target.
15061
15062 2005-07-28  Wim Taymans  <wim@fluendo.com>
15063
15064         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15065         Added checks for hierarchy consistency whan adding linked
15066         elements to bins.
15067
15068         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15069         Added check to test element scheduling without bin/pipeline.
15070
15071         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15072         First add elements to bin, then link.
15073         
15074         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15075         (gst_bin_remove_func):
15076         Unlink pads from elements added/removed from bin to maintain
15077         hierarchy consistency.
15078
15079 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15080
15081         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15082         (gst_base_transform_handle_buffer):
15083         * gst/base/gstbasetransform.h:
15084           Remove broken delay_configure (fixes renegotiation of software
15085           scaling pipelines); remove some leftover printf()s.
15086
15087 2005-07-28  Wim Taymans  <wim@fluendo.com>
15088
15089         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15090         Added some more tests for wrong hierarchy
15091
15092         * docs/design/part-overview.txt:
15093         Some updates.
15094
15095         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
15096         Cleanups.
15097
15098         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
15099         (gst_element_dispose):
15100         Some more cleanups.
15101
15102         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15103         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
15104         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15105         (gst_pad_set_caps), (gst_pad_send_event):
15106         Check for correct hierarchy when linking pads. Moving to
15107         strict requirement for ghostpads when linking elements in
15108         different bins.
15109
15110         * gst/gstpad.h:
15111         Clean ups. Added WRONG_HIERARCHY return value.
15112
15113 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15114
15115         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15116           Better debug if no transform is possible.
15117
15118 2005-07-27  Wim Taymans  <wim@fluendo.com>
15119
15120         * docs/random/wtay/network-transp:
15121         Some old doc I had.
15122
15123 2005-07-27  Wim Taymans  <wim@fluendo.com>
15124
15125         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15126         (gst_dp_event_from_packet):
15127         Fix serialization of seek events.
15128
15129 2005-07-27  Wim Taymans  <wim@fluendo.com>
15130
15131         * check/gst-libs/gdp.c: (GST_START_TEST):
15132         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15133         Fix compilation and fix event serialization.
15134
15135 2005-07-27  Wim Taymans  <wim@fluendo.com>
15136
15137         * CHANGES-0.9:
15138         * docs/design/part-TODO.txt:
15139         * docs/design/part-events.txt:
15140         Some docs updates
15141
15142         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15143         (gst_base_sink_event), (gst_base_sink_do_sync),
15144         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15145         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15146         (gst_base_src_do_seek), (gst_base_src_event_handler),
15147         (gst_base_src_loop):
15148         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15149         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15150         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15151         (gst_base_transform_event), (gst_base_transform_handle_buffer),
15152         (gst_base_transform_set_passthrough),
15153         (gst_base_transform_is_passthrough):
15154         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15155         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15156         Event updates.
15157
15158         * gst/gstbuffer.h:
15159         Use faster casts.
15160
15161         * gst/gstelement.c: (gst_element_seek):
15162         * gst/gstelement.h:
15163         Update gst_element_seek.
15164
15165         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15166         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15167         (gst_event_new_flush_start), (gst_event_new_flush_stop),
15168         (gst_event_new_eos), (gst_event_new_newsegment),
15169         (gst_event_parse_newsegment), (gst_event_new_tag),
15170         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15171         (gst_event_parse_qos), (gst_event_new_seek),
15172         (gst_event_parse_seek), (gst_event_new_navigation):
15173         * gst/gstevent.h:
15174         Make GstEvent use GstStructure. Add parsing code, make sure the
15175         API is sufficiently generic.
15176         Mark possible directions of events and serialization.
15177
15178         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15179         (_gst_message_copy), (gst_message_new_segment_start),
15180         (gst_message_new_segment_done), (gst_message_new_custom),
15181         (gst_message_parse_segment_start),
15182         (gst_message_parse_segment_done):
15183         Small cleanups.
15184
15185         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15186         (gst_pad_set_caps), (gst_pad_send_event):
15187         Update for new events. 
15188         Catch events sent in wrong directions.
15189
15190         * gst/gstqueue.c: (gst_queue_link_src),
15191         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15192         (gst_queue_handle_src_query):
15193         Event updates.
15194
15195         * gst/gsttag.c:
15196         * gst/gsttag.h:
15197         Remove event code from this file.
15198
15199         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15200         (gst_dp_event_from_packet):
15201         Event updates.
15202
15203 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15204
15205         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15206         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15207         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15208           Make debugging actually useful.
15209
15210 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15211
15212         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15213         (gst_pad_fixate_caps):
15214           Implement default fixation once again, so that gst_pad_fixate()
15215           actually does anything at all. This probably needs to be some
15216           sort of a last resort, and use profile-based fixation first, but
15217           since that doesn't exist yet, this is the best we have. Fixes
15218           visualization in Totem.
15219
15220 2005-07-22  Wim Taymans  <wim@fluendo.com>
15221
15222         * docs/design/part-events.txt:
15223         Small update.
15224
15225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15226         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15227         (gst_base_sink_activate_pull):
15228         Some more comments.
15229
15230         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15231         (gst_fake_src_create):
15232         Fix handoff marshall.
15233
15234         * gst/elements/gstidentity.c: (gst_identity_class_init),
15235         (gst_identity_transform_ip):
15236         We're a real inplace element.
15237
15238         * gst/gstbus.c: (gst_bus_post):
15239         Added some comments.
15240
15241         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15242         * tests/muxing/case1.c: (main):
15243         * tests/sched/dynamic-pipeline.c: (main):
15244         * tests/sched/interrupt1.c: (main):
15245         * tests/sched/interrupt2.c: (main):
15246         * tests/sched/interrupt3.c: (main):
15247         * tests/sched/runxml.c: (main):
15248         * tests/sched/sched-stress.c: (main):
15249         * tests/seeking/seeking1.c: (event_received), (main):
15250         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15251         (main):
15252         * tests/threadstate/threadstate3.c: (main):
15253         * tests/threadstate/threadstate4.c: (main):
15254         * tests/threadstate/threadstate5.c: (main):
15255         Fix the tests.
15256
15257 2005-07-21  Wim Taymans  <wim@fluendo.com>
15258
15259         * docs/design/part-seeking.txt:
15260         Some small additions.
15261
15262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15263         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15264         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15265         * gst/base/gstbasesink.h:
15266         discont values are gint64, handle the math correctly.
15267
15268         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15269         Make the basesrc report error if the source pad is not linked.
15270
15271         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15272         (gst_queue_loop), (gst_queue_handle_src_query),
15273         (gst_queue_src_activate_push):
15274         Make queue collect data even if the srcpad is not linked.
15275         Start pushing out data as soon as it is linked.
15276
15277         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15278         * gst/gstutils.h:
15279         Added gst_flow_get_name() to ease error reporting.
15280
15281 2005-07-20  Wim Taymans  <wim@fluendo.com>
15282
15283         * gst/gstmessage.c: (gst_message_new_segment_start),
15284         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15285         (gst_message_parse_segment_done):
15286         * gst/gstmessage.h:
15287         Added a bunch of messages for advanced seeking.
15288
15289         * gst/parse/grammar.y:
15290         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15291         (gst_dpman_state_changed):
15292         Fix some new-pad -> pad-added signals
15293
15294 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15295
15296         * docs/manual/appendix-porting.xml:
15297         * docs/pwg/appendix-porting.xml:
15298           Document new-pad/state-change signal renames and the FixedList
15299           type rename.
15300
15301 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15302
15303         * docs/manual/advanced-autoplugging.xml:
15304         * docs/manual/basics-helloworld.xml:
15305         * docs/manual/basics-pads.xml:
15306         * docs/random/ds/0.9-suggested-changes:
15307         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15308         * gst/gstelement.h:
15309         * gst/gstevent.h:
15310         * gst/gstformat.h:
15311         * gst/gstquery.h:
15312         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15313         (gst_structure_parse_array), (gst_structure_parse_value):
15314         * gst/gstvalue.c: (gst_type_is_fixed),
15315         (gst_value_list_prepend_value), (gst_value_list_append_value),
15316         (gst_value_list_get_size), (gst_value_list_get_value),
15317         (gst_value_transform_array_string), (gst_value_serialize_array),
15318         (gst_value_deserialize_array), (gst_value_intersect_array),
15319         (gst_value_is_fixed), (_gst_value_initialize):
15320         * gst/gstvalue.h:
15321           GstElement::new-pad -> pad-added, GstElement::state-change ->
15322           state-changed, GstValueFixedList -> GstValueArray, add format and
15323           flags as their own arguments in gst_element_seek() (should improve
15324           "bindeability"), remove function generators since they don't work
15325           under a whole bunch of compilers (they were deprecated already
15326           anyway).
15327
15328 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15329
15330         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15331         (_gst_debug_register_funcptr):
15332         * gst/gstinfo.h:
15333           Fix illegal cast on some platforms (#309253).
15334
15335 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15336
15337         * gst/gstmessage.c: (gst_message_new_custom):
15338         * gst/gstmessage.h:
15339           Add _new_custom, make _new_application a macro to _new_custom.
15340
15341 2005-07-20  Wim Taymans  <wim@fluendo.com>
15342
15343         * gst/base/gstbasesrc.c: (gst_base_src_init),
15344         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15345         * gst/base/gstbasesrc.h:
15346         Add a gboolean to decide when to push out a discont.
15347
15348         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15349         (gst_queue_loop), (gst_queue_handle_src_query),
15350         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15351         (gst_queue_set_property), (gst_queue_get_property):
15352         Some cleanups.
15353
15354         * tests/threadstate/threadstate1.c: (main):
15355         Make a thread test compile and run... very silly..
15356
15357
15358 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15359
15360         * docs/manual/appendix-porting.xml:
15361           Mention removal of libgstgconf-0.9.la and existence of gconf
15362           elements.
15363
15364 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15365
15366         * docs/pwg/advanced-clock.xml:
15367         * docs/pwg/appendix-porting.xml:
15368         * docs/pwg/intro-preface.xml:
15369         * docs/pwg/other-base.xml:
15370         * docs/pwg/other-manager.xml:
15371         * docs/pwg/other-nton.xml:
15372         * docs/pwg/other-ntoone.xml:
15373         * docs/pwg/other-oneton.xml:
15374         * docs/pwg/pwg.xml:
15375           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
15376           demuxer), remove n-to-n (was never written), fix some code examples
15377           and links and update the porting section to include all this.
15378
15379 2005-07-19  Wim Taymans  <wim@fluendo.com>
15380
15381         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
15382         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
15383         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
15384         (gst_queue_src_activate_push), (gst_queue_change_state),
15385         (gst_queue_get_property):
15386         * gst/gstqueue.h:
15387         Propagate GstFlowReturn more intelligently upstream and output
15388         an ERROR/EOS when streaming stopped due to fatal error.
15389
15390 2005-07-19  Wim Taymans  <wim@fluendo.com>
15391
15392         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15393         Don't block forever for the state change to complete, the
15394         pipeline already did with a sensible timeout.
15395
15396 2005-07-19  Wim Taymans  <wim@fluendo.com>
15397
15398         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15399         Make sure we never call the create function is we
15400         got deactivated.
15401
15402 2005-07-19  Andy Wingo  <wingo@pobox.com>
15403
15404         * gst/parse/parse.l: Attempt to solve bug #172815.
15405
15406 2005-07-19  Wim Taymans  <wim@fluendo.com>
15407
15408         * docs/design/part-clocks.txt:
15409         * docs/design/part-events.txt:
15410         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
15411         Small docs updates.
15412         Only update the seeking values when we are not
15413         busy streaming.
15414
15415 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15416
15417         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15418           Oops, ignore the result of gst_pad_push_event here.
15419
15420 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15421
15422         * gst/base/gstbasesrc.c: (gst_base_src_loop),
15423         (gst_base_src_activate_push):
15424           Send discont event from the loop function, as pads
15425           aren't activated yet in the activate_push handler.
15426
15427         * gst/gstbin.c: (bin_bus_handler):
15428           Don't leak element name.
15429
15430 2005-07-18  Andy Wingo  <wingo@pobox.com>
15431
15432         * configure.ac: Use AS_LIBTOOL_TAGS.
15433
15434 2005-07-18  Wim Taymans  <wim@fluendo.com>
15435
15436         * docs/gst/gstreamer.types:
15437         Remove deleted types.
15438
15439 2005-07-18  Wim Taymans  <wim@fluendo.com>
15440
15441         * check/elements/gstfakesrc.c: (GST_START_TEST):
15442         * configure.ac:
15443         * gst/Makefile.am:
15444         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
15445         (init_popt_callback):
15446         * gst/gst.h:
15447         * gst/gst_private.h:
15448         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
15449         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
15450         * gst/gstbin.h:
15451         * gst/gstbus.h:
15452         * gst/gstconfig.h.in:
15453         * gst/gstelement.c: (gst_element_class_init),
15454         (gst_element_set_base_time), (gst_element_get_base_time),
15455         (iterator_fold_with_resync), (gst_element_change_state),
15456         (gst_element_dispose), (gst_element_get_bus):
15457         * gst/gstelement.h:
15458         * gst/gstelementfactory.h:
15459         * gst/gsterror.c: (_gst_core_errors_init):
15460         * gst/gsterror.h:
15461         * gst/gstevent.h:
15462         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15463         * gst/gstindex.c:
15464         * gst/gstinfo.c: (_gst_debug_init):
15465         * gst/gstmessage.c: (_gst_message_copy):
15466         * gst/gstmessage.h:
15467         * gst/gstminiobject.h:
15468         * gst/gstobject.c:
15469         * gst/gstobject.h:
15470         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15471         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
15472         * gst/gstpad.h:
15473         * gst/gstparse.h:
15474         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15475         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15476         (gst_pipeline_get_last_stream_time):
15477         * gst/gstpipeline.h:
15478         * gst/gstpluginfeature.h:
15479         * gst/gstquery.h:
15480         * gst/gstscheduler.c:
15481         * gst/gstscheduler.h:
15482         * gst/gststructure.h:
15483         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15484         (gst_task_finalize), (gst_task_func), (gst_task_create),
15485         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
15486         (gst_task_stop), (gst_task_pause):
15487         * gst/gsttask.h:
15488         * gst/gsttypefind.h:
15489         * gst/gsttypes.h:
15490         * gst/registries/gstlibxmlregistry.c: (load_feature),
15491         (gst_xml_registry_load), (gst_xml_registry_save_feature):
15492         * gst/registries/gstxmlregistry.c:
15493         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
15494         * gst/schedulers/threadscheduler.c:
15495         * libs/gst/control/dparammanager.h:
15496         * tools/gst-inspect.c: (print_element_list),
15497         (print_plugin_features), (print_element_features):
15498         * tools/gst-xmlinspect.c: (print_element_list),
15499         (print_plugin_info), (main):
15500         Removed plugable schedulers.
15501         Removed Scheduler/Manager from elements.
15502         Removed gsttypes.h, rearranged includes.
15503         Removed dependency pad<->element, element<>pipeline, and
15504         various others,  fix includes.
15505         implement gst_pad_get_parent() with gst_object_get_parent()
15506         Make GstTask sefcontained.
15507         Fix _get_state() on GstBin, it did not return ASYNC with a 0
15508         timeout.
15509         Fix endless loop in iterator_fold_with_resync.
15510
15511
15512 2005-07-18  Wim Taymans  <wim@fluendo.com>
15513
15514         * gst/Makefile.am:
15515         * gst/gstarch.h:
15516         Remove old file.
15517
15518 2005-07-18  Wim Taymans  <wim@fluendo.com>
15519
15520         * gst/Makefile.am:
15521         No more cothreads.h
15522
15523 2005-07-18  Wim Taymans  <wim@fluendo.com>
15524
15525         * gst/cothreads.c:
15526         * gst/cothreads.h:
15527         Let's remove these.
15528
15529 2005-07-18  Wim Taymans  <wim@fluendo.com>
15530
15531         * docs/design/part-dynamic.txt:
15532         * docs/design/part-events.txt:
15533         * docs/design/part-seeking.txt:
15534         Some more docs in the works.
15535
15536         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15537         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
15538         (gst_base_transform_setcaps), (gst_base_transform_get_size),
15539         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
15540         (gst_base_transform_handle_buffer),
15541         (gst_base_transform_sink_activate_push),
15542         (gst_base_transform_src_activate_pull),
15543         (gst_base_transform_set_passthrough),
15544         (gst_base_transform_is_passthrough):
15545         Refcounting fixes.
15546
15547         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
15548         Cleanups.
15549
15550         * gst/gstevent.c: (gst_event_finalize):
15551         Set SRC to NULL.
15552
15553         * gst/gstutils.c: (gst_element_unlink),
15554         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
15555         (gst_pad_proxy_setcaps):
15556         * gst/gstutils.h:
15557         Add _get_parent_element() to get a pads parent as an element.
15558
15559 2005-07-18  Wim Taymans  <wim@fluendo.com>
15560
15561         * check/gst/gstbin.c: (GST_START_TEST):
15562         Remove bogus test.
15563
15564 2005-07-18  Wim Taymans  <wim@fluendo.com>
15565
15566         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
15567         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
15568         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15569         (gst_base_sink_event), (gst_base_sink_do_sync),
15570         (gst_base_sink_chain), (gst_base_sink_loop),
15571         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
15572         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
15573         Refcounting fixes.
15574         Fix logic for returning ASYNC when not prerolled.
15575
15576 2005-07-18  Wim Taymans  <wim@fluendo.com>
15577
15578         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15579         Fix nasty refcount bug.
15580
15581 2005-07-16 Philippe Khalaf <burger@speedy.org>
15582
15583         * gst/elements/gstfdsrc.c:
15584         * gst/elements/gstfdsrc.h:
15585         * gst/elements/gstelements.c:
15586         * gst/elements/Makefile.am:
15587         Ported fdsrc to 0.9.
15588
15589 2005-07-16  Wim Taymans  <wim@fluendo.com>
15590
15591         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15592         (gst_base_sink_do_sync):
15593         Fix compile error.
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_event), (gst_base_sink_get_times),
15599         (gst_base_sink_do_sync), (gst_base_sink_change_state):
15600         * gst/base/gstbasesink.h:
15601         Store and use discont values when syncing buffers as described
15602         in design docs.
15603         
15604         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15605         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
15606         (gst_base_src_activate_push):
15607         Push discont event when starting.
15608
15609         * gst/elements/gstidentity.c: (gst_identity_transform):
15610         Small cleanups.
15611
15612         * gst/gstbin.c: (gst_bin_change_state):
15613         Small cleanups in base_time  distribution.
15614
15615         * gst/gstelement.c: (gst_element_set_base_time),
15616         (gst_element_get_base_time), (gst_element_change_state):
15617         * gst/gstelement.h:
15618         Added methods for the base_time of the element.
15619         Some MT fixes.
15620
15621         * gst/gstpipeline.c: (gst_pipeline_send_event),
15622         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15623         (gst_pipeline_get_last_stream_time):
15624         * gst/gstpipeline.h:
15625         MT fixes.
15626         Handle seeking as described in design doc, remove stream_time
15627         hack.
15628         Cleanups clock and stream_time selection code. Added accessors
15629         for the stream_time.
15630         
15631
15632 2005-07-16  Andy Wingo  <wingo@pobox.com>
15633
15634         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
15635         (#305291).
15636
15637 2005-07-16  Wim Taymans  <wim@fluendo.com>
15638
15639         * check/gst/gstbin.c: (GST_START_TEST):
15640         Make elements silent as the deep_notify refs the
15641         parent, which might make the test fail.
15642
15643         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15644         Don't hold the lock for too long.
15645
15646 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
15647
15648         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15649           Don't unref the caps we passed to gst_caps_make_writable() after
15650           passing them. gst_caps_make_writable() will do that for us.
15651
15652 2005-07-15  Andy Wingo  <wingo@pobox.com>
15653
15654         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
15655         (#157311).
15656
15657         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
15658         own marshalling function for the handoff signal. Properly type the
15659         buffer as a buffer. Fixes some warnings. Should do a more general
15660         solution.
15661         (gst_identity_class_init): Plug into the right marshaller.
15662
15663 2005-07-15  Wim Taymans  <wim@fluendo.com>
15664
15665         * docs/design/part-TODO.txt:
15666         * docs/design/part-clocks.txt:
15667         * docs/design/part-element-sink.txt:
15668         * docs/design/part-events.txt:
15669         * docs/design/part-gstpipeline.txt:
15670         Updated docs, mostly DISCONT related.
15671
15672 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
15673
15674         * docs/pwg/building-pads.xml:
15675           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
15676
15677 2005-07-15  Andy Wingo  <wingo@pobox.com>
15678
15679         * tools/gst-typefind.c: Update, add copyright block.
15680
15681         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
15682         Normalize and truncate caps before fixation.
15683
15684         * gst/gstcaps.h:
15685         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
15686         discards all but the first structure from its argument.
15687
15688 2005-07-15  Wim Taymans  <wim@fluendo.com>
15689
15690         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15691         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
15692         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15693         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15694         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
15695         (gst_base_transform_chain), (gst_base_transform_change_state),
15696         (gst_base_transform_set_passthrough),
15697         (gst_base_transform_is_passthrough):
15698         * gst/base/gstbasetransform.h:
15699         Make passthrough work using the bufferpools.
15700         Changed API a bit, subclasses have to write into a buffer
15701         provided by the base class.
15702         More debug info in nego functions.
15703         
15704         * gst/elements/gstidentity.c: (gst_identity_init),
15705         (gst_identity_transform):
15706         Port to new base class.
15707
15708 2005-07-15  Wim Taymans  <wim@fluendo.com>
15709
15710         * gst/gstmessage.c: (gst_message_new_state_changed):
15711         * tools/gst-launch.c: (event_loop), (main):
15712         Totally dump messages in -launch with the -m option.
15713         Fix message name for State messages,
15714
15715 2005-07-14  Wim Taymans  <wim@fluendo.com>
15716
15717         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15718         Post error messages on errors.
15719
15720 2005-07-14  Wim Taymans  <wim@fluendo.com>
15721
15722         * gst/gstcaps.c: (gst_caps_do_simplify):
15723         Remove debug info.
15724
15725         * gst/gsterror.h:
15726         Define error for stream stopped.
15727
15728         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15729         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
15730         Do proper return values.
15731
15732         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15733         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
15734         (gst_pad_get_range):
15735         Better return values.
15736
15737         * gst/gstpad.h:
15738         Reorganise return values, add macro to check for fatal errors.
15739
15740         * gst/gstqueue.c: (gst_queue_chain):
15741         Return proper GstFlowReturn values,
15742
15743 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15744
15745         * docs/gst/gstreamer-sections.txt:
15746         * docs/gst/gstreamer.types:
15747         * docs/gst/tmpl/gst.sgml:
15748         * docs/gst/tmpl/gstbasesink.sgml:
15749         * docs/gst/tmpl/gstbasesrc.sgml:
15750         * docs/gst/tmpl/gstbasetransform.sgml:
15751         * docs/gst/tmpl/gstbin.sgml:
15752         * docs/gst/tmpl/gstbuffer.sgml:
15753         * docs/gst/tmpl/gstcaps.sgml:
15754         * docs/gst/tmpl/gstclock.sgml:
15755         * docs/gst/tmpl/gstcompat.sgml:
15756         * docs/gst/tmpl/gstconfig.sgml:
15757         * docs/gst/tmpl/gstelement.sgml:
15758         * docs/gst/tmpl/gstelementdetails.sgml:
15759         * docs/gst/tmpl/gstelementfactory.sgml:
15760         * docs/gst/tmpl/gstenumtypes.sgml:
15761         * docs/gst/tmpl/gsterror.sgml:
15762         * docs/gst/tmpl/gstevent.sgml:
15763         * docs/gst/tmpl/gstfakesink.sgml:
15764         * docs/gst/tmpl/gstfakesrc.sgml:
15765         * docs/gst/tmpl/gstfilesink.sgml:
15766         * docs/gst/tmpl/gstfilesrc.sgml:
15767         * docs/gst/tmpl/gstfilter.sgml:
15768         * docs/gst/tmpl/gstformat.sgml:
15769         * docs/gst/tmpl/gstghostpad.sgml:
15770         * docs/gst/tmpl/gstimplementsinterface.sgml:
15771         * docs/gst/tmpl/gstindex.sgml:
15772         * docs/gst/tmpl/gstindexfactory.sgml:
15773         * docs/gst/tmpl/gstinfo.sgml:
15774         * docs/gst/tmpl/gstiterator.sgml:
15775         * docs/gst/tmpl/gstmacros.sgml:
15776         * docs/gst/tmpl/gstmemchunk.sgml:
15777         * docs/gst/tmpl/gstminiobject.sgml:
15778         * docs/gst/tmpl/gstobject.sgml:
15779         * docs/gst/tmpl/gstpad.sgml:
15780         * docs/gst/tmpl/gstpadtemplate.sgml:
15781         * docs/gst/tmpl/gstparse.sgml:
15782         * docs/gst/tmpl/gstpipeline.sgml:
15783         * docs/gst/tmpl/gstplugin.sgml:
15784         * docs/gst/tmpl/gstpluginfeature.sgml:
15785         * docs/gst/tmpl/gstquery.sgml:
15786         * docs/gst/tmpl/gstqueue.sgml:
15787         * docs/gst/tmpl/gstregistry.sgml:
15788         * docs/gst/tmpl/gstregistrypool.sgml:
15789         * docs/gst/tmpl/gstscheduler.sgml:
15790         * docs/gst/tmpl/gstschedulerfactory.sgml:
15791         * docs/gst/tmpl/gststructure.sgml:
15792         * docs/gst/tmpl/gstsystemclock.sgml:
15793         * docs/gst/tmpl/gsttaglist.sgml:
15794         * docs/gst/tmpl/gsttagsetter.sgml:
15795         * docs/gst/tmpl/gsttrace.sgml:
15796         * docs/gst/tmpl/gsttrashstack.sgml:
15797         * docs/gst/tmpl/gsttypefind.sgml:
15798         * docs/gst/tmpl/gsttypefindfactory.sgml:
15799         * docs/gst/tmpl/gsttypes.sgml:
15800         * docs/gst/tmpl/gsturihandler.sgml:
15801         * docs/gst/tmpl/gsturitype.sgml:
15802         * docs/gst/tmpl/gstutils.sgml:
15803         * docs/gst/tmpl/gstvalue.sgml:
15804         * docs/gst/tmpl/gstversion.sgml:
15805         * docs/gst/tmpl/gstxml.sgml:
15806         * docs/libs/tmpl/gstcontrol.sgml:
15807         * docs/libs/tmpl/gstdataprotocol.sgml:
15808         * docs/libs/tmpl/gstdparam.sgml:
15809         * docs/libs/tmpl/gstdplinint.sgml:
15810         * docs/libs/tmpl/gstdpman.sgml:
15811         * docs/libs/tmpl/gstdpsmooth.sgml:
15812         * docs/libs/tmpl/gstgetbits.sgml:
15813         * docs/libs/tmpl/gstunitconvert.sgml:
15814         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
15815         (gst_push_src_base_init), (gst_push_src_class_init),
15816         (gst_push_src_init), (gst_push_src_create):
15817         * gst/base/gstpushsrc.h:
15818         * gst/elements/gstelements.c:
15819         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
15820         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
15821         (gst_fake_sink_init), (gst_fake_sink_set_property),
15822         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
15823         (gst_fake_sink_event), (gst_fake_sink_preroll),
15824         (gst_fake_sink_render), (gst_fake_sink_change_state):
15825         * gst/elements/gstfakesink.h:
15826         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15827         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
15828         (gst_fake_src_base_init), (gst_fake_src_class_init),
15829         (gst_fake_src_init), (gst_fake_src_event_handler),
15830         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
15831         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
15832         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
15833         (gst_fake_src_create_buffer), (gst_fake_src_create),
15834         (gst_fake_src_start), (gst_fake_src_stop):
15835         * gst/elements/gstfakesrc.h:
15836         * gst/elements/gstfilesink.c: (_do_init),
15837         (gst_file_sink_base_init), (gst_file_sink_class_init),
15838         (gst_file_sink_init), (gst_file_sink_dispose),
15839         (gst_file_sink_set_location), (gst_file_sink_set_property),
15840         (gst_file_sink_get_property), (gst_file_sink_open_file),
15841         (gst_file_sink_close_file), (gst_file_sink_query),
15842         (gst_file_sink_event), (gst_file_sink_render),
15843         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
15844         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
15845         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
15846         * gst/elements/gstfilesink.h:
15847         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
15848         (gst_file_src_class_init), (gst_file_src_init),
15849         (gst_file_src_finalize), (gst_file_src_set_location),
15850         (gst_file_src_set_property), (gst_file_src_get_property),
15851         (gst_file_src_map_region), (gst_file_src_map_small_region),
15852         (gst_file_src_create_mmap), (gst_file_src_create_read),
15853         (gst_file_src_create), (gst_file_src_is_seekable),
15854         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
15855         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
15856         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
15857         (gst_file_src_uri_handler_init):
15858         * gst/elements/gstfilesrc.h:
15859           more autistic cleanliness in functions/names/defines
15860
15861 2005-07-13  Andy Wingo  <wingo@pobox.com>
15862
15863         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
15864         source couldn't negotiate.
15865
15866         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
15867         connections again.
15868
15869         * gst/gstutils.h:
15870         * gst/gstutils.c (gst_element_link_pads_filtered): New old
15871         function. I am channeling Hades. Put your boots on suckers!!!
15872
15873 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15874
15875         * testsuite/caps/Makefile.am:
15876         * testsuite/caps/value_compare.c:
15877         * testsuite/caps/value_intersect.c:
15878         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15879           move two testsuite apps over to the check dir
15880
15881 2005-07-12  Wim Taymans  <wim@fluendo.com>
15882
15883         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15884         Added more debug info in the negotiate process.
15885
15886         * gst/gstmessage.h:
15887         Prepare for segment playback.
15888
15889         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
15890         Better debugging.
15891
15892         * gst/gstutils.c:
15893         Some more docs.
15894
15895         * tools/gst-launch.c: (main):
15896         NULL pipeline on errors.
15897
15898 2005-07-12  Andy Wingo  <wingo@pobox.com>
15899
15900         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
15901         not it comes from a malloc region. Make sure our copy gets freed.
15902
15903 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15904
15905         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15906         * check/gst/gstmessage.c: (GST_START_TEST):
15907         * check/gst/gststructure.c: (GST_START_TEST),
15908         (gst_structure_suite), (main):
15909           more testing
15910         * gst/gstelement.c: (gst_element_message_full):
15911           clean up GError and debug string now that they get copied
15912         * gst/gstmessage.c: (gst_message_new_error),
15913         (gst_message_new_warning), (gst_message_parse_error),
15914         (gst_message_parse_warning):
15915           use GST_TYPE_G_ERROR for structure_new, and take copies of
15916           arguments, so that we don't mess up refcounting
15917
15918 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15919
15920         * check/Makefile.am:
15921           add per-test valgrind targets
15922         * check/gst-libs/gdp.c: (GST_START_TEST),
15923         (gst_data_protocol_suite), (main):
15924           clean up
15925
15926 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15927
15928         * check/Makefile.am:
15929           instate more valgrindable tests
15930         * check/elements/gstfakesrc.c: (chain_func), (event_func),
15931         (GST_START_TEST), (fakesrc_suite):
15932         * check/gst/gstpad.c: (GST_START_TEST):
15933         * check/gst/gststructure.c: (GST_START_TEST):
15934           fix test leaks
15935         * docs/gst/tmpl/gstminiobject.sgml:
15936         * gst/gstpad.c: (gst_pad_finalize):
15937           fix the static mutex leak
15938
15939 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15940
15941         * check/Makefile.am:
15942           add two more tests for valgrinding
15943         * check/gst/gstvalue.c: (GST_START_TEST):
15944           test refcount of deserialized buffer, found a leak
15945         * docs/gst/gstreamer-docs.sgml:
15946         * docs/gst/gstreamer-sections.txt:
15947         * docs/gst/gstreamer.types:
15948         * docs/gst/tmpl/gstminiobject.sgml:
15949           add miniobject to docs
15950         * gst/gstminiobject.c:
15951           add some docs
15952         * gst/gstvalue.c: (gst_value_deserialize_buffer),
15953         (gst_string_unwrap):
15954           fix a hard-to-find invalid write for one of the tests
15955           fix a leak for deserialized buffers
15956
15957 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15958
15959         * docs/pwg/advanced-events.xml:
15960         * docs/pwg/advanced-request.xml:
15961         * docs/pwg/advanced-scheduling.xml:
15962         * docs/pwg/appendix-porting.xml:
15963         * docs/pwg/building-boiler.xml:
15964         * docs/pwg/intro-preface.xml:
15965         * docs/pwg/other-ntoone.xml:
15966           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
15967           of example code and explanation for pad activation, loop() and
15968           getrange() functions and a bit more. Remove old comments pointing
15969           to loop-functions.
15970         * examples/pwg/Makefile.am:
15971           Add loop/getrange examples.
15972
15973 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15974
15975         * configure.ac:
15976           check for valgrind binary + some fixes
15977         * check/gst.supp:
15978           valgrind suppressions for the tests
15979         * check/Makefile.am:
15980           add a valgrind: target that valgrinds the unit tests
15981         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
15982         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15983         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15984         * check/gst/gstghostpad.c:
15985           added some cleanup
15986         * check/gst/gstdata.c:
15987           removed
15988         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
15989         (thread_unref), (gst_mini_object_suite), (main):
15990           added
15991         * gst/gst.c: (gst_deinit):
15992         * gst/gst.h:
15993           add a method to clean up.
15994         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15995         (gst_system_clock_obtain):
15996           allow for disposing the system clock.
15997         * tools/gst-launch.c: (main):
15998           deinit
15999
16000 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16001
16002         * docs/gst/tmpl/gstbasesrc.sgml:
16003         * docs/gst/tmpl/gstfakesrc.sgml:
16004         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16005         (gst_base_src_init), (gst_base_src_set_property),
16006         (gst_base_src_get_property), (gst_base_src_get_range),
16007         (gst_base_src_start):
16008         * gst/base/gstbasesrc.h:
16009           add num-buffers property
16010         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16011         (gst_fakesrc_init), (gst_fakesrc_set_property),
16012         (gst_fakesrc_get_property), (gst_fakesrc_create),
16013         (gst_fakesrc_start):
16014           remove num-buffers property
16015
16016 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16017
16018         * docs/gst/gstreamer-sections.txt:
16019         * docs/gst/tmpl/gstbasesink.sgml:
16020         * docs/gst/tmpl/gstbasesrc.sgml:
16021         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16022         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16023         (gst_base_sink_finalize), (gst_base_sink_set_clock),
16024         (gst_base_sink_set_property), (gst_base_sink_get_property),
16025         (gst_base_sink_handle_object), (gst_base_sink_event),
16026         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16027         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
16028         (gst_base_sink_loop), (gst_base_sink_deactivate),
16029         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
16030         (gst_base_sink_change_state):
16031         * gst/base/gstbasesink.h:
16032         * gst/base/gstbasesrc.h:
16033         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
16034         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16035         (gst_filesink_init):
16036           more macro splitting
16037
16038 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16039
16040         * gst/gstelement.c: (gst_element_get_bus):
16041           add debug
16042         * tools/gst-launch.c: (check_intr), (event_loop):
16043           fix bus leaks
16044
16045 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16046
16047         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16048           fix a caps leak
16049
16050 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16051
16052         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16053         (gst_base_src_finalize):
16054           add finalize method and clean up properly
16055         * gst/gstpipeline.c: (gst_pipeline_dispose):
16056           add debug
16057
16058 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16059
16060         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
16061         (gst_bin_suite):
16062           add more things to check
16063         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
16064         * gst/gstelement.c:
16065           more debug
16066
16067 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16068
16069         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16070         (GST_START_TEST), (fakesrc_suite):
16071         * check/gst-libs/gdp.c: (GST_START_TEST):
16072         * check/gst/gst.c: (GST_START_TEST):
16073         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16074         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16075         * check/gst/gstbus.c: (GST_START_TEST):
16076         * check/gst/gstcaps.c: (GST_START_TEST):
16077         * check/gst/gstdata.c: (GST_START_TEST):
16078         * check/gst/gstelement.c: (GST_START_TEST):
16079         * check/gst/gstghostpad.c: (GST_START_TEST):
16080         * check/gst/gstiterator.c: (GST_START_TEST):
16081         * check/gst/gstmessage.c: (GST_START_TEST):
16082         * check/gst/gstobject.c: (GST_START_TEST):
16083         * check/gst/gstpad.c: (GST_START_TEST):
16084         * check/gst/gststructure.c: (GST_START_TEST):
16085         * check/gst/gstsystemclock.c: (GST_START_TEST),
16086         (gst_systemclock_suite):
16087         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
16088         * check/gst/gstvalue.c: (GST_START_TEST):
16089         * check/pipelines/cleanup.c: (GST_START_TEST):
16090         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16091         * check/states/sinks.c: (GST_START_TEST):
16092         * check/gstcheck.c: (gst_check_init):
16093         * check/gstcheck.h:
16094           add debugging category
16095           use GST_START_TEST now, so we add a debug line
16096
16097 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16098
16099         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
16100           add test for state change message on a bin
16101         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
16102           add another test
16103         * gst/gstbin.c: (gst_bin_init):
16104         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
16105         * gst/gstelement.c: (gst_element_post_message),
16106         (gst_element_set_state):
16107         * gst/gstelementfactory.c: (gst_element_factory_create):
16108         * gst/gstmessage.c: (gst_message_new):
16109         * gst/gstscheduler.c:
16110           various debugging additions and cleanups
16111
16112 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16113
16114         * check/Makefile.am:
16115         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
16116         (main):
16117           adding tests for elements
16118         * gst/gstelement.c: (gst_element_dispose):
16119
16120 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16121
16122         * gst/registries/gstlibxmlregistry.c: (load_feature):
16123           plug more leaks.  A simple gst_init() now is leakfree, yay.
16124
16125 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16126
16127         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
16128         (gst_xml_registry_load):
16129           plug another memleak
16130
16131 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16132
16133         * configure.ac:
16134           use GST_SET_ERROR_CFLAGS
16135         * docs/faq/cvs.xml:
16136           change to ERROR_CFLAGS
16137
16138 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16139
16140         * configure.ac:
16141           make GST_ERROR_CFLAGS overridable and re-enable Werror
16142         * docs/faq/cvs.xml:
16143           add a note about error CFLAGS
16144         * docs/gst/tmpl/gstfakesrc.sgml:
16145         * gst/elements/gstfakesrc.c:
16146           comment out some unused code
16147         * gst/gst.c: (split_and_iterate):
16148         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16149         (load_feature):
16150           plug some memleaks
16151
16152 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16153
16154         * common/Makefile.am:
16155         * common/gtk-doc.mak:
16156         * docs/gst/Makefile.am:
16157           factor out gtk-doc.mak
16158
16159 2005-07-07  Wim Taymans  <wim@fluendo.com>
16160
16161         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16162         (gst_thread_scheduler_dispose):
16163         Unlock the STREAM_LOCK completely.
16164
16165 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16166
16167         * check/Makefile.am:
16168         * check/elements/.cvsignore:
16169         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16170         (START_TEST), (fakesrc_suite), (main):
16171         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16172         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16173         (gst_fakesrc_create), (gst_fakesrc_start):
16174         * gst/elements/gstfakesrc.h:
16175           adding a first element test
16176
16177 2005-07-07  Andy Wingo  <wingo@pobox.com>
16178
16179         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16180         debug message.
16181
16182 2005-07-07  Wim Taymans  <wim@fluendo.com>
16183
16184         * gst/gstquery.c:
16185         * gst/gstquery.h:
16186         Remove old types
16187
16188 2005-07-07  Wim Taymans  <wim@fluendo.com>
16189
16190         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16191         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16192         Allow subclasses to implement their own negotiation.
16193
16194 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16195
16196         * docs/design/part-gstbin.txt:
16197         * docs/design/part-gstpipeline.txt:
16198           Update design notes to reflect the movement of
16199           responsibility for bus handling from GstPipeline to
16200           GstBin
16201
16202 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16203
16204         * configure.ac:
16205           Remove unnecessary queue2/3/4 examples.
16206
16207 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16208
16209         * examples/Makefile.am:
16210         * examples/helloworld/helloworld.c: (event_loop), (main):
16211         * examples/queue/queue.c: (event_loop), (main):
16212         * examples/queue2/queue2.c: (main):
16213           Update a couple of the examples to work again.
16214
16215         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16216         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16217          Spelling corrections and extra debug.
16218         
16219         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16220         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16221         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16222         * gst/gstbin.h:
16223         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16224         (gst_pipeline_change_state):
16225         * gst/gstpipeline.h:
16226           Move the bus handler for children to the GstBin, and create a
16227           separate bus for receiving messages from children to the one the
16228           bus sends 'upwards' on.
16229
16230 2005-07-06  Wim Taymans  <wim@fluendo.com>
16231
16232         * gst/base/README:
16233         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16234         (gst_base_sink_handle_object), (gst_base_sink_loop),
16235         (gst_base_sink_change_state):
16236         * gst/base/gstbasesink.h:
16237         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16238         (gst_base_src_init), (gst_base_src_setcaps),
16239         (gst_base_src_getcaps), (gst_base_src_loop),
16240         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16241         (gst_base_src_start), (gst_base_src_change_state):
16242         * gst/base/gstbasesrc.h:
16243         Make basesrc negotiate.
16244         Handle the case where preroll fails in basesink.
16245         Update README.
16246
16247 2005-07-06  Wim Taymans  <wim@fluendo.com>
16248
16249         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16250         Implement the fixate function.
16251         Clean up acceptcaps.
16252
16253 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16254
16255         * docs/pwg/building-filterfactory.xml:
16256         * docs/pwg/pwg.xml:
16257           Remove never-written filter-factory chapter; I'll add the various
16258           base classes to part 4 ("other element types") later on.
16259
16260 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16261
16262         * docs/pwg/advanced-negotiation.xml:
16263         * docs/pwg/building-boiler.xml:
16264         * docs/pwg/building-pads.xml:
16265         * docs/pwg/pwg.xml:
16266         * examples/pwg/Makefile.am:
16267           Add a chapter on caps negotiation, simplify the original code
16268           samples a bit w.r.t. caps negotiation, add link to the advanced
16269           section. Add a bunch of examples showing different use cases of
16270           different types of caps negotiation. Upstream renegotiation isn't
16271           fully documented yet since nobody knows how that works.
16272
16273 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16274
16275         * check/gst/gstpad.c:
16276         * check/gstcheck.c:
16277         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16278           if pad has no parent, return NULL as list of internal links
16279
16280 2005-07-05  Andy Wingo  <wingo@pobox.com>
16281
16282         * gst/elements/gstfilesrc.c:
16283         * gst/elements/gstfakesrc.c: 
16284         * gst/base/gstpushsrc.c:
16285         * gst/base/gstbasesrc.h: 
16286         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16287         
16288 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16289
16290         * Makefile.am:
16291           better report generation target (lcov needs a patch)
16292
16293 2005-07-05  Andy Wingo  <wingo@pobox.com>
16294
16295         * gst/elements, testsuite: Null if we got it...
16296
16297 2005-07-05  Wim Taymans  <wim@fluendo.com>
16298
16299         * configure.ac:
16300         * libs/gst/dataprotocol/Makefile.am:
16301         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16302         * libs/gst/dataprotocol/dataprotocol.h:
16303         * pkgconfig/Makefile.am:
16304         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16305         * pkgconfig/gstreamer-dataprotocol.pc.in:
16306         Ported dataprotol to 0.9. 
16307         Added pkgconfig files.
16308
16309 2005-07-05  Andy Wingo  <wingo@pobox.com>
16310
16311         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16312         Default to returning TRUE for the case when tranform_caps returns
16313         a fixed caps, like for identity or volume.
16314
16315         * check/gst/gstbus.c (pound_bus_with_messages): 
16316         * check/gst/gstmessage.c (START_TEST): 
16317         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16318         message API change.
16319
16320         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16321         logic weaks here: always run transform_caps, trying passthrough
16322         operation only if the original caps intersects with the transform.
16323
16324         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16325         source and sink caps.
16326
16327         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16328         Intersect the peer caps with the pad template before going into
16329         transform_caps.
16330         (gst_base_transform_transform_caps): More debugging.
16331
16332         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16333         src argument.
16334
16335 2005-07-04  Edward Hervey  <edward@fluendo.com>
16336
16337         * gst/gstutils.c:
16338         * gst/gstutils.h:
16339         (gst_pad_add_*_probe): now returns the signal id for better wrapping
16340         in bindings.
16341
16342 2005-07-04  Andy Wingo  <wingo@pobox.com>
16343
16344         * check/gst/gstpad.c: Only set explicit caps on pads.
16345
16346 2005-07-01  Andy Wingo  <wingo@pobox.com>
16347
16348         * tests/network-clock.scm: Commentary update.
16349
16350         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16351         Didn't really make sense, not implementable with basetransform,
16352         etc.
16353         (gst_identity_transform): Unref inbuf via make_writable. Feeble
16354         attempt at implementing the sync property, needs an unlock method.
16355
16356         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16357         New func, by default returns the same caps (the identity
16358         transformation).
16359         (gst_base_transform_getcaps): Uses transform_caps to return
16360         something sensible.
16361         (gst_base_transform_setcaps): Complicated logic to get caps on
16362         both pads, even if they are different, and to call set_caps once
16363         for every time both pads get their caps set.
16364         (gst_base_transform_handle_buffer): Give the ref to the transform
16365         function. Allows in-place modification of the buffer.
16366
16367         * gst/base/gstbasetransform.h (transform_caps): New class method.
16368         Given caps on one side, what can I do on the other.
16369         (set_caps): Take two caps, one for each side of the element.
16370
16371         * gst/gstpad.h:
16372         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
16373         caps in place. This is safe because we can check the mutability of
16374         the caps, and a good idea because fixate functions are just called
16375         as a matter of last resort. (Not actually implemented.)
16376         (gst_pad_set_caps): If the caps we're setting is actually the same
16377         as the existing pad caps, just update the pointer without calling
16378         setcaps. Assert that caps is either NULL or fixed, as per the
16379         docs.
16380
16381         * gst/gstghostpad.c: Update for fixate changes.
16382
16383 2005-07-02  Andy Wingo  <wingo@pobox.com>
16384
16385         * gst/gstcaps.c:
16386         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
16387         two refcounts makes it immutable, which is enough. Doc more.
16388
16389 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
16390
16391         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
16392           Put the mini_object into GValue as a mini_object,
16393           not a gpointer, since that's how we declared
16394           the signal.
16395
16396 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16397
16398         * examples/pwg/Makefile.am:
16399           Fix buildbot again.
16400
16401 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16402
16403         * docs/pwg/building-testapp.xml:
16404           Add extra check.
16405         * examples/pwg/Makefile.am:
16406           Fix buildbot.
16407
16408 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16409
16410         * configure.ac:
16411         * examples/Makefile.am:
16412         * examples/pwg/Makefile.am:
16413         * examples/pwg/extract.pl:
16414           Enable building the PWG examples.
16415         * docs/pwg/advanced-interfaces.xml:
16416           Add URI interface stub.
16417         * docs/pwg/advanced-types.xml:
16418         * docs/pwg/other-autoplugger.xml:
16419         * docs/pwg/appendix-porting.xml:
16420         * docs/pwg/pwg.xml:
16421           Add porting guide (mostly stubs), remove autoplugging (see ADM).
16422         * docs/pwg/building-boiler.xml:
16423         * docs/pwg/building-chainfn.xml:
16424         * docs/pwg/building-pads.xml:
16425         * docs/pwg/building-props.xml:
16426         * docs/pwg/building-state.xml:
16427         * docs/pwg/building-testapp.xml:
16428           Update the building-*.xml parts for 0.9 changes. All examples
16429           code blocks compile in examples/pwg/*.
16430
16431 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16432
16433         * docs/manual/advanced-autoplugging.xml:
16434         * docs/manual/appendix-checklist.xml:
16435         * docs/manual/appendix-integration.xml:
16436         * docs/manual/highlevel-components.xml:
16437           Fix playbin/decodebin examples, update docs a bit, mention bus
16438           instead of signals in various places, mention kmplayer and
16439           kaffeine since they have a working GStreamer backend in the KDE
16440           section.
16441
16442 2005-06-30  Wim Taymans  <wim@fluendo.com>
16443
16444         * CHANGES-0.9:
16445         * docs/design/draft-ghostpads.txt:
16446         * docs/design/draft-push-pull.txt:
16447         * docs/design/draft-query.txt:
16448         * docs/design/part-TODO.txt:
16449         * docs/design/part-query.txt:
16450         Added CHANGES-0.9 doc, updated status of other docs.
16451         
16452         * gst/gstquery.h:
16453         Remove "hmm" macro
16454
16455 2005-06-30  Wim Taymans  <wim@fluendo.com>
16456
16457         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16458         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16459         (gst_base_sink_change_state):
16460         * gst/base/gstbasesink.h:
16461         Some tweaks, only EOS and a buffer complete a preroll.
16462
16463 2005-06-30  Andy Wingo  <wingo@pobox.com>
16464
16465         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
16466         activate_push down to the internal pad as well.
16467
16468 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
16469
16470         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16471
16472         * gst/gsttaginterface.c:
16473           Some documentation fixes (#307394 and #307397).
16474
16475 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
16476
16477         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16478
16479         * gst/gstvalue.c: (gst_value_intersect_list):
16480           Fix memleak (#309125).
16481
16482 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16483
16484         * docs/manual/advanced-dataaccess.xml:
16485           Fix fakesrc example to compile; doesn't work, bug somewhere...?
16486         * docs/manual/basics-pads.xml:
16487           Add reference for filtered caps to above chapter.
16488
16489 2005-06-30  Wim Taymans  <wim@fluendo.com>
16490
16491         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
16492         (gst_bin_change_state):
16493         Probes are gone.
16494         Lame attempt at making the state change function a bit
16495         more readable.
16496
16497 2005-06-30  Wim Taymans  <wim@fluendo.com>
16498
16499         * docs/design/part-clocks.txt:
16500         * docs/design/part-element-sink.txt:
16501         * docs/design/part-events.txt:
16502         * docs/design/part-preroll.txt:
16503         * docs/design/part-states.txt:
16504         Some more tweeks and additions to the docs.
16505
16506 2005-06-30  Wim Taymans  <wim@fluendo.com>
16507
16508         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16509         (default_have_data), (gst_pad_class_init), (gst_pad_init),
16510         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16511         (gst_pad_check_pull_range), (gst_pad_get_range),
16512         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
16513         * gst/gstpad.h:
16514         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
16515         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16516         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16517         (gst_pad_remove_buffer_probe):
16518         Removed atomic operations, use existing LOCK.
16519         Move exception handling out of main code path.
16520
16521 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16522
16523         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16524         (silly_return_true_function), (gst_pad_class_init),
16525         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16526         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
16527         (gst_pad_send_event):
16528           Fix accumulator, add default value by using _emitv() instead
16529           of _emit() for signal emission.
16530
16531 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16532
16533         * docs/manual/advanced-dataaccess.xml:
16534         * examples/manual/Makefile.am:
16535           Add probe example.
16536         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
16537           Make work (??).
16538
16539 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
16540
16541         * gst/elements/gstfilesink.c: (gst_filesink_render):
16542           Simplify code so that we don't have to handle short
16543           writes and return GST_FLOW_ERROR if an error occured.
16544
16545 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16546
16547         * docs/gst/gstreamer-docs.sgml:
16548           Remove probes more.
16549
16550 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16551
16552         * docs/gst/gstreamer-sections.txt:
16553         * docs/gst/tmpl/gstpad.sgml:
16554         * docs/gst/tmpl/gstprobe.sgml:
16555         * gst/Makefile.am:
16556         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16557         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
16558         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16559         (gst_pad_push_event), (gst_pad_send_event):
16560         * gst/gstpad.h:
16561         * gst/gstutils.c: (gst_pad_add_data_probe),
16562         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16563         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16564         (gst_pad_remove_buffer_probe):
16565         * gst/gstutils.h:
16566           Remove old probes, add new g-signal-based probes and some utility
16567           functions.
16568
16569 2005-06-29  Edward Hervey  <edward@fluendo.com>
16570
16571         * gst/gstelementfactory.c:
16572         * gst/gstutils.h:
16573         * gst/gstutils.c:
16574         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
16575         the definition to the header file.
16576
16577 2005-06-29  Andy Wingo  <wingo@pobox.com>
16578
16579         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
16580         plugins from the source directory.
16581
16582 2005-06-29  Wim Taymans  <wim@fluendo.com>
16583
16584         * docs/gst/tmpl/gstbuffer.sgml:
16585         * docs/gst/tmpl/gstclock.sgml:
16586         Some fixings for blantently wrong text.
16587
16588 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16589
16590         * check/Makefile.am:
16591         * gst/gst.c: (add_path_func), (init_pre):
16592         * gst/gstregistry.c: (gst_registry_add_path):
16593           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
16594           only scan the GST_PLUGIN_PATH locations, and not add
16595           system locations
16596
16597 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16598
16599         * docs/gst/gstreamer-sections.txt:
16600         * docs/gst/tmpl/gstbasesrc.sgml:
16601         * gst/gstelement.c:
16602         * gst/gstelement.h:
16603         * gst/gstevent.c:
16604         * gst/gstutils.c:
16605           doc fixes
16606
16607 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16608
16609         * docs/manual/advanced-autoplugging.xml:
16610           Fix autoplugging example.
16611
16612 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16613
16614         * docs/manual/advanced-autoplugging.xml:
16615         * docs/manual/mime-world.fig:
16616           Try to get autoplugging working, fix type detection. Fix text
16617           in hello-world image.
16618
16619 2005-06-29  Wim Taymans  <wim@fluendo.com>
16620
16621         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16622         (gst_base_sink_change_state):
16623         Small debug line.
16624
16625         * gst/gstclock.h:
16626         map SIGNAL and BROADCAST to the right function.
16627
16628         * gst/gstobject.h:
16629         Remove redundant braces.
16630
16631         * gst/gstpad.c: (gst_pad_set_caps):
16632         Don't call setcaps function when reseting caps to NULL.
16633
16634         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16635         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
16636         (gst_system_clock_id_unschedule):
16637         Use BROADCAST as this is what we do.
16638
16639 2005-06-29  Wim Taymans  <wim@fluendo.com>
16640
16641         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16642         We are actually prerolling before commiting the state
16643         change. 
16644
16645 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16646
16647         * docs/manual/advanced-clocks.xml:
16648         * docs/manual/advanced-interfaces.xml:
16649         * docs/manual/advanced-metadata.xml:
16650         * docs/manual/advanced-position.xml:
16651         * docs/manual/advanced-schedulers.xml:
16652         * docs/manual/advanced-threads.xml:
16653         * docs/manual/appendix-porting.xml:
16654         * docs/manual/basics-bins.xml:
16655         * docs/manual/basics-bus.xml:
16656         * docs/manual/basics-elements.xml:
16657         * docs/manual/basics-helloworld.xml:
16658         * docs/manual/basics-pads.xml:
16659         * docs/manual/highlevel-components.xml:
16660         * docs/manual/manual.xml:
16661         * docs/manual/thread.fig:
16662           Update (until threads/scheduling) Application Development Manual;
16663           remove GstThread, add GstBus, add simple porting checklist, add
16664           documentation for tag writing, clocks, make all examples until this
16665           part compile and run.
16666         * examples/manual/Makefile.am:
16667           Update from changes to Application Development Manual; add bus
16668           example, remove thread example.
16669
16670 2005-06-28  Wim Taymans  <wim@fluendo.com>
16671
16672         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
16673         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
16674         (gst_bus_source_dispatch):
16675         Add debugging messages.
16676         Make internal methods static.
16677         Handle the case where the bus is flushed in the handler.
16678         
16679         * gst/gstelement.c: (gst_element_get_bus):
16680         Fix refcount in _get_bus();
16681
16682         * gst/gstpipeline.c: (gst_pipeline_change_state),
16683         (gst_pipeline_get_clock_func):
16684         Clock refcounting fixes.
16685         Handle the case where preroll timed out more gracefully.
16686         
16687         * gst/gstsystemclock.c: (gst_system_clock_dispose):
16688         Clean up the internal thread in dispose. This is needed
16689         for subclasses that actually get disposed.
16690         
16691         * gst/schedulers/threadscheduler.c:
16692         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16693         (gst_thread_scheduler_dispose):
16694         Free thread pool in dispose.
16695
16696 2005-06-28  Andy Wingo  <wingo@pobox.com>
16697
16698         * tests/network-clock-utils.scm (debug, print-event): New utils.
16699
16700         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
16701         (*packet-loss*): Unified loss probability.
16702         (network-time): Report out-of-band events.
16703
16704         * tests/plot-data: Add support for out-of-band events. Hack it
16705         into this script instead of passing it down the pipe; should fix
16706         this later.
16707
16708 2005-06-28  Wim Taymans  <wim@fluendo.com>
16709
16710         * docs/gst/gstreamer.types:
16711         * docs/gst/tmpl/gstbasesrc.sgml:
16712         * docs/gst/tmpl/gstpad.sgml:
16713         Docs fixes.
16714
16715 2005-06-28  Wim Taymans  <wim@fluendo.com>
16716
16717         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16718         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
16719         (gst_proxy_pad_do_fixatecaps):
16720         Correctly proxy the check_pull_range function.
16721
16722 2005-06-28  Andy Wingo  <wingo@pobox.com>
16723
16724         * tests/network-clock.scm: Removed need for slib.
16725         
16726 2005-06-28  Wim Taymans  <wim@fluendo.com>
16727
16728         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
16729         (gst_basesink_preroll_queue_flush):
16730         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
16731         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
16732         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16733         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
16734         (gst_proxy_pad_set_property):
16735         * gst/gstpad.c:
16736         * gst/gstpad.h:
16737         * gst/gstqueue.c: (gst_queue_init):
16738         The deprecated pad loop function is removed now.
16739
16740 2005-06-28  Andy Wingo  <wingo@pobox.com>
16741
16742         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
16743         New parameters, simulate network packet loss.
16744
16745         * tests/network-clock-utils.scm: Initialize the RNG.
16746
16747 2005-06-28  Wim Taymans  <wim@fluendo.com>
16748
16749         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
16750         (gst_basesink_event), (gst_basesink_deactivate):
16751         Flushing the preroll queue always needs to unlock the waiters.
16752
16753 2005-06-28  Edward Hervey  <edward@fluendo.com>
16754
16755         * gst/gstpipeline.c: (gst_pipeline_send_event): 
16756         Wheen a seek was successful on a pipeline, set the stream_time to the
16757         seek offset in order to have a synchronized stream_time.
16758
16759 2005-06-28  Wim Taymans  <wim@fluendo.com>
16760
16761         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16762         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
16763         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
16764         (gst_proxy_pad_do_fixatecaps):
16765         Call wrapper function instead of just calling the function
16766         pointers. This takes care of any locking and whatmore.
16767
16768 2005-06-28  Wim Taymans  <wim@fluendo.com>
16769
16770         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
16771         (gst_pad_pull_range):
16772         * gst/gstpad.h:
16773         CONNECTED -> LINKED.
16774
16775 2005-06-28  Andy Wingo  <wingo@pobox.com>
16776
16777         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
16778         source-munging commit!!!
16779
16780         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
16781         (gst_object_sink): Take gpointer arguments, not GstObject --
16782         avoids casts. Like GLib.
16783
16784         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
16785         activate.
16786
16787 2005-06-27  Andy Wingo  <wingo@pobox.com>
16788
16789         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
16790         remaining buffer.
16791
16792         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
16793         returns a sorted copy of the trace list.
16794         (gst_alloc_trace_print_live): New API, only prints traces with
16795         live objects. Sort the list.
16796         (gst_alloc_trace_print_all): Sort the list.
16797         (gst_alloc_trace_print): Align columns.
16798
16799         * gst/elements/gstttypefindelement.c:
16800         * gst/elements/gsttee.c:
16801         * gst/base/gstbasesrc.c:
16802         * gst/base/gstbasesink.c:
16803         * gst/base/gstbasetransform.c:
16804         * gst/gstqueue.c: Adapt for pad activation changes.
16805
16806         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
16807         sched.
16808         (gst_pipeline_dispose): Drop ref on sched.
16809
16810         * gst/gstpad.c (gst_pad_init): Set the default activate func.
16811         (gst_pad_activate_default): Push mode by default.
16812         (pre_activate_switch, post_activate_switch): New stubs, things to
16813         do before and after switching activation modes on pads.
16814         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
16815         the pad's activate function to choose which mode to activate.
16816         Shortcut on deactivation and call the right function directly.
16817         (gst_pad_activate_pull): New API, (de)activates a pad in pull
16818         mode.
16819         (gst_pad_activate_push): New API, same for push mode.
16820         (gst_pad_set_activate_function) 
16821         (gst_pad_set_activatepull_function) 
16822         (gst_pad_set_activatepush_function): Setters for new API.
16823
16824         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
16825         Trace all miniobjects.
16826         (gst_mini_object_make_writable): Unref the arg if we copy, like
16827         gst_caps_make_writable.
16828
16829         * gst/gstmessage.c (_gst_message_initialize): No trace init.
16830
16831         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
16832         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
16833         Adapt for new pad API.
16834
16835         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
16836
16837         * gst/gstelement.h:
16838         * gst/gstelement.c (gst_element_iterate_src_pads) 
16839         (gst_element_iterate_sink_pads): New API functions.
16840         
16841         * gst/gstelement.c (iterator_fold_with_resync): New utility,
16842         should fold into gstiterator.c in some form.
16843         (gst_element_pads_activate): Simplified via use of fold and
16844         delegation of decisions to gstpad->activate.
16845
16846         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
16847         help in debugging.
16848
16849         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
16850         class once in init, like gstmessage. Didn't run into this issue
16851         but it seems correct. Don't initialize a trace, gstminiobject does
16852         that.
16853
16854         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
16855         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
16856         to the bus.
16857         (assert_live_count): New util function, uses alloc traces to check
16858         cleanup.
16859
16860         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
16861         To be modified when unlink drops the internal pad.
16862
16863 2005-06-27  Wim Taymans  <wim@fluendo.com>
16864
16865         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
16866         (gst_bin_change_state):
16867         Cleanup the get_state() function a little, make sure it
16868         iterates the same set of elements.
16869         Added stub iterate_state_order().
16870
16871 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16872
16873         * docs/gst/gstreamer-docs.sgml:
16874         * docs/gst/gstreamer-sections.txt:
16875         * docs/gst/gstreamer.types:
16876         * docs/gst/tmpl/gstbasesink.sgml:
16877         * docs/gst/tmpl/gstbasesrc.sgml:
16878         * docs/gst/tmpl/gstbasetransform.sgml:
16879         * docs/gst/tmpl/gstelement.sgml:
16880         * docs/gst/tmpl/gstiterator.sgml:
16881         * gst/base/gstbasesrc.c:
16882         * gst/base/gstbasesrc.h:
16883         * gst/base/gstbasetransform.h:
16884         * gst/gstelement.c:
16885         * gst/gstiterator.h:
16886           adding basetransform and iterator docs
16887
16888 2005-06-27  Andy Wingo  <wingo@pobox.com>
16889
16890         * docs/design/part-activation.txt: Notes on how activation should
16891         work -- not quite implemented yet.
16892
16893 2005-06-25  Wim Taymans  <wim@fluendo.com>
16894
16895         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
16896         At least get the chain function correct, needs more
16897         fixing.
16898
16899 2005-06-25  Wim Taymans  <wim@fluendo.com>
16900
16901         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16902         (gst_basesink_handle_object), (gst_basesink_event),
16903         (gst_basesink_do_sync), (gst_basesink_handle_event),
16904         (gst_basesink_change_state):
16905         * gst/gsttask.h:
16906         Right, two problems here: ghostpads don't take locks and
16907         glib _rec_mutex_lock_full() with depth==0 still locks.
16908         Catch illegal locking and g_warn them.
16909
16910 2005-06-25  Wim Taymans  <wim@fluendo.com>
16911
16912         * check/states/sinks.c: (START_TEST), (gst_object_suite):
16913         Have to check for completion now...
16914
16915 2005-06-25  Wim Taymans  <wim@fluendo.com>
16916
16917         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16918         (gst_basesink_handle_object), (gst_basesink_event),
16919         (gst_basesink_do_sync), (gst_basesink_handle_event),
16920         (gst_basesink_change_state):
16921         * gst/gstpad.h:
16922         Unlock STREAM_LOCK whatever the recursion was.
16923
16924 2005-06-25  Wim Taymans  <wim@fluendo.com>
16925
16926         * gst/base/gstbasesink.c: (gst_basesink_set_property),
16927         (gst_basesink_preroll_queue_empty),
16928         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
16929         (gst_basesink_event), (gst_basesink_do_sync),
16930         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
16931         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
16932         (gst_basesink_change_state):
16933         Reworked the base sink, handle event and buffer serialisation
16934         correctly and removed possible deadlock.
16935         Handle EOS correctly.
16936
16937 2005-06-25  Wim Taymans  <wim@fluendo.com>
16938
16939         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
16940         (gst_pipeline_change_state):
16941         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16942         Allow elements to post EOS in the state change function.
16943         Fix up -launch, make it exit the poll loop when the
16944         pipeline actually changed state.
16945         Fix up warning parsing in -launch.
16946
16947 2005-06-25  Wim Taymans  <wim@fluendo.com>
16948
16949         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
16950         (gst_tee_sink_activate):
16951         Core takes STREAM_LOCK for us now.
16952
16953 2005-06-25  Wim Taymans  <wim@fluendo.com>
16954
16955         * gst/gstelement.c: (gst_element_get_state_func),
16956         (gst_element_set_state):
16957         * gst/gstelement.h:
16958         * gst/gstmessage.c: (gst_message_parse_error),
16959         (gst_message_parse_warning):
16960         Keep track of current target state while performing a state
16961         change so that subclasses can do something interesting.
16962         Fix parsing of warning/error messages when GError is NULL.
16963
16964 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16965
16966         * docs/gst/Makefile.am:
16967         * docs/gst/gstreamer-docs.sgml:
16968         * docs/gst/gstreamer-sections.txt:
16969         * docs/gst/gstreamer.types:
16970         * docs/gst/tmpl/gstbasesink.sgml:
16971         * docs/gst/tmpl/gstbasesrc.sgml:
16972         * docs/gst/tmpl/gstbin.sgml:
16973         * docs/gst/tmpl/gstcompat.sgml:
16974         * docs/gst/tmpl/gstfakesink.sgml:
16975         * docs/gst/tmpl/gstfakesrc.sgml:
16976         * docs/gst/tmpl/gstfilesink.sgml:
16977         * docs/gst/tmpl/gstfilesrc.sgml:
16978         * docs/gst/tmpl/gstindex.sgml:
16979         * docs/manual/appendix-quotes.xml:
16980         * gst/base/gstbasesrc.h:
16981         * gst/elements/gstfakesrc.h:
16982         * gst/gstmessage.h:
16983           start pulling in base classes and elements in our docs
16984
16985 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
16986
16987         * docs/gst/Makefile.am:
16988         * docs/libs/Makefile.am:
16989           fixed make distcheck with gtk-doc 1.3
16990
16991 2005-06-23  Wim Taymans  <wim@fluendo.com>
16992
16993         * gst/gstelement.c: (gst_element_get_state_func),
16994         (gst_element_set_state), (gst_element_change_state):
16995         When the state did not change, also report NO_PREROLL
16996         when it matters.
16997
16998 2005-06-23  Wim Taymans  <wim@fluendo.com>
16999
17000         * gst/gstpad.c: (gst_pad_event_default):
17001         * gst/gstqueue.c: (gst_queue_loop):
17002         No unsafe task pausing please.
17003
17004 2005-06-23  Wim Taymans  <wim@fluendo.com>
17005
17006         * gst/schedulers/threadscheduler.c:
17007         (gst_thread_scheduler_task_start),
17008         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
17009         Ref the task before pushing it on the threadpool. This
17010         makes sure that we have a ref when the threadfunction is
17011         actually called.
17012
17013 2005-06-23  Andy Wingo  <wingo@pobox.com>
17014
17015         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
17016         offset is greater than the file's size.
17017
17018         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
17019         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
17020         * gst/gstobject.c (gst_object_class_init): Make the class lock
17021         recursive. Wim won't let me drop deep_notify. Decodebin works
17022         again, whoopdy doo.
17023
17024         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
17025         internal pad, and hacks accordingly. Doesn't do it on the target
17026         pad because we change its caps. Probably catches all cases of
17027         interest tho.
17028         (gst_ghost_pad_set_property): Connect to notify::caps as
17029         appropritate.
17030
17031         * tests/network-clock.scm (plot-simulation): Pipe data to the
17032         elite python skript.
17033
17034         * tests/network-clock-utils.scm (define-parameter): New macro,
17035         defines a parameter that can be set via the command line.
17036         (set-parameter!, parse-parameter-arguments): Command line args
17037         parser.
17038
17039         * tests/plot-data: Simple matplotlib-based plotter, takes input on
17040         stdin.
17041
17042 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
17043
17044         * gst/elements/gsttypefindelement.c:
17045         (gst_type_find_element_handle_event):
17046           Don't restart typefinding on a discont.
17047         * gst/gstelement.c: (gst_element_set_state):
17048           Debug spelling fix.
17049         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
17050           Allow changing mode of an active pad.
17051           Debug output fixes.
17052         * gst/registries/gstlibxmlregistry.c: (load_feature):
17053           Don't cast a static pad template to a normal pad template.
17054
17055 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17056
17057         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17058         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17059           remove gst_strtoll completely, since it didn't actually do
17060           anything more than what g_ascii_strtoull already does.
17061           check for range errors when deserializing
17062           do a cast for the unsigned cases; but further fixing needs
17063           a decision on what the interpretation of "(int)" and
17064           deserialization should be for values that fall outside the
17065           type's boundaries (ie, refuse, or interpret as casting)
17066
17067 2005-06-23  Wim Taymans  <wim@fluendo.com>
17068
17069         * check/Makefile.am:
17070         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
17071         * docs/design/part-live-source.txt:
17072         * docs/design/part-states.txt:
17073         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17074         (gst_basesrc_set_live), (gst_basesrc_is_live),
17075         (gst_basesrc_get_range), (gst_basesrc_activate),
17076         (gst_basesrc_change_state):
17077         * gst/base/gstbasesrc.h:
17078         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17079         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17080         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
17081         * gst/gstelement.c: (gst_element_get_state_func),
17082         (gst_element_set_state):
17083         * gst/gstelement.h:
17084         * gst/gsttypes.h:
17085         * tools/gst-launch.c: (event_loop), (main):
17086         Added support for live sources and other elements that
17087         cannot do preroll.
17088         Updated design docs, added live-source design doc.
17089         Implemented live source functionality in basesrc
17090         Fix error condition in _bin_get_state()
17091         Implement live source handling in -launch.
17092         Added check for live sources.
17093         Fixed case in GstBin where elements were changed state
17094         multiple times.
17095
17096
17097 2005-06-23  Andy Wingo  <wingo@pobox.com>
17098
17099         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
17100         borken refcounting.
17101
17102         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
17103         gst_caps_replace takes care of this for us.
17104
17105         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
17106         gst_pad_set_caps on the target, not just its setcaps() function.
17107
17108         * tests/network-clock.scm: 
17109         * tests/network-clock-utils.scm: A network clock simulator.
17110         Something of an algorithmic testbed before doing something in C.
17111
17112 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17113
17114         * check/Makefile.am:
17115         * check/gst/capslist.h:
17116           copy over from 0.8, and add two with bitmasks specified with
17117           (int) 0xFF...
17118         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17119           add test to parse everything from capslist.h
17120         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
17121         (main):
17122           add test for structure deserialization
17123         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17124           add tests for deserialization of strings to int types
17125         * gst/gststructure.c: (gst_structure_nth_field_name):
17126         * gst/gststructure.h:
17127           add a way to get the name of a field referenced by index
17128         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17129           instead of checking if the resulting long long lies between
17130           min and max, we check if the long long would fit into
17131           a number of bytes for the final type.
17132           This fixes cases where a string represents 2^32 - 1, which
17133           when cast to int would be the (valid) -1, but is bigger than
17134           G_MAXINT
17135
17136 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17137
17138         * gst/parse/grammar.y:
17139           add a log line for type deserialization
17140
17141 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17142
17143         * check/gst/gstvalue.c: (START_TEST):
17144         * gst/gstvalue.c: (gst_value_deserialize):
17145           return long long, not int, so gint64 deserialization actually
17146           works.  Is there any flag that makes the compiler check this ?
17147           Fixes #308559
17148
17149 2005-06-22  Wim Taymans  <wim@fluendo.com>
17150
17151         * gst/gstbuffer.h:
17152         Added convenience macros for setting buffers in GValue.
17153
17154 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17155
17156         * check/gst/.cvsignore:
17157         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17158           add a test deserializing int64, and comment part out because
17159           it fails, yay !
17160
17161 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17162
17163         * check/Makefile.am:
17164         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17165         * testsuite/Makefile.am:
17166         * testsuite/caps/Makefile.am:
17167         * testsuite/caps/value_serialize.c:
17168         * testsuite/test_gst_init.c:
17169           move a value_serialize test over
17170
17171 2005-06-20  Wim Taymans  <wim@fluendo.com>
17172
17173         * gst/gstpad.c:
17174         Small doc updates.
17175         
17176         * gst/gstvalue.c: (gst_value_compare_buffer),
17177         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17178         (gst_value_compare_flags), (gst_value_serialize_flags),
17179         (gst_value_deserialize_flags), (_gst_value_initialize):
17180         Fix serialisation of buffers, they are not boxed types anymore
17181
17182 2005-06-20  Wim Taymans  <wim@fluendo.com>
17183
17184         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17185         Testcase to show error in buffer-on-caps serialisation.
17186
17187 2005-06-20  Andy Wingo  <wingo@pobox.com>
17188
17189         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17190         will be adding to later.
17191
17192         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17193         if its socks fill with rocks.
17194         (gst_system_clock_obtain): Set the name on object construction.
17195         Avoid double-checked locking.
17196
17197 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
17198
17199         * gst/gsturi.c: (gst_element_make_from_uri):
17200           Fix potential endless loop.
17201
17202 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17203
17204         * check/Makefile.am:
17205           add gsttag
17206         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17207         (main):
17208           move over from testsuite dir and clean up
17209         * configure.ac:
17210         * gst/gsttag.c:
17211         * testsuite/Makefile.am:
17212         * testsuite/tags/.cvsignore:
17213         * testsuite/tags/Makefile.am:
17214         * testsuite/tags/merge.c:
17215           remove testsuite/tags
17216
17217 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17218
17219         * docs/gst/gstreamer-sections.txt:
17220         * docs/gst/tmpl/gstenumtypes.sgml:
17221         * win32/gstenumtypes.c:
17222           clean up documentation build a little
17223
17224 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17225
17226         * check/gstcheck.h:
17227           add macros for checking refcounts on objects and caps
17228         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17229           add some more unit tests
17230         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17231         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17232           fix leaked refcounts (I hope :)) so unittest works
17233         * gst/gstpad.h:
17234           whitespace removal
17235
17236 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17237
17238         * configure.ac: back to HEAD
17239
17240 === release 0.9.1 ===
17241
17242 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17243
17244         * NEWS:
17245         * RELEASE:
17246           updated
17247
17248 2005-06-17  Andy Wingo  <wingo@pobox.com>
17249
17250         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17251         assert; it's always possible that the pad gets deactivated in
17252         between the checks in gstpad.c and the implementation. Rely on
17253         finish_preroll() to return a FLUSHING or similar instead of on the
17254         assert.
17255         
17256         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17257         clock and post an EOS message if we come out of finish_preroll in
17258         the playing state.
17259
17260 2005-06-16  David Schleef  <ds@schleef.org>
17261
17262         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17263         (gst_capsfilter_set_property): Allow NULL as possible value
17264         for filter_caps property, indicating GST_CAPS_ANY.
17265
17266 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17267
17268         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17269           fix debug output
17270         * gst/schedulers/Makefile.am:
17271           use libgst prefix
17272         * gstreamer.spec.in:
17273           fix spec for it
17274
17275 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17276
17277         * gstreamer.spec.in:
17278           clean up
17279
17280 2005-06-08  Andy Wingo  <wingo@pobox.com>
17281
17282         * gst/gstutils.c: RPAD fixes all around.
17283         (gst_element_link_pads): Refcounting fixes.
17284
17285         * tools/gst-inspect.c:
17286         * tools/gst-xmlinspect.c:
17287         * parse/grammar.y:
17288         * gst/base/gsttypefindhelper.c:
17289         * gst/base/gstbasesink.c:
17290         * gst/gstqueue.c: RPAD fixes.
17291
17292         * gst/gstghostpad.h:
17293         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17294         pads. The tricky thing is they provide both source and sink
17295         interfaces, since they proxy the internal pad for the external
17296         pad, and vice versa. Implement with lower-level ProxyPad objects,
17297         with the interior proxy pad as a child of the exterior ghost pad.
17298         Should write a doc on this.
17299         
17300         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17301         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17302         gst_object API.
17303         
17304         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17305         pads are real pads. No ghost pads in this file. Not documenting
17306         the myriad s/RPAD/PAD/ and REALIZE fixes.
17307         (gst_pad_class_init): Add properties for "direction" and
17308         "template". Both are construct-only, so they can't change during
17309         the life of the pad. Fixes properly deriving from GstPad.
17310         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17311         derived objects, just set properties when creating the objects via
17312         g_object_new.
17313         (gst_pad_get_parent): Implement as a function, return NULL if the
17314         parent is not an element.
17315         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17316         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17317         
17318         * gst/gstobject.c (gst_object_class_init): Make name a construct
17319         property. Don't set it in the object init.
17320
17321         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17322         with UNKNOWN direction.
17323         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17324         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17325         (gst_element_remove_pad): Remove ghost-pad special cases.
17326         (gst_element_pads_activate): Remove rpad cruft.
17327
17328         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17329         catch the pad's-parent-not-an-element case.
17330
17331         * gst/gst.h: Include gstghostpad.h.
17332
17333         * gst/gst.c (init_post): No more real, ghost pads.
17334
17335         * gst/Makefile.am: Add gstghostpad.[ch].
17336
17337         * check/Makefile.am:
17338         * check/gst/gstbin.c:
17339         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17340         into a bin creates ghost pads, and that the refcounts are right.
17341         Partly moved from gstbin.c.
17342
17343 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17344
17345         * check/gst-libs/.cvsignore:
17346         * check/gst/.cvsignore:
17347         * check/pipelines/.cvsignore:
17348           ignore more
17349         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17350         (START_TEST), (cleanup_suite), (main):
17351           add some tests related to cleanup after running pipelines
17352
17353 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17354
17355         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17356           add a testsuite for GstBuffer
17357
17358 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17359
17360         * gst/gstminiobject.h:
17361           add defines for accessing the refcount
17362
17363 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
17364
17365         * Makefile.am: added support for html unit test coverage reports
17366
17367 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
17368
17369         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17370           Free existing caps if the capsfilter changes. Add a FIXME about
17371           setting those caps on the pads.
17372
17373         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
17374           Before adding a ghost pad to a parent bin, check that there isn't
17375           already one for the element on the bin. Prevents infinite recursion
17376           when using decodebin in parse pipelines. Andy says he'll rewrite the
17377           way this works anyway, so ignore the hack.
17378
17379 2005-06-02  Andy Wingo  <wingo@pobox.com>
17380
17381         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
17382         file size, pass it on to the type find helper.
17383
17384         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
17385         segment_start and segment_end properly according to the seek
17386         method. Segment_end is still a bit flaky because offset can be
17387         negative for CUR and END cases, but it takes -1 as an "unset"
17388         value.
17389
17390 2005-06-02  Wim Taymans  <wim@fluendo.com>
17391
17392         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
17393         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
17394         (gst_basesink_activate):
17395         * gst/base/gstbasesink.h:
17396         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17397         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17398         (gst_pad_query), (gst_pad_start_task):
17399         * gst/gstpad.h:
17400         * gst/gstqueue.c: (gst_queue_bufferalloc),
17401         (gst_queue_handle_sink_event), (gst_queue_chain):
17402         Bufferalloc: return GstFlowReturn to more accuratly report
17403         why allocation failed.
17404
17405 2005-06-02  Wim Taymans  <wim@fluendo.com>
17406
17407         * gst/gstpipeline.c: (gst_pipeline_send_event):
17408         Take snapshot of state without blocking.
17409
17410 2005-06-02  Wim Taymans  <wim@fluendo.com>
17411
17412         * docs/design/part-TODO.txt:
17413         * docs/design/part-caps.txt:
17414         * docs/design/part-clocks.txt:
17415         * docs/design/part-negotiation.txt:
17416         * docs/design/part-preroll.txt:
17417         Small doc updates 
17418
17419 2005-05-30  Wim Taymans  <wim@fluendo.com>
17420
17421         * gst/elements/gstidentity.c: (gst_identity_event),
17422         (gst_identity_transform), (gst_identity_get_property):
17423         Protect last_message property as it is accessed from
17424         multiple threads.
17425
17426 2005-05-30  Wim Taymans  <wim@fluendo.com>
17427
17428         * gst/gstelement.c: (gst_element_init),
17429         (gst_element_pads_activate), (gst_element_change_state):
17430         Slicker pad activation code.
17431
17432 2005-05-30  Wim Taymans  <wim@fluendo.com>
17433
17434         * gst/Makefile.am:
17435         * gst/gstelement.h:
17436         * gst/gstelementfactory.h:
17437         * gst/gsttypes.h:
17438         Move elementfactory methods to separate .h file.
17439
17440 2005-05-30  Wim Taymans  <wim@fluendo.com>
17441
17442         * docs/design/part-overview.txt:
17443         * gst/gstsystemclock.h:
17444         Small typo fixes, doc updates.
17445
17446 2005-05-30  Wim Taymans  <wim@fluendo.com>
17447
17448         * gst/gst.c: (gst_init_get_popt_table), (init_post),
17449         (init_popt_callback):
17450         Remove cpu-opt flag.
17451
17452 2005-05-30  Wim Taymans  <wim@fluendo.com>
17453
17454         * gst/gstbuffer.c: (gst_subbuffer_finalize),
17455         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
17456         * gst/gstbuffer.h:
17457         Avoid typechecking in places where not needed.
17458         Added accessor for malloc_data.
17459
17460 2005-05-30  Wim Taymans  <wim@fluendo.com>
17461
17462         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
17463         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
17464         (gst_pad_configure_sink), (gst_pad_configure_src),
17465         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
17466         (gst_pad_start_task):
17467         Propagate errors from _set_caps() in configure_src/sink
17468         functions instead of returning TRUE.
17469         FLUSH events can travel up and downstream
17470
17471
17472 2005-05-30  Wim Taymans  <wim@fluendo.com>
17473
17474         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17475         (gst_basesink_activate):
17476         Handle EOS in preroll.
17477
17478 2005-05-30  Wim Taymans  <wim@fluendo.com>
17479
17480         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17481         (gst_queue_loop), (gst_queue_handle_src_event):
17482         Remove old pieces of code
17483         Flushing the queue in an upstream event is a very bad idea.
17484
17485 2005-05-26  Andy Wingo  <wingo@pobox.com>
17486
17487         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
17488         gst_value_set_mini_object so as to add a ref on the object (which
17489         will be removed when the value is unset).
17490
17491         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
17492         arg type in ::handoff.
17493
17494         * gst/gstelement.c (gst_element_change_state): Also deactivate
17495         pads in READY->NULL, just in case the element didn't make it to
17496         PAUSED. Wingo tested, Wim approved.
17497
17498 2005-05-26  Wim Taymans  <wim@fluendo.com>
17499
17500         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17501         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17502         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
17503         A flushing pad cannot be used to alloc_buffer from.
17504
17505 2005-05-26  Wim Taymans  <wim@fluendo.com>
17506
17507         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
17508         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
17509         (gst_bus_source_dispatch), (gst_bus_source_finalize),
17510         (gst_bus_create_watch), (gst_bus_add_watch_full):
17511         * gst/gstbus.h:
17512         Implement a real GSource and use g_main_context_wakeup() to
17513         signal new messages instead of the socketpair.
17514
17515 2005-05-25  Wim Taymans  <wim@fluendo.com>
17516
17517         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
17518         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
17519         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17520         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17521         (gst_pad_send_event), (gst_pad_start_task):
17522         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
17523         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
17524         (gst_queue_sink_activate), (gst_queue_src_activate),
17525         (gst_queue_change_state):
17526         * gst/gstqueue.h:
17527         Fix state changes for non sinks. We now change sinks, then elements
17528         with unconnected srcpads, then the rest.
17529         More efficient queue unlocking in flush and state changes.
17530         Set the pad activate mode even if it does not have an activate
17531         function.
17532
17533 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17534
17535         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
17536           Don't go in pull mode for non-seekable sources.
17537         * gst/elements/gsttypefindelement.h:
17538         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17539         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
17540         (free_entry), (stop_typefinding),
17541         (gst_type_find_element_handle_event), (find_peek),
17542         (gst_type_find_element_chain), (do_pull_typefind),
17543         (gst_type_find_element_change_state):
17544           Allow typefinding (w/o seeking) in push-mode, simplified version
17545           of what was in 0.8.
17546         * gst/gstutils.c: (gst_buffer_join):
17547         * gst/gstutils.h:
17548           gst_buffer_join() from 0.8.
17549
17550 2005-05-25  Wim Taymans  <wim@fluendo.com>
17551
17552         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17553         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17554         (gst_pad_send_event), (gst_pad_start_task):
17555         Disable attempt at mode switching until it is figured out.
17556
17557 2005-05-25  Wim Taymans  <wim@fluendo.com>
17558
17559         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
17560         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17561         (gst_basesink_finish_preroll), (gst_basesink_chain),
17562         (gst_basesink_loop), (gst_basesink_activate),
17563         (gst_basesink_change_state):
17564         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
17565         (gst_basesrc_get_range), (gst_basesrc_loop),
17566         (gst_basesrc_activate):
17567         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17568         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17569         (gst_real_pad_init), (gst_real_pad_set_property),
17570         (gst_real_pad_get_property), (gst_pad_set_active),
17571         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
17572         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
17573         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
17574         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
17575         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17576         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
17577         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
17578         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17579         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
17580         (gst_pad_stop_task):
17581         * gst/gstpad.h:
17582         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17583         (gst_queue_loop), (gst_queue_src_activate):
17584         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
17585         (gst_task_get_state):
17586         * gst/gsttask.h:
17587         * gst/schedulers/threadscheduler.c:
17588         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
17589         Implement gst_pad_pause/start/stop_task(), take STREAM lock
17590         in task function.
17591         Remove ACTIVE pad flag, use FLUSHING everywhere
17592         Added _pad_chain(), _pad_get_range() to call chain/getrange 
17593         functions.
17594         Add locks around IS_FLUSHING when reading.
17595         Take STREAM lock in chain(), get_range() functions so plugins
17596         don't need to take it anymore.
17597         
17598
17599
17600 2005-05-25  Wim Taymans  <wim@fluendo.com>
17601
17602         * tools/gst-launch.c: (event_loop):
17603         Unref message after using its contents instead of
17604         before.
17605
17606 2005-05-24  Wim Taymans  <wim@fluendo.com>
17607
17608         * docs/design/draft-ghostpads.txt:
17609         * docs/design/draft-push-pull.txt:
17610         * docs/design/draft-query.txt:
17611         * docs/design/part-overview.txt:
17612         Docs updates, added general overview doc.
17613
17614 2005-05-21  David Schleef  <ds@schleef.org>
17615
17616         * docs/gst/tmpl/old/GstBin.sgml:
17617         * docs/gst/tmpl/old/GstBuffer.sgml:
17618         * docs/gst/tmpl/old/GstCaps.sgml:
17619         * docs/gst/tmpl/old/GstClock.sgml:
17620         * docs/gst/tmpl/old/GstCompat.sgml:
17621         * docs/gst/tmpl/old/GstData.sgml:
17622         * docs/gst/tmpl/old/GstElement.sgml:
17623         * docs/gst/tmpl/old/GstEvent.sgml:
17624         * docs/gst/tmpl/old/GstIndex.sgml:
17625         * docs/gst/tmpl/old/GstStructure.sgml:
17626         * docs/gst/tmpl/old/GstTag.sgml:
17627         * docs/gst/tmpl/old/cothreads.sgml:
17628         * docs/gst/tmpl/old/cothreads_compat.sgml:
17629         * docs/gst/tmpl/old/gettext.sgml:
17630         * docs/gst/tmpl/old/gobject2gtk.sgml:
17631         * docs/gst/tmpl/old/grammar.tab.sgml:
17632         * docs/gst/tmpl/old/gst-i18n-app.sgml:
17633         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
17634         * docs/gst/tmpl/old/gst_private.sgml:
17635         * docs/gst/tmpl/old/gstaggregator.sgml:
17636         * docs/gst/tmpl/old/gstarch.sgml:
17637         * docs/gst/tmpl/old/gstatomic_impl.sgml:
17638         * docs/gst/tmpl/old/gstbufferstore.sgml:
17639         * docs/gst/tmpl/old/gstdata_private.sgml:
17640         * docs/gst/tmpl/old/gstdisksink.sgml:
17641         * docs/gst/tmpl/old/gstdisksrc.sgml:
17642         * docs/gst/tmpl/old/gstelementfactory.sgml:
17643         * docs/gst/tmpl/old/gstextratypes.sgml:
17644         * docs/gst/tmpl/old/gstfakesink.sgml:
17645         * docs/gst/tmpl/old/gstfakesrc.sgml:
17646         * docs/gst/tmpl/old/gstfdsink.sgml:
17647         * docs/gst/tmpl/old/gstfdsrc.sgml:
17648         * docs/gst/tmpl/old/gstfilesink.sgml:
17649         * docs/gst/tmpl/old/gstfilesrc.sgml:
17650         * docs/gst/tmpl/old/gsthttpsrc.sgml:
17651         * docs/gst/tmpl/old/gstidentity.sgml:
17652         * docs/gst/tmpl/old/gstindexfactory.sgml:
17653         * docs/gst/tmpl/old/gstmarshal.sgml:
17654         * docs/gst/tmpl/old/gstmd5sink.sgml:
17655         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
17656         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
17657         * docs/gst/tmpl/old/gstpadtemplate.sgml:
17658         * docs/gst/tmpl/old/gstpipefilter.sgml:
17659         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
17660         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
17661         * docs/gst/tmpl/old/gstshaper.sgml:
17662         * docs/gst/tmpl/old/gstspider.sgml:
17663         * docs/gst/tmpl/old/gstspideridentity.sgml:
17664         * docs/gst/tmpl/old/gststatistics.sgml:
17665         * docs/gst/tmpl/old/gsttee.sgml:
17666         * docs/gst/tmpl/old/gsttimecache.sgml:
17667         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
17668         * docs/gst/tmpl/old/gstxmlregistry.sgml:
17669         * docs/gst/tmpl/old/gthread-cothreads.sgml:
17670         * docs/gst/tmpl/old/types.sgml:
17671           I didn't intend to add these or check them in.
17672
17673 2005-05-19  David Schleef  <ds@schleef.org>
17674
17675         * configure.ac: Use -no-common everywhere.  In a sane world, it
17676           would be the default in libtool, because without it, you can't
17677           build DLLs on Windows.
17678         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
17679         * docs/gst/gstreamer-sections.txt:
17680         * docs/gst/tmpl/gstcpu.sgml:
17681         * docs/gst/tmpl/gstdata.sgml:
17682         * docs/gst/tmpl/gstthread.sgml:
17683
17684 2005-05-19  David Schleef  <ds@schleef.org>
17685
17686         * gst/gstminiobject.c: (gst_value_set_mini_object),
17687         (gst_value_take_mini_object), (gst_value_get_mini_object):
17688         * gst/gstminiobject.h: Add GValue set/get functions.
17689
17690 2005-05-19  Wim Taymans  <wim@fluendo.com>
17691
17692         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
17693         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
17694         (gst_subbuffer_init), (gst_buffer_is_span_fast):
17695         * gst/gstbuffer.h:
17696         * gst/gstbus.c: (gst_bus_post):
17697         * gst/gstelement.c: (gst_element_get_random_pad):
17698         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
17699         Make subbufer unref the parent in finalize.
17700         some more debugging info.
17701
17702
17703 2005-05-19  Wim Taymans  <wim@fluendo.com>
17704
17705         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17706         (gst_basesink_init), (gst_basesink_finalize),
17707         (gst_basesink_activate), (gst_basesink_change_state):
17708         Don't free preroll queue too early.
17709
17710 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17711
17712         * gst/Makefile.am:
17713         * gst/ROADMAP:
17714           Hi, I'm outdated. Please shoot me.
17715
17716 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17717
17718         * gst/gstpipeline.c: (gst_pipeline_send_event):
17719           Do not access variables after they have been deleted.
17720
17721 2005-05-19  Wim Taymans  <wim@fluendo.com>
17722
17723         * tools/gst-inspect.c: (print_plugin_features):
17724         A plugin feature does unfortunatly not use the
17725         object name yet...
17726
17727 2005-05-18  Wim Taymans  <wim@fluendo.com>
17728
17729         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
17730         Port _span() functions to new subbuffers.
17731
17732 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17733
17734         * gst/gstbin.c: (gst_bin_add_func):
17735           Fix clock settery in bins when adding kids after the clock has
17736           been selected.
17737
17738 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17739
17740         * gst/elements/gstidentity.c: (gst_identity_class_init):
17741           Workaround until signals support GstMiniObject.
17742
17743 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
17744
17745         * gst/gstbuffer.c:
17746         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
17747
17748 2005-05-18  Wim Taymans  <wim@fluendo.com>
17749
17750         * gst/base/Makefile.am:
17751         * gst/base/gstadapter.c: (gst_adapter_base_init),
17752         (gst_adapter_class_init), (gst_adapter_init),
17753         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
17754         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
17755         (gst_adapter_flush), (gst_adapter_available),
17756         (gst_adapter_available_fast):
17757         * gst/base/gstadapter.h:
17758         Ported and added adapter to the base classes.
17759
17760 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17761
17762         * gst/gst.c:
17763         * gst/gstmessage.c:
17764           Make sure the class is reffed/unreffed once before threads can be
17765           used.  Fixes #304551.
17766
17767 2005-05-17  Wim Taymans  <wim@fluendo.com>
17768
17769         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
17770         (gst_basesink_chain_unlocked), (gst_basesink_activate):
17771         * gst/gstminiobject.c: (gst_mini_object_get_type),
17772         (gst_mini_object_free):
17773         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
17774         (gst_pad_push), (gst_pad_push_event):
17775         * gst/gstqueue.c: (gst_queue_change_state):
17776         Don't queue buffers in basesink when we are flushing.
17777         Unref buffer when flushing in basesink.
17778         Flush queue when going to READY
17779         Unref buffer when _push() returns an error.
17780         Don't free MiniObject instance when refcount is incremented
17781         in _finalize() so that we can recover objects.
17782
17783 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17784
17785         * docs/manual/advanced-schedulers.xml:
17786         * docs/manual/appendix-checklist.xml:
17787         * docs/pwg/advanced-clock.xml:
17788         * docs/pwg/advanced-interfaces.xml:
17789         * docs/pwg/advanced-request.xml:
17790         * docs/pwg/advanced-types.xml:
17791         * docs/pwg/intro-preface.xml:
17792         * examples/plugins/example.c: (gst_example_get_type),
17793         (gst_example_class_init), (gst_example_chain),
17794         (gst_example_set_property), (gst_example_get_property),
17795         (gst_example_change_state), (plugin_init):
17796         * examples/plugins/example.h:
17797           small doc fixes
17798
17799 2005-05-17  Wim Taymans  <wim@fluendo.com>
17800
17801         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
17802         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
17803         * gst/gstqueue.c: (gst_queue_change_state):
17804         Clear queue when going to READY.
17805         Remove IN_SETCAPS flag too.
17806
17807 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
17808
17809         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
17810           Remove implicit cast from gboolean to GstElementStateReturn;
17811           make sure we still return failure in paused => ready case if
17812           the parent class fails to change state and our own stop 
17813           vfunc succeeds.
17814
17815 2005-05-17  Wim Taymans  <wim@fluendo.com>
17816
17817         * tools/gst-launch.c: (event_loop):
17818         Message was unreffed too soon.
17819
17820 2005-05-16  Andy Wingo  <wingo@pobox.com>
17821
17822         * gst/gstbin.c (sink_iterator_filter): Err... um...
17823
17824         * check/gst/gstbin.c (test_ghost_pads): New test for the
17825         ghosting-if-elements-not-in-same-bin behavior.
17826
17827 2005-05-16  David Schleef  <ds@schleef.org>
17828
17829         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
17830         accessing refcount directly.
17831
17832 2005-05-15  David Schleef  <ds@schleef.org>
17833
17834         * check/Makefile.am: remove GstData checks
17835         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
17836         * gst/Makefile.am: add miniobject, remove data
17837         * gst/gst.h: add miniobject, remove data
17838         * gst/gstdata.c: remove
17839         * gst/gstdata.h: remove
17840         * gst/gstdata_private.h: remove
17841         * gst/gsttypes.h: remove GstEvent and GstMessage
17842         * gst/gstelement.c: (gst_element_post_message): fix for API changes
17843         * gst/gstmarshal.list: change BOXED -> OBJECT
17844
17845         Implement GstMiniObject.
17846         * gst/gstminiobject.c:
17847         * gst/gstminiobject.h:
17848
17849         Modify to be subclasses of GstMiniObject.
17850         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
17851         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
17852         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
17853         (gst_subbuffer_get_type), (gst_subbuffer_init),
17854         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
17855         (gst_buffer_span):
17856         * gst/gstbuffer.h:
17857         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
17858         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
17859         (_gst_event_copy), (gst_event_new):
17860         * gst/gstevent.h:
17861         * gst/gstmessage.c: (_gst_message_initialize),
17862         (gst_message_get_type), (gst_message_class_init),
17863         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
17864         (gst_message_new), (gst_message_new_error),
17865         (gst_message_new_warning), (gst_message_new_tag),
17866         (gst_message_new_state_changed), (gst_message_new_application):
17867         * gst/gstmessage.h:
17868         * gst/gstprobe.c: (gst_probe_perform),
17869         (gst_probe_dispatcher_dispatch):
17870         * gst/gstprobe.h:
17871         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
17872         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
17873         (_gst_query_copy), (gst_query_new):
17874
17875         Update elements for GstData -> GstMiniObject changes
17876         * gst/gstquery.h:
17877         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
17878         (gst_queue_chain), (gst_queue_loop):
17879         * gst/elements/gstbufferstore.c:
17880         (gst_buffer_store_add_buffer_func),
17881         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
17882         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17883         (gst_fakesink_render):
17884         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17885         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
17886         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
17887         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
17888         (gst_filesrc_create_read):
17889         * gst/elements/gstidentity.c: (gst_identity_class_init):
17890         * gst/elements/gsttypefindelement.c:
17891         (gst_type_find_element_src_event), (free_entry_buffers),
17892         (gst_type_find_element_handle_event):
17893         * libs/gst/dataprotocol/dataprotocol.c:
17894         (gst_dp_header_from_buffer):
17895         * libs/gst/dataprotocol/dataprotocol.h:
17896         * libs/gst/dataprotocol/dp-private.h:
17897
17898 2005-05-15  David Schleef  <ds@schleef.org>
17899
17900         * gst/elements/gstelements.c: Don't include headers that were
17901         just removed.
17902
17903 2005-05-15  David Schleef  <ds@schleef.org>
17904
17905         * gst/elements/Makefile.am: Remove some elements that don't
17906         need to be in the core (or even exist at all).
17907         * gst/elements/gstaggregator.c:
17908         * gst/elements/gstaggregator.h:
17909         * gst/elements/gstmd5sink.c:
17910         * gst/elements/gstmd5sink.h:
17911         * gst/elements/gstmultifilesrc.c:
17912         * gst/elements/gstmultifilesrc.h:
17913         * gst/elements/gstpipefilter.c:
17914         * gst/elements/gstpipefilter.h:
17915         * gst/elements/gstshaper.c:
17916         * gst/elements/gstshaper.h:
17917         * gst/elements/gststatistics.c:
17918         * gst/elements/gststatistics.h:
17919         * po/POTFILES.in: Remove above files.
17920
17921 2005-05-14  Andy Wingo  <wingo@pobox.com>
17922
17923         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
17924         so as to get the refs right.
17925         (sink_iterator_filter): New function, wraps bin_element_is_sink,
17926         unreffing objects that don't pass the filter.
17927
17928         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
17929         gst_element_set_bus.
17930         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
17931         normal cases, this will destroy the bus.
17932
17933         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
17934         object.
17935
17936         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
17937         has no sinks.
17938
17939 2005-05-13  Andy Wingo  <wingo@pobox.com>
17940
17941         * gst/gstutils.c (gst_element_link_pads): Instead of calling
17942         gst_pad_link, call pad_link_maybe_ghosting,
17943         (pad_link_maybe_ghosting): Links pads, making sure that the
17944         elements being linked are in the same bin.
17945         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
17946         Helpers for pad_link_maybe_ghosting.
17947
17948 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17949
17950         * configure.ac:
17951           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
17952
17953 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
17954
17955         * docs/design/part-element-source.txt:
17956           Mention GstPushSrc
17957
17958 2005-05-12  Wim Taymans  <wim@fluendo.com>
17959
17960         * gst/base/gstbasesink.c: (gst_basesink_init),
17961         (gst_basesink_activate):
17962         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
17963         (gst_basesrc_is_seekable):
17964         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17965         (bin_element_is_sink), (gst_bin_change_state):
17966         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
17967         * gst/gstelement.h:
17968         Identify sinks by their flag to avoid overly complicated
17969         checks (fow now).
17970         Do state changes even for elements not reachable from the
17971         sinks.
17972         BaseSink is a sink now :)
17973         Some more debugging info in the basesrc.
17974
17975
17976 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17977
17978         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
17979           Implement _query on a bin, similar to _send_event.
17980
17981 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
17982
17983         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
17984           Discont event offset format should be GST_FORMAT_BYTES,
17985           not GST_FORMAT_TIME.
17986
17987 2005-05-12  Wim Taymans  <wim@fluendo.com>
17988
17989         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
17990         Same fix as Ronald's but without the signal. 
17991
17992 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17993
17994         * gst/gstutils.c: (gst_element_query_position):
17995           No, an element is not a pad.
17996
17997 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17998
17999         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
18000         (gst_bin_get_state):
18001           If a child is removed from a bin while we remove the child from
18002           the bin and while we're retrieving its state, signal this to the
18003           get_state function so we abort the wait (instead of waiting for
18004           a timeout) and can immediately re-iterate over all other elements.
18005
18006 2005-05-12  Wim Taymans  <wim@fluendo.com>
18007
18008         * gst/base/Makefile.am:
18009         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
18010         (gst_basesrc_start):
18011         * gst/base/gstbasesrc.h:
18012         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
18013         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
18014         (gst_pushsrc_init), (gst_pushsrc_create):
18015         * gst/base/gstpushsrc.h:
18016         Added is_seekable to BaseSrc
18017         Added simple PushSrc.
18018
18019 2005-05-11  Wim Taymans  <wim@fluendo.com>
18020
18021         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18022         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18023         (gst_element_link_pads), (gst_element_query_position),
18024         (gst_element_query_convert), (intersect_caps_func),
18025         (gst_pad_query_position), (gst_pad_query_convert):
18026         Fix refcounting in utils function.
18027         No point in trying to activate a pad when it's added, it could
18028         be added from the state change function and then we deadlock, the
18029         element has to decide what to do.
18030
18031 2005-05-10  Andy Wingo  <wingo@pobox.com>
18032
18033         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
18034         *all* the arguments.
18035
18036         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
18037         stream lock if it's a FLUSH_DONE; normal flushes don't get the
18038         lock (according to the docs -- if this is wrong change the docs).
18039
18040         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
18041         flush messages in the NULL state.
18042
18043         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
18044         message immediately and return.
18045         (gst_bus_set_flushing): New function. If a bus is flushing, it
18046         flushes out any queued messages and immediately unrefs new
18047         messages. This is so when an element goes to NULL, all of the
18048         unhandled messages coming from it can be freed, and their
18049         references to the element dropped. In other words: message source
18050         ref considered harmful :P
18051
18052         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
18053         we're finished with it.
18054
18055         * gst/gstmessage.c (gst_message_new_state_changed): 
18056
18057 2005-05-10  Wim Taymans  <wim@fluendo.com>
18058
18059         * gst/gstvalue.c: (gst_value_compare_flags),
18060         (gst_value_serialize_flags), (gst_value_deserialize_flags),
18061         (_gst_value_initialize):
18062         Added flags serialize/deserialize/compare code.
18063
18064 2005-05-09  Andy Wingo  <wingo@pobox.com>
18065
18066         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
18067         Intersect the peer's caps with our caps.
18068
18069 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18070
18071         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18072         * gst/elements/gsttypefindelement.c: (find_peek):
18073           Handle negative offsets better. Fixes decodebin.
18074
18075 2005-05-09  Wim Taymans  <wim@fluendo.com>
18076
18077         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
18078         (gst_base_transform_event):
18079         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
18080         Implement accept_caps.
18081         Fix silly lock/unlock mismatch in base class.
18082
18083 2005-05-09  Wim Taymans  <wim@fluendo.com>
18084
18085         * docs/design/draft-push-pull.txt:
18086         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
18087         * gst/elements/gstfilesink.c: (gst_filesink_init),
18088         (gst_filesink_query):
18089         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18090         (gst_type_find_handle_src_query), (find_element_get_length):
18091         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
18092         * gst/gstelement.h:
18093         * gst/gstmessage.c:
18094         * gst/gstmessage.h:
18095         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
18096         (gst_real_pad_get_caps_unlocked),
18097         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
18098         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18099         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
18100         (gst_real_pad_dispose), (gst_real_pad_finalize),
18101         (gst_pad_load_and_link), (gst_pad_save_thyself),
18102         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
18103         (gst_pad_check_pull_range), (gst_pad_pull_range),
18104         (gst_pad_template_get_type), (gst_pad_template_class_init),
18105         (gst_pad_template_init), (gst_pad_template_dispose),
18106         (name_is_valid), (gst_static_pad_template_get),
18107         (gst_pad_template_new), (gst_static_pad_template_get_caps),
18108         (gst_pad_template_get_caps), (gst_pad_set_element_private),
18109         (gst_pad_get_element_private), (gst_pad_start_task),
18110         (gst_pad_pause_task), (gst_pad_stop_task),
18111         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
18112         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
18113         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
18114         (gst_ghost_pad_new):
18115         * gst/gstpad.h:
18116         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
18117         (gst_query_new_position), (gst_query_set_position),
18118         (gst_query_parse_position), (gst_query_new_convert),
18119         (gst_query_set_convert), (gst_query_parse_convert):
18120         * gst/gstquery.h:
18121         * gst/gstqueryutils.c:
18122         * gst/gstqueryutils.h:
18123         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18124         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18125         (gst_queue_handle_src_query):
18126         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18127         (gst_element_query_position), (gst_element_query_convert),
18128         (intersect_caps_func), (gst_pad_query_position),
18129         (gst_pad_query_convert):
18130         * gst/gstutils.h:
18131         * tools/gst-inspect.c: (print_pad_info):
18132         * tools/gst-xmlinspect.c: (print_element_info):
18133         Remove old query functions. Ported old code.
18134         Added position/convert helper functions to gstutils.
18135         Reordered gstpad.c code, grouping relevant things.
18136         Remove gst_message_new(), always need to speficy a specific
18137         message.
18138
18139
18140 2005-05-09  Andy Wingo  <wingo@pobox.com>
18141
18142         * gst/gstiterator.h: Add some includes.
18143
18144         * gst/gstqueryutils.h: Include more headers.
18145
18146         * gst/gstpad.h:
18147         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18148         some uses of gst_pad_query.
18149
18150         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18151         NULL out parameters.
18152         (gst_query_new_position): New proc, allocates a new position
18153         query.
18154
18155         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18156         gstqueryutils.c to the build.
18157
18158         * gst/gststructure.c (gst_structure_set_valist): Implement with
18159         the generic G_VALUE_COLLECT.
18160         
18161 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
18162
18163         * gst/Makefile.am: (gst_headers):
18164         Added gstqueryutils.h to the list of headers to install, that was
18165         a 'nachty' move wingo :)
18166
18167 2005-05-06  Andy Wingo  <wingo@pobox.com>
18168
18169         * gst/gstquery.h
18170         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18171         GstData, init a memchunk.
18172         (standard_definitions): Add a few query types, deprecate a few.
18173         (gst_query_get_type): New proc.
18174         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18175         implementation.
18176         (gst_query_new_application, gst_query_get_structure): New public
18177         procs.
18178
18179         * docs/design/draft-query.txt: Removed LINKS from the query types,
18180         because all the rest can be dispatched to other pads -- seemed
18181         ugly to have a query that couldn't be dispatched. internal_links
18182         is fine as a pad method.
18183
18184         * gst/gstpad.h: Add query2 as a pad method, add the new functions
18185         in gstpad.c, but maintain binary compatibility for the moment.
18186         Will fix before 0.9 is out.
18187
18188         * gst/gstqueryutils.c: 
18189         * gst/gstqueryutils.h: New files, implement 3 methods for each
18190         query type: parse_query, parse_response, and set. Probably need an
18191         allocator as well.
18192
18193         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18194
18195         * gst/elements/gstfilesink.c (gst_filesink_query2):
18196         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18197         query_types, and formats methods.
18198
18199         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18200         (gst_pad_set_query2_function): New functions.
18201         (gst_real_pad_init): Set query2_default as the default query2
18202         function. Basically just dispatches to internally linked pads.
18203
18204         Needs review!
18205         
18206         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18207         without using the atomic operations. Only one thread can possibly
18208         be accessing the data at this point. Changed so as to avoid
18209         gst_atomic operations.
18210
18211 2005-05-06  Wim Taymans  <wim@fluendo.com>
18212
18213         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18214         Also set caps if we use the fallback buffer alloc.
18215
18216 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
18217
18218         * docs/gst/Makefile.am:
18219         * docs/gst/gstreamer-docs.sgml:
18220         * docs/gst/gstreamer-sections.txt:
18221         * docs/gst/tmpl/gstatomic.sgml:
18222         * docs/gst/tmpl/gstmemchunk.sgml:
18223         * testsuite/elements/struct_i386.h:
18224         * win32/GStreamer.vcproj:
18225         * win32/Makefile:
18226           Purge GstAtomic stuff from docs and win32 makefiles as well
18227
18228 2005-05-06  Wim Taymans  <wim@fluendo.com>
18229
18230         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18231         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18232         * gst/gstpad.c: (gst_pad_peer_get_caps):
18233         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18234         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18235         (gst_queue_src_activate), (gst_queue_change_state):
18236         * gst/gstqueue.h:
18237         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18238         (intersect_caps_func):
18239         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18240         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18241         Some fixes for the peer_get_caps() change.
18242
18243 2005-05-06  Wim Taymans  <wim@fluendo.com>
18244
18245         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18246         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18247         (gst_basesink_activate):
18248         Actually do something with error codes returned from the push
18249         functions.
18250
18251 2005-05-06  Wim Taymans  <wim@fluendo.com>
18252
18253         * docs/design/part-element-sink.txt:
18254         * docs/design/part-element-source.txt:
18255         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18256         (gst_basesink_event), (gst_basesink_activate):
18257         * gst/base/gstbasesink.h:
18258         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18259         (gst_basesrc_activate):
18260         * gst/base/gstbasesrc.h:
18261         * gst/gstelement.c: (gst_element_pads_activate):
18262         Some more documentation.
18263         Fixed scheduling decision in _pads_activate().
18264
18265 2005-05-05  Andy Wingo  <wingo@pobox.com>
18266
18267         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18268         the test suite.
18269
18270 2005-05-05  Wim Taymans  <wim@fluendo.com>
18271
18272         * gst/base/Makefile.am:
18273         * gst/base/gstbasesink.h:
18274         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18275         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18276         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18277         (gst_collectpads_class_init), (gst_collectpads_init),
18278         (gst_collectpads_finalize), (gst_collectpads_new),
18279         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18280         (find_pad), (gst_collectpads_remove_pad),
18281         (gst_collectpads_is_active), (gst_collectpads_collect),
18282         (gst_collectpads_collect_range), (gst_collectpads_start),
18283         (gst_collectpads_stop), (gst_collectpads_peek),
18284         (gst_collectpads_pop), (gst_collectpads_available),
18285         (gst_collectpads_read), (gst_collectpads_flush),
18286         (gst_collectpads_chain):
18287         * gst/base/gstcollectpads.h:
18288         * gst/elements/Makefile.am:
18289         * gst/elements/gstelements.c:
18290         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18291         (gst_fakesink_get_times), (gst_fakesink_event),
18292         (gst_fakesink_preroll), (gst_fakesink_render):
18293         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18294         (gst_filesink_init), (gst_filesink_set_location),
18295         (gst_filesink_open_file), (gst_filesink_close_file),
18296         (gst_filesink_pad_query), (gst_filesink_event),
18297         (gst_filesink_render), (gst_filesink_change_state):
18298         * gst/elements/gstfilesink.h:
18299         Added object to help in making collect pad based elements.
18300         Ported filesink.
18301         Make event function in sink baseclass return gboolean.
18302
18303 2005-05-05  Wim Taymans  <wim@fluendo.com>
18304
18305         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18306         (gst_bin_get_by_name):
18307         * gst/gstbuffer.h:
18308         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18309         (gst_clock_finalize):
18310         * gst/gstdata.c: (gst_data_replace):
18311         * gst/gstdata.h:
18312         * gst/gstelement.c: (gst_element_request_pad),
18313         (gst_element_pads_activate):
18314         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18315         (gst_object_unref):
18316         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18317         (gst_pad_set_checkgetrange_function),
18318         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18319         (gst_pad_check_pull_range), (gst_pad_pull_range),
18320         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18321         (gst_pad_pause_task), (gst_pad_stop_task):
18322         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18323         (gst_element_request_pad), (gst_pad_proxy_getcaps):
18324         Fix name lookup in GstBin.
18325         Added _data_replace() function and _buffer_replace()
18326         Use finalize method to clean up clock.
18327         Fix refcounting on request pads.
18328         Fix pad schedule mode error.
18329         Some more object refcounting debug info,
18330
18331
18332 2005-05-04  Andy Wingo <wingo@pobox.com>
18333
18334         * check/Makefile.am:
18335         * docs/gst/tmpl/gstatomic.sgml:
18336         * docs/gst/tmpl/gstplugin.sgml:
18337         * gst/base/gstbasesink.c: (gst_basesink_activate):
18338         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18339         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18340         (gst_basesrc_query), (gst_basesrc_set_property),
18341         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18342         (gst_basesrc_activate):
18343         * gst/base/gstbasesrc.h:
18344         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18345         (gst_base_transform_src_activate):
18346         * gst/elements/gstelements.c:
18347         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18348         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18349         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18350         * gst/elements/gsttypefindelement.c: (find_element_get_length),
18351         (gst_type_find_element_checkgetrange),
18352         (gst_type_find_element_activate):
18353         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18354         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18355         (gst_caps_load_thyself):
18356         * gst/gstelement.c: (gst_element_pads_activate),
18357         (gst_element_save_thyself), (gst_element_restore_thyself):
18358         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
18359         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
18360         * gst/gstpad.h:
18361         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
18362         (gst_xml_parse_file), (gst_xml_parse_memory),
18363         (gst_xml_get_element), (gst_xml_make_element):
18364         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18365         (_file_index_id_save_xml), (gst_file_index_commit):
18366         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
18367         (read_enum), (load_pad_template), (load_feature), (load_plugin),
18368         (load_paths):
18369         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
18370         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
18371         * tools/gst-complete.c: (main):
18372         * tools/gst-compprep.c: (main):
18373         * tools/gst-inspect.c: (print_element_properties_info):
18374         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
18375         * tools/gst-xmlinspect.c: (print_element_properties):
18376         GCC 4 fixen.
18377         
18378 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18379
18380         * gst/gstplugin.c: (gst_plugin_check_module),
18381         (gst_plugin_check_file), (gst_plugin_load_file):
18382             apply patch from #172526 to make register work on MacOSX
18383
18384 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18385
18386         * docs/gst/tmpl/gstconfig.sgml:
18387         * gst/gstconfig.h.in:
18388           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
18389         * testsuite/debug/printf_extension.c: (main):
18390           Do not use GST_PTR_FORMAT on pointers to types with
18391           sizeof < sizeof(gpointer).  Fixes test on 64-bit
18392         * testsuite/elements/property.h:
18393           use correct printf format
18394
18395 2005-05-02  Wim Taymans  <wim@fluendo.com>
18396
18397         * docs/design/draft-push-pull.txt:
18398         * docs/design/draft-query.txt:
18399         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
18400         (gst_basesrc_start):
18401         Added draft for new query API.
18402         Added draft for better selecting scheduling methods.
18403         Make basesrc ignore length if the subclass does not support
18404         it.
18405
18406 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18407
18408         * gst/Makefile.am:
18409           possible fixes for automake-1.5 - _LIBADD is reserved
18410
18411 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18412
18413         * docs/faq/Makefile.am:
18414         * docs/manual/Makefile.am:
18415         * docs/manuals.mak:
18416         * docs/pwg/Makefile.am:
18417         * gst/Makefile.am:
18418           possible fixes for automake-1.5
18419
18420 2005-04-28  Wim Taymans  <wim@fluendo.com>
18421
18422         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18423         (gst_basesink_pad_getcaps), (gst_basesink_init),
18424         (gst_basesink_do_sync):
18425         * gst/gstclock.c: (gst_clock_entry_new):
18426         * gst/gstevent.c: (gst_event_discont_get_value):
18427         * gst/gstpipeline.c: (pipeline_bus_handler),
18428         (gst_pipeline_change_state):
18429         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18430         Better debugging of clocking info.
18431         Allow NULL values when getting discont values.
18432
18433 2005-04-27  Wim Taymans  <wim@fluendo.com>
18434
18435         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18436         * check/gst/gstpad.c: (gst_pad_suite):
18437         Increase timeout for checks.
18438
18439 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18440
18441         * check/Makefile.am:
18442           fix the broken rule for cleanup.  Apparently this rule is
18443           only needed on FC2, so maybe this warrants further autotool
18444           inspection.
18445
18446 2005-04-26  Wim Taymans  <wim@fluendo.com>
18447
18448         * gst/gsttrashstack.h:
18449         Ooohh. a nasty one! After having a failed pop() from the stack,
18450         it's possible that the stack is empty. In that case, don't
18451         follow the NULL pointer.
18452
18453 2005-04-25  Wim Taymans  <wim@fluendo.com>
18454
18455         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18456         (gst_pad_set_checkgetrange_function),
18457         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
18458         (gst_pad_check_pull_range), (gst_pad_pull_range),
18459         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18460         (gst_pad_pause_task), (gst_pad_stop_task):
18461         * gst/gstplugin.c: (gst_plugin_load):
18462         * gst/gstplugin.h:
18463         Remove gst_library_load as it does more harm than good with
18464         the new g_module flags.
18465         Revert bogus caps template check in pad linking, pad caps
18466         are important when linking not the template, which is more
18467         general than the current caps.
18468
18469 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18470
18471         * gst/autoplug/.cvsignore:
18472         * gst/autoplug/Makefile.am:
18473         * gst/autoplug/gstsearchfuncs.c:
18474         * gst/autoplug/gstsearchfuncs.h:
18475         * gst/autoplug/gstspider.c:
18476         * gst/autoplug/gstspider.h:
18477         * gst/autoplug/gstspideridentity.c:
18478         * gst/autoplug/gstspideridentity.h:
18479         * gst/autoplug/spidertest.c:
18480           Die, spider, die.
18481
18482 2005-04-25  Wim Taymans  <wim@fluendo.com>
18483
18484         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18485         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18486         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
18487         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
18488         * gst/gstpad.h:
18489         Added stubs for unimplemented functions. 
18490
18491 2005-04-24  David Schleef  <ds@schleef.org>
18492
18493         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
18494         please fix.
18495
18496 2005-04-24  David Schleef  <ds@schleef.org>
18497
18498         Convert everything from GstAtomicInt to g_atomic_int_*, and
18499         remove gstatomic.
18500         * gst/Makefile.am:
18501         * gst/gstatomic.c:
18502         * gst/gstatomic.h:
18503         * gst/gstatomic_impl.h:
18504         * gst/gstbuffer.c:
18505         * gst/gstcaps.c:
18506         * gst/gstcaps.h:
18507         * gst/gstclock.c:
18508         * gst/gstclock.h:
18509         * gst/gstdata.c:
18510         * gst/gstdata.h:
18511         * gst/gstdata_private.h:
18512         * gst/gstevent.c:
18513         * gst/gstinfo.c:
18514         * gst/gstinfo.h:
18515         * gst/gstmessage.c:
18516         * gst/gstobject.c:
18517         * gst/gstobject.h:
18518         * gst/gststructure.c:
18519         * gst/gststructure.h:
18520         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
18521         * gst/gstutils.h:
18522
18523 2005-04-24  David Schleef  <ds@schleef.org>
18524
18525         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
18526         make the regressions tests work.  Remove some code that is no
18527         longer true.
18528         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
18529         Disable warning for pads without templates.
18530
18531 2005-04-24  David Schleef  <ds@schleef.org>
18532
18533         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
18534         functions that handle filtered links.
18535         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
18536         removed functions.
18537         * gst/gstutils.c: Fix/remove utility functions that handle
18538         filtered caps.
18539         * gst/gstutils.h:
18540         * gst/gstvalue.c: Add serialization/deserialization of caps
18541         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
18542         requires fixing so that the filter caps notation creates
18543         a capsfilter element and sets the filter_caps property.  I
18544         think everyone probably wants to keep the shorthand notation.
18545         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
18546         * docs/gst/tmpl/gstpad.sgml:
18547
18548         * gst/elements/gstelements.c: Register capsfilter element.
18549         * gst/Makefile.am: fix spacing
18550         * docs/random/ds/0.9-suggested-changes: random
18551
18552 2005-04-23  David Schleef  <ds@schleef.org>
18553
18554         * gst/elements/Makefile.am:
18555         * gst/elements/gstcapsfilter.c: New element that acts like an
18556         identity, but filters caps.  Will eventually replace filtered
18557         caps in pad linking.
18558         * gst/gstutils.c: (gst_element_create_all_pads): New function
18559         to create all the ALWAYS pads that are registered with an
18560         element class.  This functionality should eventually be
18561         merged in with GstElement initialization.
18562         * gst/gstutils.h:
18563         * testsuite/trigger/README: part of trigger test code that should
18564         have been checked in a long time ago.
18565
18566 2005-04-23  David Schleef  <ds@schleef.org>
18567
18568         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
18569         needed with new versions of libtool (nobody will confirm this),
18570         and hard to carry around.
18571         * gst/autoplug/Makefile.am:
18572         * gst/base/Makefile.am:
18573         * gst/elements/Makefile.am:
18574         * gst/indexers/Makefile.am:
18575         * gst/schedulers/Makefile.am:
18576         * libs/gst/bytestream/Makefile.am:
18577         * libs/gst/control/Makefile.am:
18578         * libs/gst/dataprotocol/Makefile.am:
18579         * libs/gst/getbits/Makefile.am:
18580
18581 2005-04-21  Wim Taymans  <wim@fluendo.com>
18582
18583         * docs/design/draft-push-pull.txt:
18584         * docs/design/part-MT-refcounting.txt:
18585         * docs/design/part-TODO.txt:
18586         * docs/design/part-caps.txt:
18587         * docs/design/part-events.txt:
18588         * docs/design/part-gstbus.txt:
18589         * docs/design/part-gstpipeline.txt:
18590         * docs/design/part-messages.txt:
18591         * docs/design/part-push-pull.txt:
18592         * docs/design/part-query.txt:
18593         Some more docs.
18594
18595 2005-04-21  Wim Taymans  <wim@fluendo.com>
18596
18597         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
18598         (gst_message_new), (gst_message_new_error),
18599         (gst_message_new_warning), (gst_message_new_tag),
18600         (gst_message_new_state_changed), (gst_message_new_application),
18601         (gst_message_get_structure):
18602         * gst/gstmessage.h:
18603         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18604         (gst_structure_copy_conditional):
18605         Use parent refcount in GstMessage to ensure GstStructure
18606         consistency.
18607         Cleaned up headers a bit.
18608         
18609
18610 2005-04-20  Wim Taymans  <wim@fluendo.com>
18611
18612         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18613         (gst_basesink_pad_getcaps), (gst_basesink_init),
18614         (gst_basesink_chain_unlocked):
18615         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
18616         (gst_type_find_helper):
18617         * gst/elements/gsttypefindelement.c:
18618         (gst_type_find_element_have_type), (gst_type_find_element_init),
18619         (stop_typefinding), (gst_type_find_element_handle_event),
18620         (find_suggest), (gst_type_find_element_chain),
18621         (gst_type_find_element_checkgetrange),
18622         (gst_type_find_element_getrange), (do_typefind),
18623         (gst_type_find_element_activate):
18624         * gst/gstbuffer.c: (_gst_buffer_sub_free),
18625         (gst_buffer_default_free), (gst_buffer_default_copy),
18626         (gst_buffer_set_caps):
18627         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
18628         (gst_caps_replace):
18629         * gst/gstmessage.c: (gst_message_new),
18630         (gst_message_new_state_changed):
18631         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18632         (gst_pad_set_checkgetrange_function),
18633         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
18634         (gst_pad_set_caps), (gst_pad_check_pull_range),
18635         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
18636         * gst/gstpad.h:
18637         * gst/gsttypefind.c: (gst_type_find_register):
18638         Make gst_caps_replace() work like other _replace() functions.
18639         Use _caps_replace() where possible.
18640         Make sure _message_new() initialises its field.
18641         Add gst_static_pad_template_get_caps()
18642
18643
18644 2005-04-18  Andy Wingo  <wingo@pobox.com>
18645
18646         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
18647         on the peer, not the pad. I think that was a typo. Pass an extra
18648         arg to see if random access is possible. Activate the pads as
18649         PULL_RANGE if possible.
18650
18651         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
18652
18653         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
18654         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
18655         to PROP_....
18656
18657 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18658
18659         * docs/faq/using.xml:
18660           Add note on gstreamer-properties (#154996).
18661
18662 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18663
18664         * docs/random/bbb/optional-properties:
18665           Some analysis on optional properties.
18666
18667 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18668
18669         * docs/gst/tmpl/gstelementfactory.sgml:
18670         * gst/gstelement.h:
18671         * gst/gstelementfactory.c: (gst_element_factory_init),
18672         (gst_element_factory_cleanup), (gst_element_register),
18673         (__gst_element_factory_add_static_pad_template),
18674         (gst_element_factory_get_static_pad_templates),
18675         (gst_element_factory_can_src_caps),
18676         (gst_element_factory_can_sink_caps):
18677         * gst/registries/Makefile.am:
18678         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
18679         (gst_xml_registry_class_init), (gst_xml_registry_init),
18680         (gst_xml_registry_new), (gst_xml_registry_set_property),
18681         (gst_xml_registry_get_property), (get_time), (make_dir),
18682         (gst_xml_registry_get_perms_func),
18683         (plugin_times_older_than_recurse), (plugin_times_older_than),
18684         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
18685         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
18686         (add_to_char_array), (read_string), (read_uint), (read_enum),
18687         (load_pad_template), (load_feature), (load_plugin), (load_paths),
18688         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
18689         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
18690         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
18691         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
18692         (gst_xml_registry_rebuild):
18693         * gst/registries/gstlibxmlregistry.h:
18694         * tools/gst-compprep.c: (main):
18695         * tools/gst-inspect.c: (print_pad_templates_info):
18696         * tools/gst-xmlinspect.c: (print_element_info):
18697           Use libxml2 for registry parsing, use staticpadtemplates in
18698           elementfactories. Makes gst_init() +/- 10x faster.
18699
18700 2005-04-12  Wim Taymans  <wim@fluendo.com>
18701
18702         * gst/base/Makefile.am:
18703         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18704         (gst_basesink_pad_getcaps), (gst_basesink_init),
18705         (gst_basesink_event), (gst_basesink_change_state):
18706         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18707         (gst_basesrc_init), (gst_basesrc_query),
18708         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18709         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18710         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18711         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18712         (gst_basesrc_stop), (gst_basesrc_activate),
18713         (gst_basesrc_change_state):
18714         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18715         (helper_find_suggest), (gst_type_find_helper):
18716         * gst/base/gsttypefindhelper.h:
18717         * gst/elements/Makefile.am:
18718         * gst/elements/gstelements.c:
18719         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18720         (gst_fakesink_get_times), (gst_fakesink_event),
18721         (gst_fakesink_preroll), (gst_fakesink_render):
18722         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18723         (gst_fakesrc_init), (gst_fakesrc_event_handler),
18724         (gst_fakesrc_get_property), (gst_fakesrc_create),
18725         (gst_fakesrc_start), (gst_fakesrc_stop):
18726         * gst/elements/gstfakesrc.h:
18727         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
18728         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18729         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18730         (gst_filesrc_create_read), (gst_filesrc_create),
18731         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
18732         (gst_filesrc_start):
18733         * gst/elements/gsttypefindelement.c:
18734         (gst_type_find_element_have_type), (gst_type_find_element_init),
18735         (start_typefinding), (stop_typefinding), (push_buffer_store),
18736         (gst_type_find_element_handle_event),
18737         (gst_type_find_element_chain),
18738         (gst_type_find_element_checkgetrange),
18739         (gst_type_find_element_getrange), (do_typefind),
18740         (gst_type_find_element_activate),
18741         (gst_type_find_element_change_state):
18742         * gst/elements/gsttypefindelement.h:
18743         * gst/gstpipeline.c: (pipeline_bus_handler):
18744         Added typefind helper.
18745         Small preroll fix in the base sink.
18746         Disable typefind code in basesrc.
18747         Crude port of typefindelement.
18748         Fakesrc cleanups.
18749
18750
18751 2005-04-11  Wim Taymans  <wim@fluendo.com>
18752
18753         * check/gst/gstbus.c: (gstbus_suite):
18754         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
18755         * check/gstcheck.h:
18756           Fix up the timeout so that the test does not fail.
18757
18758 2005-04-06  Wim Taymans  <wim@fluendo.com>
18759
18760         * gst/base/README:
18761         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18762         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
18763         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18764         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18765         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18766         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18767         (gst_basesrc_stop), (gst_basesrc_activate),
18768         (gst_basesrc_change_state), (basesrc_find_peek),
18769         (basesrc_find_suggest), (gst_basesrc_type_find):
18770         * gst/base/gstbasesrc.h:
18771         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
18772         (gst_filesrc_class_init), (gst_filesrc_init),
18773         (gst_filesrc_finalize), (gst_filesrc_set_location),
18774         (gst_filesrc_set_property), (gst_filesrc_get_property),
18775         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18776         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18777         (gst_filesrc_create_read), (gst_filesrc_create),
18778         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
18779         * gst/elements/gstfilesrc.h:
18780         * gst/gstelement.c: (gst_element_get_state_func),
18781         (gst_element_lost_state), (gst_element_pads_activate):
18782         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18783         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18784         (gst_pad_pull_range):
18785         * gst/gstpad.h:
18786         More work on the generic source base class, implement seeking,
18787         query.
18788         Make filesrc extend the base source class.
18789         Added gst_pad_set_checkgetrange_function to GstPad.
18790
18791 2005-04-06  Andy Wingo  <wingo@pobox.com>
18792
18793         * pkgconfig/gstreamer-base.pc.in:
18794         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
18795
18796         * pkgconfig/Makefile.am:
18797         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
18798
18799 2005-04-04  Wim Taymans  <wim@fluendo.com>
18800
18801         * gst/base/Makefile.am:
18802         * gst/base/README:
18803         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18804         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18805         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18806         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
18807         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18808         (gst_basesrc_base_init), (gst_basesrc_class_init),
18809         (gst_basesrc_init), (gst_basesrc_get_formats),
18810         (gst_basesrc_get_query_types), (gst_basesrc_query),
18811         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
18812         (gst_basesrc_set_property), (gst_basesrc_get_property),
18813         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
18814         (gst_basesrc_loop), (gst_basesrc_activate),
18815         (gst_basesrc_change_state):
18816         * gst/base/gstbasesrc.h:
18817         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
18818         (gst_fakesrc_class_init), (gst_fakesrc_init),
18819         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
18820         (gst_fakesrc_get_property), (gst_fakesrc_create):
18821         * gst/elements/gstfakesrc.h:
18822         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
18823         (gst_filesrc_open_file), (gst_filesrc_loop),
18824         (gst_filesrc_activate), (filesrc_find_peek),
18825         (gst_filesrc_type_find):
18826         Made base source class, make fakesrc extend it.
18827         Add comments to basesink class.
18828         Some filesrc cleanup.
18829
18830 2005-03-31  David Schleef  <ds@schleef.org>
18831
18832         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
18833         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
18834         expected to link against libgstreamer.
18835         * gst/base/Makefile.am: link against libgstreamer
18836         * gst/elements/Makefile.am: same
18837
18838 2005-03-31  Andy Wingo  <wingo@pobox.com>
18839
18840         * tests/instantiate/Makefile.am:
18841         * tests/instantiate/caps.c: Add test to test speed of caps copy
18842         and free.
18843
18844         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
18845         GMemChunk to be fair.
18846
18847         * gst/gsttrashstack.h: Remove warning about using the fallback
18848         trash stack implementation, it's still faster than malloc.
18849
18850 2005-03-30  Andy Wingo  <wingo@pobox.com>
18851
18852         * tests/complexity.c: Add a copyright.
18853
18854 2005-03-31  Wim Taymans  <wim@fluendo.com>
18855
18856         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
18857         (gst_base_transform_class_init), (gst_base_transform_init),
18858         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
18859         (gst_base_transform_get_property),
18860         (gst_base_transform_sink_activate),
18861         (gst_base_transform_src_activate),
18862         (gst_base_transform_change_state):
18863         * gst/base/gstbasetransform.h:
18864         * gst/elements/gstidentity.c: (gst_identity_class_init),
18865         (gst_identity_event), (gst_identity_check_perfect),
18866         (gst_identity_transform), (gst_identity_start),
18867         (gst_identity_stop):
18868         Added start/stop methods to transform base class so subclasses 
18869         don't need to deal with state changes even.
18870
18871 2005-03-31  Wim Taymans  <wim@fluendo.com>
18872
18873         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
18874         (gst_event_new_discontinuous), (gst_event_discont_get_value):
18875         * gst/gstevent.h:
18876         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18877         (gst_pad_pull_range):
18878         Added rate to the discont event to prepare for variable speed
18879         and reverse playback.
18880
18881 2005-03-29  David Schleef  <ds@schleef.org>
18882
18883         * configure.ac:
18884         * testsuite/trigger/Makefile.am:
18885         * testsuite/trigger/trigger.c: A little example program to show
18886         how trigger-based elements can work.
18887
18888 2005-03-29  Wim Taymans  <wim@fluendo.com>
18889
18890         * gst/base/Makefile.am:
18891         * gst/base/README:
18892         * gst/base/gstbasesink.c: (gst_basesink_get_type),
18893         (gst_basesink_base_init), (gst_basesink_class_init),
18894         (gst_basesink_pad_getcaps), (gst_basesink_init),
18895         (gst_basesink_activate), (gst_basesink_change_state):
18896         * gst/base/gstbasesink.h:
18897         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
18898         (gst_base_transform_base_init), (gst_base_transform_finalize),
18899         (gst_base_transform_class_init), (gst_base_transform_init),
18900         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
18901         (gst_base_transform_event), (gst_base_transform_getrange),
18902         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
18903         (gst_base_transform_set_property),
18904         (gst_base_transform_get_property),
18905         (gst_base_transform_sink_activate),
18906         (gst_base_transform_src_activate),
18907         (gst_base_transform_change_state):
18908         * gst/base/gstbasetransform.h:
18909         * gst/elements/gstidentity.c: (gst_identity_finalize),
18910         (gst_identity_class_init), (gst_identity_init),
18911         (gst_identity_event), (gst_identity_check_perfect),
18912         (gst_identity_transform), (gst_identity_set_property),
18913         (gst_identity_get_property), (gst_identity_change_state):
18914         * gst/elements/gstidentity.h:
18915         * gst/gstelement.c: (gst_element_get_state_func),
18916         (gst_element_lost_state), (gst_element_pads_activate):
18917         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18918         (gst_pad_check_pull_range), (gst_pad_pull_range):
18919         * gst/gstpad.h:
18920         Simplify pad activation.
18921         Added function to check if pull_range can be performed.
18922         Error out when pulling inactive or flushing pads.
18923         Removed const from refcounted types as it does not make sense.
18924         Simplify pad templates in basesink
18925         Added base class for simple 1-to-1 transforms.
18926         Make identity subclass the base transform.
18927
18928 2005-03-29  Andy Wingo  <wingo@pobox.com>
18929
18930         * docs/libs/gstreamer-libs-overrides.txt: 
18931         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
18932         really don't understand what's going on, but like whatever. I want
18933         green buildbot!
18934
18935         * docs/gst/Makefile.am:
18936         * docs/libs/Makefile.am: Dist the overrides files.
18937
18938         * check/Makefile.am (clean-local): Remove .libs directories.
18939
18940         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
18941         elements to EXTRA_DIST, so po/ files are happy.
18942
18943         * po/POTFILES.in: Er, remove it here.
18944
18945         * po/POTFILES: Remove gstspider.c.
18946
18947         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
18948
18949         * docs/libs/gstreamer-libs-docs.sgml: 
18950         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
18951         bytestream.
18952
18953         * tests/complexity.c (main): Set the length of the preroll queue
18954         on the sinks to prevent a lockup.
18955
18956         * libs/gst/dataprotocol/Makefile.am: 
18957         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
18958         the same as the one in check/gst-libs/gdp.c.
18959
18960         * po/, docs/gst/: Commit automatic changes to docs and po files.
18961
18962         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
18963         the versioned libgstbase.
18964
18965         * check/Makefile.am: Depend on an unversioned gst-register, seems
18966         to make autoconf happier.
18967
18968         * gst/base/Makefile.am: Make libgstbase a versioned lib.
18969
18970 2005-03-28  Wim Taymans  <wim@fluendo.com>
18971
18972         * configure.ac:
18973         * docs/design/part-gstelement.txt:
18974         * docs/design/part-negotiation.txt:
18975         * docs/design/part-preroll.txt:
18976         * docs/design/part-scheduling.txt:
18977         * docs/design/part-states.txt:
18978         * gst/Makefile.am:
18979         * gst/base/Makefile.am:
18980         * gst/base/README:
18981         * gst/base/gstbasesink.c: (gst_basesink_get_template),
18982         (gst_basesink_base_init), (gst_basesink_class_init),
18983         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18984         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18985         (gst_basesink_set_pad_functions),
18986         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
18987         (gst_basesink_set_property), (gst_basesink_get_property),
18988         (gst_base_sink_get_template), (gst_base_sink_get_caps),
18989         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
18990         (gst_basesink_preroll_queue_push),
18991         (gst_basesink_preroll_queue_empty),
18992         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
18993         (gst_basesink_event), (gst_basesink_get_times),
18994         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
18995         (gst_basesink_chain_unlocked), (gst_basesink_chain),
18996         (gst_basesink_loop), (gst_basesink_activate),
18997         (gst_basesink_change_state):
18998         * gst/base/gstbasesink.h:
18999         * gst/elements/Makefile.am:
19000         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
19001         (gst_fakesink_class_init), (gst_fakesink_init),
19002         (gst_fakesink_set_property), (gst_fakesink_get_property),
19003         (gst_fakesink_get_times), (gst_fakesink_event),
19004         (gst_fakesink_preroll), (gst_fakesink_render),
19005         (gst_fakesink_change_state):
19006         * gst/elements/gstfakesink.h:
19007         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19008         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
19009         * gst/gstelement.c: (gst_element_add_pad),
19010         (gst_element_get_state_func), (gst_element_abort_state),
19011         (gst_element_commit_state), (gst_element_lost_state),
19012         (gst_element_set_state), (gst_element_pads_activate):
19013         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
19014         * gst/gstpipeline.c: (gst_pipeline_send_event),
19015         (gst_pipeline_change_state):
19016         Added state change code.
19017         Added/updated docs.
19018         Added sink base class, make fakesink extend the base class.
19019         Small cleanups in GstPipeline.
19020
19021 2005-03-26  David Schleef  <ds@schleef.org>
19022
19023         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
19024         is broken and should be implemented in a different library.
19025         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
19026         * gst/gst.h: remove gstcpu.h
19027         * gst/gstcpu.c: remove
19028         * gst/gstcpu.h: remove
19029         * gst/Makefile.am.future: Remove this file.  It's ancient.
19030
19031 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19032
19033         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19034         (gst_bin_send_event):
19035           Add default event/set_manager handlers. The set_manager handler
19036           takes care that the manager is distributed over kids that were
19037           already in the bin before the manager was set. The event handler
19038           is a utility virtual function that sends the event over all sinks,
19039           so that gst_element_send_event (bin, event); has the expected
19040           behaviour.
19041         * gst/gstpad.c: (gst_pad_event_default):
19042           Re-install default event handling for discontinuities, so that
19043           seeking works without requiring hacks in applications or extra
19044           code in sinks.
19045         * gst/gstpipeline.c: (gst_pipeline_class_init),
19046         (gst_pipeline_send_event):
19047           Half hack, half utility: set a pipeline to PAUSED for seek events,
19048           since that is the only way we can guarantee a/v sync. Means that
19049           you can do gst_element_seek (pipeline, method, pos); on a pipeline
19050           and it "just works".
19051
19052 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19053
19054         * gst/gstpipeline.c: (gst_pipeline_use_clock):
19055           Lock/unlock mismatch.
19056
19057 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19058
19059         * docs/faq/gst-uninstalled:
19060           add gst-plugins-base
19061         * docs/gst/Makefile.am:
19062           don't error out until docs are fixed
19063         * docs/gst/gstreamer.types:
19064           remove thread
19065
19066 2005-03-22  Wim Taymans  <wim@fluendo.com>
19067
19068         * check/Makefile.am:
19069         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
19070         * gst/gststructure.c: (gst_structure_set_valist),
19071         (gst_structure_copy_conditional):
19072         Activated more tests.
19073         Added message test.
19074         Added G_TYPE_POINTER to GstStructure.
19075         
19076
19077 2005-03-22  Wim Taymans  <wim@fluendo.com>
19078
19079         * docs/design/part-TODO.txt:
19080         * docs/design/part-events.txt:
19081         * docs/design/part-gstbin.txt:
19082         * docs/design/part-gstbus.txt:
19083         * docs/design/part-gstpipeline.txt:
19084         * docs/design/part-messages.txt:
19085         * gst/gstbus.c:
19086         * gst/gstmessage.c:
19087         Docs updates
19088
19089 2005-03-21  Wim Taymans  <wim@fluendo.com>
19090
19091         * gst/gstbus.c: (gst_bus_post):
19092         Fix copy-and-paste error.
19093
19094 2005-03-21  Wim Taymans  <wim@fluendo.com>
19095
19096         * check/Makefile.am:
19097         * gst/Makefile.am:
19098         * gst/elements/Makefile.am:
19099         * gst/elements/gstelements.c:
19100         * gst/elements/gstfakesink.c: (gst_fakesink_init),
19101         (gst_fakesink_event), (gst_fakesink_chain):
19102         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19103         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
19104         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
19105         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
19106         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19107         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
19108         (gst_fakesrc_loop), (gst_fakesrc_activate),
19109         (gst_fakesrc_change_state):
19110         * gst/elements/gstfakesrc.h:
19111         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
19112         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
19113         (gst_filesrc_open_file), (gst_filesrc_loop),
19114         (gst_filesrc_activate), (gst_filesrc_change_state),
19115         (filesrc_find_peek), (filesrc_find_suggest),
19116         (gst_filesrc_type_find):
19117         * gst/elements/gstidentity.c: (gst_identity_finalize),
19118         (gst_identity_class_init), (gst_identity_init),
19119         (gst_identity_proxy_getcaps), (identity_queue_push),
19120         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
19121         (gst_identity_getrange), (gst_identity_chain),
19122         (gst_identity_sink_loop), (gst_identity_src_loop),
19123         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
19124         (gst_identity_set_property), (gst_identity_get_property),
19125         (gst_identity_change_state):
19126         * gst/elements/gstidentity.h:
19127         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
19128         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
19129         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
19130         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
19131         (gst_tee_sink_activate):
19132         * gst/elements/gsttee.h:
19133         * gst/gst.c: (gst_register_core_elements), (init_post):
19134         * gst/gst.h:
19135         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19136         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19137         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19138         (gst_bin_change_state):
19139         * gst/gstbin.h:
19140         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19141         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19142         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19143         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19144         (gst_bus_set_sync_handler), (gst_bus_create_watch),
19145         (bus_watch_callback), (bus_watch_destroy),
19146         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19147         (poll_timeout), (gst_bus_poll):
19148         * gst/gstbus.h:
19149         * gst/gstcaps.h:
19150         * gst/gstdata.h:
19151         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19152         (gst_element_post_message), (gst_element_message_full),
19153         (gst_element_get_state_func), (gst_element_get_state),
19154         (gst_element_abort_state), (gst_element_commit_state),
19155         (gst_element_lost_state), (gst_element_set_state),
19156         (gst_element_pads_activate), (gst_element_change_state),
19157         (gst_element_dispose), (gst_element_set_manager_func),
19158         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19159         (gst_element_set_manager), (gst_element_get_manager),
19160         (gst_element_set_bus), (gst_element_get_bus),
19161         (gst_element_set_scheduler), (gst_element_get_scheduler):
19162         * gst/gstelement.h:
19163         * gst/gstevent.c: (gst_event_new_segment_seek),
19164         (gst_event_new_flush):
19165         * gst/gstevent.h:
19166         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19167         (_gst_message_free), (gst_message_get_type), (gst_message_new),
19168         (gst_message_new_eos), (gst_message_new_error),
19169         (gst_message_new_warning), (gst_message_new_tag),
19170         (gst_message_new_state_changed), (gst_message_new_application),
19171         (gst_message_get_structure), (gst_message_parse_tag),
19172         (gst_message_parse_state_changed), (gst_message_parse_error),
19173         (gst_message_parse_warning):
19174         * gst/gstmessage.h:
19175         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19176         (gst_real_pad_set_property), (gst_pad_set_active),
19177         (gst_pad_is_active), (gst_pad_set_blocked_async),
19178         (gst_pad_set_blocked), (gst_pad_is_blocked),
19179         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19180         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19181         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19182         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19183         (gst_pad_link_filtered), (gst_pad_relink_filtered),
19184         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19185         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19186         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19187         (gst_pad_set_caps), (gst_pad_configure_sink),
19188         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19189         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19190         (gst_real_pad_dispose), (gst_real_pad_finalize),
19191         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19192         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19193         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19194         * gst/gstpad.h:
19195         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19196         (pipeline_bus_handler), (gst_pipeline_change_state),
19197         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19198         * gst/gstpipeline.h:
19199         * gst/gstprobe.h:
19200         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19201         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19202         (gst_queue_link_src), (gst_queue_bufferalloc),
19203         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19204         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19205         (gst_queue_loop), (gst_queue_handle_src_event),
19206         (gst_queue_handle_src_query), (gst_queue_src_activate),
19207         (gst_queue_change_state):
19208         * gst/gstqueue.h:
19209         * gst/gstscheduler.c: (gst_scheduler_init),
19210         (gst_scheduler_dispose), (gst_scheduler_create_task),
19211         (gst_scheduler_factory_create):
19212         * gst/gstscheduler.h:
19213         * gst/gststructure.c: (gst_structure_get_type),
19214         (gst_structure_copy_conditional):
19215         * gst/gststructure.h:
19216         * gst/gsttaginterface.h:
19217         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19218         (gst_task_init), (gst_task_dispose), (gst_task_create),
19219         (gst_task_get_state), (gst_task_start), (gst_task_stop),
19220         (gst_task_pause):
19221         * gst/gsttask.h:
19222         * gst/gstthread.c:
19223         * gst/gstthread.h:
19224         * gst/gsttypes.h:
19225         * gst/schedulers/Makefile.am:
19226         * gst/schedulers/cothreads_compat.h:
19227         * gst/schedulers/entryscheduler.c:
19228         * gst/schedulers/faircothreads.c:
19229         * gst/schedulers/faircothreads.h:
19230         * gst/schedulers/fairscheduler.c:
19231         * gst/schedulers/gstbasicscheduler.c:
19232         * gst/schedulers/gstoptimalscheduler.c:
19233         * gst/schedulers/gthread-cothreads.h:
19234         * gst/schedulers/threadscheduler.c:
19235         (gst_thread_scheduler_task_get_type),
19236         (gst_thread_scheduler_task_class_init),
19237         (gst_thread_scheduler_task_init),
19238         (gst_thread_scheduler_task_start),
19239         (gst_thread_scheduler_task_stop),
19240         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19241         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19242         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19243         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19244         (plugin_init):
19245         * libs/gst/Makefile.am:
19246         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19247         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19248         (gst_file_pad_parent_set):
19249         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19250         (gst_dp_event_from_packet):
19251         * tests/complexity.c: (main):
19252         * tests/mass_elements.c: (main):
19253         * testsuite/states/locked.c: (message_received), (main):
19254         * testsuite/states/parent.c: (main):
19255         * tools/gst-inspect.c: (print_element_flag_info),
19256         (print_implementation_info), (print_pad_info):
19257         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19258         (main):
19259         * tools/gst-md5sum.c: (event_loop), (main):
19260         * tools/gst-typefind.c: (main):
19261         * tools/gst-xmlinspect.c: (print_element_info):
19262         Next big merge.
19263         Added GstBus for mainloop integration.
19264         Added GstMessage for sending notifications on the bus.
19265         Added GstTask as an abstraction for pipeline entry points.
19266         Removed GstThread.
19267         Removed Schedulers.
19268         Simplified GstQueue for multithreaded core.
19269         Made _link threadsafe, removed old capsnego.
19270         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19271         Added pad blocking functions.
19272         Reworked scheduling functions in GstPad to prepare for
19273         scheduling updates soon.
19274         Moved events out of data stream.
19275         Simplified GstEvent types.
19276         Added return values to push/pull.
19277         Removed clocking from GstElement.
19278         Added prototypes for state change function for next merge.
19279         Removed iterate from bins and state change management.
19280         Fixed some elements, disabled others for now.
19281         Fixed -inspect and -launch.
19282         Added check for GstBus.
19283
19284 2005-03-10  Wim Taymans  <wim@fluendo.com>
19285
19286         * docs/design/part-MT-refcounting.txt:
19287         * docs/design/part-clocks.txt:
19288         * docs/design/part-gstelement.txt:
19289         * docs/design/part-gstobject.txt:
19290         * docs/design/part-standards.txt:
19291         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19292         (gst_bin_remove_func), (gst_bin_remove):
19293         * gst/gstbin.h:
19294         * gst/gstbuffer.c:
19295         * gst/gstcaps.h:
19296         * testsuite/clock/clock1.c: (main):
19297         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19298         (main):
19299         * testsuite/dlopen/loadgst.c: (do_test):
19300         * testsuite/refcounting/bin.c: (add_remove_test1),
19301         (add_remove_test2), (main):
19302         * testsuite/refcounting/element.c: (main):
19303         * testsuite/refcounting/element_pad.c: (main):
19304         * testsuite/refcounting/pad.c: (main):
19305         * tools/gst-launch.c: (sigint_handler_sighandler):
19306         * tools/gst-typefind.c: (main):
19307         Doc updates.
19308         Added doc about clock.
19309         removed gst_bin_iterate_recurse_up(), marked methods
19310         for removal.
19311         Fix more testsuites.
19312
19313 2005-03-09  Wim Taymans  <wim@fluendo.com>
19314
19315         * gst/gstpad.c: (gst_pad_get_direction),
19316         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19317         (gst_pad_collect_valist):
19318         * testsuite/bins/interface.c: (main):
19319         * testsuite/caps/audioscale.c: (test_caps):
19320         * testsuite/caps/caps.c: (test1), (test2), (test3):
19321         * testsuite/caps/deserialize.c: (main):
19322         * testsuite/caps/enumcaps.c: (main):
19323         * testsuite/caps/filtercaps.c: (main):
19324         * testsuite/caps/intersect2.c: (main):
19325         * testsuite/caps/random.c: (main):
19326         * testsuite/caps/renegotiate.c: (my_fixate), (main):
19327         * testsuite/caps/sets.c: (check_caps):
19328         * testsuite/caps/simplify.c: (check_caps), (main):
19329         * testsuite/caps/subtract.c: (check_caps):
19330         Fix _pad_get_direction wrt ghostpads.
19331         Fix caps testsuite.
19332
19333 2005-03-09  Wim Taymans  <wim@fluendo.com>
19334
19335         * check/Makefile.am:
19336         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19337         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19338         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19339         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19340         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19341         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19342         (gst_bin_remove), (gst_bin_iterate_recurse_up),
19343         (bin_element_is_sink), (gst_bin_iterate_sinks),
19344         (gst_bin_iterate_all_by_interface):
19345         * gst/gstbin.h:
19346         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19347         (gst_element_change_state), (gst_element_dispose),
19348         (gst_element_finalize), (gst_element_set_loop_function):
19349         * gst/gstelement.h:
19350         * gst/gstiterator.c: (find_custom_fold_func):
19351         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19352         (gst_pad_collectv), (gst_pad_collect_valist),
19353         (gst_pad_template_new):
19354         * gst/gstpipeline.c: (gst_pipeline_class_init),
19355         (gst_pipeline_dispose), (gst_pipeline_set_property),
19356         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19357         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
19358         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
19359         * gst/gstutils.h:
19360         * gst/schedulers/entryscheduler.c:
19361         * gst/schedulers/gstbasicscheduler.c:
19362         (gst_basic_scheduler_cothreaded_chain),
19363         (gst_basic_scheduler_chain_add_element):
19364         * testsuite/bins/interface.c: (main):
19365         Added GstBin test.
19366         Added GstSystemClock test.
19367         Implemented clock distribution code in GstBin.
19368         Implemented iterate sinks method for future use.
19369         Rearranged gstelement.h
19370         Fix GstIterator comparison bug.
19371         Moved some code to GstPipeline, mostly clocking related.
19372
19373 2005-03-09  Wim Taymans  <wim@fluendo.com>
19374
19375         * configure.ac:
19376         * gst/gst_private.h:
19377         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19378         (gst_bin_remove_func), (gst_bin_remove),
19379         (gst_bin_get_by_name_recurse_up):
19380         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
19381         (gst_clock_id_compare_func), (gst_clock_id_wait),
19382         (gst_clock_id_wait_async), (gst_clock_init),
19383         (gst_clock_adjust_unlocked), (gst_clock_get_time):
19384         * gst/gstelement.h:
19385         * gst/gstinfo.c: (_gst_debug_init):
19386         * gst/gstobject.h:
19387         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19388         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
19389         * gst/gstpad.h:
19390         Bump version number, we're now 0.9.0
19391         Add future debugging category.
19392         Fix NULL _unref() in _get_by_name_recurse_up
19393         Rearrange gstpad.h.
19394         Update some docs.
19395
19396 2005-03-08  Wim Taymans  <wim@fluendo.com>
19397
19398         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
19399         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
19400         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
19401         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
19402         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
19403         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
19404         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
19405         * gst/elements/gstidentity.c: (gst_identity_class_init):
19406         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
19407         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
19408         * gst/elements/gstshaper.c: (gst_shaper_class_init):
19409         * gst/elements/gststatistics.c: (gst_statistics_class_init):
19410         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
19411         (gst_tee_link):
19412         * gst/gstelement.c: (gst_element_class_init),
19413         (gst_element_base_class_init), (gst_element_init),
19414         (gst_element_get_random_pad), (gst_element_wait_state_change),
19415         (gst_element_change_state), (gst_element_dispose),
19416         (gst_element_finalize), (gst_element_set_loop_function):
19417         * gst/gstelement.h:
19418         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
19419         * gst/gstthread.c: (gst_thread_class_init),
19420         (gst_thread_release_children_locks), (gst_thread_change_state):
19421         * gst/schedulers/gstbasicscheduler.c:
19422         (gst_basic_scheduler_loopfunc_wrapper),
19423         (gst_basic_scheduler_chain_wrapper),
19424         (gst_basic_scheduler_src_wrapper),
19425         (gst_basic_scheduler_remove_element):
19426         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
19427         Remove threadsafe properties. Fix elements because GObject
19428         complains when installing a property before declaring a
19429         set/get_property handler.
19430         Rearrange gstelement.h file, use STATE macros for state locks.
19431         Free mutexes in the finalize method instead of dispose.
19432
19433 2005-03-08  Wim Taymans  <wim@fluendo.com>
19434
19435         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19436         * gst/gstthread.c: (gst_thread_release_children_locks):
19437         Added parentage check.
19438         Fix build og GstThread again.
19439
19440 2005-03-08  Wim Taymans  <wim@fluendo.com>
19441
19442         * docs/design/part-MT-refcounting.txt:
19443         * docs/design/part-conventions.txt:
19444         * docs/design/part-gstobject.txt:
19445         * docs/design/part-relations.txt:
19446         * docs/design/part-standards.txt:
19447         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19448         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
19449         (gst_bin_get_by_name), (gst_bin_get_by_interface),
19450         (gst_bin_iterate_all_by_interface):
19451         * gst/gstbuffer.h:
19452         * gst/gstclock.h:
19453         * gst/gstelement.c: (gst_element_class_init),
19454         (gst_element_change_state), (gst_element_set_loop_function):
19455         * gst/gstelement.h:
19456         * gst/gstiterator.c:
19457         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
19458         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
19459         (gst_object_dispatch_properties_changed), (gst_object_set_name),
19460         (gst_object_set_parent), (gst_object_unparent),
19461         (gst_object_check_uniqueness):
19462         * gst/gstobject.h:
19463         Docs updates, clean up some headers.
19464
19465 2005-03-07  Wim Taymans  <wim@fluendo.com>
19466
19467         * check/.cvsignore:
19468         * check/Makefile.am:
19469         * check/gst-libs/.cvsignore:
19470         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
19471         * check/gst/.cvsignore:
19472         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
19473         (START_TEST), (gstbus_suite), (main):
19474         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
19475         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
19476         (gst_data_suite), (main):
19477         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
19478         (add_fold_func), (gstiterator_suite), (main):
19479         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
19480         (thread_name_object), (thread_name_object_default),
19481         (gst_object_name_compare), (gst_object_suite), (main):
19482         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
19483         (gst_pad_suite), (main):
19484         * check/gstcheck.c: (gst_check_log_message_func),
19485         (gst_check_log_critical_func), (gst_check_init):
19486         * check/gstcheck.h:
19487         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19488         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
19489         Added checks.
19490
19491 2005-03-07  Wim Taymans  <wim@fluendo.com>
19492
19493         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19494         (gst_list_iterator_next), (gst_list_iterator_resync),
19495         (gst_list_iterator_free), (gst_iterator_new_list),
19496         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
19497         (gst_iterator_free), (gst_iterator_push), (filter_next),
19498         (filter_resync), (filter_uninit), (filter_free),
19499         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
19500         (gst_iterator_foreach), (find_custom_fold_func),
19501         (gst_iterator_find_custom):
19502         * gst/gstiterator.h:
19503         Added missing files.
19504
19505 2005-03-07  Wim Taymans  <wim@fluendo.com>
19506
19507         * Makefile.am:
19508         * configure.ac:
19509         * docs/design/part-MT-refcounting.txt:
19510         * docs/design/part-conventions.txt:
19511         * docs/design/part-gstobject.txt:
19512         * docs/design/part-relations.txt:
19513         * examples/mixer/mixer.c: (main):
19514         * examples/thread/thread.c: (eos), (main):
19515         * gst/Makefile.am:
19516         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
19517         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
19518         (gst_spider_plug_from_srcpad):
19519         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
19520         (gst_spider_identity_change_state),
19521         (gst_spider_identity_sink_loop_type_finding):
19522         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
19523         * gst/elements/gstidentity.c: (gst_identity_init):
19524         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
19525         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
19526         * gst/elements/gsttypefindelement.c: (free_entry):
19527         * gst/gst.c:
19528         * gst/gst.h:
19529         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
19530         (gst_bin_set_clock_func), (gst_bin_auto_clock),
19531         (gst_bin_set_index), (gst_bin_set_element_sched),
19532         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
19533         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
19534         (gst_bin_iterate_elements), (iterate_child_recurse),
19535         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
19536         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
19537         (compare_interface), (gst_bin_get_by_interface),
19538         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
19539         * gst/gstbin.h:
19540         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
19541         (gst_buffer_default_free), (gst_buffer_default_copy),
19542         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
19543         (gst_buffer_create_sub):
19544         * gst/gstbuffer.h:
19545         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
19546         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
19547         (gst_caps_unref), (gst_static_caps_get),
19548         (gst_caps_remove_and_get_structure), (gst_caps_append),
19549         (gst_caps_append_structure), (gst_caps_remove_structure),
19550         (gst_caps_copy_nth), (gst_caps_set_simple),
19551         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
19552         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
19553         (gst_caps_structure_intersect_field), (gst_caps_intersect),
19554         (gst_caps_structure_subtract_field), (gst_caps_subtract),
19555         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
19556         (gst_caps_structure_figure_out_union),
19557         (gst_caps_switch_structures), (gst_caps_do_simplify),
19558         (gst_caps_replace), (gst_caps_from_string),
19559         (gst_caps_copy_conditional):
19560         * gst/gstcaps.h:
19561         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
19562         (_gst_clock_id_free), (gst_clock_id_unref),
19563         (gst_clock_id_compare_func), (gst_clock_id_wait),
19564         (gst_clock_id_wait_async), (gst_clock_class_init),
19565         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
19566         (gst_clock_get_time), (gst_clock_set_time_adjust),
19567         (gst_clock_set_property), (gst_clock_get_property):
19568         * gst/gstclock.h:
19569         * gst/gstcompat.h:
19570         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
19571         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
19572         * gst/gstdata.h:
19573         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19574         (gst_element_requires_clock), (gst_element_provides_clock),
19575         (gst_element_set_clock), (gst_element_clock_wait),
19576         (gst_element_wait), (gst_element_set_time_delay),
19577         (gst_element_is_indexable), (gst_element_add_pad),
19578         (gst_element_add_ghost_pad), (gst_element_remove_pad),
19579         (pad_compare_name), (gst_element_get_static_pad),
19580         (gst_element_request_pad), (gst_element_get_request_pad),
19581         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
19582         (gst_element_class_get_pad_template_list),
19583         (gst_element_class_get_pad_template), (gst_element_error_func),
19584         (gst_element_get_random_pad), (gst_element_get_event_masks),
19585         (gst_element_send_event), (gst_element_seek),
19586         (gst_element_get_query_types), (gst_element_query),
19587         (gst_element_get_formats), (gst_element_convert),
19588         (gst_element_is_locked_state), (gst_element_set_locked_state),
19589         (gst_element_sync_state_with_parent), (gst_element_change_state),
19590         (gst_element_finalize), (gst_element_yield),
19591         (gst_element_interrupt), (gst_element_set_scheduler),
19592         (gst_element_get_scheduler), (gst_element_set_loop_function):
19593         * gst/gstelement.h:
19594         * gst/gstevent.h:
19595         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
19596         (gst_format_get_by_nick), (gst_format_get_details),
19597         (gst_format_iterate_definitions):
19598         * gst/gstformat.h:
19599         * gst/gstindex.c: (gst_index_gtype_resolver):
19600         * gst/gstinfo.c:
19601         * gst/gstinfo.h:
19602         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
19603         (gst_mem_chunk_free):
19604         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19605         (gst_object_ref), (gst_object_unref), (gst_object_sink),
19606         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
19607         (gst_object_dispatch_properties_changed),
19608         (gst_object_set_name_default), (gst_object_set_name),
19609         (gst_object_get_name), (gst_object_set_name_prefix),
19610         (gst_object_get_name_prefix), (gst_object_set_parent),
19611         (gst_object_get_parent), (gst_object_unparent),
19612         (gst_object_check_uniqueness), (gst_object_save_thyself),
19613         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
19614         (gst_object_set_property), (gst_object_get_property),
19615         (gst_object_get_path_string):
19616         * gst/gstobject.h:
19617         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
19618         (gst_real_pad_init), (gst_real_pad_get_property),
19619         (gst_pad_custom_new), (gst_pad_get_direction),
19620         (gst_pad_set_active), (gst_pad_is_active),
19621         (gst_pad_set_event_function), (gst_pad_is_linked),
19622         (gst_pad_link_free), (gst_pad_link_intersect),
19623         (gst_pad_link_fixate), (gst_pad_set_caps),
19624         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
19625         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
19626         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
19627         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
19628         (gst_pad_get_caps), (gst_pad_peer_get_caps),
19629         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
19630         (gst_pad_realize), (gst_pad_get_allowed_caps),
19631         (gst_real_pad_dispose), (gst_real_pad_finalize),
19632         (gst_pad_collectv), (gst_pad_collect_valist),
19633         (gst_pad_template_dispose), (gst_pad_template_new),
19634         (gst_pad_get_internal_links):
19635         * gst/gstpad.h:
19636         * gst/gstpipeline.c: (gst_pipeline_dispose),
19637         (gst_pipeline_change_state):
19638         * gst/gstpipeline.h:
19639         * gst/gstplugin.c:
19640         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
19641         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
19642         * gst/gstpluginfeature.h:
19643         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
19644         * gst/gstquery.c: (_gst_query_type_initialize),
19645         (gst_query_type_register), (gst_query_type_get_by_nick),
19646         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
19647         * gst/gstquery.h:
19648         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
19649         * gst/gstscheduler.c: (gst_scheduler_add_element),
19650         (gst_scheduler_factory_create):
19651         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19652         (gst_structure_free), (gst_structure_set_name),
19653         (gst_structure_id_set_value), (gst_structure_set_value),
19654         (gst_structure_set_valist), (gst_structure_remove_field),
19655         (gst_structure_remove_fields),
19656         (gst_structure_remove_fields_valist),
19657         (gst_structure_remove_all_fields), (gst_structure_foreach),
19658         (gst_structure_map_in_place),
19659         (gst_caps_structure_fixate_field_nearest_int),
19660         (gst_caps_structure_fixate_field_nearest_double):
19661         * gst/gststructure.h:
19662         * gst/gstsystemclock.c: (gst_system_clock_class_init),
19663         (gst_system_clock_init), (gst_system_clock_dispose),
19664         (gst_system_clock_async_thread),
19665         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
19666         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
19667         * gst/gstsystemclock.h:
19668         * gst/gsttag.c: (gst_tag_list_add_value_internal),
19669         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
19670         * gst/gsttaginterface.c:
19671         * gst/gstthread.c: (gst_thread_dispose),
19672         (gst_thread_release_children_locks), (gst_thread_change_state),
19673         (gst_thread_main_loop):
19674         * gst/gsttrashstack.h:
19675         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
19676         * gst/gsttypes.h:
19677         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
19678         (gst_element_request_pad), (gst_element_get_pad_from_template),
19679         (gst_element_request_compatible_pad),
19680         (gst_element_get_compatible_pad_filtered),
19681         (gst_element_get_compatible_pad), (gst_element_state_get_name),
19682         (gst_element_link_pads_filtered), (gst_element_link_filtered),
19683         (gst_element_link_many), (gst_element_link),
19684         (gst_element_link_pads), (gst_element_unlink_pads),
19685         (gst_element_unlink_many), (gst_element_unlink),
19686         (gst_pad_can_link_filtered), (gst_pad_can_link),
19687         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
19688         (gst_object_default_error), (gst_bin_add_many),
19689         (gst_bin_remove_many), (gst_element_populate_std_props),
19690         (gst_element_class_install_std_props), (gst_buffer_merge),
19691         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
19692         (link_fold_func), (gst_pad_proxy_setcaps):
19693         * gst/gstutils.h:
19694         * gst/gstvalue.c: (gst_value_deserialize_string):
19695         * gst/parse/grammar.y:
19696         * gst/schedulers/gstbasicscheduler.c:
19697         (gst_basic_scheduler_cothreaded_chain),
19698         (gst_basic_scheduler_chain_recursive_add),
19699         (gst_basic_scheduler_pad_link):
19700         * gst/schedulers/gstoptimalscheduler.c:
19701         (get_group_schedule_function),
19702         (gst_opt_scheduler_state_transition),
19703         (gst_opt_scheduler_add_element), (element_get_reachables_func):
19704         * libs/gst/bytestream/bytestream.c:
19705         * libs/gst/dataprotocol/dataprotocol.c:
19706         (gst_dp_header_from_buffer):
19707         * po/nb.po:
19708         * po/ru.po:
19709         * tests/threadstate/threadstate2.c: (eos):
19710         * tools/gst-compprep.c: (main):
19711         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
19712         (print_pad_info), (print_children_info):
19713         * tools/gst-launch.c: (idle_func), (main):
19714         * tools/gst-md5sum.c: (idle_func), (main):
19715         * tools/gst-xmlinspect.c: (print_element_info):
19716         First THREADED backport attempt, focusing on adding locks and
19717         making sure the API is threadsafe. Needs more work. More docs
19718         follow this week.
19719
19720 2005-02-24  Andy Wingo  <wingo@pobox.com>
19721
19722         * tests/bench-complexity.scm:
19723         * tests/complexity.gnuplot: New files, good for running complexity
19724         benchmarks.
19725
19726         * tests/Makefile.am:
19727         * tests/complexity.c: New test, sets up N elements, at each level
19728         teeing into M streams per element. Eeeenteresting.
19729
19730         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
19731         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
19732         running bench-mass_elements.scm.
19733
19734         * tests/bench-mass_elements.scm: New script, runs mass_elements
19735         for various numbers of identities, outputting the results to a
19736         file. Requires guile 1.6. Just for testing.
19737
19738 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19739
19740         * gst/schedulers/fairscheduler.c:
19741           compile with debug disabled
19742
19743 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19744
19745         * configure.ac:
19746           hunting season on 0.9 is now OPEN