1 2008-10-06 Stefan Kost <ensonic@users.sf.net>
3 * docs/pwg/advanced-request.xml:
4 Fix 0.8 api usage in example. Fixes #554561
6 * docs/pwg/appendix-porting.xml:
7 Change 0.9 to 0.10 here.
9 2008-10-06 Stefan Kost <ensonic@users.sf.net>
11 * docs/manual/basics-data.xml:
12 Change "event-event interaction" to "element-element interaction".
13 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
16 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
19 Back to development -> 0.10.21.1
21 === release 0.10.21 ===
23 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
26 releasing 0.10.21, "Take These Things From Me"
28 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
33 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
35 * libs/gst/base/gstbasetransform.c:
36 * plugins/elements/gstcapsfilter.c:
37 * tests/check/Makefile.am:
38 * tests/check/elements/.cvsignore:
39 * tests/check/elements/capsfilter.c:
40 Fix assertion in basetransform when the subclass chooses not to
41 allocate a buffer in prepare_buffer(), and make capsfilter error out
42 cleanly if requested to apply caps that don't completely specify the
45 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
47 * libs/gst/base/gstbasetransform.c:
48 (gst_base_transform_prepare_output_buffer):
49 Take new caps ref because our old one might have been gone when the
50 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
52 2008-09-15 Stefan Kost <ensonic@users.sf.net>
55 Do not probe availability of check unit test library when cross
56 compiling, as test would not work anyway. Also cleanup verbose output
57 of the check test. Fixes #551952.
59 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
61 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
63 * gst/gstelement.c: (gst_element_sync_state_with_parent):
64 Avoid leaking the parent ref when we fail changing the state of the
65 element using gst_element_sync_state_with_parent(). Fixes #551978.
67 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
69 * docs/manual/intro-motivation.xml::
70 Remove some bits that no longer apply, update others (#551642).
72 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
83 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
85 * win32/common/config.h.in:
86 Add GST_DATADIR, hard-code cpu to x86.
88 * win32/common/libgstreamer.def:
91 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
94 Fix Since: markers for new geo tags.
96 2008-09-02 Stefan Kost <ensonic@users.sf.net>
99 Fix actual tag name define after renaming from altitude to elevation.
101 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
103 * gst/gstpad.c: (add_unref_pad_to_list),
104 (gst_pad_get_internal_links_default):
105 Add fallback when calling the deprecated function on an element that
106 implements the new internal_link handler.
108 2008-09-01 Stefan Kost <ensonic@users.sf.net>
110 * docs/gst/gstreamer-sections.txt:
113 Add new tags for geo location and clarify purpose of existing location
116 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
118 Patch by: Olivier Crete <tester at tester dot ca>
120 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
121 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
122 Use thread-safe internal links iterator. Fixes #549504.
124 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
126 Based on patch by: Olivier Crete <tester at tester dot ca>
128 * docs/gst/gstreamer-sections.txt:
129 * win32/common/libgstreamer.def:
130 * gst/gstpad.c: (gst_pad_init),
131 (gst_pad_set_iterate_internal_links_function),
132 (int_link_iter_data_free), (iterate_pad),
133 (gst_pad_iterate_internal_links_default),
134 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
136 Add threadsafe replacement functions for getting internal links of an
137 element. Deprecate the old internal links functions.
138 API:GstPad::gst_pad_set_iterate_internal_links_function()
139 API:GstPad::GstPadIterIntLinkFunction
140 API:GstPad::gst_pad_iterate_internal_links()
141 API:GstPad::gst_pad_iterate_internal_links_default()
143 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
144 (gst_proxy_pad_init):
145 Implement threadsafe internal links.
147 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
148 Unit test for internal links on tee. See #549504.
150 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
152 * tests/check/Makefile.am:
153 libs/transform1 test requires libs/test_transform.c
155 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
157 * gst/gstpad.c: (gst_pad_get_internal_links_default):
158 Die evil deadlock, die !
160 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
162 * gst/gstutils.c: (gst_element_get_compatible_pad):
163 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
164 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
165 Fix all leaks due to the bug in gst_pad_template_new() by which it does
166 not steal the refcount of the given caps as stated.
168 REVERT THIS COMMIT ONCE FIXED !
169 REVERT THIS COMMIT ONCE FIXED !
170 REVERT THIS COMMIT ONCE FIXED !
171 REVERT THIS COMMIT ONCE FIXED !
172 REVERT THIS COMMIT ONCE FIXED !
173 REVERT THIS COMMIT ONCE FIXED !
175 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
179 After 3 years it's about time to revise the documentation of the
182 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
184 * gst/gstpad.c: (gst_pad_get_internal_links_default):
185 Make the internal links function less thread-unsafe and add some
188 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
191 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
192 build with --disable-gst-debug.
194 2008-08-28 David Schleef <ds@schleef.org>
196 * gst/gstpadtemplate.c: Revert last change, since it breaks
197 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
198 but shouldn't be enabled until we've released fixed versions
199 of -good and -ffmpeg.
201 2008-08-28 Stefan Kost <ensonic@users.sf.net>
204 Put the gst_object_get_name() back in.
206 2008-08-28 Stefan Kost <ensonic@users.sf.net>
208 * gst/gstpadtemplate.c:
209 The old behaviour was that gst_pad_template_new() takes ownership of
210 the caps. As we now call g_object_new() which calls g_object_set() and
211 which copies the caps, we have to unref them to not leak them. Fixes
214 2008-08-28 Stefan Kost <ensonic@users.sf.net>
217 Don't segfault on input like "tel:+1-123-555-1234".
219 2008-08-27 Stefan Kost <ensonic@users.sf.net>
222 Due to popular request also include ObjectType in
223 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
225 2008-08-26 David Schleef <ds@schleef.org>
227 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
228 src_val must be positive, because that's not a requirement.
229 This causes problems with converting negative granulepos
231 * gst/gstquery.c: Same, gst_query_new_convert().
233 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
235 * gst/gstclock.c: (gst_clock_add_observation):
236 Add some more debugging to the clock slaving code.
238 * win32/common/libgstbase.def:
239 Add new basetransform method.
241 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
243 * gst/gstbin.c: (gst_bin_element_set_state):
244 Take the (recursive) state lock between getting the locked state of an
245 element and changing the element state. This allows the application to
246 lock an element's state and then change its state without races.
248 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
250 * gst/gstbin.c: (gst_bin_element_set_state):
251 When an element is in the locked state we still want to update the
252 base_time of the element.
254 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
256 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
257 Use the result from gst_pad_set_caps() instead of assuming the element
258 always accepted the caps computed by the default negotiate function.
260 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
262 * docs/libs/gstreamer-libs-sections.txt:
263 * libs/gst/base/gstbasetransform.c:
264 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
265 (gst_base_transform_chain), (gst_base_transform_suggest),
266 (gst_base_transform_reconfigure):
267 * libs/gst/base/gstbasetransform.h:
268 Implement method for reconfiguring basetransform.
269 API: GstBaseTransform::gst_base_transform_reconfigure()
271 2008-08-20 Stefan Kost <ensonic@users.sf.net>
273 patch by: Murray Cumming <murrayc@murrayc.com>
276 Mention that this is just like gst_buffer_merge() but with extra
277 unreffing for C coders. Advise language bindings not to wrap it.
280 Also fix file comment.
282 2008-08-20 Stefan Kost <ensonic@users.sf.net>
284 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
286 * plugins/elements/gstfakesink.c:
287 * plugins/elements/gstfakesrc.c:
288 Call super::event() when not handling it. Fixes #544855.
290 2008-08-19 Michael Smith <msmith@songbirdnest.com>
292 Patch by: Alessandro Decina <alessandro@nnva.org>
293 * plugins/elements/gstfilesrc.c:
294 Use 64 bit variants of stat functions on win32, to enable support
295 of large files there.
298 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
300 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
301 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
302 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
303 (gst_base_sink_get_position), (gst_base_sink_change_state):
304 Improve position reporting in the flushing state.
305 Also report the position when we are not yet prerolled but we
306 have a newsegment event. Fixes #543444.
307 Improve the pull-based negotiation code.
309 * tests/check/elements/fakesink.c: (GST_START_TEST),
311 Add testcase for position reporting while flushing in PAUSED and
314 * tests/check/generic/sinks.c: (GST_START_TEST):
315 Update unit-test, we can now query the position as soon as we receive a
318 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
320 Based on patch by: Jason Zhao <e3423c at motorola dot com>
322 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
323 When the subclass event handler releases the PREROLL_LOCK, we could be
324 in the flushing state and we have to ignore the event. Fixes #548394.
326 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
328 * tools/gst-launch.1.in:
329 Document GST_REGISTRY_UPDATE environment variable.
331 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
333 * libs/gst/base/gstbasetransform.c:
334 (gst_base_transform_prepare_output_buffer):
335 If the element is configured in passthrough mode but the
336 prepare_output_buffer gave us a new output buffer, discard that buffer
337 and reuse the input buffer.
339 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
341 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
343 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
344 (gst_tee_request_new_pad), (gst_tee_release_pad),
345 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
346 * plugins/elements/gsttee.h:
347 Protect pad_alloc with a new lock so that we can be sure that nothing is
348 performing a pad_alloc when removing the pad. Fixes #547835.
350 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
351 (buffer_alloc_harness_teardown), (app_thread_func),
352 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
353 Added testcase for shutdown race.
355 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
360 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
362 * libs/gst/base/gstbasetransform.c:
363 (gst_base_transform_prepare_output_buffer),
364 (gst_base_transform_buffer_alloc):
365 Go over the buffer_alloc function again and make sure we always end up
368 Avoid doing pad alloc when we have a pending suggestion because we
369 cannot yet deal with changing caps in that case. Fixes #547728
371 2008-08-14 Stefan Kost <ensonic@users.sf.net>
373 patch by: Luc Pionchon <luc.pionchon@nokia.com>
375 * docs/manual/advanced-clocks.xml:
376 * docs/manual/clocks.png:
377 * docs/manual/diagrams-clocks.svg:
378 Add one more image showing different times together with a describing
379 paragraph. Fixes #547729.
381 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
383 * win32/common/libgstbase.def:
386 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
388 * libs/gst/base/gstbasetransform.c:
389 (gst_base_transform_transform_caps),
390 (gst_base_transform_prepare_output_buffer),
391 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
392 Don't overwrite the outsize when calculating the expected size of a new
393 buffer because we still need it in case we cannot process the new
395 When converting the size of the new buffer to an upstream size, actually
396 use the expected size of the buffer, not some other random value.
397 Use an atomic int to signal that a new upstream caps suggestion is
399 When we can convert the current buffer to a new format, check if the
400 buffer size is of the expected size and allocate a new buffer of the
401 expected size when this is not the case. Fixes #546883.
403 * tests/check/libs/transform1.c: (GST_START_TEST):
404 remove ifdeffed code from the unit test.
406 2008-08-12 Stefan Kost <ensonic@users.sf.net>
408 * pkgconfig/gstreamer-uninstalled.pc.in:
409 * pkgconfig/gstreamer.pc.in:
410 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
411 called gstcontroller-0.10.
413 2008-08-12 Stefan Kost <ensonic@users.sf.net>
415 * gst/gstchildproxy.h:
417 Remove double interface from doc-string.
419 2008-08-12 Stefan Kost <ensonic@users.sf.net>
421 * libs/gst/base/gstbasesrc.c:
422 * libs/gst/base/gstbasetransform.c:
423 Fix headings in docs and gtk-doc warnings.
425 2008-08-11 Michael Smith <msmith@songbirdnest.com>
427 * gst/gstregistrybinary.c:
428 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
432 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
434 * libs/gst/base/gstbasetransform.c:
435 (gst_base_transform_buffer_alloc):
436 Fix a "may be used unitialized" warning.
438 2008-08-11 Stefan Kost <ensonic@users.sf.net>
440 * docs/gst/gstreamer-sections.txt:
442 Document preset-iface vmethods.
444 2008-08-11 Stefan Kost <ensonic@users.sf.net>
446 * docs/manual/advanced-interfaces.xml:
447 Turn thoughts about HAL into a note-tag. Remove mentioning that is
448 only used to discover devices.
450 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
452 Patch by: Frederic Crozat <fcrozat@mandriva.org>
454 * gst/gst.c: (init_pre):
455 Make sure gettext returns translations in UTF-8 encoding rather
456 than in the current locale encoding (#546822).
458 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
460 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
463 * tests/check/gst/gstcaps.c: (GST_START_TEST):
464 Improve unit test subset tests and add a testcase for the subset failure
467 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
468 Improve subtraction unit test.
470 2008-08-07 Stefan Kost <ensonic@users.sf.net>
472 * plugins/elements/gsttee.c:
473 Unlock, instead of locking again.
475 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
478 Clarify the docs a bit more.
480 2008-08-05 Stefan Kost <ensonic@users.sf.net>
482 * tests/examples/metadata/read-metadata.c:
483 Don't leak old taglist.
485 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
487 Patch by: Olivier Crete <tester at tester dot ca>
489 * gst/gststructure.c:
490 (gst_structure_fixate_field_nearest_fraction):
491 Avoid overflows in fixation code when dealing with MAXINT values, which
495 * tests/check/gst/gststructure.c: (GST_START_TEST):
496 Make a unit test to check the fix.
498 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
500 * plugins/elements/gstcapsfilter.c: (copy_func),
501 (gst_capsfilter_set_property):
502 Use new caps suggestion feature of basetransform to request a caps
503 negotiation upstream.
505 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
507 * docs/libs/gstreamer-libs-sections.txt:
509 API: GstBaseTransform::gst_base_transform_suggest()
511 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
512 (gst_base_transform_init), (gst_base_transform_transform_caps),
513 (gst_base_transform_transform_size),
514 (gst_base_transform_configure_caps),
515 (gst_base_transform_can_transform),
516 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
517 (gst_base_transform_prepare_output_buffer),
518 (gst_base_transform_buffer_alloc),
519 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
520 (gst_base_transform_chain), (gst_base_transform_activate),
521 (gst_base_transform_set_passthrough),
522 (gst_base_transform_is_passthrough),
523 (gst_base_transform_set_in_place),
524 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
525 (gst_base_transform_set_qos_enabled),
526 (gst_base_transform_is_qos_enabled),
527 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
528 (gst_base_transform_reconfigure):
529 * libs/gst/base/gstbasetransform.h:
530 Rewrite of basetransform to perform negotiation outside of the
531 buffer_alloc functions. Fixes #545853.
533 * tests/check/libs/transform1.c: (GST_START_TEST),
537 2008-08-05 Stefan Kost <ensonic@users.sf.net>
539 * tests/check/gst/gstpreset.c:
540 Only run preset tests when $HOME is writable. Preliminary fix for
543 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
545 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
546 (gst_bin_change_state_func), (bin_handle_async_done),
547 (gst_bin_handle_message_func):
548 Fix race for bins that simulate ASYNC state changes by inserting
549 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
550 pending ASYNC messages even when the bin does not have ASYNC children.
551 We note detect this behaviour because we will receive an ASYNC message
552 that is originating from the bin itself.
553 Fixes races with decodebin2 state changes.
555 * tests/check/gst/gstbin.c: (GST_START_TEST):
558 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
560 * gst/gsttaglist.c: (_gst_tag_initialize):
563 2008-08-04 Stefan Kost <ensonic@users.sf.net>
566 Argh. actually save the text before committing. Now adds
567 gst_tag_merge_strings_with_comma() to gst_tag_register().
569 2008-08-04 Stefan Kost <ensonic@users.sf.net>
573 Do as tim pointed out and actually register the new tag. Also improve
574 te docs and use gst_tag_merge_strings_with_comma() method to allow
575 retriving all keywords merged in one list.
577 2008-08-01 Stefan Kost <ensonic@users.sf.net>
580 * docs/gst/gstreamer.types:
581 Revert 'accidential' change of the configure option removal. We still
582 need to generate the types file in configure --disable-load-save.
584 2008-08-01 Stefan Kost <ensonic@users.sf.net>
586 * docs/gst/gstreamer-sections.txt:
588 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
590 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
592 * gst/gstpadtemplate.c:
593 (gst_pad_template_class_init), (gst_static_pad_template_get),
594 (gst_pad_template_new), (gst_pad_template_pad_created),
595 (gst_pad_template_set_property), (gst_pad_template_get_property):
596 Add "name-template", "direction", "presence" and "caps" properties,
597 so that gst_pad_template_new() is just a thin wrapper around
598 g_object_new(), which is better for bindings. (Fixes: #539772)
600 2008-07-31 Michael Smith <msmith@songbirdnest.com>
603 Be more liberal in what URIs we accept.
604 Do not unescape bits of the URI for no apparent reason before passing to
605 the element. Fixes #545352.
607 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
609 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
612 Include gstconfig.h as macros from it are used. Fixes bug #545607.
614 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
617 * docs/gst/gstreamer-sections.txt:
618 * docs/gst/gstreamer.types:
619 * docs/gst/gstreamer.types.in:
622 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
623 * gst/gstconfig.h.in:
624 * gst/gstelement.c: (gst_element_get_index):
625 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
626 (gst_registry_binary_load_feature),
627 (gst_registry_binary_read_cache):
628 * gst/gstregistryxml.c: (load_feature),
629 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
630 * plugins/Makefile.am:
632 * tools/gst-inspect.c: (print_index_info), (print_element_list),
633 (print_plugin_features), (print_element_features):
634 * tools/gst-xmlinspect.c: (print_event_masks),
635 (print_element_info):
636 * win32/common/gstconfig.h:
637 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
639 Disabling the indexers and URI handler code will only reduce the
640 required amount of memory by a very small amount but on the other hand
641 requires much more maintaince work. Apart from that many places of
642 code are broken when disabling them.
644 Disabling the enum types doesn't reduce the required amount of memory
645 by more than a few bytes and makes it hard to fix bugs like #539772,
646 i.e. use the enums as GObject properties.
648 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
650 * docs/design/part-TODO.txt:
651 Add some thoughts and problems with upstream renegotiation.
653 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
655 * gst/gstpad.c: (gst_pad_acceptcaps_default),
656 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
657 Remove silly redundant debug.
658 Add some more debug info.
659 Clarify the docs regarding new caps received from pad_alloc.
661 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
663 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
664 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
665 Make setting the caps more threadsafe.
667 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
669 * docs/design/part-element-transform.txt:
672 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
674 * plugins/elements/gstqueue.c: (gst_queue_init),
675 (gst_queue_acceptcaps):
676 Add and use a custom acceptcaps function instead of falling back to the
677 potentially less optimized default implementation.
679 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
681 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
682 Only sanity-check the buffer size if requested_caps == buffer_caps
683 (ie. don't take pad caps into account, they're not relevant here)
685 2008-07-29 Stefan Kost <ensonic@users.sf.net>
687 * plugins/elements/gsttee.c:
688 * plugins/elements/gsttee.h:
689 Reverting as not everything is clear yet. Needs some general design
692 2008-07-29 Stefan Kost <ensonic@users.sf.net>
695 ChangeLog surgery for tee commit.
697 2008-07-29 Stefan Kost <ensonic@users.sf.net>
699 * docs/gst/gstreamer-sections.txt:
700 Cleanup section-file.
702 2008-07-29 Stefan Kost <ensonic@users.sf.net>
704 * plugins/elements/gsttee.c:
705 * plugins/elements/gsttee.h:
706 Relay tag events in tee. Fixes parts of #474016.
707 Downgrades 3 reoccurring debugs to log.
709 2008-07-28 Michael Smith <msmith@songbirdnest.com>
712 * libs/gst/Makefile.am:
713 Build the net library if we have winsock2.
715 2008-07-26 Stefan Kost <ensonic@users.sf.net>
717 patch by: Luc Pionchon <luc.pionchon@nokia.com>
719 * docs/manual/advanced-threads.xml:
720 * docs/manual/diagrams-pipelines.svg:
721 * docs/manual/hello-world.png:
722 * docs/manual/linked-elements.png:
723 * docs/manual/mime-world.png:
724 * docs/manual/queue.png:
725 * docs/manual/thread-buffering.png:
726 * docs/manual/thread-synchronizing.png:
727 Replace one diagram with two separate ones and updates others.
730 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
733 Fix link in documentation.
735 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
738 Fix confusing documentation.
740 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
742 * libs/gst/base/gstbasesrc.h:
743 revert the changes to the header file for the ABI.
745 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
747 * libs/gst/base/gstbasesrc.c:
748 * libs/gst/base/gstbasesrc.h:
749 Don't cache the seekable status.
752 2008-07-24 Rene Stadler <mail@renestadler.de>
754 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
755 code to close the pipeline graph. This prevents the program from
756 printing internal data flow errors.
758 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
760 * docs/manual/basics-bus.xml:
761 Correct typo. Fixes bug #544320.
763 2008-07-22 Michael Smith <msmith@songbirdnest.com>
766 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
767 Add check (taken from -base) for winsock, adds WIN32_LIBS
769 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
771 Define GST_EXPORTS when building libgstreamer (only used on win32)
774 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
775 for symbols that we need to export in both these files.
777 Include gst_private.h higher up to avoid some compile problems on win32.
779 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
784 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
787 Previous commit was wrong NULL caps does not exist
788 and indicate an error, so also add a FIXME to
789 gst_caps_is_equal where NULL caps are accepted.
791 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
794 Allow passing of NULL to gst_caps_union
796 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
799 Add in doc that gst_ghost_pad_set_target can accept
802 2008-07-15 Michael Smith <msmith@songbirdnest.com>
806 GstRegistryPool doesn't exist; don't refer to it in docs.
807 Don't refer to functions that don't exist in docs, it's
810 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
813 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
815 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
817 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
819 * docs/pwg/building-testapp.xml:
820 Don't use an undeclared variable in the example program.
823 2008-07-12 Stefan Kost <ensonic@users.sf.net>
825 * gst/gstdebugutils.c:
826 Squeeze ghost-pad links and remove <> from classname labels to save
827 more horizontal space.
829 2008-07-11 Stefan Kost <ensonic@users.sf.net>
831 * gst/gstdebugutils.c:
832 Give request and sometimes pads a different shpe style. Condense the
833 graphs a little more.
835 2008-07-09 Michael Smith <msmith@songbirdnest.com>
838 Don't require flex and bison if the parser is disabled.
840 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
842 * libs/gst/controller/gstinterpolationcontrolsource.c:
843 (_list_find_sorted_custom):
844 Don't use declarations after statements.
846 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
848 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
849 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
850 of the the child-added / -removed signals as GstChildProxy
851 only supports GstObjects.
853 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
855 * gst/gstdebugutils.c:
858 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
860 Patch by: Alessandro Decina <alessandro at nnva dot org>
863 Fix "ignored return value" compiler warning with newer glibc.
865 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
867 * gst/gstchildproxy.c:
868 Fix copy&paste error in gst_child_proxy_removed() documentation.
870 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
872 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
873 Print error debug message if plugin description fields that should
876 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
877 Don't crash if the string to serialise is NULL (it really should
878 not be, but apparently this used to work with the xml registry ...).
880 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
882 * tools/gst-plot-timeline.py:
883 Fix parsing of log messages
885 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
887 * win32/common/libgstbase.def::
888 Sort alphabetically so make check-exports doesn't barf.
890 2008-07-01 Stefan Kost <ensonic@users.sf.net>
893 Use gst_format_get_name() to improve debug output.
896 Remove #ifdef'ed code. Add TODO comment.
899 Add debug output to ease spotting format != segment.format assertions.
901 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
903 * tests/check/libs/gdp.c: (gst_dp_suite):
904 Also enable the GDP unit test again on PPC now that the bug
907 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
909 * libs/gst/dataprotocol/dataprotocol.c:
910 Don't write to the same region of memory as a uint64 and uint16
911 as this breaks strict aliasing rules and apparantly breaks on PPC
912 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
914 2008-06-29 Stefan Kost <ensonic@users.sf.net>
916 * libs/gst/controller/gstinterpolationcontrolsource.c:
917 Optimize list handling. Use own find function. Exploit that fact that
918 the list is sorted. Also pass back the node before, so that we can
919 insert quickly. Have a fast path for append.
921 2008-06-29 Stefan Kost <ensonic@users.sf.net>
923 * docs/design/draft-framestep.txt:
924 * docs/design/part-negotiation.txt:
927 2008-06-27 Stefan Kost <ensonic@users.sf.net>
930 Show configuration sumary after configure run. Based on patch by
931 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
933 2008-06-27 Stefan Kost <ensonic@users.sf.net>
935 patch by: Luc Pionchon <luc.pionchon@nokia.com>
937 * docs/manual/advanced-autoplugging.xml:
938 * docs/manual/advanced-threads.xml:
939 * docs/manual/basics-bins.xml:
940 * docs/manual/basics-elements.xml:
941 * docs/manual/basics-helloworld.xml:
942 * docs/manual/basics-pads.xml:
943 Add scale factor for pdf output.
945 * docs/manual/intro-basics.xml:
946 Switched sections "pads" and "bins" and added a pipeline diagram.
948 * docs/manual/intro-gstreamer.xml:
949 Added more info on gstreamer.
951 * docs/manual/intro-motivation.xml:
952 Commented out the whole section "current problem", which sounds
953 historical and somehow osolete; it could be turned in a positive
954 way and reused to improve the design principles.
956 * docs/manual/intro-preface.xml:
957 - Update URLs to library.gnome.org.
958 - Do not mention GTK+ in preliminary reading (irrelevant).
959 - Mention Plugin Writer's Manual and further reading only in the
961 - Added a list of most relevant GObject/glib topics.
963 * docs/manual/Makefile.am:
964 * docs/manual/bin-element-ghost.fig:
965 * docs/manual/bin-element-ghost.png:
966 * docs/manual/bin-element-noghost.fig:
967 * docs/manual/bin-element-noghost.png:
968 * docs/manual/bin-element.fig:
969 * docs/manual/bin-element.png:
970 * docs/manual/filter-element-multi.fig:
971 * docs/manual/filter-element-multi.png:
972 * docs/manual/filter-element.fig:
973 * docs/manual/filter-element.png:
974 * docs/manual/gstreamer-overview.png:
975 * docs/manual/hello-world.fig:
976 * docs/manual/hello-world.png:
977 * docs/manual/linked-elements.fig:
978 * docs/manual/linked-elements.png:
979 * docs/manual/mime-world.fig:
980 * docs/manual/mime-world.png:
981 * docs/manual/queue.fig:
982 * docs/manual/queue.png:
983 * docs/manual/simple-player.png:
984 * docs/manual/sink-element.fig:
985 * docs/manual/sink-element.png:
986 * docs/manual/src-element.fig:
987 * docs/manual/src-element.png:
988 * docs/manual/diagrams-general.svg:
989 * docs/manual/diagrams-pipelines.svg:
990 Removed .fig, added .png counterpart.
994 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
996 * plugins/elements/gstmultiqueue.c:
997 * plugins/elements/gstmultiqueue.h:
998 revert extra-size-buffers stuff, caused some race conditions
999 and extra-size-buffers is not used anymore. Docs needs some updates
1001 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1003 * win32/common/config.h:
1004 * win32/common/gstenumtypes.c:
1005 * win32/common/gstenumtypes.h:
1006 * win32/common/gstversion.h:
1009 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1011 * gst/gstdebugutils.h: (GstDebugGraphDetails),
1012 (GST_DEBUG_BIN_TO_DOT_FILE):
1013 Add missing Since' markers to gtk-doc blurbs.
1015 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
1017 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1018 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1019 (set_caps_1), (set_caps_ct1), (transform_ct1),
1020 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1021 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1022 (transform_size_ct2), (buffer_alloc_ct2):
1023 Add some more tests with switching caps in buffer_alloc.
1025 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1027 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1028 (gst_test_trans_class_init), (result_sink_chain),
1029 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1030 (gst_test_trans_push), (gst_test_trans_pop):
1031 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1032 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1033 (set_caps_1), (set_caps_ct1), (transform_ct1),
1034 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1035 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1036 (transform_size_ct2), (buffer_alloc_ct2),
1037 (gst_basetransform_suite):
1038 More tests, prepare for tests with switching caps in buffer_alloc.
1040 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
1042 * plugins/elements/gstmultiqueue.c:
1043 * plugins/elements/gstmultiqueue.h:
1044 Fix dead-lock in underrun_cb
1046 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1048 * docs/design/part-states.txt:
1049 Fix device open/close docs.
1051 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1054 Mention bugnumber for last commit.
1056 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1058 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1060 * docs/manual/manual.xml:
1061 - Reorganised the previous "introduction" bundle into Foreword,
1062 Introduction, and About GStreamer. The two first are <preface>
1063 docbook elements. The later is the first part of the book.
1064 - added intro-gstreamer.xml (content partially from
1066 - moved appendix-win32.xml into appendix-integration.xml
1068 * docs/manual/intro-preface.xml: gstreamer section moved...
1069 * docs/manual/intro-gstreamer.xml: ...here. new file.
1071 * docs/manual/appendix-win32.xml: removed file. Content moved...
1072 * docs/manual/appendix-integration.xml: ...here.
1074 * docs/manual/highlevel-components.xml: section about GstEditor moved...
1075 * docs/manual/appendix-checklist.xml: ...here.
1079 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1081 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1083 * docs/manual/basics-helloworld.xml:
1084 * docs/manual/hello-world.fig:
1085 - Explicitely include glib.h.
1086 - Do not use global variables.
1087 - Use g_printerr() instead of g_print().
1088 - Minor formating/renaming to increase readibility.
1089 - Renamed new_pad() to on_pad_added()
1090 - Improved explenatory comments.
1091 - renamed ogg parser to ogg demuxer
1092 - Use "autoaudiosink" instead of "alsasink".
1095 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1098 Remove cvs conflict marker.
1100 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1103 Document that for plgin-docs we extraxt he short-desc from the element
1106 * docs/design/part-states.txt:
1107 Tell that devices should be closed in PAUSED -> READY.
1109 * docs/manual/README:
1110 Document how tests in the manual are handled.
1115 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1117 * gst/gstbin.c: (bin_query_latency_fold):
1118 Only care about latency min and max when the sink is actually a live
1121 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1123 * docs/design/part-block.txt:
1126 * docs/design/part-element-transform.txt:
1127 Add notes about why transform needs to know input/output sizes.
1128 Add some issues that need to be solved.
1129 Add some more use cases.
1131 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1132 (gst_test_trans_class_init), (result_sink_chain),
1133 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1134 (gst_test_trans_push), (gst_test_trans_pop):
1135 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1136 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1137 (set_caps_1), (set_caps_ct1), (transform_ct1),
1138 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1139 (gst_basetransform_suite):
1140 Add suport for different pad templates and buffer-alloc.
1141 Add more checks for caps and buffer-alloc.
1142 Add checks for proxy buffer alloc.
1143 Add unit test for copy transform.
1145 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
1147 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
1149 * docs/manual/appendix-integration.xml:
1150 * docs/manual/appendix-licensing.xml:
1151 * docs/manual/basics-elements.xml:
1152 * docs/manual/basics-helloworld.xml:
1153 * docs/manual/basics-pads.xml:
1154 * docs/manual/highlevel-components.xml:
1155 * docs/manual/highlevel-xml.xml:
1156 * docs/manual/intro-basics.xml:
1157 * docs/manual/intro-preface.xml:
1158 Typo and formatting fixes (#538594).
1160 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1162 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1163 Fix some memory leaks and uses of object instances that we don't
1166 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
1168 * plugins/elements/gstmultiqueue.c:
1169 Add functionality to extra-size-buffers property.
1171 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
1173 * plugins/elements/gstmultiqueue.c:
1174 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
1175 activate the pads if they are added in STATE_NULL.
1177 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
1179 * docs/libs/gstreamer-libs-sections.txt:
1181 * libs/gst/check/gstcheck.c:
1182 * libs/gst/check/gstcheck.h:
1183 API: gst_check_teardown_pad_by_name
1185 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
1187 * libs/gst/check/gstcheck.c:
1188 * libs/gst/check/gstcheck.h:
1189 Also setup request pads and allow setup pads by name (#537812)
1190 API: gst_check_setup_src_pad_by_name
1191 API: gst_check_setup_sink_pad_by_name
1193 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
1195 * tests/check/gst/gstbuffer.c:
1196 * tests/check/pipelines/parse-launch.c:
1197 Use HAVE_VALGRIND_H some more.
1199 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
1201 * scripts/cvs-update.sh:
1202 Pass arguments to make.
1203 Run autoregen.sh if Makefile is not there.
1205 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
1209 Don't assume that <valgrind/valgrind.h> exists just because
1210 the binary is there.
1212 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1214 * tests/check/Makefile.am:
1215 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1216 (gst_test_trans_class_init), (gst_test_trans_init),
1217 (gst_test_trans_set_data), (result_sink_chain),
1218 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
1219 (gst_test_trans_pop):
1220 * tests/check/libs/transform1.c: (GST_START_TEST),
1221 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
1222 Add some test basetransform element and the beginnings of various
1225 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1227 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1228 Increase code readability.
1229 Don't try to compare buffer offsets when ther are invalid.
1231 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
1233 * docs/design/Makefile.am:
1234 Dist some more design docs.
1236 * docs/random/moving-plugins:
1237 Small addition: good plugins mustn't have functional code
1238 within assertion macros.
1240 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1242 * docs/design/draft-framestep.txt:
1243 Some ideas about a framestep API
1245 * docs/design/part-element-transform.txt:
1246 Start design and use cases for basetransform in order to get it
1249 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
1252 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
1253 be in UTF-8 encoding.
1255 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
1258 Make it known that gst_bus_poll() is pure evil (fixes #538810).
1260 2008-06-20 Stefan Kost <ensonic@users.sf.net>
1262 * plugins/elements/gstcapsfilter.c:
1263 * plugins/elements/gstfakesink.c:
1264 * plugins/elements/gstfakesrc.c:
1265 * plugins/elements/gstfdsink.c:
1266 * plugins/elements/gstfdsrc.c:
1267 * plugins/elements/gstfilesink.c:
1268 * plugins/elements/gstfilesrc.c:
1269 * plugins/elements/gstidentity.c:
1270 * plugins/elements/gstmultiqueue.c:
1271 * plugins/elements/gstqueue.c:
1272 * plugins/elements/gsttee.c:
1273 * plugins/elements/gsttypefindelement.c:
1274 Remove short_description. Add basic docs for gsttypefindelement.
1275 Simplify markup for fakesrc/fdsrc.
1277 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1279 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1282 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1284 Patch by: Joel Larsson <tilljoel at gmail dot com>
1286 * docs/plugins/gstreamer-plugins.args:
1287 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1288 (gst_fd_src_init), (gst_fd_src_update_fd),
1289 (gst_fd_src_set_property), (gst_fd_src_get_property),
1290 (gst_fd_src_create):
1291 * plugins/elements/gstfdsrc.h:
1292 Add timeout property like udpsrc. Fixes #538628.
1293 Add some more docs and example pipelines.
1295 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1297 * docs/libs/gstreamer-libs-sections.txt:
1298 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1299 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
1300 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
1301 (gst_base_sink_do_sync):
1302 * libs/gst/base/gstbasesink.h:
1303 * win32/common/libgstbase.def:
1304 Add method to allow sinks to specify additional delay between the sync
1305 times and the actual rendering of the data.
1306 API: gst_base_sink_set_render_delay()
1307 API: gst_base_sink_get_render_delay()
1309 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
1312 Bump version number back to dev -> 0.10.20.1
1314 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
1316 * docs/gst/gstreamer-sections.txt:
1317 * gst/gsttaglist.c: (_gst_tag_initialize):
1319 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
1322 2008-06-20 Stefan Kost <ensonic@users.sf.net>
1324 * libs/gst/controller/gstcontroller.c:
1325 Revert one change, that make ret value possible uninitialized.
1327 2008-06-20 Stefan Kost <ensonic@users.sf.net>
1329 * libs/gst/controller/gstcontroller.c:
1330 Use freeze/thaw notify to sync notify emission a bit (its also more
1331 efficient). Move debug output to LOG (is called a lot in a loop).
1332 Always unset g_values if the have been initialized.
1334 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1336 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1337 (gst_base_sink_wait_eos), (gst_base_sink_event):
1338 If we have not seen a buffer before EOS, use the segment values to
1339 report the current position instead of invalid positions.
1341 2008-06-20 Stefan Kost <ensonic@users.sf.net>
1343 * docs/plugins/tmpl/.cvsignore:
1344 * tests/check/gst/.cvsignore:
1347 2008-06-20 Stefan Kost <ensonic@users.sf.net>
1349 * libs/gst/controller/gstinterpolation.c:
1350 * libs/gst/controller/gstinterpolationcontrolsource.c:
1351 * tests/check/libs/controller.c:
1352 Rewrite handling of default values. Fix overflow with unsigned types
1353 in linear interpolation. Remove now obsolete _first_value() function.
1354 Add more tests. Fixes #538201.
1356 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1358 * libs/gst/base/gstbasetransform.c:
1359 (gst_base_transform_class_init), (gst_base_transform_init),
1360 (gst_base_transform_transform_caps),
1361 (gst_base_transform_prepare_output_buffer):
1363 When a buffer is writable, its metadata is also writable so we don't
1364 need to subbuffer (which then makes the buffer not-writable anymore).
1366 === release 0.10.20 ===
1368 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
1371 releasing 0.10.20, "You Crazy Diamond"
1373 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
1376 0.10.19.3 pre-release
1378 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
1382 Rename DATADIR to GST_DATADIR to avoid build problems
1383 on win32. Patch By: David Schleef <ds@schleef.org>
1386 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
1389 Explicitely link with -ldl if dladdr() is found there. Before it was
1390 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
1391 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
1393 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
1395 * gst/gsterror.c: (_gst_stream_errors_init):
1396 Fix typo (spotted by Fabricio Godoy, #536723).
1398 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
1401 0.10.19.2 pre-release
1403 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
1405 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
1406 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
1408 Make sure we don't generate invalid QoS messages.
1410 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
1412 * gst/gstevent.c: (gst_event_new_qos):
1413 Add some assert and docs for invalid input to the qos function.
1415 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
1417 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1418 (gst_base_sink_get_position):
1419 The reported position must always be smaller than the last seen
1420 timestamps (or timestamp + duration for reverse).
1422 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
1424 Patch by: Rob Bradford <rob at robster dot org dot uk>
1426 * gst/gstregistry.c: (gst_registry_scan_path_level):
1427 Don't recurse into .debug directories as some distros install
1428 the debugging symbols next to the plugins in .debug directories
1429 and dlopen() crashes on them sometimes. Fixes bug #508070.
1431 Add FIXME for 0.11 to not recurse into directories at all because
1432 it's very inconsistent to the behaviour of other PATH environment
1435 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
1437 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1438 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
1439 Fix position query range checks in reverse playback.
1441 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
1445 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
1446 clear of the reference to the resulting pad must be released later
1447 or not, resulting in possible leaks. Fixes bug #533865.
1449 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
1451 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
1453 * gst/gstelementfactory.c:
1454 Small doc fix. Fixes #535285.
1456 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
1458 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
1460 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1461 (gst_base_src_get_range), (gst_base_src_pad_get_range),
1462 (gst_base_src_loop), (gst_base_src_set_flushing),
1463 (gst_base_src_change_state):
1464 Make sending an EOS event to the basesrc non-blocking even if the
1465 implementation does blocking waits in the create function. This is done
1466 by unlocking the create function when EOS is sent.
1469 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
1471 * tools/gst-inspect.c: (print_element_properties_info):
1472 If possible print the element type of GValueArray properties.
1474 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
1476 * gst/gstiterator.c:
1477 Remove an unused field from the private GstListIterator struct.
1479 2008-05-27 Stefan Kost <ensonic@users.sf.net>
1481 * libs/gst/controller/gstcontroller.c:
1482 Add parameter guards.
1484 2008-05-27 Stefan Kost <ensonic@users.sf.net>
1486 * tests/check/gst/gstpipeline.c:
1487 Revert test change and add comment why it should not work.
1489 2008-05-27 Stefan Kost <ensonic@users.sf.net>
1491 * tests/check/gst/gstpipeline.c:
1492 Extending the test a little to verify that we also get the NULL state-
1495 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
1497 * gst/gstpreset.c: (gst_preset_default_get_meta),
1498 (gst_preset_get_preset_names), (gst_preset_get_property_names),
1499 (gst_preset_load_preset), (gst_preset_save_preset),
1500 (gst_preset_rename_preset), (gst_preset_delete_preset),
1501 (gst_preset_set_meta):
1502 Add Since: markers to docs blurbs.
1504 * win32/common/libgstreamer.def:
1505 Add recently-added API.
1507 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
1509 Patch by: Stefan Kost <ensonic@users.sf.net>
1512 Add DATADIR for storing presets.
1514 * docs/gst/gstreamer-docs.sgml:
1515 * docs/gst/gstreamer-sections.txt:
1516 * docs/gst/gstreamer.types.in:
1517 Add GstPreset to docs.
1521 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
1522 (preset_open_and_parse_header), (preset_parse_version),
1523 (preset_merge), (preset_get_keyfile),
1524 (gst_preset_default_get_preset_names),
1525 (gst_preset_default_get_property_names),
1526 (gst_preset_default_load_preset),
1527 (gst_preset_default_save_presets_file),
1528 (gst_preset_default_save_preset),
1529 (gst_preset_default_rename_preset),
1530 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
1531 (gst_preset_default_get_meta), (gst_preset_default_randomize),
1532 (gst_preset_default_reset), (gst_preset_get_preset_names),
1533 (gst_preset_get_property_names), (gst_preset_load_preset),
1534 (gst_preset_save_preset), (gst_preset_rename_preset),
1535 (gst_preset_delete_preset), (gst_preset_set_meta),
1536 (gst_preset_get_meta), (gst_preset_class_init),
1537 (gst_preset_base_init), (gst_preset_get_type):
1539 Add GstPreset to core. Fixes #396779
1541 * tests/check/Makefile.am:
1542 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
1543 (gst_preset_test_set_property), (gst_preset_test_class_init),
1544 (gst_preset_test_base_init), (gst_preset_test_get_type),
1545 (gst_preset_test_plugin_init), (GST_START_TEST),
1546 (remove_preset_file), (test_setup), (test_teardown),
1548 Add GstPreset unit tests.
1550 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
1552 * gst/gstpad.c: (gst_pad_event_default_dispatch):
1553 The default event function on a sinkpad should return TRUE when
1554 there are no internal links but should collect the return values from
1555 the internal links otherwise.
1557 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
1559 * plugins/elements/gsttypefindelement.c:
1560 (gst_type_find_element_src_event),
1561 (gst_type_find_element_handle_event):
1562 Use faster and safer _pad_push_event().
1564 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
1566 * docs/gst/gstreamer-sections.txt:
1567 * gst/gstutils.c: (element_find_unlinked_pad),
1568 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
1570 API: add gst_bin_find_unlinked_pad()
1571 API: deprecate gst_bin_find_unconnected_pad() (#401456)
1573 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
1579 Fixed a bunch of typos.
1581 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
1584 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
1585 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
1586 (gst_parse_bin_from_description_full):
1588 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
1590 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
1592 * docs/pwg/advanced-tagging.xml:
1593 Small docs update, can't be bothered to rewrite the nonsensical
1596 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
1599 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
1601 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
1603 * gst/parse/grammar.y:
1604 Remove unneeded casts.
1606 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
1608 * gst/parse/grammar.y:
1609 * tests/check/pipelines/parse-launch.c:
1610 Get all missing elements from a parse launch string if possible
1611 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
1613 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
1615 * tests/check/Makefile.am:
1616 * tests/check/pipelines/parse-launch.c:
1617 Add some unit tests for the new gst_parse_launch*_full() API.
1618 (Exposes a previously-existing memory leak in the error code
1619 path, so adding to VALGRIND_TO_FIX for now).
1621 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
1623 * docs/gst/gstreamer-sections.txt:
1624 * gst/gst.c: (init_post):
1625 * gst/gst_private.h: (_GstParseContext):
1626 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
1627 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
1628 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
1629 (gst_parse_launch_full):
1630 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
1631 (GstParseFlags), (GstParseContext):
1632 * gst/gstutils.c: (gst_parse_bin_from_description),
1633 (gst_parse_bin_from_description_full):
1635 * gst/parse/grammar.y:
1636 * gst/parse/types.h:
1637 * win32/common/libgstreamer.def:
1638 Add new gst_parse_*_full API (#528178):
1639 API: gst_parse_launch_full()
1640 API: gst_parse_launchv_full()
1641 API: gst_parse_bin_from_description_full()
1642 API: gst_parse_context_new()
1643 API: gst_parse_context_free()
1644 API: gst_parse_context_get_missing_elements()
1646 2008-05-23 Stefan Kost <ensonic@users.sf.net>
1648 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
1650 * docs/faq/gst-uninstalled:
1651 Also support ffmpeg in gst-uninstalled.
1653 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
1656 After discussion on IRC use the binary registry as default
1657 but allow to disable it with --disable-binary-registry.
1659 * win32/common/libgstreamer.def:
1660 Add the two new symbols for the binary registry.
1662 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
1664 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
1665 * gst/gstutils.c: (gst_parse_bin_from_description):
1666 * gst/parse/grammar.y: (graph):
1667 More guards against bad input; typo fix; some minor clean-ups.
1669 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
1671 Patch by: Sjoerd Simons <sjoerd at luon dot net>
1673 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1674 If nothing else can be used, use the last buffer's start time as
1675 the segment's last stop. Fixes bug #534258.
1677 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
1679 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1680 Move size sanity check to the right place: downstream may return
1681 a buffer with a smaller size if the buffer caps are different than
1682 the requested ones, as may happen when doing reverse negotiation.
1684 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
1686 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
1687 (gst_file_sink_render):
1688 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
1689 (gst_file_src_start):
1690 Small cleanups. Add note adbout g_fopen() on windows and why we don't
1693 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
1695 * gst/gstpad.c: (gst_pad_load_and_link):
1696 * gst/gstutils.c: (gst_element_link_pads),
1697 (gst_element_unlink_pads):
1698 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1699 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1700 (gst_check_teardown_sink_pad),
1701 (gst_check_element_push_buffer_list):
1702 * tests/check/elements/fakesink.c: (GST_START_TEST):
1703 * tests/check/elements/filesink.c:
1704 * tests/check/elements/filesrc.c: (GST_START_TEST):
1705 * tests/check/elements/multiqueue.c: (setup_multiqueue),
1706 (mq_sinkpad_to_srcpad):
1707 * tests/check/elements/tee.c: (GST_START_TEST):
1708 * tests/check/generic/sinks.c: (GST_START_TEST):
1709 * tests/check/gst/gstbin.c: (GST_START_TEST):
1710 * tests/check/gst/gstevent.c: (GST_START_TEST):
1711 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1712 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
1713 * tests/check/gst/gstquery.c: (GST_START_TEST):
1714 * tests/check/gst/gstutils.c: (GST_START_TEST):
1715 * tests/check/libs/basesrc.c: (GST_START_TEST):
1716 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
1717 (gst_parse_test_element_change_state):
1718 Don't use gst_element_get_pad().
1720 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
1723 Fix installing plugin documentation when gtk-doc is disabled.
1725 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
1727 * docs/manual/advanced-autoplugging.xml:
1728 * docs/manual/basics-helloworld.xml:
1729 * docs/manual/basics-pads.xml:
1730 * docs/manual/highlevel-components.xml:
1731 Avoid using a bad function in the example code.
1733 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
1735 * gst/gstclock.c: (gst_clock_set_calibration):
1736 Fix debug of the new clock rate.
1738 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
1740 * win32/common/libgstbase.def:
1741 Add gst_base_sink_wait_clock() to the exported symbols.
1743 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
1745 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
1747 * libs/gst/base/gstbasetransform.c:
1748 (gst_base_transform_sink_event):
1749 Unref events that the GstBaseTransform::event vfunc didn't want to
1750 have forwarded by the base class. Closes a leak in identity.
1753 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
1755 * docs/libs/gstreamer-libs-sections.txt:
1756 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
1757 * libs/gst/base/gstbasesink.h:
1758 Expose a method that was previously used internally to synchronize
1759 against the clock because it can be useful for subclasses too.
1760 API: GstBaseSink::gst_base_sink_wait_clock()
1762 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
1764 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
1765 Add sanity check to make sure we don't get smaller buffers
1766 than requested (and fallback to normal buffer alloc if we do).
1768 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
1770 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
1771 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
1772 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
1773 Refactor adjusting the running_time with latency and offset into a
1775 When doing clipping, we still want to use the subclass get_times method,
1776 just in case the DURATION or TIMESTAMP are not set.
1778 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
1780 * docs/gst/gstreamer-sections.txt:
1781 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
1782 * gst/gsttypefind.h:
1783 * win32/common/libgstreamer.def:
1784 API: add gst_type_find_suggest_simple(), #533740.
1786 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
1788 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
1789 Use right error code when typefinding fails, so we can use
1790 the default (translated) error messages.
1792 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
1794 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
1795 (gst_base_src_start):
1796 When the subclass did not set caps on outgoing buffers, configure the
1797 caps we negotiated on the source pad.
1798 When the typefind helper does not find caps, error out properly instead
1799 of doing things with NULL caps.
1801 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1803 * gst/gsttypefind.h:
1804 Tabs to spaces, oh yes!
1806 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1808 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
1809 Add David's and Benjamin's tests for array intersection to the
1810 unit test suite (#147931).
1812 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1815 Document that gst_event_new_tag() and gst_event_new_navigation()
1816 take ownership of the taglist/structure passed to them. (#533635).
1818 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
1821 Don't descend into the plugins dir if plugin docs building
1825 Add a note about the new type:GTypeName syntax for the plugin
1826 documentation .types file.
1828 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
1830 * gst/gstmessage.c: (gst_message_new_error),
1831 (gst_message_new_warning), (gst_message_new_info):
1833 Mark the debug string parameters as const. Fixes bug #533490.
1835 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
1837 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1838 Sort buffer cache list by end offsets. This makes sure that we don't
1839 stop to search for a cached buffer that contains the requested data
1841 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
1842 more efficient. Fixes bug #459862.
1844 2008-05-14 Stefan Kost <ensonic@users.sf.net>
1847 Explain why we copy the list.
1849 * gst/gstpipeline.c:
1853 Add one debug-log statement to help tracing probelms with linking pads.
1855 2008-05-12 Stefan Kost <ensonic@users.sf.net>
1857 * tests/check/gst/gstinfo.c:
1858 Add a test for removing the default log handler. Seems to fail under
1861 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
1863 * gst/gstpad.c: (gst_pad_peer_accept_caps):
1864 Release pad lock before calling out to avoid a possible deadlock.
1866 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
1868 * gst/parse/grammar.y:
1869 Remove unneeded value unset.
1871 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1872 Add unit test for de/serialization of caps.
1874 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
1876 * plugins/elements/gstfakesink.c:
1877 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
1878 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
1879 (gst_fake_src_class_init):
1880 Use custom marshalers that take GstMiniObject as first parameter.
1881 Using OBJECT as parameter while a GstMiniObject is given will lead
1882 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
1884 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
1886 * plugins/elements/gsttypefindelement.c:
1887 (gst_type_find_element_handle_event),
1888 (gst_type_find_element_send_cached_events),
1889 (gst_type_find_element_change_state):
1890 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
1893 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
1895 * plugins/elements/gsttypefindelement.c:
1896 (gst_type_find_handle_src_query), (stop_typefinding),
1897 (gst_type_find_element_handle_event),
1898 (gst_type_find_element_send_cached_events),
1899 (gst_type_find_element_change_state):
1900 Forward FLUSH_START events immediately and clean up instead of
1903 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
1905 Patch by: Sjoerd Simons <sjoerd at luon dot net>
1907 * libs/gst/base/gstbasetransform.c:
1908 (gst_base_transform_buffer_alloc):
1909 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
1910 fall back to default negotiation in the chain function if the caps
1911 are different from what was requested. Fixes bug #526768.
1913 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
1916 * tests/check/gst/gstsegment.c:
1917 No, let's not use g_slice_{dup|copy} here, since they only exist
1918 since GLib 2.14 and we still depend only on >= 2.12. Also add
1919 unit test for gst_segment_copy().
1921 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
1923 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
1924 Try to fix 'dereferencing type-punned pointer will break strict
1925 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
1926 changed the default GType typedef from gulong to gsize at some point,
1927 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
1928 g_once_* functions all take a gsize * though, so work around the type
1929 mismatch for C++ by doing everything in gsize and casting to GType
1932 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
1934 * plugins/elements/gstmultiqueue.c:
1935 Add documentation for the signals to push our core plugin docs
1936 coverage back up to 100%.
1938 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1940 * gst/gstinfo.h (GST_FUNCTION):
1941 Reverted GST_FUNCTION to the old version as we don't want the
1942 full signature in C++ code. Also added support for MSVC.
1944 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
1947 Intern the type name string, similar to what G_DEFINE_TYPE does.
1949 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
1952 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
1954 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
1956 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
1958 * libs/gst/base/gstbasetransform.c:
1959 (gst_base_transform_buffer_alloc):
1960 Don't passthrough buffer allocation too easily if the caps change.
1961 This breaks when working in passthrough mode and upstream changes
1962 it's caps. Fixes bug #526768.
1964 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1966 * gst/gstinfo.c (gst_debug_log_valist):
1967 Improved the __FILE__ part of debug output for MSVC.
1969 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1971 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
1972 Declaration after statement fix for compilers like MSVC.
1974 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1976 * win32/common/config.h.in:
1977 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
1978 use the real thing than having "???" unconditionally.
1980 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1982 * gst/gstinfo.h (GST_FUNCTION):
1983 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
1985 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
1987 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
1990 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1991 (gst_base_sink_set_flushing):
1992 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1995 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
1997 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1998 (gst_fake_src_init), (gst_fake_src_set_property),
1999 (gst_fake_src_get_property), (gst_fake_src_start):
2000 * plugins/elements/gstfakesrc.h:
2001 Added format property to control the format of the newsegment events.
2002 API: GstFakeSrc:format
2004 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2006 * win32/common/libgstreamer.def:
2007 Add gst_pad_has_name() to the exported symbols.
2009 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2011 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2012 * libs/gst/base/gstbasetransform.c:
2013 (gst_base_transform_prepare_output_buffer):
2014 Don't allow negative sizes when allocating new buffers.
2017 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2019 Patch by: Sjoerd Simons <sjoerd at luon net>
2021 * gst/gstbus.c: (gst_bus_source_dispatch):
2022 Don't print a warning if the queue is empty when we try to pop
2023 here. That could happen if another thread or callback set the
2024 bus to flushing between the source's check/prepare and the
2025 dispatch being called (#531538).
2027 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2029 * plugins/elements/gstmultiqueue.c:
2032 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
2034 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2035 Add unit test for deserializing uint64s and check some really large
2036 numbers in the int64 test.
2038 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2040 * tools/gst-inspect.c: (n_print), (print_hierarchy),
2041 (print_interfaces), (print_element_properties_info),
2042 (print_signal_info):
2043 Use "%s" as format string instead of printing strings directly.
2045 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2047 * gst/gstclock.c: (gst_clock_set_calibration):
2048 Make some checks actually useful.
2050 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2051 Remove some unused code. Unsigned integers tend to be >= 0.
2053 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2055 * gst/gstminiobject.c: (gst_value_get_mini_object):
2056 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2057 function was not in the unscheduled 0.10.19 release.
2059 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2061 * gst/gstregistry.c: (gst_registry_scan_path_level):
2062 Only print one log message per non-plugin file.
2064 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2066 * gst/gstinfo.c: (gst_debug_log_default):
2067 Fix alignment of debug log columns on 64-bit.
2069 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2071 * docs/libs/Makefile.am:
2072 * docs/libs/gstreamer-libs-sections.txt:
2073 Ignore private controller headers for docs.
2075 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
2077 * libs/gst/controller/gstcontrollerprivate.h:
2078 * libs/gst/controller/gsthelper.c:
2079 * libs/gst/controller/gstinterpolation.c:
2080 * libs/gst/controller/gstinterpolationcontrolsource.c:
2081 (gst_interpolation_control_source_set_interpolation_mode):
2082 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2083 * libs/gst/controller/lib.c:
2084 Move some private declarations into private headers.
2086 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
2088 * gst/gstdebugutils.c: (debug_dump_element_pad):
2089 Remove some code that is unused after Stefan's refactoring and uses
2090 uninitialized variables now, resulting in a compiler warning.
2092 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
2094 * gst/gstregistry.c: (gst_registry_scan_path_level):
2095 Run g_str_has_suffix() only on the file name, not the
2098 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
2100 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
2101 Since we're not called only from the chain function any longer,
2102 we can't assume that there's always data in the queue, so move
2103 the is_full check to the beginning of the loop (otherwise we'd
2104 hit the assert when changing the limit properties while the
2105 queue is empty or not running yet).
2106 Also, only set a discont if items were actually removed from
2109 * tests/check/elements/queue.c: (test_leaky_downstream):
2110 Test case for the above.
2112 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
2114 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
2116 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
2117 (gst_queue_chain), (queue_capacity_change),
2118 (gst_queue_set_property):
2119 When changing thr max capacity of a leaky queue, immediatly drop buffers
2120 instead of waiting for a push on the sinkpad. Fixes #530637.
2122 2008-04-30 Stefan Kost <ensonic@users.sf.net>
2124 * gst/gstdebugutils.c:
2125 Refactor code and fix handling of ghostpads and their proxypads.
2127 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
2129 * docs/gst/gstreamer-sections.txt:
2130 * gst/gstevent.c: (gst_event_has_name):
2132 * tests/check/gst/gstevent.c: (GST_START_TEST):
2133 Add method to conveniently check the name of a custom event with
2134 gst_event_has_name().
2135 Reformat the event docs so that related methods are put together instead
2136 of the default alphabetical sort.
2137 Update unit test with new method.
2138 API: GstEvent::gst_event_has_name()
2140 2008-04-28 Michael Smith <msmith@songbirdnest.com>
2142 * libs/gst/check/Makefile.am:
2143 Don't add an explicit link to libgstreamer-0.10.la; it's already
2144 included in GST_OBJ_LIBS.
2146 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
2149 Register GstClock type from a type-safe context. Fixes bug #530317.
2151 2008-04-25 Michael Smith <msmith@songbirdnest.com>
2153 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
2155 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
2157 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
2159 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2161 Use the GLib stuff to create a private structure.
2162 Add some locking around some dispose methods to make them a little
2163 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
2165 2008-04-25 Stefan Kost <ensonic@users.sf.net>
2167 * libs/gst/base/gstbasesink.h:
2168 * libs/gst/base/gstbasesrc.h:
2169 * libs/gst/base/gstbasetransform.h:
2170 * libs/gst/base/gstcollectpads.h:
2171 Fix doc typos and unify caps a bit.
2173 2008-04-25 Stefan Kost <ensonic@users.sf.net>
2175 * tools/gst-launch.1.in:
2176 Forgot to also add the envvar docs here.
2178 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
2180 * gst/gst.c: (init_post), (gst_deinit):
2181 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
2182 (test_concurrent_create), (gst_pipeline_suite):
2183 Ref some more classes in gst_init() to work around thread-safety
2184 issues in pre-2.16 GLibs, and add basic unit test.
2186 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
2188 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2189 (gst_base_sink_send_event):
2190 Rearrange the latency query code. We always want to do the upstream
2191 query, even if we are not live so that the upstream elements can get the
2192 latency results too. If we fail doing the query and we are live, we
2193 return TRUE afterwards.
2195 2008-04-24 Stefan Kost <ensonic@users.sf.net>
2197 patch by: Jason Zhao <e3423c@motorola.com>
2199 * docs/gst/running.xml:
2201 Enable/disable scan_and_update_registry() based on commandline switch
2202 or environment variable. Fixes #520468.
2205 Fix typo in my previous commit.
2207 2008-04-24 Stefan Kost <ensonic@users.sf.net>
2209 * gst/gstregistrybinary.c:
2210 Add a warning if we hit unhandled factories when saving.
2211 More debug logging detail, but move to LOG category.
2213 2008-04-24 Stefan Kost <ensonic@users.sf.net>
2215 * gst/gstregistry.c:
2216 Tell the *truth* when improving the documentation.
2218 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
2220 * gst/gstelementfactory.c: (gst_element_factory_make):
2221 Unref the factory after it was used the last time, not before.
2223 * gst/gstindexfactory.c: (gst_index_factory_make):
2224 Improve debugging a bit and don't leak a ref to the index factory with
2227 2008-04-23 Stefan Kost <ensonic@users.sf.net>
2229 * gst/gstregistry.c:
2230 Improve the documentation.
2232 2008-04-23 Stefan Kost <ensonic@users.sf.net>
2235 The glib macro seems to be borked. Use g_slice_copy directly and cast
2236 in the hope that this fixes the warning on 64bit.
2238 2008-04-23 Stefan Kost <ensonic@users.sf.net>
2241 Document the new function. Use g_slice_dup() (no need for
2242 gst_segment_init()).
2244 2008-04-23 Stefan Kost <ensonic@users.sf.net>
2246 * docs/gst/gstreamer-sections.txt:
2247 Move GParamSepc macros to standart section.
2250 Dn't document _get_type - its in private section in docs anyway and
2251 this doc-blob was incomplete.
2254 Fix wrong symbol names in docs.
2257 Add once doc sentence.
2259 * tests/check/gst/.cvsignore:
2262 2008-04-21 Stefan Kost <ensonic@users.sf.net>
2264 * docs/gst/Makefile.am:
2265 And remove those libs here.
2267 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
2269 * docs/libs/Makefile.am:
2270 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
2272 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
2274 Patch by: Olivier Crete <tester at tester dot ca>
2276 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2277 Add the min-threshold to the min latency if possible. Fixes #529148.
2279 2008-04-21 Stefan Kost <ensonic@users.sf.net>
2281 * docs/gst/gstreamer.types.in:
2282 Stupid editor, I removed that line as it should go in yet.
2284 2008-04-21 Stefan Kost <ensonic@users.sf.net>
2286 * docs/gst/gstreamer.types.in:
2287 * docs/libs/gstreamer-libs.types:
2288 Remove library types fro core docs and have them in libs docs.
2289 Reformat and cleanup. Add comment for miniobject types.
2291 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
2293 * gst/gsturi.c: (gst_uri_get_protocol):
2294 Fix leak: g_strdown operates on the string in place, while
2295 g_ascii_strdown() returns a newly-allocated string.
2297 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
2299 * tools/gst-inspect.c: (print_uri_handler_info),
2300 (print_element_info):
2301 Print the URI protocols and the URI type supported by the element.
2303 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2305 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
2306 Use g_value_take_string() instead of the deprecated
2307 g_value_set_string_take_ownership().
2309 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2311 * gst/gstregistrybinary.c: (_gst_crc32):
2312 Return the old CRC instead of 0 if we give a NULL buffer
2313 or a buffer with a length of 0.
2315 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2317 * gst/gsturi.c: (gst_uri_protocol_check_internal),
2318 (gst_uri_get_protocol), (gst_uri_has_protocol),
2319 (gst_uri_construct), (gst_uri_handler_set_uri):
2320 A valid URI scheme can also include '+', '-' and '.' additional
2321 to alphanumeric characters as per RFC 3986 Section 3.1.
2323 Handle URI schemes case insensitive in all places and convert
2324 to lower-case when constructing an URI or setting an URI with
2325 the GstURIHandler interface. Fixes bug #528868.
2326 All elements can still assume (as before) that they will
2327 get passed URIs with a lower-case URI scheme by the GstURIHandler
2330 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
2332 * gst/gstcaps.c: (gst_static_caps_get):
2333 * gst/gstclock.c: (gst_clock_entry_new):
2334 Don't use g_atomic_set_int where it's not needed.
2336 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
2338 * gst/gstvalue.c: (gst_value_deserialize_caps):
2339 * gst/parse/grammar.y:
2342 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
2344 * gst/gstutils.c: (gst_atomic_int_set):
2345 Use g_atomic_int_set() here too instead of assignment +
2348 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
2352 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
2353 now that we depend on new enough GLib.
2355 * gst/gstcaps.c: (gst_static_caps_get):
2356 * gst/gstclock.c: (gst_clock_entry_new):
2357 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
2358 (gst_debug_set_default_threshold), (_gst_debug_category_new),
2359 (gst_debug_category_set_threshold):
2360 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2361 (gst_base_sink_set_qos_enabled):
2362 * libs/gst/net/gstnettimeprovider.c:
2363 (gst_net_time_provider_set_property):
2364 Use g_atomic_int_set() instead of gst_atomic_int_set().
2366 2008-04-16 Stefan Kost <ensonic@users.sf.net>
2369 Also use G_GINT64_CONSTANT for the queries.
2371 2008-04-16 Stefan Kost <ensonic@users.sf.net>
2374 Use G_GINT64_CONSTANT in varargs function.
2376 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
2378 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
2379 Initialize the registry magic with zeroes.
2381 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
2383 * gst/gstregistrybinary.c: (_gst_crc32),
2384 (gst_registry_binary_write),
2385 (gst_registry_binary_initialize_magic),
2386 (gst_registry_binary_write_cache),
2387 (gst_registry_binary_check_magic),
2388 (gst_registry_binary_read_cache):
2389 * gst/gstregistrybinary.h:
2390 Add crc32 checksum to the binary registry file and check this before
2391 accepting a registry file.
2393 Also free the data list when writing to the registry file fails.
2395 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
2397 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2398 (gst_registry_binary_load_feature),
2399 (gst_registry_binary_load_plugin):
2400 If an element supports the Uri interface, returns a valid pointer
2401 to the supported URI protocols but this pointer contains nothing
2402 don't try to save that as it will corrupt the registry.
2404 Don't unref the plugin if we added it to the registry already but
2405 fail to load a feature as gst_registry_add_plugin() takes ownership
2408 Improve debugging a bit.
2410 2008-04-16 Stefan Kost <ensonic@users.sf.net>
2413 Clarify some tag item docs after discussion on irc.
2415 2008-04-15 Stefan Kost <ensonic@users.sf.net>
2417 * docs/gst/gstreamer-docs.sgml:
2418 Remove commented out plugins (they have their own docs). Update
2421 2008-04-15 Stefan Kost <ensonic@users.sf.net>
2423 * docs/gst/gstreamer-docs.sgml:
2424 * docs/gst/gstreamer-sections.txt:
2425 * gst/gstparamspecs.c:
2426 * gst/gstparamspecs.h:
2427 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
2428 docs to own section.
2431 This now only documents GValue.
2433 * docs/libs/gstreamer-libs-sections.txt:
2434 * libs/gst/controller/gstcontroller.h:
2435 Remove GST_PARAM_CONTROLLABLE.
2437 2008-04-15 Stefan Kost <ensonic@users.sf.net>
2440 Correct file path. Tell about how to use -overrides.txt.
2441 * docs/design/draft-tagreading.txt:
2442 Small design update.
2444 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
2446 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
2447 (gst_registry_binary_load_plugin):
2448 Fix a typo in a debug message and revert change from yesterday as
2449 gst_registry_add_plugin() will only fail if something is really wrong
2450 already and we can't survive it anyway.
2452 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
2454 * gst/gst.c: (init_post), (gst_deinit):
2455 Pre-register GstGError GType from a thread-safe context
2456 (fixes #527967); unref enum type classes in deinit.
2458 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
2460 Patch by: Rene Stadler <mail at renestadler de>
2462 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
2463 Merging an empty list with another list in KEEP_ALL mode should
2464 yield an empty list as result and not the second list (#512578).
2466 * tests/check/gst/gsttagsetter.c:
2467 Add unit test for tag merge modes and the aforementioned bug.
2469 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
2471 Patch by: Rene Stadler <mail at renestadler de>
2474 Fix description to match the order in the table (#512577).
2476 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
2478 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
2480 * libs/gst/net/gstnettimepacket.h:
2481 * docs/libs/gstreamer-libs-sections.txt:
2482 Define socklen_t as int if it's not defined yet. Fixes compilation
2483 with MSVC6 and other versions where socklen_t is not defined in
2484 the windows headers (#518022).
2486 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
2488 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2489 If gst_registry_add_plugin() fails our reference to the plugin is
2490 invalid so don't try to use it anymore and instead error out.
2492 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
2494 * tools/gst-xmlinspect.c: (print_element_info), (main):
2495 De-cruft a bit. If no argument is specified, print all elements in
2496 XML syntax rather than a freestyle list of elements like gst-inspect.
2497 Also, don't print XML header chunk unless we actually have something
2498 to print (ie. don't print it before an error message); print error
2499 message to stderr not stdout. Remove support for printing plugin
2500 info (it would just output something freestyle along the lines of
2501 gst-inspect so far), which fixes #514507. Also add license header.
2503 2008-04-11 Julien Moutte <julien@fluendo.com>
2506 * configure.ac: Merge platform specific defines, introduce a new
2507 define on OS X to remember that forking when updating registry is
2509 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
2511 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
2513 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
2514 condition that leads to absolutely no plugins being registered on
2517 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
2519 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2521 * gst/gstutils.c: (gst_pad_add_data_probe),
2522 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
2523 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
2524 (gst_pad_add_buffer_probe_full):
2526 * docs/gst/gstreamer-sections.txt:
2527 * win32/common/libgstreamer.def:
2528 Add gst_pad_add_*_probe_full() functions with a notify callback that
2529 lets the caller free the data it passes to the probe functions. This
2530 is useful for bindings such as gst-python or gstreamermm (#526814).
2531 API: gst_pad_add_data_probe_full
2532 API: gst_pad_add_buffer_probe_full
2533 API: gst_pad_add_event_probe_full
2535 * tests/check/gst/gstutils.c:
2536 Add minimal unit test to make sure freeing the data actually works
2539 * tests/benchmarks/.cvsignore:
2540 Random cvsignore addendum.
2542 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
2544 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
2545 (GST_DEBUG_BIN_TO_DOT_FILE):
2546 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
2547 to it in the docs (since these are macros the types of the arguments
2548 won't be shown in the docs otherwise).
2550 2008-04-10 Stefan Kost <ensonic@users.sf.net>
2553 Do not abort on out of memory for pad_alloc_buffer.
2555 2008-04-10 Stefan Kost <ensonic@users.sf.net>
2557 * libs/gst/check/gstcheck.c:
2558 Remove blank line between symbol name ad parameters to fix gtkdoc
2561 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
2563 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2565 * docs/gst/gstreamer-sections.txt:
2568 * win32/common/libgstreamer.def:
2569 Expose gst_segment_copy() to make things easier for the c++ bindings.
2571 API: gst_segment_copy()
2573 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
2575 * gst/gst.c: (gst_init_get_option_group), (init_post):
2576 Fix const position; ref GType classes for enum types to work
2577 around thread-safety issues in GLib versions < 2.16.
2579 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
2581 * docs/design/part-buffering.txt:
2582 Fix some typos and set the estimated total for push mode to -1.
2584 * gst/gstquery.c: (gst_query_new_buffering):
2585 Set buffering-left to 0 as we're not buffering by default.
2587 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
2588 Implement BUFFERING query.
2590 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
2592 Based on patch by: Milosz Derezynski <internalerror gmail com>
2594 * gst/gsterror.c: (_gst_stream_errors_init):
2596 Add two new error codes for encrypted content. Fixes #524659.
2597 API: GST_STREAM_ERROR_DECRYPT
2598 API: GST_STREAM_ERROR_DECRYPT_NOKEY
2600 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
2605 * win32/common/libgstreamer.def:
2608 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
2610 * plugins/elements/gstidentity.c: (gst_identity_event),
2611 (gst_identity_start):
2612 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
2613 event after processing some data. Fixes bug #526042.
2615 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
2617 * docs/gst/gstreamer-sections.txt:
2618 * gst/gstquery.c: (gst_query_parse_latency),
2619 (gst_query_set_buffering_percent),
2620 (gst_query_parse_buffering_percent),
2621 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
2623 Rename _avail -> _range
2624 API: gst_query_set_buffering_range
2625 API: gst_query_parse_buffering_range
2627 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
2629 * docs/design/part-buffering.txt:
2632 * gst/gstquery.c: (gst_query_parse_latency),
2633 (gst_query_new_buffering), (gst_query_set_buffering_percent),
2634 (gst_query_parse_buffering_percent):
2636 Add busy field and quark for the buffering query so that the app can
2637 only use the query to see if buffering is in progress.
2639 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
2641 * docs/gst/gstreamer-sections.txt:
2642 * gst/gstmessage.c: (gst_message_set_buffering_stats),
2643 (gst_message_parse_buffering_stats):
2645 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
2646 (gst_query_parse_latency), (gst_query_new_buffering),
2647 (gst_query_set_buffering_percent),
2648 (gst_query_parse_buffering_percent),
2649 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
2650 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
2652 Reorder the message docs and headers for clarity.
2653 Add aditional buffering stats API for messages.
2654 Add buffering query.
2655 Convert some leftover queries to use GstQuark.
2656 API: gst_message_set_buffering_stats
2657 API: gst_message_parse_buffering_stats
2658 API: GST_QUERY_BUFFERING
2659 API: GstBufferingMode
2660 API: gst_query_new_buffering
2661 API: gst_query_set_buffering_percent
2662 API: gst_query_parse_buffering_percent
2663 API: gst_query_set_buffering_stats
2664 API: gst_query_parse_buffering_stats
2666 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
2668 * gst/gstmessage.c: (gst_message_new_error),
2669 (gst_message_new_warning), (gst_message_new_info),
2670 (gst_message_new_buffering), (gst_message_new_state_changed),
2671 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
2672 (gst_message_new_new_clock), (gst_message_new_segment_start),
2673 (gst_message_new_segment_done), (gst_message_new_duration),
2674 (gst_message_new_async_start), (gst_message_parse_buffering),
2675 (gst_message_parse_state_changed),
2676 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
2677 (gst_message_parse_new_clock), (gst_message_parse_error),
2678 (gst_message_parse_warning), (gst_message_parse_info),
2679 (gst_message_parse_segment_start),
2680 (gst_message_parse_segment_done), (gst_message_parse_duration),
2681 (gst_message_parse_async_start):
2682 Use GstQuark for messages.
2684 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
2686 * gst/gstquark.c: (_priv_gst_quarks_initialize):
2688 Add some more quarks needed for messages and queries.
2690 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
2692 * docs/design/part-buffering.txt:
2693 Remove the "none" buffering mode, STREAM is a good default.
2694 Move estimated-time to the avail query, that's when it will be needed.
2695 Other small typo fixes and updates.
2697 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
2699 * gst/gstindex.c: (gst_index_resolver_get_type):
2700 Don't put descriptions into the nick field of a GEnumValue: it's not
2701 meant for that and some language bindings rely on the nick field to
2702 construct constants and the like. Fixes #526705.
2704 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
2709 Merge other changes from 0.10.19 release branch.
2711 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
2713 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
2716 Actually build dlls when cross-compiling with mingw32.
2719 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
2721 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
2724 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
2726 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
2728 * docs/design/draft-latency.txt:
2731 * docs/design/part-buffering.txt:
2732 Update design docs with more buffering ideas.
2734 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
2737 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
2739 2008-04-03 Stefan Kost <ensonic@users.sf.net>
2742 Revert part that belongs to the preset patch.
2744 2008-04-03 Stefan Kost <ensonic@users.sf.net>
2747 Add qoutes to the define. Fixes # 525961.
2749 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
2751 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
2752 (gst_file_index_load), (gst_file_index_add_id),
2753 (gst_file_index_get_assoc_entry):
2754 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
2755 (gst_mem_index_free_id), (gst_mem_index_add_id),
2756 (gst_mem_index_index_format):
2757 Use GSlice when possible.
2759 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
2761 * libs/gst/controller/gstinterpolationcontrolsource.c:
2762 (gst_control_point_free),
2763 (gst_interpolation_control_source_set_internal):
2764 Use GSlice for allocating the control points.
2766 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
2768 * plugins/elements/gsttypefindelement.c:
2769 (gst_type_find_element_class_init),
2770 (gst_type_find_element_set_property),
2771 (gst_type_find_element_get_property),
2772 (gst_type_find_element_activate):
2773 * plugins/elements/gsttypefindelement.h:
2775 Fix pad leak when peer query fails.
2776 We can still typefind when the peer returns -1.
2777 Add property to force caps and bypass typefinding. This will be used in
2781 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
2786 * gst/glib-compat-private.h:
2787 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
2788 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2789 Unconditionally use GSlice for allocation.
2791 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
2792 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
2793 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
2794 (gst_structure_free):
2795 Use GSlice for allocation.
2797 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
2799 * gst/parse/Makefile.am:
2800 * gst/parse/grammar.tab.pre.c:
2801 * gst/parse/grammar.tab.pre.h:
2802 * gst/parse/lex._gst_parse_yy.pre.c:
2803 Require a new enough flex and bison and remove the parser hacks to use
2804 a pre-regenerated version.
2806 2008-04-01 Julien Moutte <julien@fluendo.com>
2808 patch by: Jason Zhao <E3423C@motorola.com>
2810 * configure.ac: Add a configure switch to disable option parsing
2814 2008-03-31 Stefan Kost <ensonic@users.sf.net>
2817 * gst/gstregistry.c:
2818 MacOS has plugins under .so or under .dylib. Add detection for MacOS
2819 and handle this case.
2822 Add a comment here describing, why we stat each plugin and not try to
2825 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
2827 * libs/gst/base/gstbasetransform.c:
2828 (gst_base_transform_prepare_output_buffer):
2829 Also unset the GAP flag on buffers if we're working inplace but
2830 the element is not GAP-aware.
2832 Mark a comment as FIXME 0.11.
2834 2008-03-31 Stefan Kost <ensonic@users.sf.net>
2837 Fix type in log message and add one to ease seeing how long registry
2838 cache verification takes.
2840 * gst/gstregistry.c:
2841 Only test plugin filenames against G_MODULE_SUFFIX.
2843 2008-03-31 Stefan Kost <ensonic@users.sf.net>
2845 * gst/gstdebugutils.c:
2846 Improve handling ghost/proxy pads.
2848 2008-03-27 Stefan Kost <ensonic@users.sf.net>
2850 * docs/gst/gstreamer-sections.txt:
2853 Expose macro to docs and fix link to it.
2855 2008-03-27 Michael Smith <msmith@fluendo.com>
2857 * libs/gst/dataprotocol/dataprotocol.c:
2858 (gst_dp_packet_from_event_1_0):
2859 When calculating GDP body CRC, use the correct pointer.
2860 Fixes part of #522401.
2862 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
2864 Patch by: Mark Nauwelaerts <manauw at skynet be>
2866 * plugins/elements/gstidentity.c: (gst_identity_class_init),
2867 (gst_identity_init), (gst_identity_prepare_output_buffer):
2868 Identity is not always a passthrough element, it can modify the buffer
2869 timestamps when it has a datarate and operates in single-segment mode.
2870 We therefore make it an in_place filter with a custom buffer prepare
2871 function that conditionally makes the input buffer metadata writable
2872 when needed. Fixes #523985.
2874 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
2876 Patch by: Mark Nauwelaerts <manauw at skynet be>
2879 * libs/gst/base/gstbasesrc.h:
2880 * libs/gst/base/gstbasetransform.c:
2881 * libs/gst/check/gstcheck.c:
2882 Small documentation fixes. Fixes #523978.
2884 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
2886 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2887 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2888 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
2890 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
2892 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
2893 (single_queue_underrun_cb):
2894 When trying to make room in the queue, bump the max allowed buffers
2895 bigger than the current amount of buffers in the queue. this fixes some
2896 nasty deadlocks in multiqueue when dynamically changing the limits of
2899 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
2901 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2903 * gst/gstcaps.c: (gst_caps_set_simple),
2904 (gst_caps_set_simple_valist), (gst_caps_intersect):
2906 Constify the field gchar * params in set_simple and friends.
2909 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
2911 * gst/gstvalue.c: (gst_value_transform_object_string):
2912 Transform a GstObject to a more meaningfull string that includes the
2913 object type in addition to its name.
2915 2008-03-23 Stefan Kost <ensonic@users.sf.net>
2918 ChangeLog surgery to add bugnumber to commit.
2920 2008-03-23 Rene Stadler <mail@renestadler.de>
2922 * libs/gst/base/gstbasetransform.c:
2923 (gst_base_transform_set_gap_aware): Fix confusing documentation.
2925 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
2927 * gst/gstregistrybinary.c: (gst_registry_binary_write):
2928 Rename constant everywhere and don't forget one occurence.
2930 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
2932 * gst/gstregistrybinary.c: (gst_registry_binary_write):
2933 Align memory to the pointer size even if the architecture allows
2934 unaligned memory access. Unaligned memory access usually comes with
2935 performance penality.
2937 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
2939 * gst/gstregistrybinary.c: (gst_registry_binary_write),
2940 (gst_registry_binary_check_magic),
2941 (gst_registry_binary_load_pad_template),
2942 (gst_registry_binary_load_feature),
2943 (gst_registry_binary_load_plugin):
2944 Align memory to the pointer size instead of always 32 bit. Fixes
2945 unaligned memory accesses on ia64 and friends.
2947 * gst/gstregistrybinary.h:
2948 Bump binary registry format version for this as it changes the
2949 format on those architectures that don't have unaligned access
2950 and 64 bit pointers.
2952 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
2954 * docs/pwg/advanced-dparams.xml:
2955 * docs/pwg/building-props.xml:
2956 * docs/pwg/other-source.xml:
2957 * gst/glib-compat.h:
2958 * gst/gstbin.c: (gst_bin_class_init):
2959 * gst/gstclock.c: (gst_clock_class_init):
2960 * gst/gstindex.c: (gst_index_class_init):
2961 * gst/gstobject.c: (gst_object_class_init):
2962 * gst/gstpad.c: (gst_pad_class_init):
2963 * gst/gstpipeline.c: (gst_pipeline_class_init):
2964 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2965 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2966 * libs/gst/base/gstbasetransform.c:
2967 (gst_base_transform_class_init):
2968 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
2969 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
2970 (_gst_check_fault_handler_sighandler),
2971 (_gst_check_fault_handler_setup), (gst_check_init):
2972 * libs/gst/controller/gstcontroller.c:
2973 (_gst_controller_class_init):
2974 * libs/gst/controller/gstlfocontrolsource.c:
2975 (gst_lfo_control_source_class_init):
2976 * libs/gst/net/gstnetclientclock.c:
2977 (gst_net_client_clock_class_init):
2978 * libs/gst/net/gstnettimeprovider.c:
2979 (gst_net_time_provider_class_init):
2980 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2981 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2982 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2983 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2984 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2985 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2986 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2987 * plugins/elements/gstidentity.c: (gst_identity_class_init):
2988 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
2989 * plugins/elements/gstqueue.c: (gst_queue_class_init):
2990 * plugins/elements/gsttee.c: (gst_tee_class_init):
2991 * plugins/elements/gsttypefindelement.c:
2992 (gst_type_find_element_class_init):
2993 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2994 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
2995 use it everywhere for GParamSpecs that use static strings (i.e. all).
2996 This gives us less memory usage, fewer allocations and thus less
2997 memory defragmentation. Fixes bug #523806.
2999 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3001 * gst/gstminiobject.c: (gst_value_dup_mini_object),
3002 (gst_param_spec_mini_object):
3003 * gst/gstminiobject.h:
3004 * win32/common/libgstreamer.def:
3005 * docs/gst/gstreamer-sections.txt:
3006 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3007 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3008 GstParamSpecMiniObject into a public header for this.
3010 This make GstMiniObject a bit more consistent with GObject and makes
3011 it possible to extend the param specs.
3013 gst_value_dup_mini_object is mainly useful for set_property methods.
3017 * tools/gst-inspect.c: (print_element_properties_info):
3018 Print something useful for GstMiniObject properties and not just
3021 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3023 * docs/gst/gstreamer-sections.txt:
3024 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3025 (gst_registry_binary_check_magic):
3026 * gst/gstregistrybinary.h:
3027 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3028 and add it to the (private part) of the docs to fix the build.
3030 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3032 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3033 (gst_registry_binary_check_magic),
3034 (gst_registry_binary_read_cache):
3035 * gst/gstregistrybinary.h:
3036 Don't use GST_MAJORMINOR for the binary registry version. Instead
3037 hardcode a value that must be changed whenever the format changes
3038 in an incompatible way.
3039 Also don't GST_ERROR when there is a version mismatch, just
3040 regenerate the registry silently.
3042 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
3045 Back to development - 0.10.18.1
3047 === release 0.10.18 ===
3049 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
3052 releasing 0.10.18, "So far away"
3054 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
3057 * win32/common/config.h:
3058 0.10.17.4 pre-release
3060 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
3062 Patch by: Ole André Vadla Ravnås
3063 <ole dot andre dot ravnas at tandberg dot com>
3065 * docs/gst/gstreamer-sections.txt:
3066 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3067 (gst_poll_update_winsock_event_mask),
3068 (gst_poll_prepare_winsock_active_sets),
3069 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3070 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3071 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3072 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3073 (gst_poll_check_ctrl_commands), (gst_poll_wait):
3075 * win32/common/libgstreamer.def:
3076 Add new function gst_poll_fd_ignored() for improved Windows
3078 Various minor fixes and cleanups. See #520808.
3080 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
3082 * gst/gstindex.c: (gst_index_entry_free):
3084 Don't free key strings which we don't own. Fixes crash in
3085 gst_index_entry_free() (#522741).
3087 * tests/check/Makefile.am:
3088 * tests/check/gst/.cvsignore:
3089 * tests/check/gst/gstindex.c: (test_index_entries),
3090 (gst_index_suite), (gst_index):
3091 Add unit test for the above.
3093 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
3095 * win32/common/libgstreamer.def:
3096 Remove symbols that were removed recently. Fixes bug #521740.
3098 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
3101 * win32/common/config.h:
3102 0.10.17.3 pre-release
3104 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
3106 Patch by: Ole André Vadla Ravnås
3107 <ole dot andre dot ravnas at tandberg dot com>
3109 * docs/gst/gstreamer-sections.txt:
3110 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
3111 (gst_poll_update_winsock_event_mask), (gst_poll_new),
3112 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
3113 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3114 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
3115 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3116 (gst_poll_fd_can_write), (gst_poll_wait),
3117 (gst_poll_set_controllable), (gst_poll_restart),
3118 (gst_poll_set_flushing):
3120 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3121 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
3122 (gst_net_time_provider_new):
3123 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3124 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
3125 * tests/benchmarks/gstpollstress.c: (main):
3126 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
3127 Remove GstPollMode from the API, it does not make sense to let the
3128 application control this.
3129 Add support for Win32.
3130 Fix the testsuite. Fixes #520671.
3132 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
3134 Patch by: Ole André Vadla Ravnås
3135 <ole dot andre dot ravnas at tandberg dot com>
3137 * gst/gstregistrybinary.c:
3138 Include io.h for write() and close() when building with MSVC. Fixes
3141 2008-03-07 Stefan Kost <ensonic@users.sf.net>
3144 * gst/gst_private.h:
3145 * gst/gstconfig.h.in:
3146 * gst/gstregistry.h:
3147 * gst/gstregistrybinary.c:
3148 * win32/common/gstconfig.h:
3149 Move registry backend API to private headers where we can. Add
3150 fixme-0.11 comments for the others. Add stubs for the xml backend when
3151 using the binary to ensure they functions exists (they should not be
3152 used though). Fixes #520756.
3154 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
3157 * win32/common/config.h:
3160 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
3162 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3163 (gst_registry_binary_read_cache):
3164 * gst/gstregistryxml.c: (gst_registry_save):
3165 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
3166 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
3167 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3168 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3169 Switch to using portabl gsize/gssize instead of size_t/ssize_t
3172 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
3174 * gst/gstminiobject.c:
3175 Import gst_private.h before any other header that might include other
3176 glib headers. This fixes the build on windows using native compilers.
3178 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
3180 * win32/common/gstconfig.h:
3181 Add here too, just for completeness.
3183 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
3186 * gst/gstconfig.h.in:
3187 * gst/gstregistry.h:
3188 Fix broken use of config.h-defined preprocessor directive in a public
3189 header file. Add a corresponding define to gstconfig.h, since we can't
3190 really remove those function declarations from the header file now
3191 (or can we? and why are they there in the first place?).
3193 2008-03-03 Andy Wingo <wingo@pobox.com>
3195 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
3198 * gst/gststructure.c (gst_structure_from_string): Warn if
3199 structure_from_string didn't consume the whole string, but the
3200 caller did not provide an end pointer.
3202 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
3204 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
3206 * gst/gstregistryxml.c: (read_string), (load_feature):
3207 Strings allocated by libxml2 should be freed with xmlFree(), not
3208 with g_free(). Fixes issues on windows in certain contexts (#519698).
3210 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
3212 * gst/gstinterface.c: (gst_element_implements_interface):
3213 Don't crash if the element supports the interface queried, but does
3214 not implement GstImplementsInterface. Fixes #519584.
3216 * tests/check/Makefile.am:
3217 * tests/check/gst/.cvsignore:
3218 * tests/check/gst/gstinterface.c:
3219 Add unit test for the above.
3221 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
3223 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3226 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
3228 * gst/gstsegment.c: (gst_segment_set_seek),
3229 (gst_segment_to_stream_time):
3230 Improve some comment.
3231 Update variables where it makes more sense.
3233 2008-02-29 Rene Stadler <mail@renestadler.de>
3235 * gst/gsturi.c: (gst_uri_handler_get_protocols):
3236 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
3237 URIHandlers implemented using language bindings.
3239 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
3241 * gst/gstelementfactory.h:
3242 * tests/check/elements/fakesink.c:
3243 * tests/check/elements/fakesrc.c: (setup_fakesrc):
3244 * tests/check/elements/fdsrc.c: (setup_fdsrc):
3245 * tests/check/elements/filesink.c: (setup_filesink):
3246 * tests/check/elements/filesrc.c: (setup_filesrc):
3247 * tests/check/elements/identity.c: (setup_identity):
3248 * tests/check/elements/tee.c:
3249 * tests/check/generic/sinks.c:
3250 * tests/check/generic/states.c: (setup), (teardown):
3251 * tests/check/gst/gst.c:
3252 * tests/check/gst/gstabi.c:
3253 * tests/check/gst/gstbin.c:
3254 * tests/check/gst/gstbus.c: (pull_messages):
3255 * tests/check/gst/gstcaps.c:
3256 * tests/check/gst/gstelement.c:
3257 * tests/check/gst/gstevent.c:
3258 * tests/check/gst/gstghostpad.c:
3259 * tests/check/gst/gstiterator.c:
3260 * tests/check/gst/gstmessage.c:
3261 * tests/check/gst/gstminiobject.c: (my_foo_init):
3262 * tests/check/gst/gstobject.c: (thread_name_object),
3264 * tests/check/gst/gstpad.c:
3265 * tests/check/gst/gstplugin.c:
3266 * tests/check/gst/gstpoll.c:
3267 * tests/check/gst/gstquery.c:
3268 * tests/check/gst/gstsegment.c:
3269 * tests/check/gst/gststructure.c:
3270 * tests/check/gst/gstsystemclock.c:
3271 * tests/check/gst/gsttask.c:
3272 * tests/check/gst/gstutils.c:
3273 * tests/check/gst/gstvalue.c:
3274 * tests/check/gst/struct_hppa.h:
3275 * tests/check/gst/struct_i386.h:
3276 * tests/check/gst/struct_ppc32.h:
3277 * tests/check/gst/struct_ppc64.h:
3278 * tests/check/gst/struct_x86_64.h:
3279 * tests/check/libs/adapter.c: (create_and_fill_adapter):
3280 * tests/check/libs/basesrc.c:
3281 * tests/check/libs/controller.c: (GST_START_TEST):
3282 * tests/check/libs/gdp.c:
3283 * tests/check/libs/gstnetclientclock.c:
3284 * tests/check/libs/gstnettimeprovider.c:
3285 * tests/check/libs/libsabi.c:
3286 * tests/check/libs/struct_hppa.h:
3287 * tests/check/libs/struct_i386.h:
3288 * tests/check/libs/struct_ppc32.h:
3289 * tests/check/libs/struct_ppc64.h:
3290 * tests/check/libs/struct_x86_64.h:
3291 * tests/check/pipelines/cleanup.c:
3292 * tests/check/pipelines/simple-launch-lines.c:
3293 * tests/check/pipelines/stress.c:
3294 And correct even more valid sparse warnings.
3296 * win32/common/libgstreamer.def:
3297 Add gst_poll_fd_init to the list of symbols.
3299 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
3301 * gst/gstconfig.h.in:
3302 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
3303 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
3304 (gst_check_log_critical_func), (gst_check_drop_buffers),
3305 (gst_check_element_push_buffer_list):
3306 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
3307 (gst_controller_get_type):
3308 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
3309 (gst_object_get_controller), (gst_object_get_control_source):
3310 * libs/gst/controller/gstinterpolationcontrolsource.c:
3311 (gst_interpolation_control_source_new):
3312 * libs/gst/controller/gstlfocontrolsource.c:
3313 (gst_lfo_control_source_new):
3314 * libs/gst/dataprotocol/dataprotocol.c:
3315 (gst_dp_event_from_packet_0_2):
3316 * plugins/elements/gstfdsrc.c:
3317 * plugins/elements/gstmultiqueue.c:
3318 * plugins/elements/gsttee.c:
3319 * plugins/elements/gsttypefindelement.c:
3320 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
3321 (gst_file_index_add_association):
3322 * plugins/indexers/gstmemindex.c:
3323 * tests/benchmarks/gstpollstress.c: (mess_some_more):
3324 * tests/check/elements/queue.c: (setup_queue):
3325 * tests/check/gst/gstpipeline.c:
3326 * tests/check/libs/collectpads.c: (setup), (teardown),
3327 (gst_collect_pads_suite):
3328 * tests/examples/adapter/adapter_test.c:
3329 * tests/examples/metadata/read-metadata.c: (make_pipeline):
3330 * tests/examples/xml/createxml.c:
3331 * tests/examples/xml/runxml.c:
3332 * tools/gst-inspect.c:
3334 Correct all relevant warnings found by the sparse semantic code
3335 analyzer. This include marking several symbols static, using
3336 NULL instead of 0 for pointers, not using variable sized arrays
3337 on the stack, moving variable declarations to the beginning of
3338 a block and using "foo (void)" instead of "foo ()" for declarations.
3340 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
3342 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
3343 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3344 Don't reset GstPollFDs, this is not necessary at all.
3346 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3347 (delayed_restart), (delayed_control):
3348 Use GST_POLL_FD_INIT.
3350 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
3352 * gst/gstpoll.c: (gst_poll_fd_init):
3356 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
3357 Use some more init macros.
3359 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
3361 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3362 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3363 Use init macros and functions.
3365 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
3367 * docs/gst/gstreamer-sections.txt:
3368 * gst/gstpoll.c: (gst_poll_fd_init):
3370 Add INIT macro and _init method for initializing the GstPollFD.
3372 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
3374 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
3375 (gst_fd_sink_update_fd):
3376 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3377 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3378 (delayed_restart), (delayed_control):
3379 Initialize some uninitialized variables as spotted by valgrind.
3381 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
3383 * tests/benchmarks/Makefile.am:
3384 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
3386 Add poll stress test.
3388 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
3390 Patch by: Peter Kjellerstedt <pkj at axis dot com>
3392 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3393 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
3394 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
3395 * plugins/elements/gstfdsink.h:
3396 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
3397 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
3398 (gst_fd_src_unlock_stop), (gst_fd_src_create),
3399 (gst_fd_src_uri_set_uri):
3400 * plugins/elements/gstfdsrc.h:
3401 Port to GstPoll. See #505417.
3403 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
3405 * win32/common/libgstreamer.def:
3406 Add new gst_poll_ symbols to win32 defs.
3408 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
3410 * docs/libs/gstreamer-libs-sections.txt:
3411 * libs/gst/net/gstnetclientclock.c:
3412 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
3413 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
3414 (gst_net_client_clock_thread), (gst_net_client_clock_start),
3415 (gst_net_client_clock_stop), (gst_net_client_clock_new):
3416 * libs/gst/net/gstnetclientclock.h:
3417 * libs/gst/net/gstnettimeprovider.c:
3418 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
3419 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
3420 (gst_net_time_provider_start), (gst_net_time_provider_stop),
3421 (gst_net_time_provider_new):
3422 * libs/gst/net/gstnettimeprovider.h:
3423 Use a private stuct to not break ABI.
3425 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
3427 Patch by: Peter Kjellerstedt <pkj at axis dot com>
3429 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
3430 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
3431 (gst_net_client_clock_thread), (gst_net_client_clock_start),
3432 (gst_net_client_clock_stop), (gst_net_client_clock_new):
3433 * libs/gst/net/gstnetclientclock.h:
3434 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
3435 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
3436 (gst_net_time_provider_start), (gst_net_time_provider_stop),
3437 (gst_net_time_provider_new):
3438 * libs/gst/net/gstnettimeprovider.h:
3439 Massive code removal and cleanups because of GstPoll.
3442 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
3445 Add checks for poll, ppoll and pselect.
3447 * docs/gst/gstreamer-docs.sgml:
3448 * docs/gst/gstreamer-sections.txt:
3449 Add docs for GstPoll.
3453 * gst/gstpoll.c: (find_index), (selectable_fds),
3454 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
3455 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
3456 (gst_poll_set_mode), (gst_poll_get_mode),
3457 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
3458 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3459 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
3460 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
3461 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
3462 (gst_poll_fd_can_write), (gst_poll_wait),
3463 (gst_poll_set_controllable), (gst_poll_restart),
3464 (gst_poll_set_flushing):
3466 Add generic poll abstraction. We ideally don't want to have this in core
3467 here but in glib intead...
3468 This code will be used in various network elements and ultimately for
3469 the nanosecond precision monotonic clock (that's why it's here in core).
3470 It'll allow us to implement cancelable socket operations for windows too.
3472 * tests/check/Makefile.am:
3473 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3474 (delayed_stop), (delayed_restart), (delayed_flush),
3475 (delayed_control), (gst_poll_suite):
3476 Add GstPoll unit test.
3478 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
3481 Improve documentation of gst_filter_run(). Fixes #518627.
3483 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
3486 Add a few lines about the new 'check-inspected-versions' target.
3488 2008-02-21 Stefan Kost <ensonic@users.sf.net>
3490 * tests/check/gst/gstevent.c:
3491 Add qos to the event test. Rename tcase/tsuite; is not only about
3494 2008-02-21 Stefan Kost <ensonic@users.sf.net>
3496 * plugins/elements/gstqueue.c:
3497 Ensure that buffer metadata is writeable, before modifying. Spotted by
3500 2008-02-20 Stefan Kost <ensonic@users.sf.net>
3502 * plugins/elements/gstqueue.c:
3503 * plugins/elements/gstqueue.h:
3504 When dropping buffers in leaky modes, mark next buffers we sent as
3507 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
3509 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
3510 Also, if mmap() fails that would be a READ error, not OPEN_READ.
3512 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
3514 * plugins/elements/Makefile.am:
3515 * plugins/elements/gstbufferstore.c:
3516 * plugins/elements/gstbufferstore.h:
3517 * plugins/elements/gsttypefindelement.h:
3518 Remove GstBufferStore, no idea why we were still building it.
3519 It's not used anywhere and superseded by GstAdapter.
3521 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3522 (gst_file_src_create_mmap):
3523 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
3524 Printf format fixes for 64-bit integers.
3526 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
3529 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
3530 We're not in 0.8 times anymore.
3532 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
3534 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
3535 (gst_check_element_push_buffer_list):
3536 * libs/gst/check/gstcheck.h:
3537 Make the declaration in the header for
3538 gst_check_element_push_buffer_list match the implementation.
3540 Fix up spelling, grammar and wording of the documentation in a few
3541 places, and add the Since keyword to new API functions.
3542 Use g_list_delete_link instead of g_list_remove in
3543 gst_check_drop_buffers, since it's immeasurably more efficient.
3545 * tests/check/elements/fakesrc.c: (GST_START_TEST):
3546 Use new gst_check_drop_buffers function where appropriate.
3548 * win32/common/libgstbase.def:
3549 * win32/common/libgstreamer.def:
3550 Add new symbols gst_collect_pads_take_buffer,
3551 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
3554 Changelog surgery to add API keyword to new gst_check API.
3556 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
3558 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
3559 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
3560 Update pre-generated flex files with flex 2.3.34.
3562 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
3564 * gst/gstminiobject.c:
3565 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
3566 friendly to subclasses and not require them to know all internals
3567 of their parent class.
3569 2008-02-15 Stefan Kost <ensonic@users.sf.net>
3571 * docs/libs/gstreamer-libs-sections.txt:
3572 * libs/gst/base/gstcollectpads.c:
3573 * libs/gst/base/gstcollectpads.h:
3574 Add sub-buffer functions to collectpads. Fixes #516187.
3575 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
3577 2008-02-15 Stefan Kost <ensonic@users.sf.net>
3580 Copy selected buffer-flags when creating subbuffers.
3583 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
3585 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
3586 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
3587 * gst/gstmessage.c: (gst_message_class_init),
3588 (gst_message_finalize):
3589 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
3590 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
3591 (gst_mmap_buffer_finalize):
3592 Properly chain up finalize functions to the parent class.
3594 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
3596 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
3598 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
3599 (gst_index_set_resolver_full):
3601 Add new function with option to dispose of user_data in resolver.
3602 Actually call the dispose function when finalizing the object and not
3603 just when changing the resolver/filter.
3604 API: GstIndex::gst_index_set_resolver_full()
3606 * docs/gst/gstreamer-sections.txt:
3607 Add new function to docs. Fixes #515469.
3609 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
3611 * gst/gstindex.c: (gst_index_finalize):
3612 Chain up finalize to the parent class. Fixes leaking the GstObject
3613 name and other things.
3615 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
3618 Make DISABLE_DEPRECATED defined *only* during CVS, not during
3619 pre-releases or releases.
3621 * docs/faq/gst-uninstalled:
3624 * docs/random/release:
3625 Change one of the steps - we only upload core & base to Gnome FTP
3627 2008-02-06 Stefan Kost <ensonic@users.sf.net>
3629 * gst/gstconfig.h.in:
3630 Add 'id' for example.
3634 * plugins/elements/gstfdsink.c:
3635 Link to signals. Doc and comment fixes.
3637 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
3639 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
3640 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
3641 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
3642 unused and unimplemented; finally, it is plugin features, not
3643 plugins, that have ranks.
3645 2008-02-05 Stefan Kost <ensonic@users.sf.net>
3647 * gst/gstpluginfeature.h:
3648 Clarify GstRank range docs.
3650 2008-02-05 David Schleef <ds@schleef.org>
3652 * gst/gst.c: Add a separate gst_deinitialized that prevents
3653 gst_init() from being called after gst_deinit(). Fixes #509559
3655 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
3657 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
3658 (gst_bin_class_init):
3659 * gst/gstelement.c: (gst_element_base_class_init),
3660 (gst_element_class_add_pad_template):
3661 * gst/gstpadtemplate.c: (gst_pad_template_init):
3662 * gst/gstpipeline.c: (gst_pipeline_get_type),
3663 (gst_pipeline_base_init), (gst_pipeline_class_init):
3664 * libs/gst/base/gstbasesink.c:
3665 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
3666 (gst_base_src_base_init), (gst_base_src_class_init):
3667 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
3668 (gst_capsfilter_class_init):
3669 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
3670 (gst_fake_sink_class_init):
3671 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
3672 (gst_fake_src_class_init):
3673 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
3674 (gst_fd_sink_class_init):
3675 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
3676 (gst_fd_src_class_init):
3677 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
3678 (gst_file_sink_class_init):
3679 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
3680 (gst_file_src_class_init):
3681 * plugins/elements/gstidentity.c: (gst_identity_base_init),
3682 (gst_identity_class_init):
3683 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3684 (gst_multi_queue_class_init):
3685 * plugins/elements/gstqueue.c: (gst_queue_base_init),
3686 (gst_queue_class_init):
3687 * plugins/elements/gsttee.c: (gst_tee_base_init),
3688 (gst_tee_class_init):
3689 * plugins/elements/gsttypefindelement.c:
3690 (gst_type_find_element_base_init),
3691 (gst_type_find_element_class_init):
3692 * tests/check/gst/gstelement.c: (gst_element_suite):
3693 Revert previous changes to the behaviour of GstPadTemplates, etc
3694 and the possiblity to call them in class_init as it breaks too
3695 many elements. Reopens bug #491501.
3697 Should be applied again for 0.11, thus added a few FIXME 0.11 at
3700 2008-02-05 Stefan Kost <ensonic@users.sf.net>
3702 * tools/gst-launch.c:
3703 Dump one graph per pipeline state-change and state change name
3704 (if GST_DEBUG_DUMP_DOT_DIR is set).
3706 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
3709 * tests/check/gst/gstpad.c:
3710 Be sure that we have a new copy of the caps and not
3711 reffed caps from a template
3713 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
3715 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
3716 * gst/gstpipeline.c: (gst_pipeline_get_type),
3717 (gst_pipeline_class_init):
3718 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
3719 (gst_base_sink_class_init):
3720 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
3721 (gst_base_src_class_init):
3722 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3723 (gst_base_transform_class_init):
3724 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3725 (gst_collect_pads_class_init):
3726 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
3727 * libs/gst/net/gstnettimeprovider.c:
3728 (gst_net_time_provider_base_init),
3729 (gst_net_time_provider_class_init):
3730 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
3731 (gst_capsfilter_class_init):
3732 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
3733 (gst_fake_sink_class_init):
3734 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
3735 (gst_fake_src_class_init):
3736 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
3737 (gst_fd_sink_class_init):
3738 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
3739 (gst_fd_src_class_init):
3740 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
3741 (gst_file_sink_class_init):
3742 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
3743 (gst_file_src_class_init):
3744 * plugins/elements/gstidentity.c: (gst_identity_base_init),
3745 (gst_identity_class_init):
3746 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3747 (gst_multi_queue_class_init):
3748 * plugins/elements/gstqueue.c: (gst_queue_base_init),
3749 (gst_queue_class_init):
3750 * plugins/elements/gsttee.c: (gst_tee_base_init),
3751 (gst_tee_class_init):
3752 * plugins/elements/gsttypefindelement.c:
3753 (gst_type_find_element_base_init),
3754 (gst_type_find_element_class_init):
3755 Don't use base_init where not absolutely necessary. For example it's
3756 not necessary anymore for adding pad templates or setting element
3759 Leave empty base_init functions in several places as GST_BOILERPLATE
3760 still defines and uses them.
3762 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
3764 * gst/gstelement.c: (gst_element_base_class_init),
3765 (gst_element_class_add_pad_template):
3766 * gst/gstpadtemplate.c:
3767 Make it possible (and recommended) to set element details and add
3768 pad templates in the class_init functions by copying the details/pad
3769 templates in GstElement's base_init.
3771 Also make it possible to replace existing pad templates by adding
3772 a new one with the same name. This was done in a hackish fashion
3773 in same elements before already.
3775 Don't reference pad templates that are added a second time. A
3776 new pad template has a refcount of one and is not floating anymore
3777 and to be owned by the element's class. Make this more explicit by
3778 mentioning it in the docs of gst_element_class_add_pad_template().
3780 These changes are backwards compatible. Fixes bug #491501.
3782 * tests/check/gst/gstelement.c:
3783 Add unit test for setting element details, adding pad templates and
3784 replacing them in a subclass.
3786 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
3788 * tools/gst-inspect.c: (print_interfaces),
3789 (print_element_properties_info), (print_pad_info),
3790 (print_signal_info), (print_element_info):
3791 Fix a few memory leaks.
3793 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
3795 * docs/libs/gstreamer-libs-sections.txt:
3796 * libs/gst/check/gstcheck.c:
3797 * libs/gst/check/gstcheck.h:
3798 Add more functions for unit testing: gst_check_drop_buffers,
3799 gst_check_caps_equal, gst_check_element_push_buffer_list,
3800 gst_check_element_push_buffer
3801 API: gst_check_drop_buffers
3802 API: gst_check_caps_equal
3803 API: gst_check_element_push_buffer_list
3804 API: gst_check_element_push_buffer
3806 2008-02-01 Julien Moutte <julien@fluendo.com>
3808 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
3809 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
3810 (gst_index_finalize), (gst_index_entry_free),
3811 (gst_index_add_association): Fix memory leaks.
3812 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
3813 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
3814 (gst_mem_index_free_format), (gst_mem_index_free_id),
3815 (gst_mem_index_finalize): Fix memory leaks.
3816 * win32/common/config.h: Updated to CVS HEAD.
3818 2008-02-01 Stefan Kost <ensonic@users.sf.net>
3821 Some more details about how the plugin docs works.
3823 * docs/plugins/gstreamer-plugins-sections.txt:
3826 2008-02-01 Stefan Kost <ensonic@users.sf.net>
3828 * gst/parse/grammar.tab.pre.c:
3829 * gst/parse/grammar.tab.pre.h:
3830 * gst/parse/grammar.y:
3831 * gst/parse/lex._gst_parse_yy.pre.c:
3832 Add delayed set-property. This allows to set properties on dynamicaly
3833 created objects (pads in videomxer). Fixes #509391.
3835 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
3838 Check if caps are not NULL (fix bug #510194)
3840 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
3842 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
3843 (gst_base_sink_get_position_paused):
3844 Add fixme regarding EOS in pull mode.
3845 Fix position reporting in PAUSED for negative rates.
3847 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
3849 * gst/gstminiobject.c: (gst_mini_object_replace):
3850 When replacing a miniobject, do a quick equality check first so that we
3851 can avoid a ref/unref pair.
3853 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
3855 * docs/design/part-synchronisation.txt:
3858 * docs/plugins/Makefile.am:
3859 * docs/plugins/gstreamer-plugins-docs.sgml:
3860 * docs/plugins/gstreamer-plugins-sections.txt:
3861 * plugins/elements/gstmultiqueue.c:
3862 Add multiqueue to the docs.
3864 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
3869 === release 0.10.17 ===
3871 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
3874 releasing 0.10.17, "Due Negligence"
3876 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
3879 Revert caps != NULL check temporarily for 0.10.17 release.
3881 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
3884 Check if caps are not NULL (fix bug #510194)
3886 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
3889 Fix compilation on systems that have posix timers but no
3892 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
3895 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
3897 * tools/gst-inspect.c:
3898 Revert previous commit in preparation for an impromptu 0.10.17 release
3900 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
3902 * tools/gst-inspect.c: (print_interfaces),
3903 (print_element_properties_info), (print_pad_info),
3904 (print_signal_info), (print_element_info):
3905 Fix a few memory leaks.
3907 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
3912 === release 0.10.16 ===
3914 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
3917 releasing 0.10.16, "Special Dispensation"
3919 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
3922 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
3923 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
3924 not fail when trying to crosscompile on OpenEmbedded (#511750).
3926 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
3929 Use $(MAKE) instead of make to fix the build if GNU make is
3930 called different. Fixes bug #510747.
3932 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
3934 * gst/gstplugin.c: (_gst_plugin_initialize):
3935 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
3936 again, which I broke two commits ago when changing the API
3937 of gst_plugin_register_static(): the g_list_foreach() in
3938 _gst_plugin_register_static still assumed the old function
3939 signature and would therefore fail (re-fixes #510187).
3941 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
3942 (_gst_plugin_register_static), (gst_plugin_register_static):
3943 Revert the (technically correct) change to call g_thread_init() from
3944 the pre-main() constructor. This will break programs which call
3945 g_thread_init() without an if (!g_thread_supported()) guard in their
3946 main function. We could just blame it on GLib or the application, but
3947 it's probably best to just avoid this altogether and simply not use
3948 any GLib functions here and use plain old malloc() with a simple
3949 array to store the plugins to register later when gst_init() is
3950 finally called (re-fixes #510187).
3952 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
3953 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
3954 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
3955 (GST_START_TEST), (gst_plugin_suite):
3956 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
3959 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
3961 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
3962 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
3963 This makes gtk-doc complain, but results in slightly better
3964 compiler errors. The old _gst_plugin_register_static() is
3965 still guarded, so there'll be a compiler warning about that
3966 instead. Fixes #510187 too.
3968 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
3970 * gst/gst.c: (init_post):
3971 * gst/gstplugin.c: (_gst_plugin_register_static),
3972 (gst_plugin_register_static), (_gst_plugin_initialize):
3973 * gst/gstplugin.h: (GstPluginFilter):
3974 Change API of gst_plugin_register_static() to not take
3975 a GstPluginDesc, but rather just take all the arguments
3976 in a GstPluginDesc directly. This is more intuitive and
3977 avoids certain mistakes when porting code from
3978 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
3981 * tests/check/gst/gstplugin.c:
3982 Fix up for changed API.
3984 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
3986 * docs/faq/legal.xml:
3987 Update FAQ, Totem actually has an exception these days.
3989 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
3991 * win32/common/libgstreamer.def:
3992 Add new API declarations
3994 2008-01-14 Stefan Kost <ensonic@users.sf.net>
3996 * gst/gstminiobject.c:
3997 Spelling fixes for the API docs.
3999 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4001 * libs/gst/base/gstbasetransform.c:
4002 Fix long property description for QoS.
4004 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
4007 _gst_trace_on is already provided by gsttrace.h, no need to declare
4010 * docs/libs/gstreamer-libs-sections.txt:
4011 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4012 and remove strange tcase_add_test which is outputting a warning.
4014 * libs/gst/check/gstcheck.c:
4015 * libs/gst/check/gstcheck.h:
4016 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4017 and define them in gstcheck.c instead of having every .c file whcih
4018 includes gstcheck.h be defining its own copy and relying on symbol
4019 interposing to marry them all, which doesn't work on Solaris.
4021 * tests/check/elements/identity.c: (GST_START_TEST):
4022 Don't define 'buffers' locally, it comes from libgstcheck.
4024 * tests/check/generic/sinks.c: (send_buffer):
4025 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4027 * tests/check/gst/gststructure.c: (GST_START_TEST):
4028 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4029 * tests/check/gst/gstutils.c: (GST_START_TEST):
4030 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4031 Add a bunch of casts to make various constants fit the types
4032 they're being assigned to.
4034 2008-01-10 Stefan Kost <ensonic@users.sf.net>
4036 * gst/gstchildproxy.c:
4037 Improve docs and add some ideas for making this more general-purpose.
4039 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
4041 * gst/gst_private.h: (GST_CAT_TYPES):
4042 Add GST_CAT_TYPES, for consistency, and so that the other
4043 debug categories don't make fun of it. Spotted by Saur on IRC.
4045 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4047 * gst/parse/Makefile.am:
4048 Move types.h from EXTRA_DIST to noinst_HEADERS.
4050 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4053 Add -Wno-portability to the automake parameters to stop warnings
4054 about GNU make extensions being used. We require GNU make in almost
4055 every Makefile anyway.
4058 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4059 at the same time is required for per target flags.
4061 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4064 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4065 __GNUC__ is defined before using it.
4067 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4069 * docs/gst/gstreamer-sections.txt:
4070 * gst/gst.c: (init_post):
4071 * gst/gstplugin.c: (_gst_plugin_register_static),
4072 (gst_plugin_register_static), (_gst_plugin_initialize),
4073 (gst_plugin_register_func):
4074 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4075 API: add gst_plugin_register_static() and deprecate
4076 GST_PLUGIN_DEFINE_STATIC, since it's not portable
4078 Also, in _gst_plugin_register_static(), make sure to call
4079 g_thread_init() before calling GLib functions such as
4080 g_list_append() if we're not initialised yet, since that
4081 may lead to random crashes with older GSlice/GLib versions.
4083 * tests/check/gst/gstplugin.c:
4084 Adapt unit test to above changes.
4086 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4088 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
4089 * gst/gstcaps.c: (gst_caps_to_string):
4090 * gst/gststructure.c: (GST_ASCII_IS_STRING),
4091 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
4092 Yet another gratuitous GString micro-optimisation: add a (private)
4093 function that serialises a structure appending to an existing
4094 GString, so that when we serialise caps we don't need to alloc+free
4095 a throwaway GString for each structure (each of which also entailing
4096 multiple reallocs on the way); also use g_string_sized_new() in
4097 various places with an approximate string length to avoid reallocs
4098 within GString. See #500143.
4100 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4102 * gst/gststructure.c: (gst_structure_id_set_value):
4103 Always check UTF-8 conformance of structure strings and not only
4104 if the debugging system is enabled; reasoning: the behaviour of
4105 the actual code shouldn't really change depending on whether the
4106 debugging system is enabled or not (#508291).
4108 2008-01-09 Stefan Kost <ensonic@users.sf.net>
4111 Remove old coverage target in favour of "make lcov".
4113 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4115 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4116 (gst_base_src_loop):
4117 The start segment for reverse playback goes from start to last_stop.
4119 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4121 Patch by: Peter Kjellerstedt <pkj axis com>
4124 Cast the results from the timeval/spec_to_time macros to what the
4125 docs say it casts to, a GstClockTime. fixes #508175.
4127 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4130 Update some comments.
4132 * tools/gst-inspect.c: (print_element_properties_info):
4133 Improve printing of flags.
4135 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
4137 * libs/gst/base/gstbasetransform.c:
4138 (gst_base_transform_transform_size):
4139 Print element name with g_warning() if there's a problem
4142 2008-01-07 David Schleef <ds@schleef.org>
4144 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
4146 * libs/gst/controller/gstcontroller.h:
4147 * libs/gst/controller/gstcontrolsource.h:
4148 * libs/gst/controller/gstinterpolationcontrolsource.h:
4149 * libs/gst/controller/gstlfocontrolsource.h:
4150 * libs/gst/dataprotocol/dataprotocol.h:
4151 Fix empty prototypes. Fixes bug #507957.
4153 2008-01-07 David Schleef <ds@schleef.org>
4155 * docs/faq/dependencies.xml: Fix typo.
4157 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
4159 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
4160 (gst_base_src_loop):
4161 Don't update the last_stop position in do_seek, that's the position we
4163 Read backwards when we have a negative rate.
4165 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
4166 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
4168 Add check for reverse reading.
4170 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
4172 Patch by: Alexis Ballier <aballier at gentoo org>
4174 * tests/check/gst/gstabi.c:
4175 * tests/check/gst/struct_ppc64.h:
4176 * tests/check/libs/libsabi.c:
4177 * tests/check/libs/struct_ppc64.h:
4178 Decide which header to include based on the userland ABI target
4179 and not the kernel/cpu. Fix up structure sizes of ppc64 header
4180 for 64-bit userland (#503590). Might need something similar for
4183 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
4185 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
4186 Log the reason why fopen fails in addition to the fact that it failed.
4188 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
4190 * gst/parse/parse.l:
4191 Use "%option never-interactive" to prevent useless calls to isatty()
4192 on every input when parsing. Also use "%option noinput" to not define
4193 the static input/yyinput functions which we don't use anyway. This
4194 removes a compiler warning with gcc 4.3 and saves some bytes in the
4197 * gst/parse/lex._gst_parse_yy.pre.c:
4198 Regenerated for the above change.
4200 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
4202 * gst/gstpad.c: (fixate_value):
4203 Don't crash when trying to fixate and empty list.
4206 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
4208 * docs/faq/gst-uninstalled:
4209 Clarify the comments to make the usage of this script and what it
4210 does easier to understand.
4212 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
4214 * tools/gst-plot-timeline.py:
4215 Add more options to gst-plot-timeline
4217 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
4219 * docs/design/part-synchronisation.txt:
4220 Some more info on how the stream_time in GstBaseSink is done.
4222 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
4224 * tests/check/generic/sinks.c: (gst_sinks_suite):
4225 Put back the tcase_set_timeout(), apparently it's needed after
4226 all; fix it up in a way that makes things work with valgrind too.
4228 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
4230 * gst/gstdebugutils.c:
4231 Add warning when failed to open file for writing.
4233 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
4235 Based on patch by: Laurent Glayal <spglegle yahoo fr>
4237 * gst/gstvalue.c: (gst_value_is_fixed):
4238 Optimisation: bail out of the loop as early as possible (#500143).
4240 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
4242 * gst/gstcaps.c: (gst_caps_to_string):
4243 * gst/gstinfo.c: (gst_debug_construct_term_color):
4244 * gst/gstparse.c: (gst_parse_launchv):
4245 * gst/gstutils.c: (gst_util_dump_mem):
4246 * gst/gstvalue.c: (gst_value_serialize_any_list),
4247 (gst_value_transform_any_list_string):
4248 Bunch of gratuitous nano-optimisations.
4250 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
4252 * tests/check/generic/sinks.c: (async_done_func),
4253 (async_done_eos_func):
4254 Fix leak in unit test (bus sync handler must unref the message
4255 if it returns GST_BUS_DROP). Don't fiddle with the default test
4256 timeout, this is smaller than the current preconfigured value
4257 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
4258 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
4260 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
4262 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
4265 Check for stdio_ext.h for the filesink changes.
4267 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
4268 (gst_file_sink_class_init), (gst_file_sink_init),
4269 (gst_file_sink_dispose), (gst_file_sink_set_property),
4270 (gst_file_sink_get_property), (gst_file_sink_open_file),
4271 (gst_file_sink_close_file):
4272 * plugins/elements/gstfilesink.h:
4273 Add two properties to control the buffering mode and size.
4274 API: GstFileSink::buffer-mode
4275 API: GstFileSink::buffer-size
4278 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
4280 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
4281 Add some more docs to explain why a FIXME was wrongly added.
4283 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
4286 Fix typo in the gst_object_{ref,unref} documentation.
4288 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
4290 * tests/check/libs/controller.c:
4291 * tests/check/libs/typefindhelper.c:
4292 * tests/check/pipelines/parse-launch.c:
4293 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
4294 going to be deprecated (see #498924).
4296 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
4298 * gst/gsttypefind.c: (gst_type_find_register):
4299 Make gst_type_find_register work for static typefind functions,
4300 ie. allow passing plugin == NULL (prerequisite for #498924).
4302 * gst/gstelementfactory.c: (gst_element_register):
4303 Small docs addition.
4305 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
4307 * gst/gstpad.c: (gst_pad_dispose):
4308 Really unlink the peer pad instead of setting the peer pointer to NULL
4309 when we dispose the pad.
4310 This correctly calls the unlink functions and makes sure that the peer
4311 does not have a handle to invalid memory. See #504671.
4313 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4314 Add testsuite for above case.
4316 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
4318 Patch by: Peter Kjellerstedt <pkj axis com>
4320 * libs/gst/check/gstcheck.h:
4321 Fix detection of the check version we're compiling against (would
4322 otherwise break if check goes v0.10.0); correctly report the
4323 name of the failed test again in case of failure, instead of
4324 just 'tf' (fixes #504499).
4326 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
4328 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
4329 (gst_base_src_get_range), (gst_base_src_pad_get_range),
4330 (gst_base_src_loop), (gst_base_src_set_flushing),
4331 (gst_base_src_change_state):
4332 Allow sending EOS to the source to make it send out an EOS event from
4333 the streaming thread.
4334 Update docs and deprecate the old NULL/READY shutdown method.
4336 * tests/check/libs/basesrc.c: (GST_START_TEST),
4337 (gst_basesrc_suite):
4338 Add unit test for controlled shutdown.
4340 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
4342 * docs/design/part-synchronisation.txt:
4345 * gst/gstsegment.c: (gst_segment_set_seek),
4346 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
4347 (gst_segment_to_running_time):
4348 The seek format can be different from the segment format when the start
4349 and stop values are not to be updated, when we only do a rate change for
4352 * tests/check/gst/gstsegment.c: (GST_START_TEST),
4353 (gst_segment_suite):
4354 Add a testcase for the rate-only seeks, checking that the format is
4355 correctly ignored when start and stop are not updated.
4357 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
4359 Patch by: Matthias Bolte <photon at mail dot upb dot de>
4361 * win32/vs8/grammar.vcproj:
4362 * win32/vs8/libgstcontroller.vcproj:
4363 * win32/vs8/libgstreamer.vcproj:
4364 Fix compilation with VS8 and include some missing files.
4366 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
4369 Small docs addition: mention that the strings returned by
4370 gst_tag_list_get_string*() are in UTF-8 encoding.
4372 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
4375 The check-exports stuff moved to common/win32.mak, so include that.
4377 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
4379 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4380 (gst_base_src_perform_seek), (gst_base_src_get_range),
4381 (gst_base_src_set_playing), (gst_base_src_change_state):
4382 Make _wait_playing() not check any variables so that we can call this
4383 function from subclasses. Move the checks elsewhere similar to
4384 _wait_preroll() in basesink.
4386 Only signal the LIVE cond when we are going back to PLAYING.
4388 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
4390 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
4391 Use g_remove() and g_rename(). Check result of g_rename(), and
4392 don't leak the open file descriptor if we error out when writing.
4394 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
4395 Must check the return value of close() after writing out the new
4396 registry file. Sometimes write problems such as out-of-diskspace
4397 are only reported when the file is closed and not already during
4398 the write. This may have caused partial/broken registry files in
4399 some rare circumstances. Should fix #503675.
4401 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
4403 * docs/gst/.cvsignore:
4404 * docs/libs/.cvsignore:
4405 * docs/plugins/.cvsignore:
4406 Ignore files generated by new common/* modifications
4408 2007-12-15 Stefan Kost <ensonic@users.sf.net>
4410 * win32/common/libgstbase.def:
4411 Yes, you can also have a <TAB> if you want.
4413 2007-12-15 Stefan Kost <ensonic@users.sf.net>
4415 * win32/common/libgstbase.def:
4416 Add new basetransform API to win export file.
4418 2007-12-15 Stefan Kost <ensonic@users.sf.net>
4420 * tests/check/gst/gstbin.c:
4421 Adjust the test to the refcount change two days ago.
4423 2007-12-14 David Schleef <ds@schleef.org>
4425 * docs/faq/getting.xml: Fix typo.
4427 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
4429 * docs/libs/gstreamer-libs-sections.txt:
4430 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4431 (gst_base_transform_prepare_output_buffer),
4432 (gst_base_transform_set_gap_aware):
4433 * libs/gst/base/gstbasetransform.h:
4434 API: Add gst_base_transform_set_gap_aware() to control whether
4435 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
4436 get buffers with this flag at all. Fixes #503231.
4438 2007-12-13 Stefan Kost <ensonic@users.sf.net>
4440 * libs/gst/base/gstbasesink.c:
4441 * libs/gst/base/gstbasesrc.c:
4442 * libs/gst/base/gstbasetransform.c:
4443 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
4444 thread. Correct log message in gstbasesrc.c.
4446 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
4448 * gst/gstutils.c: (element_find_unconnected_pad):
4449 Fix possible compiler warning (#503417).
4451 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
4453 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
4454 Don't use GST_CAT_EVENT here for logging, it makes no sense.
4456 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
4458 * tools/gst-inspect.c: (print_element_properties_info):
4459 Add support for GstFraction properties.
4461 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
4464 Add check-exports target and run it as part of 'make check'
4465 (see #499140 and #493983).
4467 * gst/gst_private.h:
4468 * gst/gstelementfactory.h:
4469 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
4470 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
4471 (_priv_gst_in_valgrind):
4472 * gst/gstinfo.h: (GstLogFunction):
4473 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
4474 (gst_type_find_register):
4475 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
4476 (gst_type_find_factory_get_type):
4477 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
4478 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
4479 (gst_controller_new_valist), (gst_controller_new_list),
4480 (_gst_controller_dispose), (_gst_controller_class_init):
4481 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
4482 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
4483 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
4484 (gst_object_get_controller), (gst_object_set_controller),
4485 (gst_object_suggest_next_sync), (gst_object_sync_values),
4486 (gst_object_set_control_source), (gst_object_get_control_source),
4487 (gst_object_get_value_arrays), (gst_object_get_value_array),
4488 (gst_object_get_control_rate), (gst_object_set_control_rate):
4489 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
4490 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
4491 Make some functions that should be static static; rename some
4492 private symbols so that they don't get exported; add some FIXME
4493 comments so we can move accidentally exported functions into
4494 our private section in 0.11.
4496 * win32/common/libgstreamer.def:
4497 Add gst_utils_get_timestamp().
4499 2007-12-12 Stefan Kost <ensonic@users.sf.net>
4503 Add more missing "Since:" tags to docs.
4505 2007-12-12 Stefan Kost <ensonic@users.sf.net>
4508 Add mising "Since:" to docs.
4510 2007-12-11 Stefan Kost <ensonic@users.sf.net>
4513 Include "glib-compat-private.h" to fix the build on system with
4514 glib < 2.10. Fixes #503131.
4516 2007-12-11 Stefan Kost <ensonic@users.sf.net>
4520 Actually its not PURE as it gets the time from elsewhere.
4522 2007-12-11 Stefan Kost <ensonic@users.sf.net>
4524 * docs/gst/gstreamer-sections.txt:
4526 * gst/gstdebugutils.c:
4530 * libs/gst/base/gstbasesink.c:
4531 * tools/gst-launch.c:
4532 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
4533 uses as we don't have HAVE_POSIX_TIMERS in public headers.
4534 Thanks Tim for spotting.
4535 API: gst_util_get_timestamp
4537 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
4540 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
4542 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
4544 * gst/gststructure.c: (gst_structure_validate_name),
4545 (gst_structure_new_valist), (gst_structure_parse_value),
4546 (gst_structure_from_string):
4547 Don't crash in _from_string() if the structure name is not valid
4548 (fixes #501560). Allow structure names to start with a number
4549 again (this apparently broke the ubuntu codec installer).
4551 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
4553 Add unit test for the crash; update unit tests for new behaviour.
4555 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
4558 Clarify gst_element_get_compatible_pad() documentation.
4561 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
4563 * tests/check/Makefile.am:
4564 Don't forget to dist {gst,libs}/struct_hppa.h.
4566 2007-11-28 Stefan Kost <ensonic@users.sf.net>
4568 * libs/gst/base/gstbasesink.c:
4569 Use new API to get elapsed time.
4571 2007-11-28 Stefan Kost <ensonic@users.sf.net>
4573 * gst/gstdebugutils.c:
4575 Fix wrong order of args in GST_CLOCK_DIFF() usage.
4577 * tools/gst-launch.c:
4578 Use new API to get elapsed time.
4580 2007-11-28 Stefan Kost <ensonic@users.sf.net>
4582 * docs/gst/gstreamer-sections.txt:
4584 * gst/gstdebugutils.c:
4586 Rename new API + ChangeLog surgery to remove old name from last entry..
4588 2007-11-28 Stefan Kost <ensonic@users.sf.net>
4590 * docs/gst/gstreamer-sections.txt:
4592 * gst/gstdebugutils.c:
4594 Now hide the different clock stuff behind a macro.
4596 2007-11-28 Stefan Kost <ensonic@users.sf.net>
4599 * gst/gstdebugutils.c:
4601 Apply the posix-timer check from #361155. Conditionally use the posix
4602 timer for logging. This gives better timestamp precission, less
4603 overhead and no ntp jitter.
4605 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
4607 * gst/gstminiobject.c: (gst_mini_object_get_type),
4608 (gst_mini_object_class_init), (gst_mini_object_copy_default),
4609 (gst_mini_object_finalize), (gst_mini_object_copy),
4610 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
4611 (gst_mini_object_replace), (param_mini_object_validate),
4612 (gst_param_spec_mini_object_get_type):
4613 Some cleanup and checking against invalid function parameters.
4615 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
4617 * docs/gst/gstreamer-sections.txt:
4619 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4620 (gst_systemclock_suite):
4621 Start merging in the easy bits of #361155, the monotonic clock patch.
4622 This one adds a few handy macros with docs and a testsuite.
4624 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
4626 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
4627 Be a bit smarter when seeking, like, don't try to do a seek when it's
4628 not needed. This avoids errors when the file is not seekable.
4631 2007-11-26 Stefan Kost <ensonic@users.sf.net>
4633 * docs/gst/gstreamer-docs.sgml:
4634 * docs/gst/gstreamer-sections.txt:
4635 * docs/gst/gstreamer.types.in:
4640 * plugins/elements/gstqueue.c:
4641 Due to popular request remove preset interface again. :-(.
4643 2007-11-22 Stefan Kost <ensonic@users.sf.net>
4645 * tools/gst-inspect.c:
4646 Print 'default value' for enums and flags too.
4648 2007-11-22 Stefan Kost <ensonic@users.sf.net>
4650 * docs/random/ensonic/profiling.txt:
4654 Fix typo and give better log output.
4656 * gst/gstdebugutils.c:
4657 * gst/gstdebugutils.h:
4658 More ideas, make graphs a bit smaller and fix param name in macro.
4660 2007-11-22 Stefan Kost <ensonic@users.sf.net>
4663 Try harder to use the return value from fgets().
4665 2007-11-21 Stefan Kost <ensonic@users.sf.net>
4668 For theses two fgets we handle the error below.
4670 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
4672 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
4673 Only send upstream events upstream. Fixes #498746.
4675 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
4677 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
4679 * plugins/elements/gstidentity.c: (gst_identity_class_init),
4680 (gst_identity_init), (gst_identity_transform_ip),
4681 (gst_identity_set_property), (gst_identity_get_property):
4682 * plugins/elements/gstidentity.h:
4683 Add property to disable handoff signal emission. Fixes #498694.
4684 API: GstIdentity::signal-handoffs
4686 2007-11-21 Julien Moutte <julien@fluendo.com>
4688 * docs/faq/gst-uninstalled: Yet another missing library for the
4689 uninstalled script (fft)
4691 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
4693 * docs/faq/developing.xml:
4694 Add a question about how to submit new translations.
4696 * docs/random/release:
4697 Update the contact email address for the Translation Project
4699 * plugins/elements/gstfdsrc.c:
4700 The parent_class for fdsrc is pushsrc, not GstElement.
4702 2007-11-20 Stefan Kost <ensonic@users.sf.net>
4705 Plug a leak and fix saving.
4707 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
4709 * docs/gst/gstreamer-sections.txt:
4710 Add new gst_preset__get_property_names() function to the docs
4713 2007-11-20 Stefan Kost <ensonic@users.sf.net>
4717 Change _get_preset_names API to return a strv with copies. Add
4718 _get_property_names to allow implementations to filter and provide
4719 good default implementation.
4721 2007-11-20 Julien MOUTTE <julien@moutte.net>
4723 * docs/faq/gst-uninstalled: Add another library to the uninstalled
4726 2007-11-19 Stefan Kost <ensonic@users.sf.net>
4729 More cleanups, docs, and TODOs from comments that now slowly come in.
4731 2007-11-19 Julien MOUTTE <julien@moutte.net>
4733 * docs/faq/gst-uninstalled: Add new base libraries in the LD
4736 2007-11-19 Stefan Kost <ensonic@users.sf.net>
4739 Fix bogus warning and make the property type specific code more
4742 2007-11-19 Julien MOUTTE <julien@moutte.net>
4744 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
4747 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
4749 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4750 (gst_bin_add_func), (gst_bin_remove_func),
4751 (gst_bin_change_state_func), (gst_bin_continue_func):
4752 Change email, cleanups add some more debug and comments.
4753 Also set bus and clock on new elements when the pipeline was in error.
4755 2007-11-18 Stefan Kost <ensonic@users.sf.net>
4758 * gst/gstdebugutils.c:
4759 Fix build with --disable-gst-debug. Fixes #497859.
4760 Spotted by Sameer Naik.
4762 2007-11-17 Stefan Kost <ensonic@users.sf.net>
4765 Little documentation improvment.
4768 More TODO cleanups. Remove c++ comments.
4770 * libs/gst/controller/gstcontroller.c:
4771 Add TODO and use quark from static string.
4773 * tests/check/gst/gstmessage.c:
4774 * tests/check/gst/gststructure.c:
4775 Use quark from static string.
4777 2007-11-17 Stefan Kost <ensonic@users.sf.net>
4780 Add some comments and TODOs.
4783 Add padding for future changes.
4785 * plugins/elements/gstqueue.c:
4786 Implement the iface.
4788 2007-11-17 Stefan Kost <ensonic@users.sf.net>
4790 * docs/gst/gstreamer-docs.sgml:
4791 * docs/gst/gstreamer-sections.txt:
4792 * docs/gst/gstreamer.types.in:
4797 Add the preset interface (Fixes #396779). Do some doc cleanups along.
4799 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
4805 === release 0.10.15 ===
4807 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
4810 releasing 0.10.15, "October"
4812 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
4814 * win32/vs6/libgstreamer.dsp:
4815 Convert line endings back to DOS.
4817 2007-11-13 Stefan Kost <ensonic@users.sf.net>
4819 * docs/design/draft-tagreading.txt:
4820 * docs/random/ensonic/profiling.txt:
4821 Update fast tagreading draft and performance profiling ideas.
4823 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
4825 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
4826 Don't hold the object lock when unreffing a buffer because it could
4827 cause a deadlock when the finalize function wants to grab the object
4828 lock too. Fixes #495133.
4830 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
4832 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
4833 (gst_segment_to_stream_time), (gst_segment_to_running_time):
4834 Also accumulate time correctly when doing reverse playback. Fixes
4836 When converting to running and stream time, use default values for
4837 start/stop/time/accum when comparing different formats. Fixes #494245.
4839 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4840 Do running/stream time in TIME format.
4842 * tests/check/gst/gstsegment.c: (GST_START_TEST),
4843 (gst_segment_suite):
4844 2 new unit tests for segment accumulation.
4846 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
4848 * gst/gst.c: (init_pre):
4849 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
4850 (_gst_debug_bin_to_dot_file):
4851 Move getenv() back into gst_init, so everyone can live happily
4852 ever after. Make sure the symbol isn't exported though.
4854 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
4856 Patch by: Sebastien Moutte <sebastien moutte net>
4858 * win32/common/gstenumtypes.c:
4859 * win32/common/gstenumtypes.h:
4862 * win32/vs6/libgstreamer.dsp:
4863 Update vs6 project files (#494343).
4865 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
4867 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
4868 (gst_base_src_perform_seek), (gst_base_src_default_event),
4869 (gst_base_src_set_flushing), (gst_base_src_activate_push),
4870 (gst_base_src_activate_pull):
4871 Unify flushing code, remove some old unlock code that is no longer used.
4872 Take the streaming lock when seeking to avoid races. Fixes #492729.
4873 Added some more comments.
4875 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
4877 * gst/gst.c: (_gst_disable_segtrap):
4878 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
4879 we can use gst_segtrap_is_enabled() there now that we have that API.
4880 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
4881 to do the getenv here (and export the variable).
4883 * gst/gstdebugutils.c: (debug_dump_element),
4884 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
4885 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
4887 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
4888 (gst_debug_log_default):
4889 Rename _gst_info_start_time to priv_gst_info_start_time so it
4890 doesn't get exported (was never in any header).
4892 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
4893 (gst_plugin_loading_mutex):
4894 Make static mutex gst_plugin_loading_mutex really static (was never
4895 in any header), and use gst_segtrap_is_enabled() instead of
4896 _gst_disable_segtrap.
4898 * gst/gsttrace.c: (_gst_trace_default):
4899 Make local _gst_trace_default static (was never in any header).
4901 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
4903 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
4905 * win32/common/libgstbase.def:
4906 * win32/common/libgstcontroller.def:
4907 * win32/common/libgstdataprotocol.def:
4908 * win32/common/libgstnet.def:
4909 * win32/common/libgstreamer.def:
4910 Add more missing symbols, remove some duplicates, and sort
4911 as the 'sort' command sorts it (partially fixes #493983).
4913 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
4915 * gst/gstelement.c: (gst_element_set_state_func):
4916 Only change the state cookie if a different state was set on the
4917 element. See #492729.
4919 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
4922 Remove unused and uninitialised type variables that were still
4923 exported for some reason (they were never in any header files
4926 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
4928 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4929 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
4930 (gst_base_sink_event), (gst_base_sink_get_position_last),
4931 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4932 (gst_base_sink_change_state):
4933 Don't try to report a 0 position when we don't know, return -1 and FALSE
4934 instead. This mostly happens when we are prerolling.
4935 Make sure we can report the right position before we post the ASYNC_DONE
4936 message so that a message handler can query position without races.
4938 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
4939 (async_done_handoff), (async_done_func), (send_buffer),
4940 (async_done_eos_func), (gst_sinks_suite):
4941 Add two tests for the above.
4943 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
4946 Update with new email address.
4948 * docs/design/part-TODO.txt:
4949 Add some more info about future pad-block and negotiation changes.
4951 * docs/design/part-buffering.txt:
4952 Add some ideas about buffering reporting.
4954 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
4956 * tests/check/gst/gstobject.c:
4957 Disable silly racy test that always fails on this combination of CPU
4960 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
4962 Patch by: Murray Cumming <murrayc@murrayc.com>
4965 Corrected the registration of the parent-set and parent-unset
4966 signals: The parameter is a GstObject, not a GObject (#493134).
4968 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
4970 * gst/gst_private.h:
4979 Move declaration of private _gst_foo_initialize() functions into
4980 our private header file where they should have been all along.
4982 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
4984 * docs/plugins/gstreamer-plugins-sections.txt:
4985 * gst/gstdebugutils.h:
4987 * plugins/elements/gstqueue.c:
4988 gtk-doc fixes; trailing-comma-in-enum fix.
4990 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
4992 * gst/gst.c: (gst_deinit):
4993 Clean up on deinit (not the external ones though, doesn't seem to be
4994 needed for some reason).
4996 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
4998 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
4999 Remove __declspec(dllimport) for MSVC that was copied over into core
5000 from a plugin, obviously without ever having been tested (note the
5001 single underscore in _declspec in the initial commit), and that doesn't
5002 really make sense. See #492077.
5004 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5006 * gst/gst.c: (init_post):
5007 * gst/gstevent.c: (_gst_event_initialize):
5008 * gst/gstquery.c: (_gst_query_initialize):
5009 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5010 g_type_class_ref() other types as well, see #349410 and #64764.
5012 * gst/gstbuffer.c: (_gst_buffer_initialize):
5013 * gst/gstmessage.c: (_gst_message_initialize):
5014 Simplify existing g_type_class_ref().
5016 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5018 * gst/gstformat.c: (_gst_format_initialize):
5019 g_type_class_ref() our GstFormat type to make sure we avoid the
5020 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5021 bug #64764. Should fix intermittent tee unit test failures (#474823).
5023 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5025 * tests/check/elements/tee.c: (test_num_buffers):
5026 Simplify, simplify, simplify - or not. Rewrite unit test
5027 not to use gst_parse_launch(); allow N sub-streams. Increasing
5028 the number of sub-streams seems to reproduce #474823 more easily.
5030 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5032 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5035 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5036 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5037 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5038 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5039 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5040 so use _pipe() directly (#492077).
5042 * win32/common/dirent.c: (_treaddir):
5043 Add a couple of casts to make it build without warnings with MSVC.
5045 * win32/common/libgstreamer.def:
5046 Add some more symbols that need to be exported.
5048 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5050 * tests/examples/metadata/read-metadata.c: (message_loop):
5051 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5052 arriving in a second or third tag message are added to
5053 the tag list as well.
5055 2007-10-31 Stefan Kost <ensonic@users.sf.net>
5057 * libs/gst/base/gstbasesrc.c:
5058 Its "Since:" and not "@Since:". And remove an superflous cast.
5060 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
5062 * docs/libs/gstreamer-libs-sections.txt:
5063 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5064 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5065 (gst_base_sink_get_property), (gst_base_sink_render_object),
5066 (gst_base_sink_preroll_object),
5067 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5068 (gst_base_sink_change_state):
5069 * libs/gst/base/gstbasesink.h:
5070 Add a new last-buffer property that contains the last buffer used in
5071 basesink for preroll or rendering. useful for making snapshots.
5072 API: gst_base_sink_get_last_buffer()
5073 API: GstBaseSink::last-buffer
5075 2007-10-29 Stefan Kost <ensonic@users.sf.net>
5077 * docs/gst/running.xml:
5079 * gst/gstdebugutils.c:
5080 * gst/gstdebugutils.h:
5081 * tools/gst-launch.c:
5082 Improve bin graph dumping, by using the envvar to specify a path.
5083 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5085 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
5087 * plugins/elements/gsttypefindelement.c:
5088 (gst_type_find_element_handle_event),
5089 (gst_type_find_element_activate):
5090 Post special error message if we can't determine the type of a stream
5093 2007-10-29 Stefan Kost <ensonic@users.sf.net>
5095 * docs/gst/running.xml:
5096 * gst/gstdebugutils.c:
5097 Document new env-var. Add one log-line after dumpng a graph.
5099 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
5102 Ugly hack to put the (recently removed and non-portable, apparently)
5103 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
5104 GNU ld, because without that 'make check' fails miserably on my debian
5105 stable box. Someone with more knowledge of linker intricacies and
5106 portability issues than me fix this properly please.
5108 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
5110 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
5111 Reset last seen position after flushing so that we don't report the old
5114 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5116 * gst/gstelementfactory.c: (gst_element_register):
5118 Patch from Alessandro Decina adding get_type_full and
5119 get_protocols_full private vfuncs to the URIHandler interface
5120 to allow bindings to support creating URI handlers.
5121 Partially fixes: #339279
5122 API: GstURIHandlerInterface::get_type_full
5123 API: GstURIHandlerInterface::get_protocols_full
5125 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5127 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5128 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5129 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
5130 Make it so that pads are considered linked until a buffer is pushed
5131 and discovered otherwise. This avoids problems with decodebin2 hanging
5132 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
5135 Make sure we lock the multiqueue when updating the max-size properties.
5137 Fix a crash on Solaris in a debug statement in get_request_pad that
5138 passes a NULL string to GST_DEBUG.
5140 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5141 (run_output_order_test):
5142 Fix the test to allow the first buffer on not-linked pads to come out
5143 of sequence while multiqueue discovers that they are not-linked.
5145 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5148 * libs/gst/check/Makefile.am:
5149 Use a custom export symbol regex for libgstcheck, as it needs
5150 to export symbols that don't match the standard GStreamer gst_*
5151 pattern, and --export-dynamic is not portable (only works on
5154 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5155 (gst_check_setup_sink_pad):
5156 Make sure to pass a message parameter to the fail_* macros.
5158 * tests/check/gst/gstinfo.c: (GST_START_TEST):
5159 Fix some compiler warnings.
5161 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
5163 * tests/check/gst/gststructure.c: (test_to_string):
5164 Disable test that checks that white spaces are not allowed
5165 in structure names or field names, since we need to
5166 support that for now for backwards compatibility reasons.
5168 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
5170 * docs/gst/gstreamer-sections.txt:
5173 API: add GST_TAG_ARTIST_SORTNAME
5174 API: add GST_TAG_ALBUM_SORTNAME
5175 API: add GST_TAG_TITLE_SORTNAME
5176 Add tag variants for sorting (#414539).
5178 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
5180 * gst/gststructure.c:
5181 Also allow white space for names so we don't break
5182 backwards compatibility.
5184 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
5186 * docs/design/part-TODO.txt:
5187 * docs/design/part-segments.txt:
5188 * docs/design/part-streams.txt:
5191 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
5193 * docs/gst/gstreamer-sections.txt:
5194 Fixed documentation from my previous commit (added new API add
5195 gst_value_set_structure(), add gst_value_get_structure() and
5196 GST_VALUE_HOLDS_STRUCTURE).
5198 2007-10-22 Stefan Kost <ensonic@users.sf.net>
5200 * gst/gstdebugutils.c:
5201 Reflow code to fix uninitialized variable warning.
5203 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
5205 * gst/gstcaps.c: (gst_caps_to_string),
5206 (gst_caps_from_string_inplace):
5207 * gst/gststructure.c: (gst_structure_get_abbrs),
5208 (gst_structure_to_string), (gst_structure_from_string):
5209 * gst/gstvalue.c: (gst_value_set_structure),
5210 (gst_value_get_structure), (gst_value_serialize_structure),
5211 (gst_value_deserialize_structure), (_gst_value_initialize):
5213 * tests/check/gst/gststructure.c: (GST_START_TEST),
5214 (gst_structure_suite):
5215 * tests/check/gst/gstvalue.c: (GST_START_TEST):
5216 Added GstStructure to gst_value_table and its related functions.
5217 Changed gst_structure_to_string to print ';' in the end.
5218 Changed gst_caps_to_string to not print ';' beteween its
5219 fields (structures) anymore and remove the lastes ';' from latest
5220 structure. Now it is possible to have nested structures.
5221 In addition, backward compatibilty is assured by accepting '\0' as
5222 end delimiter. Fixes: #487969.
5223 API: add gst_value_set_structure()
5224 API: add gst_value_get_structure()
5225 API: add GST_VALUE_HOLDS_STRUCTURE
5227 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
5230 When no GSource callback has been set up, tell developer
5231 to use a function that actually exists.
5233 2007-10-17 Stefan Kost <ensonic@users.sf.net>
5235 * docs/gst/gstreamer-sections.txt:
5239 * gst/gstdebugutils.c:
5240 * gst/gstdebugutils.h:
5243 * tools/gst-launch.c:
5244 Allow dumping pipelines as dot graphs. Fixes #456573.
5246 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
5248 * gst/gststructure.c:
5249 Allow '+' as well, it can be part of media or mime types
5250 such as image/svg+xml.
5252 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
5254 * docs/gst/gstreamer-sections.txt:
5257 API: add gst_bus_pop_filtered
5258 API: add gst_bus_timed_pop_filtered
5259 Two new functions for waiting for specific message types on the
5260 bus for a specified amount of time without iterating any main
5261 loops or main contexts.
5263 * tests/check/gst/gstbus.c:
5264 Some tests for the new functions.
5266 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
5268 * docs/libs/gstreamer-libs-sections.txt:
5269 Make gtk-doc ignore stuff it should ignore.
5271 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
5273 * libs/gst/check/gstcheck.c:
5274 * libs/gst/check/gstcheck.h:
5275 Allow runtime selection of unit tests to run via the GST_CHECKS
5276 environment variable (test case function names, comma-separated).
5278 2007-10-16 Stefan Kost <ensonic@users.sf.net>
5280 * gst/gststructure.c:
5281 * tests/check/gst/gststructure.c:
5282 Revert serialisation change and constrain structure-names after
5283 consensus on irc. Update api documentation to reflect the change.
5285 2007-10-16 Stefan Kost <ensonic@users.sf.net>
5287 * gst/gststructure.c:
5288 Improve serialization and fix tests.
5290 * tests/check/gst/gststructure.c:
5291 Add another test that covers why I actually did the previous structure
5294 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
5296 * tools/gst-inspect.c: (print_element_info):
5297 Don't crash when inspecting an element.
5299 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
5301 * tests/check/gst/gststructure.c:
5302 Add unit test for escaping of structure name when serialising
5303 and deserialising to/from strings.
5305 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
5307 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
5308 (gst_single_queue_new):
5309 * plugins/elements/gstqueue.c: (gst_queue_init),
5310 (gst_queue_push_one):
5311 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
5312 upstream is tricked into thinking it can suggest a format downstream
5313 while downstream does not support that format. The real problem is that
5314 core calls acceptcaps when pushing a buffer with new caps, for which we
5315 do a little workaround by setting the caps on the srcpad ourselves
5316 before pushing the buffer (until this is figured out). Fixes #486758.
5318 2007-10-15 Stefan Kost <ensonic@users.sf.net>
5320 * gst/gststructure.c:
5322 Add some more comments and debug output. Quote structure name to fix
5323 deserialisation of some strings.
5325 2007-10-15 Stefan Kost <ensonic@users.sf.net>
5328 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
5329 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
5331 2007-10-15 Stefan Kost <ensonic@users.sf.net>
5333 * tools/gst-inspect.c:
5334 Save approx. 400 1 byte allocs when printing. Use API to acces element
5340 * tools/gst-xmlinspect.c:
5341 Use API to acces element details.
5343 2007-10-15 Stefan Kost <ensonic@users.sf.net>
5346 Fix some spelling errors.
5348 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
5350 * gst/gstbin.c: (bin_handle_async_done):
5351 Correctly set the next state if all of our async children commited their
5352 state. This makes sure we can actually cancel the state change in
5353 progress. Fixes a regression in Rhythmbox when seeking.
5355 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
5358 Don't shadow local variable.
5361 Don't shadow global function name.
5363 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
5365 * gst/gstelementfactory.c:
5366 * gst/gstpluginfeature.c:
5367 * gst/gstpluginfeature.h:
5368 * gst/gstregistrybinary.c:
5369 * gst/gstregistryxml.c:
5370 * gst/gsttypefind.c:
5371 Use already-interned string for the private GstPluginFeature
5374 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
5376 * docs/libs/gstreamer-libs-sections.txt:
5377 Add new API to docs; fixes the build.
5379 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
5381 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
5383 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
5384 (gst_base_sink_event):
5385 * libs/gst/base/gstbasesink.h:
5386 Add function to wait for EOS, subclasses can use this to correctly wait
5387 for devices to drain before performing the EOS logic. Fixes #485343.
5388 API: gst_base_sink_wait_eos()
5390 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
5393 Cast description string constants in GST_PLUGIN_DEFINE macros
5394 to a (gchar*) to make C++ code using these macros compile
5395 without warning with g++-4.2 (see #462737). Even if slightly
5396 ugly, this seems preferable to putting the description strings
5397 into the GLib quark table or making the structure member a
5398 const gchar * and doing casts in core code that allocs and
5399 frees these strings, or requiring a cast in the C++ code.
5401 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
5404 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
5405 to print the entire class/function signature into the log
5406 file for C++ code. This only affects C++ code, for C code
5407 everything remains the same.
5409 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
5411 * gst/gstbin.c: (remove_from_queue):
5412 Work around a problem with pipelines containing (semi)loops until a
5413 proper, more complicated solution is ready. See #475455.
5415 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
5419 * gst/gstregistrybinary.c:
5420 * gst/gstregistryxml.c:
5421 Put more strings into the GLib quark table. No need to keep
5422 a hundred-something copies of identical version strings,
5423 license strings, package name strings and package origin
5426 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
5428 * docs/manual/advanced-dataaccess.xml:
5429 Don't imply that it's okay to unconditionally change
5430 buffer data or buffer metadata in a pad probe callback,
5431 and a bunch of other comments. Fixes #430031.
5433 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
5435 * win32/common/gstenumtypes.c:
5436 * win32/common/gstenumtypes.h:
5437 * win32/common/gstversion.h:
5438 Update generated files.
5440 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
5442 * docs/manual/advanced-autoplugging.xml:
5443 Prefix section with broken code with a warning (see #342432).
5445 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
5447 * docs/manual/appendix-integration.xml:
5448 * docs/manual/basics-init.xml:
5449 Call g_thread_init() before g_option_context_new() to
5450 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
5452 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
5454 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5455 (gst_base_sink_queue_object_unlocked),
5456 (gst_base_sink_queue_object), (gst_base_sink_event),
5457 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
5458 When we received EOS and are waiting for when to post the EOS message,
5459 our state is prerolled and we should not return ASYNC.
5460 Reorganize some code paths to implement this behavior.
5462 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5464 Add unit test to verify above EOS fix.
5466 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
5468 * plugins/elements/gsttypefindelement.c:
5469 (gst_type_find_element_have_type), (gst_type_find_element_init),
5470 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
5471 Move detecting the input caps of the sinkpad to the setcaps function.
5472 This allows us to update the output caps when we receive new input caps
5473 instead of always using the first detected caps.
5475 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
5477 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5478 (gst_base_sink_get_position):
5479 Don't try to preroll non-async elements after a flush.
5480 Subtract latency form clock times when reporting position.
5482 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
5484 * gst/gstpad.c: (gst_pad_pause_task):
5486 Small comment and documentation update.
5488 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
5490 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5491 (gst_base_src_set_live), (gst_base_src_is_live),
5492 (gst_base_src_query_latency), (gst_base_src_perform_seek),
5493 (gst_base_src_default_event), (gst_base_src_wait),
5494 (gst_base_src_do_sync), (gst_base_src_get_range),
5495 (gst_base_src_pad_get_range), (gst_base_src_loop),
5496 (gst_base_src_unlock), (gst_base_src_unlock_stop),
5497 (gst_base_src_set_flushing), (gst_base_src_set_playing),
5498 (gst_base_src_activate_push), (gst_base_src_activate_pull),
5499 (gst_base_src_change_state):
5500 Rework the locking of basesrc in a similar fashion to basesink. We
5501 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
5502 us to handle live sources and semi live ones much better.
5504 Fix unlocking when seeking, shutting down and pausing in live sources.
5506 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
5508 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
5509 Fix compilation again.
5511 2007-10-03 Stefan Kost <ensonic@users.sf.net>
5514 Use meaningful categories for the logs to clean the default one.
5516 2007-10-03 Stefan Kost <ensonic@users.sf.net>
5518 * tests/check/pipelines/cleanup.c:
5519 Print message name and not just number.
5521 2007-10-03 Stefan Kost <ensonic@users.sf.net>
5523 * docs/design/draft-tagreading.txt:
5524 Add some more thoughts.
5526 2007-10-03 Stefan Kost <ensonic@users.sf.net>
5528 * tests/check/pipelines/simple-launch-lines.c:
5529 Print message name and not just number.
5531 2007-10-03 Stefan Kost <ensonic@users.sf.net>
5533 * libs/gst/base/gsttypefindhelper.c:
5534 Speedup typefinding. This is work in progress (see #459862).
5536 2007-10-03 Stefan Kost <ensonic@users.sf.net>
5539 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
5540 Spotted by Josep Torra Valles <josep@fluendo.com>.
5542 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
5545 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
5546 field has moved to GstObject.
5548 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
5550 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
5551 (gst_base_src_get_range), (gst_base_src_change_state):
5552 Call unlock for live sources so that they can't get stuck in _create and
5553 produce a buffer before they are set back to PLAYING.
5555 2007-10-02 Edward Hervey <bilboed@bilboed.com>
5557 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
5558 (gst_queue_locked_dequeue):
5559 Comment the segment-related code... in the PROPER function.
5560 See #482147 and my commit from yesterday.
5562 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
5564 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5565 Also initialize the counter that calculates the first timestamp on a
5566 buffer correctly for non-live sources.
5568 2007-10-01 Edward Hervey <bilboed@bilboed.com>
5570 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
5571 Disable code that's breaking the current-time-level reporting.
5574 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
5576 * docs/gst/gstreamer-sections.txt:
5577 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
5578 as they shouldn't show up. Fixes the docs build.
5580 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
5583 Add an explicit variable importation needed on VS6 (only for MSC_VER)
5584 Define M_PI which is used in files which are including gstinfo.h.
5585 VS6 includes doesn't define it.
5586 * win32/common/libgstbase.def:
5587 * win32/common/libgstcontroller.def:
5588 * win32/common/libgstreamer.def:
5589 Add new exported functions and variables.
5590 * win32/vs6/libgstcontroller.dsp:
5591 * win32/vs6/libgstreamer.dsp:
5592 Update the list of files to build.
5594 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
5596 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
5598 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
5599 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
5600 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
5601 Improve debugging. Fixes #480858.
5603 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
5605 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
5607 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5608 First patch of code cleanups, use the macros and right arguments in the
5609 macros to signal and lock the queue. See #480858.
5611 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
5613 * gst/gstbus.c: (poll_func):
5614 Improve debugging when dealing with _poll().
5616 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
5618 * gst/gstregistryxml.c:
5619 Fix memory leak I introduced a few days ago.
5621 2007-09-26 Michael Smith <msmith@fluendo.com>
5623 * gst/gstbuffer.c: (gst_buffer_finalize):
5624 Make it once again possible to free GstBuffers in the default
5626 The poisoning scribbles on parts of the miniobject we need in
5630 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
5632 * docs/gst/gstreamer-sections.txt:
5635 API: add GST_TAG_COMPOSER, fixes #459809.
5637 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
5641 Add the 3-clause BSD license and the MIT/X11 license to the license
5642 list. Fixes #479784.
5644 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
5646 * docs/faq/getting.xml:
5647 Add Q+A about different GStreamer versions (#364056).
5649 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
5651 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5652 (gst_base_sink_event), (gst_base_sink_change_state):
5653 Return correct gboolean from query function.
5655 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
5657 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5658 (gst_base_sink_event), (gst_base_sink_query),
5659 (gst_base_sink_change_state):
5660 Simplify latency query.
5661 When not synchronizing, we can report latency without querying the peer
5664 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
5668 Fix small typos in the docs.
5670 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
5672 * docs/design/draft-latency.txt:
5673 * docs/design/draft-push-pull.txt:
5674 * docs/design/draft-tagreading.txt:
5675 * docs/design/part-MT-refcounting.txt:
5676 * docs/design/part-activation.txt:
5677 * docs/design/part-block.txt:
5678 * docs/design/part-element-source.txt:
5679 * docs/design/part-events.txt:
5680 * docs/design/part-gstbin.txt:
5681 * docs/design/part-gstelement.txt:
5682 * docs/design/part-gstobject.txt:
5683 * docs/design/part-gstpipeline.txt:
5684 * docs/design/part-messages.txt:
5685 * docs/design/part-preroll.txt:
5686 * docs/design/part-push-pull.txt:
5687 * docs/design/part-qos.txt:
5688 * docs/design/part-query.txt:
5689 * docs/design/part-scheduling.txt:
5690 * docs/design/part-seeking.txt:
5691 * docs/design/part-segments.txt:
5692 * docs/design/part-states.txt:
5693 Documentation updates and typo fixes.
5695 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
5697 * plugins/elements/gstfakesink.c:
5698 Add some debug text to error message to indicate that
5699 we errored out on request.
5701 * tools/gst-launch.c:
5702 When the state change to PLAYING fails, check for an
5703 error message on the bus and print it.
5705 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
5707 translated by: Jorge González González <aloriel@gmail.com>
5711 Added Spanish translation.
5713 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
5715 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5716 Fix printf arguments.
5718 2007-09-20 Stefan Kost <ensonic@users.sf.net>
5720 * tests/check/generic/states.c:
5721 Improved state change unit test.
5723 2007-09-20 Stefan Kost <ensonic@users.sf.net>
5726 Move priv to the right place.
5728 * gst/gstsystemclock.c:
5729 Add FIXME: and improve log.
5731 * tests/check/Makefile.am:
5732 * tests/examples/manual/Makefile.am:
5733 Work with all types of registries.
5735 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
5737 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
5738 Don't unref the event after pushing it. Fixes #478401.
5740 2007-09-19 Stefan Kost <ensonic@users.sf.net>
5743 * tests/examples/manual/.cvsignore:
5744 Ignore registries in any format.
5746 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
5748 * gst/glib-compat-private.h:
5749 Add compatibility macro for g_intern_string() for
5750 GLib-2.8 (any reason we can't just bump the
5751 requirement to at least 2.10?)
5753 * gst/gstpadtemplate.h:
5754 * gst/gstelementfactory.c:
5755 * gst/gstregistryxml.c:
5756 * gst/gstregistrybinary.c:
5757 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
5758 up the internal code accordingly. This shouldn't be a problem, since
5759 there is no reason external code could ever assume the string in such
5760 a structure is dynamically allocated unless it did that itself; the
5761 use of g_strdup() is private to element factories. The new code also
5762 saves some memory by putting pad template name strings into the GLib
5763 quark table instead of allocating them dynamically.
5764 Declaring this field constant fixes warnings with g++-4.2 when using
5765 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
5767 2007-09-19 Stefan Kost <ensonic@users.sf.net>
5769 * gst/gstelementfactory.c:
5770 Release static caps. Fixes #475723.
5772 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
5776 Make some internal API take const gchar * instead of just
5777 gchar * to avoid compiler warnings with g++-4.2.2 when
5778 passing string constants (partially fixes #478092).
5780 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
5782 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
5783 A latency query fails when one of the sinks fail.
5785 * gst/gstelement.c: (gst_element_set_base_time):
5788 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
5790 * gst/gstbin.c: (gst_bin_continue_func):
5791 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
5792 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
5793 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
5795 Fix minor compilation warnings shown with Forte.
5797 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
5799 * plugins/elements/gstqueue.c: (apply_buffer),
5800 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
5801 Measure queue level based on the diff between head and tail timestamps
5802 even when pushing the first buffer.
5804 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
5806 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5807 (gst_base_sink_event), (gst_base_sink_change_state):
5808 Sinks that don't preroll can always be queried for the latency.
5809 Don't post ASYNC start when we are not async.
5811 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
5813 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
5814 (gst_queue_handle_sink_event), (gst_queue_chain),
5815 (gst_queue_push_one), (gst_queue_handle_src_query),
5816 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
5817 * plugins/elements/gstqueue.h:
5818 When downstream returns UNEXPECTED from pushing a buffer, don't try to
5819 push more buffers but allow pushing of EOS and NEWSEGMENT.
5820 Add some more debug info here and there. Fixes #476514.
5822 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
5824 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5825 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
5826 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
5827 (gst_base_sink_set_flushing), (gst_base_sink_query),
5828 (gst_base_sink_change_state):
5829 Latency query is allowed after we are prerolled. Introduce a new flag
5830 for this and stop abusing other variables.
5832 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
5834 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
5835 Push OOB events downstream when we get them in send_event. This allows
5836 the application to insert events in the pipeline.
5837 Add some more comments.
5839 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
5841 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
5842 (do_bin_latency), (gst_bin_change_state_func):
5843 * gst/gstpipeline.c: (gst_pipeline_change_state):
5844 Move latency query from GstPipeline to GstBin so that we can also
5845 use it when async-handling is enabled on bins.
5847 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
5849 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5850 (gst_base_src_do_sync), (gst_base_src_change_state):
5852 Clean up the timestamping and syncing code for pseudo live sources.
5854 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
5856 Patch by: Steve Fink <sphink gmail com>
5858 * docs/manual/appendix-checklist.xml:
5859 Mention less -R switch in the section about debug output (#474055).
5861 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
5863 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5864 Queue can latency to the pipeline up to the configured max size in time.
5865 Report this fact in the latency query.
5867 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
5869 Patch by: Sebastien Moutte <sebastien at moutte dot net>
5871 * libs/gst/controller/gstinterpolation.c:
5872 * libs/gst/controller/gstlfocontrolsource.c:
5873 Use gst_guint64_to_gdouble() when converting from a uint64 or
5874 GstClockTime to double to fix the build on win32. Fixes #474371.
5876 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
5878 * gst/gstbuffer.c: (gst_buffer_finalize):
5879 Implement poisoning for GstBuffer if --enable-poisoning is specified.
5880 When finalizing a buffer the complete struct is filled with 0xff,
5881 thus making a use of the buffer after the final unref impossible.
5883 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
5885 * tests/check/libs/controller.c: (GST_START_TEST):
5886 Use fail_unless_equals_int(a, b) instead of
5887 fail_unless_equals (a == b) to get better output on failures.
5889 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
5891 * tests/check/gst/gsturi.c:
5892 Also check for the other file URI variant on win32.
5894 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
5896 * gst/gsturi.c: (gst_uri_get_location):
5897 If there's no hostname, we want to return 'c:/foo/bar.txt'
5898 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
5900 * tests/check/gst/gsturi.c:
5901 Unit test for the above and a few more things.
5903 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
5905 * docs/design/part-live-source.txt:
5906 Add docs on how live sources should timestamp.
5908 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
5909 Add some more debug info.
5910 For subclasses that are live and like to sync, add aditional startup
5911 latency to sync time and timestamps so that we timstamp according to the
5914 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
5917 Also do a g_type_class_ref() for the subbuffer type in
5920 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
5922 * docs/gst/gstreamer-sections.txt:
5923 * gst/gstpad.c: (gst_pad_peer_query):
5925 Add function to perform a query on the peer of a pad.
5926 API: gst_pad_peer_query()
5928 2007-09-11 Stefan Kost <ensonic@users.sf.net>
5930 * tests/check/gst/gstsystemclock.c:
5931 Cleanup the test a little (use gst-logging and not g_message). Improve
5932 test to check if a wait reached the target.
5934 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
5936 * docs/libs/gstreamer-libs-sections.txt:
5937 Add new API to docs and fix the build.
5939 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
5941 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5942 (gst_base_src_init), (gst_base_src_set_do_timestamp),
5943 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
5944 (gst_base_src_get_property), (gst_base_src_do_sync):
5945 * libs/gst/base/gstbasesrc.h:
5946 Add property to make the basesrc timestamp buffers based on the current
5948 API: GstBaseSrc::do-timestamp
5949 API: gst_base_src_set_do_timestamp()
5950 API: gst_base_src_get_do_timestamp()
5952 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
5954 * docs/random/release:
5955 Really make sure translations are up-to-date before
5956 a release (#465010).
5958 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
5960 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5961 Always destroy the timer, also in error cases.
5963 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
5965 * docs/manual/highlevel-xml.xml:
5966 Fix XML example code. Fixes #472714.
5968 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
5970 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5971 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
5972 (gst_base_sink_query):
5973 Protect eos and have_preroll with the OBJECT lock so we don't need to
5974 take the PREROLL lock when querying the latency. Fixes #473846.
5976 2007-09-05 Stefan Kost <ensonic@users.sf.net>
5979 Give some log-messages a category.
5981 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
5983 * gst/gststructure.c:
5984 (gst_structure_fixate_field_nearest_fraction):
5985 Fix fraction list fixation code. Take the fraction with the smallest
5986 difference with the target instead of the first one in the list.
5988 * tests/check/gst/gststructure.c: (GST_START_TEST),
5989 (gst_structure_suite):
5990 Added test to verify correct fraction list fixation behaviour.
5992 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
5994 * win32/common/libgstreamer.def:
5995 Export gst_bus_add_signal_watch too.
5997 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
5999 * docs/libs/gstreamer-libs-sections.txt:
6000 Add new methods to docs.
6002 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6003 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6004 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6005 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6006 * libs/gst/base/gstbasesink.h:
6007 Add ts-offset property to fine-tune the synchronisation.
6008 API: GstBaseSink::ts-offset property
6009 API: gst_base_sink_set_ts_offset()
6010 API: gst_base_sink_get_ts_offset()
6012 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
6014 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6015 (gst_base_sink_init), (gst_base_sink_set_sync),
6016 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6017 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6018 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6019 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6020 (gst_base_sink_get_property), (gst_base_sink_change_state):
6021 * libs/gst/base/gstbasesink.h:
6022 Add async property to instruct the sink never to inform the parent about
6023 ASYNC state changes, update docs.
6024 Check argument with g_return_* for the public functions.
6025 API: GstBaseSink::async property
6026 API: gst_base_sink_set_async_enabled()
6027 API: gst_base_sink_is_async_enabled()
6029 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
6031 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6034 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6035 (gst_base_src_default_query), (gst_base_src_wait),
6036 (gst_base_src_do_sync), (gst_base_src_change_state):
6037 Rearrange some code so that we can add support for measuring the
6040 2007-08-27 Stefan Kost <ensonic@users.sf.net>
6042 * docs/random/ensonic/dynlink.txt:
6043 More thoughs on this.
6045 * plugins/elements/gstcapsfilter.c:
6046 Add bugzilla ticket number to FIXME comment.
6048 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
6050 * docs/design/part-TODO.txt:
6051 * docs/design/part-block.txt:
6054 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6057 Revert patch which uses $(gst_headers) instead of $^ because it
6060 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6062 * tests/check/gst/gstbin.c: (GST_START_TEST):
6063 Fix leaks in the new unit test.
6065 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
6068 Don't use GST_INFO before the debug system is actually initialised
6069 (shouldn't do any harm, but won't print anything either, so we can
6070 just as well remove it).
6073 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6074 compilers that don't support variadic macros (such as MSVC), should
6075 check for debug_level <= __gst_debug_min as well, since that's the
6076 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6077 inline helper functions. Should improve performance a bit, but also
6078 makes sure uses of GST_INFO et.al are ignored if the debugging
6079 system isn't initialised yet (instead of printing an assertion
6082 2007-08-23 Stefan Kost <ensonic@users.sf.net>
6084 patch by: David Nečas <yeti@physics.muni.cz>
6087 Replace some non portable makefile constructs.
6089 2007-08-21 Stefan Kost <ensonic@users.sf.net>
6091 * common/gtk-doc-plugins.mak:
6092 Grrrrr. Don't remove the types file on make clean.
6094 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
6096 * tools/gst-launch.1.in:
6097 Add colorspace to example pipeline. Fixes #458274.
6099 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
6101 * docs/random/release:
6102 The release manager should run 'make download-po' before making a
6103 release to make sure translations are up-to-date.
6109 Add some new translations.
6111 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
6113 * tools/gst-launch.c: (event_loop), (main):
6114 Don´t try to do any state management when a live pipeline posts
6116 Also make the buffering string translatable.
6118 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6120 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
6121 (bin_handle_async_start), (gst_bin_handle_message_func):
6123 When adding elements, insert messages into the bus of the newly added
6124 element and make sure the element is the source of the message. This
6125 allows the parent bin to intercept the message and do the
6126 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
6127 messages to the app (which is not allowed).
6130 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6131 Fix testsuite so that is does not work around messages that should not
6132 have been posted in the first place.
6134 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6136 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
6137 (update_degree), (gst_bin_sort_iterator_next):
6138 Fix annoying bug in the sorted iterator where a sink that is not really
6139 a sink (when it has downstream links) screwed up the iterator.
6141 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6142 Unit test to verify the fix.
6144 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6147 Add some more docs for the messages.
6149 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6150 (gst_base_sink_query):
6151 Add some more debugging.
6153 * tools/gst-launch.c: (event_loop):
6154 When interrupting, don't try to set pipeline to PAUSED twice.
6156 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
6159 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
6160 (bin_handle_async_start), (gst_bin_handle_message_func):
6161 Move ASYNC_START message posting to where it belongs, similar to
6163 Don't post ASYNC_START when we are in error.
6164 Post ASYNC_START when we added an async element to a bin.
6166 2007-08-14 Julien MOUTTE <julien@moutte.net>
6168 * gst/gstindex.c: (gst_index_add_association): Fix index entry
6169 generation from vargs. Fixes #466595.
6171 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
6173 * gst/gstbin.c: (gst_bin_element_set_state):
6174 Always change the state of a NO_PREROLL element even if it has ASYNC
6175 elements inside (in case of a bin).
6177 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
6178 Unit test for this case.
6180 2007-08-13 Stefan Kost <ensonic@users.sf.net>
6182 * libs/gst/check/gstbufferstraw.c:
6183 * libs/gst/check/gstcheck.h:
6184 * libs/gst/controller/gstcontroller.c:
6185 * libs/gst/controller/gstcontrolsource.h:
6186 * libs/gst/controller/gstlfocontrolsource.h:
6187 * plugins/elements/gstcapsfilter.h:
6188 * plugins/elements/gstfdsink.h:
6189 * plugins/elements/gstfdsrc.h:
6190 Add more missing docs.
6192 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
6194 * gst/gststructure.c:
6195 Add Since tag to docs.
6197 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
6199 * docs/gst/gstreamer-sections.txt:
6200 * gst/gststructure.c: (gst_structure_get_uint):
6201 * gst/gststructure.h:
6202 Add function to get uint from a structure.
6203 API: gst_structure_get_uint()
6205 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
6207 * gst/gstcaps.c: (gst_caps_set_simple_valist),
6208 (gst_caps_intersect):
6209 Fix proper check for simple caps.
6211 2007-08-10 Stefan Kost <ensonic@users.sf.net>
6213 * docs/gst/Makefile.am:
6214 * docs/libs/Makefile.am:
6215 Remove cruft and do some cleanups.
6217 * docs/gst/gstreamer-docs.sgml:
6218 * docs/libs/gstreamer-libs-docs.sgml:
6219 Prepare for comming gtkdoc features (rebase against online docs).
6221 2007-08-10 Michael Smith <msmith@fluendo.com>
6223 * docs/gst/gstreamer-sections.txt:
6224 Add gst_registry_add_path to docs.
6226 2007-08-10 Michael Smith <msmith@fluendo.com>
6228 * gst/gstregistry.h:
6229 Add gst_registry_add_path, which was missing from this header.
6231 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
6233 * libs/gst/controller/gstlfocontrolsource.c:
6236 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
6238 * libs/gst/base/gstbasesink.c:
6239 Don't send an async_start message during downwards state change if
6240 target state is less than READY
6242 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
6244 translated by: Gabor Kelemen <kelemeng@gnome.hu>
6248 Added Hungarian translation.
6250 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
6257 Updated translations.
6259 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
6261 * libs/gst/controller/Makefile.am:
6262 Dist gstlfocontrolsourceprivate.h
6264 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
6266 * docs/libs/gstreamer-libs.types:
6267 Don't register the enum type gst_lfo_waveform_get_type() in the
6268 .types file - only GObject derived types belong.
6270 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
6272 Patch by: <arenevier at fdn dot fr>
6275 Remove comma from last element in enum to avoid compile errors when
6276 using -pendantic. Fixes #464366.
6278 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
6280 * docs/design/part-TODO.txt:
6281 Add some more TODO items
6283 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
6286 * gst/gstcaps.c: (gst_caps_intersect):
6287 Optimize trivial intersection case between identical caps pointers.
6289 * gst/gstelement.c: (gst_element_continue_state),
6290 (gst_element_set_state_func):
6292 Fix spelling and grammar mistakes.
6294 2007-08-05 Stefan Kost <ensonic@users.sf.net>
6298 Update POTFILES. Fixes #461599.
6300 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
6303 Fix confusing typo in debug output.
6305 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
6307 reviewed by: Stefan Kost <ensonic@users.sf.net>
6309 * libs/gst/controller/Makefile.am:
6310 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
6311 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
6312 (gst_lfo_control_source_new),
6313 (gst_lfo_control_source_set_waveform),
6314 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
6315 (gst_lfo_control_source_finalize),
6316 (gst_lfo_control_source_dispose),
6317 (gst_lfo_control_source_set_property),
6318 (gst_lfo_control_source_get_property),
6319 (gst_lfo_control_source_class_init):
6320 * libs/gst/controller/gstlfocontrolsource.h:
6321 * libs/gst/controller/gstlfocontrolsourceprivate.h:
6322 API: Add GstLFOControlSource, a control source that gives values
6323 for specific timestamps based on several periodic waveforms.
6326 * tests/check/libs/controller.c: (GST_START_TEST),
6327 (gst_controller_suite):
6328 * docs/libs/gstreamer-libs-docs.sgml:
6329 * docs/libs/gstreamer-libs-sections.txt:
6330 * docs/libs/gstreamer-libs.types:
6331 Add documentation and unit tests for GstLFOControlSource.
6333 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
6338 === release 0.10.14 ===
6340 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
6343 releasing 0.10.14, "Breathing Vacuum"
6345 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
6347 * gst/gstelement.c: (gst_element_class_set_details_simple):
6349 Make strings passed to gst_element_class_set_details_simple()
6350 constant, as they should be (#462752).
6352 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
6354 * gst/gstbin.c: (gst_bin_change_state_func),
6355 (bin_handle_async_done), (gst_bin_handle_message_func):
6356 Don't forget about the fact that some element went ASYNC even after a
6357 resync. This makes us post the ASYNC_DONE message correctly.
6360 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
6362 * gst/gstregistry.c: (gst_registry_add_feature):
6363 When replacing an existing feature in the registry, make sure to
6364 continue holding a reference until we've replaced the name string
6365 within our feature hash table. Make sure to use g_hash_table_replace
6366 instead of g_hash_table_insert to ensure the new name string is used
6367 as a key instead of the old one that we're about to free.
6370 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
6372 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6373 (gst_plugin_feature_set_name):
6374 Revert patch from #459466 until after the release and we can work
6375 out exactly what the problem is (if any).
6377 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
6379 * docs/gst/gstreamer-sections.txt:
6382 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
6384 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
6386 * docs/libs/Makefile.am:
6387 Include our build-prefix libs and includes before the generic ones to
6388 avoid linking against the installed libs when we want the build-tree
6391 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
6393 Patch by: Steve Fink <sphink gmail com>
6395 * docs/pwg/building-testapp.xml:
6396 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
6397 if people try to build or install the example from the plugin
6398 template against a GStreamer from package using the configure
6401 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
6403 Patch by: Steve Fink <sphink gmail com>
6405 * tools/gst-inspect.1.in:
6406 Document --print-all and --print-plugin-auto-install-info command
6407 line options in man page.
6409 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
6411 * docs/gst/gstreamer-sections.txt:
6412 Add docs for new api function.
6414 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
6416 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
6417 * gst/gstelementfactory.h:
6418 API: gst_element_factory_has_interface()
6419 Added method to check if an element factory implements a named
6422 2007-07-25 Stefan Kost <ensonic@users.sf.net>
6425 * docs/gst/gstreamer.types.in:
6426 Another conditional doc check.
6429 * gst/gstparamspecs.h:
6430 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6435 2007-07-24 Stefan Kost <ensonic@users.sf.net>
6437 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
6438 (gst_registry_binary_load_feature),
6439 (gst_registry_binary_load_plugin),
6440 (gst_registry_binary_read_cache):
6441 Print error just once and with additional info.
6443 2007-07-24 Stefan Kost <ensonic@users.sf.net>
6445 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
6446 (helper_find_suggest), (helper_find_get_length),
6447 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
6448 (gst_type_find_helper_for_buffer):
6449 Cleanup the typefindhelper code and add private doc comments.
6451 2007-07-24 Edward Hervey <bilboed@bilboed.com>
6453 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6454 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
6455 Fix capsfilter for cases where the caps set on capsfilter will provide
6456 additional information.
6459 2007-07-24 Stefan Kost <ensonic@users.sf.net>
6461 * gst/gsttypefindfactory.c:
6462 Fix docs that recommened wrong function to use.
6464 2007-07-23 Stefan Kost <ensonic@users.sf.net>
6466 * tools/gst-inspect.c: (print_plugin_features):
6467 Also give media-type for typefinders in element output.
6469 2007-07-23 Stefan Kost <ensonic@users.sf.net>
6471 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
6472 (gst_registry_remove_features_for_plugin_unlocked),
6473 (gst_registry_add_feature), (gst_registry_remove_feature),
6474 (gst_registry_lookup_feature_locked):
6475 * gst/gstregistry.h:
6476 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
6479 2007-07-23 Stefan Kost <ensonic@users.sf.net>
6481 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6482 (gst_plugin_feature_set_name):
6483 Avoid double memory usage for pluginfeature names. Fixes #459466.
6485 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
6488 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
6489 driving the pipeline may need to explicitly check for NOT_LINKED as
6490 well, since IS_FATAL doesn't cover that.
6492 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
6494 * docs/pwg/advanced-types.xml:
6495 Fix typo and duplicate entry in video formats list.
6497 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
6499 * libs/gst/controller/gstinterpolation.c:
6500 Also round to the nearest int when using cubic interpolation.
6502 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
6504 * libs/gst/controller/gstinterpolation.c:
6505 When linearly interpolating integer types, round to the nearest int
6506 by adding 0.5. Don't do it for float/double types.
6507 Fixes the failing controller test on my machine, which is somehow
6508 rounding differently than on the buildbots.
6510 2007-07-20 Stefan Kost <ensonic@users.sf.net>
6512 * tools/gst-plot-timeline.py:
6513 Better log parsing (categories can have -). Adjust text vs. lines, so
6514 that they span the same y-range.
6516 2007-07-20 Stefan Kost <ensonic@users.sf.net>
6518 * docs/random/ensonic/audiobaseclasses.txt:
6519 * docs/random/ensonic/dynlink.txt:
6520 * docs/random/ensonic/profiling.txt:
6523 * docs/random/moving-plugins:
6524 Add note to use g_assert type macros.
6526 2007-07-20 Stefan Kost <ensonic@users.sf.net>
6529 * libs/gst/check/Makefile.am:
6530 Add libm check as we use in for plugins.
6532 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
6534 * gst/gstbin.c: (gst_bin_continue_func):
6535 Check that the state_cookie hasn't changed since the continue_func
6536 was scheduled. Avoids problems where the state changes back to
6537 something it shouldn't be because it was changed in the meantime.
6539 2007-07-17 Stefan Kost <ensonic@users.sf.net>
6541 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
6542 (gst_registry_binary_save_string),
6543 (gst_registry_binary_save_pad_template),
6544 (gst_registry_binary_save_feature),
6545 (gst_registry_binary_save_plugin),
6546 (gst_registry_binary_load_feature),
6547 (gst_registry_binary_load_plugin),
6548 (gst_registry_binary_read_cache):
6549 Fix memory leak. Be less verbose in the log.
6551 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
6553 * tests/check/elements/.cvsignore:
6554 Add file to cvsignore as commanded.
6556 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
6558 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6559 (mq_dummypad_event), (run_output_order_test):
6560 Use a GStaticMutex to protect all cases where libcheck
6561 fail_if/fail_unless macros might be called from multiple threads
6562 simultaneously to avoid errors like:
6563 "check_pack.c:107: :-1081725400:Bad message type arg"
6565 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
6567 * tests/check/pipelines/stress.c: (GST_START_TEST):
6568 Make sure we set the pipeline back to the NULL state before
6569 dropping our final reference.
6571 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
6573 * tests/check/elements/tee.c: (GST_START_TEST):
6574 Make the tee stress-test a little less stressful so it doesn't just
6575 time out on slow-machines, and remove a small race when it's starting
6576 up by adding a get_state() call.
6578 2007-07-16 Stefan Kost <ensonic@users.sf.net>
6581 Avoid reading registry twice on startup. Fixes #457322.
6583 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
6585 * pkgconfig/gstreamer-check-uninstalled.pc.in:
6586 * pkgconfig/gstreamer-check.pc.in:
6587 Substitute the CFLAGS for libcheck into our .pc file too so that
6588 dependent modules will pick it up properly if libcheck is installed
6589 into some other prefix.
6591 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
6594 Revert the pkg-config check for libcheck, since it pulls in the
6595 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
6596 a proper solution, either from the check project, or something else.
6598 2007-07-12 Stefan Kost <ensonic@users.sf.net>
6601 Use pkg-config to locate check.
6603 2007-07-10 Stefan Kost <ensonic@users.sf.net>
6610 Add deprecation guards.
6612 * libs/gst/base/gstcollectpads.h:
6613 Don't document object (this is implicitly private).
6615 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
6617 * gst/gststructure.c: (gst_structure_parse_value):
6618 When deserialising foo=bar without a type cast, check if it's a
6619 boolean before falling back to a string type, otherwise things like
6620 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
6621 because the filtercaps end up having a signed=(string)true field,
6622 which causes problems later when intersection caps.
6624 * tests/check/gst/gststructure.c: (GST_START_TEST):
6625 Add a unit test for this.
6627 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
6629 Reviewed by: Stefan Kost <ensonic@users.sf.net>
6631 * libs/gst/controller/Makefile.am:
6632 * libs/gst/controller/gstcontroller.c:
6633 (gst_controlled_property_add_interpolation_control_source),
6634 (gst_controlled_property_new), (gst_controlled_property_free),
6635 (gst_controller_find_controlled_property),
6636 (gst_controller_new_valist), (gst_controller_new_list),
6637 (gst_controller_new), (gst_controller_remove_properties_valist),
6638 (gst_controller_remove_properties_list),
6639 (gst_controller_remove_properties),
6640 (gst_controller_set_property_disabled),
6641 (gst_controller_set_disabled), (gst_controller_set_control_source),
6642 (gst_controller_get_control_source), (gst_controller_get),
6643 (gst_controller_sync_values), (gst_controller_get_value_array),
6644 (_gst_controller_dispose), (gst_controller_get_type),
6645 (gst_controlled_property_set_interpolation_mode),
6646 (gst_controller_set), (gst_controller_set_from_list),
6647 (gst_controller_unset), (gst_controller_unset_all),
6648 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
6649 * libs/gst/controller/gstcontroller.h:
6650 * libs/gst/controller/gstcontrollerprivate.h:
6651 * libs/gst/controller/gstcontrolsource.c:
6652 (gst_control_source_class_init), (gst_control_source_init),
6653 (gst_control_source_get_value),
6654 (gst_control_source_get_value_array), (gst_control_source_bind):
6655 * libs/gst/controller/gstcontrolsource.h:
6656 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
6657 (gst_object_get_control_source):
6658 * libs/gst/controller/gstinterpolation.c:
6659 (gst_interpolation_control_source_find_control_point_node),
6660 (gst_interpolation_control_source_get_first_value),
6661 (_interpolate_none_get), (interpolate_none_get),
6662 (interpolate_none_get_boolean_value_array),
6663 (interpolate_none_get_enum_value_array),
6664 (interpolate_none_get_string_value_array),
6665 (_interpolate_trigger_get), (interpolate_trigger_get),
6666 (interpolate_trigger_get_boolean_value_array),
6667 (interpolate_trigger_get_enum_value_array),
6668 (interpolate_trigger_get_string_value_array):
6669 * libs/gst/controller/gstinterpolationcontrolsource.c:
6670 (gst_control_point_free), (gst_interpolation_control_source_reset),
6671 (gst_interpolation_control_source_new),
6672 (gst_interpolation_control_source_set_interpolation_mode),
6673 (gst_interpolation_control_source_bind),
6674 (gst_control_point_compare), (gst_control_point_find),
6675 (gst_interpolation_control_source_set_internal),
6676 (gst_interpolation_control_source_set),
6677 (gst_interpolation_control_source_set_from_list),
6678 (gst_interpolation_control_source_unset),
6679 (gst_interpolation_control_source_unset_all),
6680 (gst_interpolation_control_source_get_all),
6681 (gst_interpolation_control_source_get_count),
6682 (gst_interpolation_control_source_init),
6683 (gst_interpolation_control_source_finalize),
6684 (gst_interpolation_control_source_dispose),
6685 (gst_interpolation_control_source_class_init):
6686 * libs/gst/controller/gstinterpolationcontrolsource.h:
6687 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
6688 API: Refactor GstController into the core controller which can take
6689 a GstControlSource for providing actual values for timestamps.
6690 Implement a interpolation control source and use this for backward
6691 compatibility, deprecate a bunch of functions that are now handled
6692 by GstControlSource or GstInterpolationControlSource.
6693 Make it possible to disable the controller completely or only for
6694 specific properties. Fixes #450711.
6695 * docs/libs/gstreamer-libs-docs.sgml:
6696 * docs/libs/gstreamer-libs-sections.txt:
6697 * docs/libs/gstreamer-libs.types:
6698 Add new functions and classes to the docs.
6699 * tests/check/libs/controller.c: (GST_START_TEST),
6700 (gst_controller_suite):
6701 * tests/examples/controller/audio-example.c: (main):
6702 Port unit test and example to the new API and add some new
6705 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
6707 Patch by: Mark Nauwelaerts <manauw at skynet be>
6709 * plugins/elements/gstmultiqueue.c:
6710 (gst_multi_queue_get_internal_links), (apply_buffer),
6711 (single_queue_overrun_cb), (gst_single_queue_new):
6712 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
6713 the pipeline layout can be tracked correctly. Fixes #453732.
6715 2007-07-05 Stefan Kost <ensonic@users.sf.net>
6717 * docs/gst/Makefile.am:
6718 * docs/libs/Makefile.am:
6719 * docs/plugins/Makefile.am:
6720 Simplify --extra-dir as gtkdoc scans recursively.
6722 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
6724 * tools/gst-launch.c: (main):
6725 When we got an error, there is no point in waiting for preroll when
6728 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
6730 * plugins/elements/gsttee.c: (gst_tee_base_init),
6731 (gst_tee_request_new_pad), (gst_tee_release_pad),
6732 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
6733 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
6735 Be a lot smarter when deciding what srcpad to use for proxying
6736 the buffer_alloc. Also handle pad added/removed when doing so.
6738 Keep track of what pads we already pushed on in case we have pads
6739 added/removed while pushing. Fixes #374639
6741 * tests/check/Makefile.am:
6742 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
6744 Added unit test for pad resync.
6746 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
6750 Updated translations.
6752 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
6754 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
6758 Added new Finnish translation.
6760 2007-06-28 Wim Taymans <wim@fluendo.com>
6762 * plugins/elements/gstmultiqueue.c: (apply_buffer),
6763 (single_queue_overrun_cb):
6764 When figuring out when a queue is filled, use our internal time estimate
6765 based on segments, just like check_full does.
6767 2007-06-27 Stefan Kost <ensonic@users.sf.net>
6769 * gst/gstminiobject.c: (gst_mini_object_get_type):
6770 Remove 3 do-nothing methods.
6772 2007-06-27 Wim Taymans <wim@fluendo.com>
6774 Patch by: Tim Angus <tim at ngus dot net>
6776 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6777 (gst_capsfilter_set_property):
6778 Take a reference instead of a copy when setting "caps".
6779 Fix documentation to clarify this behaviour. Fixes #449414.
6781 2007-06-27 Stefan Kost <ensonic@users.sf.net>
6783 * gst/gstindexfactory.c: (gst_index_factory_get_type):
6784 * gst/gstplugin.c: (gst_plugin_init):
6785 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
6786 * gst/gstquery.c: (gst_query_get_type):
6787 * gst/gstregistry.c: (gst_registry_init):
6788 * gst/gsturi.c: (gst_uri_handler_base_init):
6789 Remove empty instance_init() functions to save relocs and lessen the
6790 noise. Remove some of the function prototypes that are doubled by
6793 2007-06-27 Wim Taymans <wim@fluendo.com>
6795 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
6797 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
6798 Add peer and direction in the XML serialisation of ghostpads.
6801 2007-06-26 Stefan Kost <ensonic@users.sf.net>
6804 Preserve useful information, thanks Tim.
6806 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
6808 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
6809 (gst_single_queue_flush), (apply_segment), (apply_buffer),
6810 (gst_single_queue_push_one), (gst_multi_queue_loop),
6811 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6812 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
6813 (compute_high_id), (gst_single_queue_new):
6814 * plugins/elements/gstmultiqueue.h:
6815 Take the multiqueue lock when updating the fill level so we don't get
6818 After applying a buffer or event on the src pad segment, make sure to
6819 call gst_data_queue_limits_changed() to get the data queue to unblock
6820 and check the filled state again.
6822 Rework the not-linked pad handling so the logic is that not-linked
6823 pads can push as fast as they like, but only so they never get
6824 ahead of any linked pads.
6826 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
6827 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
6828 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
6830 Add a test to check that not-linked pads always stay behind
6835 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
6837 * docs/random/release:
6838 Some updates to the release procedure.
6840 2007-06-26 Stefan Kost <ensonic@users.sf.net>
6842 * gst/gstelementfactory.c: (__gst_element_details_clear):
6843 Microoptimization that saves stunning 80 bytes.
6845 2007-06-25 Stefan Kost <ensonic@users.sf.net>
6847 * docs/plugins/gstreamer-plugins.args:
6848 * docs/plugins/inspect/plugin-coreelements.xml:
6849 * docs/plugins/inspect/plugin-coreindexers.xml:
6850 Update docs with caps info.
6852 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
6855 Updated Italian translation.
6857 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
6861 Update Vietnamese translations.
6863 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
6865 * libs/gst/base/gstbasesink.c:
6866 Remove unused signal enum.
6868 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
6870 * docs/gst/gstreamer-sections.txt:
6872 * gst/gstutils.c: (gst_type_register_static_full):
6873 Beef up and include the docs for gst_type_register_static_full and
6874 gst_element_class_set_details_simple and add the API keyword
6877 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
6879 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6880 (update_time_level), (gst_single_queue_push_one),
6881 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
6882 (single_queue_overrun_cb), (single_queue_underrun_cb),
6883 (single_queue_check_full):
6884 Fix setting max-* properties after adding queues.
6885 Use IS_FILLED for checking visible items.
6886 Signal overrun if multiple queues overrun.
6887 Add extra debug output.
6888 Patch by: Wim Taymans <wim@fluendo.com>
6890 2007-06-21 Stefan Kost <ensonic@users.sf.net>
6892 * gst/gstelement.c: (gst_element_class_set_details_simple):
6894 * gst/gstutils.c: (gst_type_register_static_full):
6896 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
6897 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
6898 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
6899 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
6900 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
6901 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
6902 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
6903 * plugins/elements/gstidentity.c: (gst_identity_base_init):
6904 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
6905 * plugins/elements/gstqueue.c: (gst_queue_base_init),
6906 (apply_buffer), (gst_queue_chain):
6907 * plugins/elements/gsttee.c: (gst_tee_base_init):
6908 * plugins/elements/gsttypefindelement.c:
6909 (gst_type_find_element_base_init),
6910 (gst_type_find_element_class_init):
6911 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
6912 API: add gst_type_register_static_full
6913 API: add gst_element_class_set_details_simple
6915 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
6917 * docs/pwg/advanced-types.xml:
6918 Fix typo in iana.org URI.
6920 2007-06-19 Andy Wingo <wingo@pobox.com>
6922 * tests/check/pipelines/simple-launch-lines.c
6923 (test_state_change_returns): Enable pull-mode tests now that
6924 basesink has been fixed.
6926 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
6927 Changed from gst_base_sink_is_prerolled, reversing the sense of
6928 the return value. Returns FALSE also if the sink is in pull mode,
6929 in which case it needs no preroll.
6930 (gst_base_sink_query, gst_base_sink_change_state): Update for
6931 needs_preroll change.
6932 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
6933 chaining up, in which we return SUCCESS directly if we activated
6934 in pull mode instead of ASYNC. Involves countering an async_start
6935 message sent before chaining up; not sure if this is correct, in
6936 an ideal world we only send async-start when activating in push
6939 * tests/check/pipelines/simple-launch-lines.c
6940 (test_state_change_returns): New test, partially disabled until
6943 2007-06-19 Wim Taymans <wim@fluendo.com>
6945 * plugins/elements/gstmultiqueue.c: (apply_buffer),
6946 (gst_multi_queue_sink_event):
6949 2007-06-19 Wim Taymans <wim@fluendo.com>
6951 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6952 (gst_bin_change_state_func), (bin_push_state_continue),
6953 (bin_handle_async_start), (bin_handle_async_done),
6954 (gst_bin_handle_message_func):
6955 Move the common code for posting state-change messages into
6957 Broadcast the state signal after we posted the messages.
6958 Mark the bin as busy when it's doing a state-change.
6959 Make sure async-start/done messages don't interfere with the bin's
6960 state when it's busy.
6961 After the state change, let the bin check which elements completed the
6962 state change while it was busy so that it can update its state.
6964 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
6966 * docs/random/release:
6967 Add a note about updating the doap file to the release checklist
6969 2007-06-18 Wim Taymans <wim@fluendo.com>
6971 * plugins/elements/gstmultiqueue.c: (apply_buffer),
6972 (gst_single_queue_push_one), (gst_multi_queue_chain),
6973 (gst_multi_queue_sink_event):
6974 Make sure we don't reference the buffer/event after we have given away
6975 ownership in the queue.
6977 2007-06-18 Wim Taymans <wim@fluendo.com>
6979 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
6980 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
6981 Update queue state _after_ adding the item in the queue because else we
6982 could end up being full without the element added yet.
6984 2007-06-18 Wim Taymans <wim@fluendo.com>
6986 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6987 (gst_bin_remove_func), (gst_bin_get_state_func),
6988 (gst_bin_element_set_state), (gst_bin_continue_func),
6989 (bin_push_state_continue), (bin_handle_async_start),
6990 (bin_handle_async_done), (gst_bin_handle_message_func):
6992 Immediatly commit the toplevel bin state when receiving an async-done
6993 message. This enables us to avoid spawning a thread to commit the state
6994 in some common cases and it also avoids some races.
6995 Avoid spawning a state thread when adding/removing async elements to a
6996 toplevel bin. Instead we immediatly update the bin state.
6997 Get rid of iterating all the children when getting the state in the bin
6998 because it is now always up-to-date.
6999 Fix bug where locked elements would always return _SUCCESS even it they
7000 returned NO_PREROLL before being locked.
7001 Fix the order of the state_change, async-start/done messages that was
7002 sometimes incorrect.
7003 Mark the state_dirty field as deprecated, we don't need it anymore as we
7004 are always up-to-date.
7006 * gst/gstelement.c: (gst_element_get_state_func),
7007 (gst_element_continue_state):
7008 Small debug inprovements.
7009 Return the previous element state return when nothing is pending instead
7010 of blindly returning SUCCESS.
7012 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7014 Add a whole bunch of new testcases.
7016 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
7020 Update translations.
7022 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
7025 Fix typo in the docs.
7027 2007-06-15 Wim Taymans <wim@fluendo.com>
7029 * docs/libs/gstreamer-libs-sections.txt:
7030 Add docs for new methods.
7032 2007-06-15 Wim Taymans <wim@fluendo.com>
7034 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7035 (gst_multi_queue_item_new):
7036 Don't use GSlice because we don't depend on >= 2.10 yet.
7038 2007-06-15 Wim Taymans <wim@fluendo.com>
7040 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7041 (update_time_level), (apply_segment), (apply_buffer),
7042 (gst_single_queue_push_one), (gst_multi_queue_item_new),
7043 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7044 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7045 (single_queue_underrun_cb), (single_queue_check_full):
7046 Remove debug printf.
7048 2007-06-15 Wim Taymans <wim@fluendo.com>
7050 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7051 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7052 (gst_data_queue_set_flushing), (gst_data_queue_push),
7053 (gst_data_queue_pop), (gst_data_queue_drop_head),
7054 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7055 * libs/gst/base/gstdataqueue.h:
7057 Added methods to get the current levels and to inform the queue that the
7058 'full' limits changed.
7060 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7061 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7062 (gst_single_queue_flush), (update_time_level), (apply_segment),
7063 (apply_buffer), (gst_single_queue_push_one),
7064 (gst_multi_queue_item_steal_object),
7065 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7066 (gst_multi_queue_loop), (gst_multi_queue_chain),
7067 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7068 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7069 (gst_multi_queue_src_query), (single_queue_overrun_cb),
7070 (single_queue_underrun_cb), (single_queue_check_full),
7071 (gst_single_queue_new):
7072 Keep track of time in the queue by measuring the difference between
7073 running_time on input and output. This gives more accurate results and
7074 can compensate for segments correctly.
7075 Make a queue by default only 5 buffers deep. We will now increase the
7076 buffer size depending on the filledness of the other queues.
7077 Factor out commong flush code.
7078 Make sure we don't add additional refcounts to buffers when we can avoid
7080 Propagate GstFlowReturn differently.
7081 Use GSlice for intermediate GstMultiQueueItems.
7083 Resize queues on over and underruns based on filled level of other
7085 When checking if the queue is filled, prefer to measure in time if we
7086 can and fall back to bytes when no time is known.
7088 * plugins/elements/gstqueue.c:
7091 2007-06-15 Wim Taymans <wim@fluendo.com>
7093 * libs/gst/base/gstbasetransform.c:
7094 (gst_base_transform_sink_event):
7095 Work around the brokenness of the event vmethod in basetransform. Prefer
7096 to return TRUE when the subclass returned FALSE (meaning don't forward
7099 * libs/gst/base/gstbasetransform.h:
7102 2007-06-15 Wim Taymans <wim@fluendo.com>
7104 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
7105 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7106 (gst_base_src_default_query), (gst_base_src_get_range),
7107 (gst_base_src_start):
7108 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
7111 2007-06-15 Stefan Kost <ensonic@users.sf.net>
7113 * docs/pwg/advanced-types.xml:
7114 Added more formats to caps table.
7116 2007-06-15 Stefan Kost <ensonic@users.sf.net>
7118 * tools/gst-launch.c: (main):
7119 Remove crufy code. GOption does not need this workaround.
7121 2007-06-14 Stefan Kost <ensonic@users.sf.net>
7123 * libs/gst/controller/gstcontroller.c:
7124 (gst_controlled_property_set_interpolation_mode):
7125 Fix wrong getter for enums in controller.
7127 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7129 * libs/gst/check/gstcheck.c: (gst_check_init):
7130 Intercept criticals and warnings in the Gst-Phonon log domain, so
7131 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
7134 2007-06-14 Edward Hervey <edward@fluendo.com>
7136 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
7137 Since this file doesn't include "gst.h" it will not go through the
7138 macros that disable GST_LOG if debugging was disabled.
7140 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7142 * libs/gst/check/Makefile.am:
7143 * libs/gst/check/gstcheck.h:
7144 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7145 * pkgconfig/gstreamer-check.pc.in:
7146 Ugly 'fix' for the controller unit test on the p5 bot: in
7147 fail_unless_equals_float() check whether the values are 'almost
7148 equal' by allowing a small absolute error, which should be good
7149 enough for our use cases (normal numbers and values close to 0).
7150 Proper fixage left to floating point arithmetic aficionados.
7152 2007-06-14 Stefan Kost <ensonic@users.sf.net>
7154 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
7155 (gst_base_sink_render_object), (gst_base_sink_get_position):
7156 Add two breaks thats where missing.
7158 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7160 * docs/libs/gstreamer-libs-sections.txt:
7161 * libs/gst/check/gstcheck.h:
7162 API: add fail_unless_equals_float() and assert_equals_float().
7163 Add documentation for some of the macros.
7165 * tests/check/libs/controller.c: (GST_START_TEST):
7166 Use newly-added asserts.
7168 2007-06-14 Stefan Kost <ensonic@users.sf.net>
7170 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
7171 Show the caps change in the log to help spotting the case of not
7172 exactly matching caps.
7174 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7176 * docs/pwg/building-boiler.xml:
7177 Fix typos, spotted by Thijs Vermeir (#447190).
7179 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
7181 * docs/plugins/tmpl/.cvsignore:
7182 Ignore file to keep the buildbots happy
7184 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
7186 * docs/plugins/Makefile.am:
7187 * docs/plugins/gstreamer-plugins-docs.sgml:
7188 * docs/plugins/gstreamer-plugins-sections.txt:
7189 Pull fdsink into the docs too.
7191 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
7193 * libs/gst/controller/gstinterpolation.c:
7194 Actually use the new functions with min/max checks for the trigger and
7195 none interpolation modes for get() and get_value_array() instead of
7198 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
7200 * libs/gst/controller/gstcontroller.c:
7201 (gst_controlled_property_free):
7202 Unset the minimum and maximum GValues when freeing the corresponding
7203 GstControllerProperty struct.
7205 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
7207 * libs/gst/controller/gstcontroller.c:
7208 (gst_controlled_property_new):
7209 * libs/gst/controller/gstcontrollerprivate.h:
7210 * libs/gst/controller/gstinterpolation.c:
7211 (gst_controlled_property_find_control_point_node),
7212 (interpolate_none_get), (interpolate_none_get_enum_value_array),
7213 (interpolate_none_get_string_value_array),
7214 (interpolate_trigger_get),
7215 (interpolate_trigger_get_enum_value_array),
7216 (interpolate_trigger_get_string_value_array):
7217 Protect against values larger or smaller than the minimum or maximum
7218 allowed value for the property when using values that can be compared.
7220 Optimize trigger interpolator a bit by taking the last requested value
7221 into account instead of always looping through the complete list.
7223 Fix coding style a bit, everywhere else we use "return foo" instead
7226 * tests/check/libs/controller.c: (GST_START_TEST),
7227 (gst_controller_suite):
7228 Add unit test for the protection against too large or too small
7231 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
7233 * docs/random/slomo/controller.txt:
7234 Add some thoughts about the future of the controller.
7236 2007-06-08 Wim Taymans <wim@fluendo.com>
7238 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7239 Don't overflow in retimestamping code.
7241 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
7243 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
7244 Use gst_util_guint64_to_gdouble for conversions.
7245 * win32/common/libgstreamer.def:
7246 Add new exported functions.
7248 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
7251 Small docs addition.
7253 2007-06-07 Stefan Kost <ensonic@users.sf.net>
7256 Remove that test line again.
7258 2007-06-07 Stefan Kost <ensonic@users.sf.net>
7261 Test commit mail sending.
7263 2007-06-07 Stefan Kost <ensonic@users.sf.net>
7266 Fix typo and test commit mail sending.
7268 2007-06-07 Stefan Kost <ensonic@users.sf.net>
7270 * tests/examples/controller/audio-example.c:
7271 Improve comment and test commit mail sending.
7273 2007-06-07 Wim Taymans <wim@fluendo.com>
7275 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
7276 (gst_bin_remove_func), (gst_bin_element_set_state),
7277 (bin_handle_async_start), (bin_handle_async_done),
7278 (gst_bin_handle_message_func):
7279 Add helper function to find messages.
7280 Generate the async-done messages together with the state change
7282 Small cleanups in handling toplevel bins.
7284 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
7286 * libs/gst/base/gstdataqueue.c:
7287 * libs/gst/base/gstdataqueue.h:
7288 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
7289 (gst_multi_queue_item_new), (gst_multi_queue_chain),
7290 (gst_multi_queue_sink_event):
7291 * tests/check/elements/multiqueue.c: (multiqueue_suite):
7292 Fix multiqueue leaking buffers and events when downstream or the
7293 queue are flushing. Make refcounting assumptions explicit and
7294 document them (shouldn't break existing code that uses it other than
7295 maybe leak miniobjects, but that already happens anyway). Add unit
7296 test for the most common flushing case. Fixes #423700.
7298 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
7300 * libs/gst/controller/gstcontroller.c:
7301 Clarify docs: The get_all, get_value_array(s) functions
7302 don't modify the GObject properties.
7304 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
7306 * libs/gst/controller/gstcontroller.c:
7307 (gst_controlled_property_set_interpolation_mode),
7308 (gst_controlled_property_prepend_default),
7309 (gst_controlled_property_new), (gst_controller_set_unlocked),
7310 (gst_controller_set), (gst_controller_set_from_list),
7311 (gst_controller_unset), (gst_controller_unset_all):
7312 * libs/gst/controller/gstcontrollerprivate.h:
7313 * libs/gst/controller/gstinterpolation.c:
7314 Factor out the 'set' logic into gst_controller_set_unlocked for the
7315 gst_controller_set and gst_controller_set_from_list functions.
7317 To make life of the interpolators easier always add a control point
7318 at timestamp zero with the default value.
7320 In the linear interpolator make things more obvious by better variable
7323 Implement cubic interpolation mode (by using a natural cubic spline)
7324 and map the quadratic interpolation mode to this too (as quadratic
7325 doesn't make much sense, see discussion on the list).
7327 * tests/check/libs/controller.c: (GST_START_TEST),
7328 (gst_controller_suite):
7329 Add unit test for the cubic interpolation mode and check everywhere
7330 if the interpolation mode could be set as expected.
7332 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
7334 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
7335 Don't use GLib-2.10 functions, we still depend on
7336 GLib-how-old-is-it-again-2.8.
7338 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
7340 * docs/gst/gstreamer-sections.txt:
7344 * gst/gstparamspecs.c: (_gst_param_fraction_init),
7345 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
7346 (_gst_param_fraction_values_cmp),
7347 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
7348 * gst/gstparamspecs.h:
7350 * tests/check/Makefile.am:
7351 * tests/check/gst/.cvsignore:
7352 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
7353 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
7354 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
7355 (GST_START_TEST), (gst_param_spec_suite):
7356 API: add GstParamSpecFraction, so elements can have fraction
7357 properties without lots of painful string parsing (#444648).
7359 2007-06-05 Wim Taymans <wim@fluendo.com>
7361 * gst/gstobject.c: (gst_object_class_init):
7362 Fix signal signature.
7365 Add small clarification in the api docs.
7367 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
7368 States are protected with object lock.
7370 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
7373 I should probably be listed as an author by now.
7375 * docs/random/release:
7376 Update the release doc
7378 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
7381 Make docs for gst_value_compare() mention return enums that
7384 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
7389 === release 0.10.13 ===
7391 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
7394 releasing 0.10.13, "With or without you"
7396 2007-05-25 Wim Taymans <wim@fluendo.com>
7398 * gst/gstbin.c: (bin_handle_async_done):
7399 Make sure that the child bin stops after completing the async state
7400 change so that the parent can continue the state change to PLAYING.
7403 2007-05-25 Wim Taymans <wim@fluendo.com>
7405 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7406 (unref_data), (gst_collect_pads_remove_pad),
7407 (gst_collect_pads_check_pads):
7408 Use additional refcounting to avoid crashes when dynamically adding and
7409 removing pads. Fixes #420206.
7411 2007-05-24 Wim Taymans <wim@fluendo.com>
7413 * tools/gst-launch.c: (event_loop):
7414 When buffering goes from a two digit to a single digit number, make sure
7415 to remove the old second digit by writing a blank over it.
7417 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
7419 * libs/gst/base/gstdataqueue.c:
7420 Eliminate tabs and trailing comma in enum list; fix some typos.
7422 2007-05-24 Wim Taymans <wim@fluendo.com>
7424 * tests/check/gst/gstbin.c: (GST_START_TEST):
7425 Allow refcount of 3 and 4 because some state thread might still be busy
7428 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
7430 * plugins/elements/Makefile.am:
7431 * plugins/elements/gstmultiqueue.h:
7432 * plugins/elements/gstqueue.h:
7433 These are not installed headers, no need for padding.
7435 2007-05-24 Wim Taymans <wim@fluendo.com>
7437 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7438 (gst_bin_continue_func):
7439 Enable latency for next release.
7440 Restore STATE_LOCK around recalc_state that was left out during the
7441 rewrite and could result in racy behaviour when _get_state and
7442 recalc_state are run concurrently. See #440463.
7444 2007-05-23 Wim Taymans <wim@fluendo.com>
7446 * tests/check/gst/gstsystemclock.c: (store_callback),
7448 Improve test_async_order to also work when both timers are already
7449 expired when we get scheduled to check it.
7451 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
7453 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
7454 (gst_bin_set_property), (gst_bin_get_property),
7455 (gst_bin_remove_func), (gst_bin_handle_message_func):
7457 'private' is a c++ keyword, let's not use that in header files,
7458 otherwise c++ compilers will throw a tantrum.
7460 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
7462 * plugins/elements/gstelements.c:
7463 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
7464 (gst_file_sink_get_current_offset):
7465 * plugins/indexers/gstindexers.c: (plugin_init):
7466 Use #ifdef for HAVE_XYZ for consistency.
7468 * tests/check/Makefile.am:
7469 * tests/check/elements/.cvsignore:
7470 * tests/check/elements/filesink.c: (setup_filesink),
7471 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
7472 Add some unit tests for filesink.
7474 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
7476 Patch by: Mark Nauwelaerts <manauw at skynet be>
7478 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
7479 (gst_file_sink_query), (gst_file_sink_do_seek),
7480 (gst_file_sink_get_current_offset), (gst_file_sink_render):
7481 * plugins/elements/gstfilesink.h:
7482 Fix position reporting; rename data_written member to current_pos to
7483 reflect its real meaning (fixes #412648).
7485 2007-05-22 Edward Hervey <edward@fluendo.com>
7487 * docs/gst/gstreamer-sections.txt:
7488 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7489 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
7490 (gst_bin_remove_func), (gst_bin_handle_message_func):
7492 Add a property for bins that handle the state change of their childs.
7495 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
7497 * libs/gst/controller/gstinterpolation.c:
7498 Use an array of the correct type when using _get_value_array with
7499 linear interpolation.
7501 2007-05-22 Stefan Kost <ensonic@users.sf.net>
7503 * gst/gstelement.c (gst_element_requires_clock,
7504 gst_element_provides_clock, gst_element_request_pad,
7505 gst_element_class_set_details, gst_element_class_set_details_simple,
7506 gst_element_default_send_event, gst_element_abort_state,
7507 gst_element_continue_state, gst_element_set_state,
7508 gst_element_set_state_func, iterator_activate_fold_with_resync):
7509 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
7510 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
7511 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
7512 gst_pad_get_range, gst_pad_pull_range):
7513 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
7514 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
7515 GstPadActivateModeFunction, GstPadChainFunction,
7516 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
7517 GstPadFixateCapsFunction, GstPadTemplate):
7518 * gst/gstpipeline.c (gst_pipeline_change_state,
7519 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
7520 gst_pipeline_set_clock, gst_pipeline_auto_clock,
7521 gst_pipeline_get_delay):
7522 Whitespace and docs fixes.
7524 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
7526 * libs/gst/controller/gstinterpolation.c:
7527 (interpolate_trigger_get_enum_value_array),
7528 (interpolate_trigger_get_string_value_array):
7529 Add support for retrieving value arrays when using the trigger
7532 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
7534 * libs/gst/controller/gstcontroller.c:
7535 (gst_controller_get_value_array):
7536 * libs/gst/controller/gstcontroller.h:
7537 Clarify the docs of gst_controller_get_value_array(): The array where
7538 the values should be written to must be allocated as there seems to be
7539 no way to get the size of a random GType. This doesn't change any
7540 behaviour. Also fix some typos all over the place and remove an unused,
7541 commented function that is not necessary as g_object_set() could be
7543 * tests/check/libs/controller.c: (GST_START_TEST),
7544 (gst_controller_suite):
7545 Add unit test for gst_controller_get_value_array().
7547 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
7549 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7551 Disable part of the gst_buffer_try_new_and_alloc test, because
7552 it can happily succeed on 64-bit systems where there's more address
7555 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
7557 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
7558 Add unit test for the improved caps checking from bug #421543.
7560 2007-05-21 Wim Taymans <wim@fluendo.com>
7562 * docs/design/part-synchronisation.txt:
7565 * gst/gstbin.c: (gst_bin_query):
7566 * plugins/elements/gstqueue.c: (apply_segment):
7572 2007-05-21 Wim Taymans <wim@fluendo.com>
7574 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
7575 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
7576 (gst_pad_configure_src):
7577 Added simple version of improved caps checking. It was previously
7578 assumed that a setcaps function would check the validity of the caps but
7579 people prefer us to check caps against the template automatically.
7582 2007-05-21 Wim Taymans <wim@fluendo.com>
7584 * libs/gst/base/gstbasetransform.h:
7585 Fix macro for locking/unlocking the transform lock.
7587 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
7589 * docs/plugins/tmpl/.cvsignore:
7592 2007-05-18 Edward Hervey <edward@fluendo.com>
7594 * plugins/elements/gstqueue.c: (gst_queue_loop):
7595 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
7596 for the subtle art of warning a potentially blocking thread that it
7597 should check the source pad return value, and relay the information
7600 2007-05-18 Edward Hervey <edward@fluendo.com>
7602 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7603 Release the queue lock !
7605 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
7607 * docs/libs/gstreamer-libs-sections.txt:
7608 Add the two new controller functions to the appropiate places.
7610 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
7612 reviewed by: Stefan Kost <ensonic@users.sf.net>
7614 * libs/gst/controller/gstcontroller.c:
7615 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
7616 (_gst_controller_get_property), (_gst_controller_set_property),
7617 (_gst_controller_init), (_gst_controller_class_init):
7618 * libs/gst/controller/gstcontroller.h:
7619 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
7620 (gst_object_get_control_rate), (gst_object_set_control_rate):
7621 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
7622 Add API that provides sync suggestion timestamps for elements that
7623 call gst_object_sync_values() from which those elements can subdivide
7624 their processing loop to get the best results for the controlled
7625 properties. For now it just suggests last_sync + control_rate as
7626 new timestamp but this will be improved in the future.
7628 While doing that change the control-rate property to a GstClockTime
7629 from guint and change it's meaning from samples to nanoseconds as
7630 the GstController doesn't know anything about sampling rate. Strictly
7631 speaking this breaks ABI but as the control-rate property didn't do
7632 anything in the past and as such couldn't be used this should be no
7635 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
7637 reviewed by: Stefan Kost <ensonic@users.sf.net>
7639 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7640 (gst_controller_unset_all):
7641 * libs/gst/controller/gstcontrollerprivate.h:
7642 * libs/gst/controller/gstinterpolation.c:
7643 (gst_controlled_property_find_control_point_node):
7644 Save last synced value from the list to continue searching from there
7645 in future syncs. This speeds everything up a bit.
7647 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
7649 reviewed by: Stefan Kost <ensonic@users.sf.net>
7651 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
7652 (gst_control_point_find), (gst_controlled_property_new),
7653 (gst_control_point_free), (gst_controlled_property_free),
7654 (gst_controller_set), (gst_controller_set_from_list),
7655 (gst_controller_unset), (gst_controller_unset_all),
7656 (gst_controller_sync_values):
7657 * libs/gst/controller/gstcontroller.h:
7658 * libs/gst/controller/gstcontrollerprivate.h:
7659 * libs/gst/controller/gstinterpolation.c:
7660 (gst_controlled_property_find_control_point_node),
7661 (interpolate_none_get), (interpolate_trigger_get):
7662 Add a new private GstControlPoint struct which "inherits" from
7663 GstTimedValue to allow different interpolators to store internal
7664 values next to each control point. From the outside everything is
7665 still a GstControlPoint so we don't loose binary compatibility.
7666 Also fixup all the GValue handling to not leak GValues or list nodes.
7667 * tests/check/libs/controller.c: (GST_START_TEST):
7668 Free the list nodes and GValues in the controller_misc test.
7670 2007-05-17 Edward Hervey <edward@fluendo.com>
7675 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
7677 * gst/gstplugin.c: (gst_plugin_load_file):
7678 If we fail to load a plugin because of unresolved symbols or missing
7679 libraries and spew a warning to stderr, we may just as well mention
7680 which plugin it was that failed to load.
7682 2007-05-13 David Schleef <ds@schleef.org>
7684 * docs/Makefile.am: the gtk-doc makefile snippet correctly
7685 handles the case when ENABLE_GTK_DOC is false, and installs
7686 the prebuilt documentation. So gtk-doc subdirs are
7687 unconditionally enabled. Fixes: #349099.
7689 2007-05-13 David Schleef <ds@schleef.org>
7691 * gst/gstutils.h: Reword some documentation.
7693 2007-05-12 David Schleef <ds@schleef.org>
7695 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
7696 do anything with the passed "module" parameter, so remove it.
7697 Allows removal of additional vestigal code.
7699 2007-05-12 David Schleef <ds@schleef.org>
7702 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
7703 Switch to using g_stat() because it's more portable.
7705 2007-05-12 David Schleef <ds@schleef.org>
7708 Add GST_DISABLE_OPTION_PARSING, in order to disable option
7709 parsing for embedded systems.
7710 * gst/gstelementfactory.c:
7711 Allow gst_element_register() to be called with plugin==NULL.
7712 Did nobody notice that static elements were broken?
7714 2007-05-12 Wim Taymans <wim@fluendo.com>
7716 * tools/gst-launch.c: (event_loop):
7717 Give more interesting info when buffering starts and stops.
7718 Fix case where buffering starts but we fail to update the buffering flag
7719 because the target state is not PLAYING.
7721 2007-05-12 Wim Taymans <wim@fluendo.com>
7723 * plugins/elements/gstqueue.c: (gst_queue_init),
7724 (gst_queue_finalize), (update_time_level), (apply_segment),
7725 (apply_buffer), (gst_queue_locked_flush),
7726 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
7727 (gst_queue_handle_sink_event), (gst_queue_chain),
7728 (gst_queue_push_one), (gst_queue_loop):
7729 * plugins/elements/gstqueue.h:
7730 Refactor an cleanup queue a bit.
7731 Do better time level calculations that also work when the srcpad is not
7733 Remove some unneeded debug lines.
7735 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
7736 Added testcase for time level measurement.
7737 Try to make some stuff more racefree.
7739 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
7741 * gst/gsturi.c: (gst_element_make_from_uri):
7742 Don't leak plugin feature.
7744 * tests/check/Makefile.am:
7745 * tests/check/gst/.cvsignore:
7746 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
7747 Add brain-dead unit test.
7749 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
7751 Patch by: Jeroen Wouters <woutersj at gmail com>
7753 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
7754 Treat protocol strings in a case-insensitive way (#437563).
7756 2007-05-11 Michael Smith <msmith@fluendo.com>
7758 * gst/gstplugin.c: (gst_plugin_load_file):
7759 * gst/gstregistry.c: (gst_registry_scan_path_level):
7760 Don't print a g_warning for any failure to load a shared object.
7761 Instead, push this down into gstplugin.c, and warn _only_ if we
7762 failed to open the module (i.e. failure to link).
7763 Avoids warnings on normal, working, non-plugin .so files.
7765 2007-05-11 Stefan Kost <ensonic@users.sf.net>
7767 * gst/gstplugin.c (gst_plugin_load_file):
7768 * gst/gstregistry.c (GST_CAT_DEFAULT,
7769 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
7770 Print a g_warning if there was an error when loading a plugins during
7771 registry scan. The shuld help beginners starting with gst-plugin
7774 2007-05-10 Wim Taymans <wim@fluendo.com>
7776 * plugins/elements/gstqueue.c: (gst_queue_class_init),
7777 (update_time_level), (gst_queue_locked_flush),
7778 (gst_queue_handle_sink_event), (gst_queue_chain),
7779 (gst_queue_push_one), (gst_queue_loop):
7780 * plugins/elements/gstqueue.h:
7781 Be smarter when calculating the current amount of data in the queue by
7782 measuring the difference between start and end timestamps (in running
7783 time) inside the queue. Fixes #432876.
7784 API: GstQueue::pushing to notify elements that we are pushing data again
7785 since the running signal is rather broken for this purpose.
7787 2007-05-10 Stefan Kost <ensonic@users.sf.net>
7789 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
7790 gst_queue_base_init, gst_queue_init):
7793 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
7795 * win32/common/libgstreamer.def:
7796 Add new exported functions.
7797 * win32/vs6/grammar.dsp:
7798 Use grammar pre-generated files.
7800 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
7802 Based on patch by: Peter Kjellerstedt <pkj at axis com>
7805 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
7807 * gst/gstutils.c: (gst_parse_bin_from_description):
7809 Maintain API and ABI when --disable-parse is used. Now that
7810 we have an appropriate error code, we can just return NULL and the
7811 appropriate error when gst_parse_launch() is used despite it having
7812 been disabled (#342564).
7814 * tests/check/Makefile.am:
7815 * tests/check/pipelines/.cvsignore:
7816 * tests/check/pipelines/parse-disabled.c:
7817 Make sure these functions exist and return NULL plus a GError when
7818 --disable-parse is used.
7820 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
7822 * tests/benchmarks/complexity.c: (main):
7823 * tests/benchmarks/mass-elements.c: (main):
7824 Set a good example and don't leak messages.
7826 2007-05-06 Stefan Kost <ensonic@users.sf.net>
7828 * docs/gst/Makefile.am:
7829 * docs/libs/Makefile.am:
7830 Correct fixxrefs options.
7832 * docs/plugins/Makefile.am:
7833 * docs/plugins/gstreamer-plugins-docs.sgml:
7834 * docs/plugins/gstreamer-plugins-sections.txt:
7835 * plugins/elements/Makefile.am:
7836 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
7837 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
7838 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
7839 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
7840 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
7841 _GstCapsFilterClass, trans_class):
7842 * plugins/elements/gstelements.c (name, rank, type, _elements):
7843 * plugins/elements/gstidentity.c
7844 (gst_identity_check_imperfect_timestamp,
7845 gst_identity_check_imperfect_offset):
7846 Document capsfilter and add doc-blurb to identity.
7848 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
7850 * libs/gst/controller/gstcontroller.c:
7851 (gst_controlled_property_set_interpolation_mode):
7852 * libs/gst/controller/gstinterpolation.c:
7853 Don't crash if someone tries to set an interpolation mode that
7854 is invalid or that isn't supported yet. Fixes #422295.
7856 * tests/check/libs/controller.c: (GST_START_TEST),
7857 (gst_controller_suite):
7858 Add a test case for the above.
7860 2007-05-03 Edward Hervey <edward@fluendo.com>
7862 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7863 Properly set the last_stop position on GstSegment. This will only happen
7864 if there is a buffer to push out.
7866 2007-05-03 Wim Taymans <wim@fluendo.com>
7868 * libs/gst/base/gstbasetransform.c:
7869 (gst_base_transform_buffer_alloc):
7870 always_in_place does not mean that the sink and source caps are the
7871 same! Make sure we don't blindly proxy the buffer_alloc in this case.
7873 2007-05-03 Wim Taymans <wim@fluendo.com>
7875 * docs/libs/gstreamer-libs-sections.txt:
7876 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7877 (gst_base_src_default_query), (gst_base_src_get_range):
7878 * libs/gst/base/gstbasesrc.h:
7879 API: gst_base_src_query_latency(). Added method so that subclasses can
7880 easily get the latency values of the base source class.
7882 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
7884 * tools/gst-inspect.c (print_implementation_info):
7887 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
7889 * tools/Makefile.am:
7890 * tools/gst-launch.1.in:
7891 Don't create a customised man page based on the host architecture,
7892 describe the default registry path generically. That way the man
7893 page is the same for all architectures and packagers have one
7894 multilib issue less to deal with. Fixes #434926.
7896 2007-05-02 Wim Taymans <wim@fluendo.com>
7899 Fix documentation as spotted by rg on IRC.
7901 2007-04-29 Stefan Kost <ensonic@users.sf.net>
7904 Improve docs for gst_element_{link,unlink}.
7906 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
7908 * docs/design/part-events.txt:
7909 * docs/design/part-overview.txt:
7913 * libs/gst/base/gstbasesink.c:
7914 Typo fixes; minor docs addition.
7916 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
7918 * docs/gst/gstreamer-sections.txt:
7919 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
7920 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
7922 API: Add gst_uri_protocol_is_supported(), which checks if a sink
7923 or src that supports a given URI protocol exists.
7925 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
7927 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7928 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7929 Set the location to NULL if "file://" is set as URI. Otherwise
7930 some random previous URI would still be set if "file://" is
7931 set on an already used filesink/filesrc.
7933 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
7935 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7936 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7937 Special case the "file://" URI as as this is used by some
7938 applications to test with gst_element_make_from_uri if there's
7939 an element that supports the URI protocol.
7940 Also move the g_path_is_absolute() check for the location part
7941 of the URI to also check this for "file://localhost/bla" URIs.
7943 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
7945 * docs/gst/gstreamer-sections.txt:
7946 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
7948 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7950 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
7952 2007-04-26 Stefan Kost <ensonic@users.sf.net>
7954 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
7955 (gst_registry_binary_load_pad_template),
7956 (gst_registry_binary_load_plugin),
7957 (gst_registry_binary_read_cache):
7958 * gst/gstregistrybinary.h:
7959 Implement no-mmap alternative for registry reading. Do code cleanups.
7960 Add more comments about avoiding strdups for all text data. Comments
7963 2007-04-25 Stefan Kost <ensonic@users.sf.net>
7965 * gst/gstregistrybinary.h (GstBinaryPluginElement,
7966 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
7967 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
7968 Comment structs and reformat to fix the build (that stuff should go
7969 into a priv. header).
7971 2007-04-25 Stefan Kost <ensonic@users.sf.net>
7973 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
7974 (gst_registry_binary_load_feature):
7975 * gst/gstregistrybinary.h:
7976 Refactor so that we can implement multiple features. Add support for
7977 TypeFindFactory features.
7979 2007-04-24 Stefan Kost <ensonic@users.sf.net>
7981 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
7984 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
7986 2007-04-23 Stefan Kost <ensonic@users.sf.net>
7988 * gst/gstbin.c: (gst_bin_element_set_state),
7989 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
7990 (bin_handle_async_done), (gst_bin_handle_message_func):
7991 Fix build with --gst-disable-gst-debug
7993 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
7995 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
7996 Make sure streaming has finished before calling the ::stop() vfunc,
7997 since that vfunc might clear state which is being used in the
7998 streaming thread. This fixes a race that caused crashes in
7999 audioresample when shutting down a pipeline (#420106).
8001 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8003 * docs/gst/gstreamer-sections.txt:
8004 That was one byte missing.
8006 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8009 * docs/gst/gstreamer-sections.txt:
8011 * gst/gstconfig.h.in:
8012 * gst/gstobject.c: (gst_object_class_init),
8013 (gst_signal_object_class_init):
8015 2nd attempt to have a xml-less build as a joined effort of #413123
8018 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8020 * docs/design/draft-tagreading.txt:
8021 Added open issues/thoughts to draft.
8023 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8025 * gst/parse/grammar.tab.pre.c:
8026 * gst/parse/grammar.tab.pre.h:
8027 * gst/parse/lex._gst_parse_yy.pre.c:
8028 Update the prebuild parser sources.
8030 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8032 * gst/parse/Makefile.am:
8033 And now fix the building of the flex sources. Now everything should
8036 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8038 * gst/parse/Makefile.am:
8039 Now hopefully fix the build failures by setting proper rule
8040 dependencies and moving instead of copying.
8042 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8044 * tests/benchmarks/complexity.gnuplot:
8045 * tests/benchmarks/complexity.scm:
8046 * tests/benchmarks/mass-elements.gnuplot:
8047 * tests/benchmarks/mass-elements.scm:
8048 Total licensification.
8050 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8052 * gst/parse/Makefile.am:
8053 Fix the build by correcting the rule that gave wrong files to flex.
8055 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8057 * tests/benchmarks/complexity.c:
8058 * tests/benchmarks/mass-elements.c:
8059 Change licence to LGPL as granted by Benjamin and Andy.
8061 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8063 * gst/parse/Makefile.am:
8064 Add correct grammar.tab.h dependency if compiling without new enough
8065 flex. Fixes #431150.
8067 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8069 * gst/parse/Makefile.am:
8070 Fix typo and use outdated sources if the flex/bison sources are newer
8071 than the pregenerated ones but flex is too old. Print a warning in
8072 that case. This should fix the build on the build bot.
8074 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8076 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8077 * gst/parse/Makefile.am:
8078 * gst/parse/grammar.y:
8079 * gst/parse/parse.l:
8080 Make the parser reentrant and recursively callable. This requires flex
8081 >= 2.5.31, for older versions pregenerated sources are used as we
8082 can't bump the build dependency. Finally fixes #349180.
8084 * gst/gstparse.c: (gst_parse_launch):
8085 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8088 * docs/gst/Makefile.am:
8089 * docs/gst/Makefile.am:
8090 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
8091 (__gst_parse_strfree), (__gst_parse_link_new),
8092 (__gst_parse_link_free), (__gst_parse_chain_new),
8093 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
8094 (gst_parse_element_set), (gst_parse_free_link),
8095 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
8096 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
8097 (_gst_parse_launch):
8098 * gst/parse/grammar.tab.pre.h:
8099 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
8100 (yy_get_previous_state), (yy_try_NUL_trans), (input),
8101 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
8102 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
8103 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
8104 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
8105 (_gst_parse_yypop_buffer_state),
8106 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
8107 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
8108 (yy_fatal_error), (_gst_parse_yyget_extra),
8109 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
8110 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
8111 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
8112 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
8113 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
8114 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
8115 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
8116 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
8117 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
8118 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
8119 (_gst_parse_yyfree):
8120 If the installed flex version is too old use pre-generated parser
8121 sources. These pre-generated parser sources are always updated when
8122 the actual flex/bison sources change but require everybody who wants
8123 to change something in the parser to have flex >= 2.5.31 installed.
8125 2007-04-18 Stefan Kost <ensonic@users.sf.net>
8127 * common/m4/gst-gettext.m4:
8128 * gst/gst-i18n-lib.h:
8129 Make --disable-nls to work
8131 2007-04-17 Wim Taymans <wim@fluendo.com>
8133 * gst/gstconfig.h.in:
8134 Revert previous change that broke the build.
8136 2007-04-17 Stefan Kost <ensonic@users.sf.net>
8140 * gst/gstconfig.h.in:
8141 Drop libxml2 dependency when building with
8142 --enable-binary-registry --disable-loadsave
8144 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
8146 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8147 (gst_registry_binary_read_cache):
8148 * gst/gstregistrybinary.h:
8149 Remove unnecessary <sys/mman.h> include which broke the win32 build
8150 with MingW; move includes from header file to .c file, even if the
8151 header file isn't installed; use g_strerror() where UTF-8 strings
8152 are expected, such as in GST_DEBUG messages.
8154 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
8156 * docs/libs/gstreamer-libs-sections.txt:
8157 Remove bogus addition for API I didn't end up keeping.
8159 * libs/gst/base/gstbasesrc.h:
8160 Mention Since: 0.10.13 in the documentation.
8162 Add the API keyword to the previous ChangeLog entry.
8164 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
8166 * docs/libs/gstreamer-libs-sections.txt:
8167 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8168 (gst_base_src_default_prepare_seek_segment),
8169 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
8170 * libs/gst/base/gstbasesrc.h:
8171 Allow basesrc derived classes to execute seeks in other formats
8172 by providing a prepare_seek_segment vmethod. Sub-classes can choose
8173 to prepare the GstSegment in any format that their perform_seek method
8174 will be able to understand. The default implementation provides the
8175 old behaviour of attempting to convert the seek offsets to the
8176 configured native format.
8178 API: basesrc::prepare_seek_segment vmethod.
8180 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
8182 * gst/gstelement.c: (gst_element_get_state_func):
8183 Don't output the same debug statement twice.
8185 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
8186 (gst_adapter_peek), (gst_adapter_take_buffer):
8187 Optimise the case where we have buffers at the head of the queue that
8188 can be joined quickly (because they're contiguous sub-buffers) by
8189 merging them together rather than copying data out into new memory.
8191 * gst/parse/grammar.y:
8192 * tests/check/pipelines/parse-launch.c:
8193 Fix a leak in an error path for parse_launch, and add a check
8194 for it to the testsuite.
8196 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
8198 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8199 Don't deadlock when releasing a pad - gst_pad_set_active may try
8200 and take the multiqueue lock too.
8202 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
8204 * gst/gsterror.c: (_gst_core_errors_init):
8206 API: add GST_CORE_ERROR_DISABLED (#392804).
8208 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
8210 * docs/faq/gst-uninstalled:
8211 don't get empty paths on the PATH variables
8212 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
8213 Don't format for the uncommon terminal width of 84 characters.
8215 2007-04-06 Wim Taymans <wim@fluendo.com>
8217 * gst/gstpipeline.c: (reset_stream_time),
8218 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
8219 Only try to select a different pipeline clock when we went back to
8220 PAUSED and not when we merely got flushed.
8222 2007-04-05 Michael Smith <msmith@fluendo.com>
8224 * tools/gst-launch.1.in:
8225 fractions are better supported in gstreamer than ractions, so
8226 suggest using those.
8228 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
8230 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
8234 Added Danish translation.
8236 2007-04-05 Wim Taymans <wim@fluendo.com>
8238 * libs/gst/base/gstbasesink.c:
8239 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
8240 Fix leak caused when refusing newsegment after EOS.
8242 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8243 (gst_fake_sink_init), (gst_fake_sink_set_property),
8244 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
8245 (gst_fake_sink_render), (gst_fake_sink_change_state):
8246 * plugins/elements/gstfakesink.h:
8247 Add num-buffers property to make the element generate EOS after a
8248 configurable amount of buffers.
8249 API: fakesink::num-buffers property.
8251 * tests/check/elements/fakesink.c: (GST_START_TEST),
8253 Fix GstBus leak in test.
8254 Test for fakesink num-buffers.
8256 2007-04-05 Wim Taymans <wim@fluendo.com>
8258 * libs/gst/base/gstbasesink.c:
8259 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
8260 (gst_base_sink_change_state):
8261 Don't accept anything after an EOS, return UNEXPECTED instead.
8263 * tests/check/elements/fakesink.c: (GST_START_TEST),
8265 Unit test for new EOS behaviour.
8267 2007-04-05 Wim Taymans <wim@fluendo.com>
8269 * gst/gstelement.c: (gst_element_get_request_pad):
8270 Make padtemplates also work when they don't contain %s or %d.
8272 2007-04-05 Wim Taymans <wim@fluendo.com>
8274 * docs/gst/gstreamer-sections.txt:
8275 * gst/gstclock.c: (gst_clock_adjust_unlocked),
8276 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
8278 Improve _adjust_unlocked() so that it overflows less.
8279 Add gst_clock_unadjust_unlocked to convert from external time to
8280 internal time based on calibration.
8281 Add some more debug.
8282 API: GstClock::gst_clock_unadjust_unlocked()
8284 2007-04-03 Wim Taymans <wim@fluendo.com>
8286 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
8288 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8289 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
8290 when releasing sink pad. Fixes #425400.
8292 2007-04-02 Stefan Kost <ensonic@users.sf.net>
8294 * docs/random/ensonic/dynlink.txt:
8295 More work on proposal for new core api.
8297 * docs/libs/gstreamer-libs-sections.txt:
8298 * libs/gst/base/gstbasetransform.h:
8299 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
8301 * libs/gst/controller/gstcontroller.c:
8302 (on_object_controlled_property_changed),
8303 (gst_controller_sync_values),
8304 (gst_controller_set_interpolation_mode):
8305 * libs/gst/controller/gstcontroller.h:
8306 Less verbose logging add docs for unimplemented parts and correctly
8307 return when using unavailable parts.
8309 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
8311 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
8312 Move all the debug to the CLOCK category, and associate it with
8315 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
8317 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
8318 Make take_buffer a bit quicker by removing redundant checks
8319 caused by calling gst_adapter_take.
8321 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
8323 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
8326 * tests/check/Makefile.am:
8327 * tests/check/elements/.cvsignore:
8328 * tests/check/elements/multiqueue.c: (setup_multiqueue),
8329 (GST_START_TEST), (multiqueue_suite):
8330 Add some dead simple unit tests for the 'multiqueue' element
8331 (some bits don't work yet and are disabled for now).
8333 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
8335 * gst/gstelement.c: (gst_element_get_request_pad),
8336 (gst_element_class_get_request_pad_template):
8337 Make gst_element_get_request_pad() create request pads only for
8338 request pad templates and not for, say, sometimes pad templates.
8340 2007-03-28 Stefan Kost <ensonic@users.sf.net>
8342 * docs/design/draft-klass.txt:
8343 Add example that needs more thinking.
8345 * docs/design/draft-missing-plugins.txt:
8346 More thoughts about wrapper plugins.
8348 * docs/random/ensonic/embedded.txt:
8349 * docs/random/ensonic/profiling.txt:
8352 2007-03-25 Wim Taymans <wim@fluendo.com>
8354 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
8355 (gst_base_src_loop):
8356 Only push the segment events in the PLAYING state for live sources.
8358 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
8360 * gst/gstpipeline.c: (gst_pipeline_change_state):
8361 Modify the clock distribution path in PAUSED->PLAYING so that we
8362 never attempt to choose a new clock unless we're actually leaving
8363 the PAUSED state for the first time. This prevents choosing a
8364 different clock when the state_change gets called for a 2nd time due
8365 to some element doing an async state change.
8367 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
8369 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
8370 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
8371 (gst_pad_chain_unchecked), (gst_pad_push):
8372 Revert last commit. This needs some more thoughts.
8374 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
8376 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
8377 (gst_pad_chain_unchecked), (gst_pad_push):
8378 Check in set_caps if the caps are compatible with the pad and remove
8379 two functions that are redundant now. Fixes #421543.
8381 2007-03-22 Wim Taymans <wim@fluendo.com>
8383 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
8384 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
8385 Unref some more to make valgrind happy.
8387 2007-03-22 Wim Taymans <wim@fluendo.com>
8389 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
8390 (gst_system_clock_id_wait_jitter),
8391 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
8392 Fix anoying regression that survived a few releases. When adding an
8393 async entry while blocking on a sync entry, the sync entry will unblock
8394 but still be busy, so it should continue to wait instead of returning
8396 Add some comments here and there.
8398 * tests/check/gst/gstsystemclock.c: (mixed_thread),
8399 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
8400 Add testcase for this.
8402 2007-03-22 Wim Taymans <wim@fluendo.com>
8404 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8405 Handle errors from the clock sync better, only UNSCHEDULED indicates a
8406 WRONG_STATE and can silently pause the task. All other cases should
8409 2007-03-22 Wim Taymans <wim@fluendo.com>
8411 Patch by: Ville Syrjala <syrjala at sci dot fi>
8413 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
8414 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
8417 2007-03-21 Michael Smith <msmith@fluendo.com>
8419 * docs/pwg/advanced-types.xml:
8420 Fix some errors in the typefinding docs pointed out on irc.
8422 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
8424 * libs/gst/base/gstbasesrc.c:
8425 Clarify FIXME comment in the face of having added unlock_stop()
8427 2007-03-21 Wim Taymans <wim@fluendo.com>
8429 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
8430 Prepare for release where we warn against possible app breakage in the
8431 case of live pipelines along with an env var to enable/disable live
8432 preroll mode (GST_COMPAT=[no-]live-preroll).
8434 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8436 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
8437 So we should use correct constants for checking for None offset.
8439 2007-03-20 Wim Taymans <wim@fluendo.com>
8441 * docs/design/part-block.txt:
8442 Mention the fact that the newly switched element should be set to at
8445 2007-03-20 Wim Taymans <wim@fluendo.com>
8448 Fix compilation with registry disabled as spotted by Saur.
8450 2007-03-20 Wim Taymans <wim@fluendo.com>
8452 Patch by: Olivier Crete <tester at tester dot ca>
8454 * gst/gstelement.c: (gst_element_sync_state_with_parent):
8455 Look at the pending state too when syncing the element state to the
8456 parent. Fixes #420133.
8458 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
8460 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
8461 (gst_base_sink_change_state):
8462 * libs/gst/base/gstbasesink.h:
8463 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8464 (gst_base_src_default_event), (gst_base_src_unlock_stop),
8465 (gst_base_src_deactivate):
8466 * libs/gst/base/gstbasesrc.h:
8467 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
8468 for sub-classes to correctly clear any state they set trying to
8469 unlock, such as clearing out unlock commands from a command fd.
8470 API: basesrc::unlock_stop
8471 API: basesink::unlock_stop
8473 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
8474 (gst_fd_sink_render), (gst_fd_sink_unlock),
8475 (gst_fd_sink_unlock_stop):
8476 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
8477 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
8478 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
8480 Implement unlock_stop in fdsrc and fdsink.
8481 Implement seeking in fdsrc when a seekable fd is passed, as in
8482 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
8484 2007-03-19 Wim Taymans <wim@fluendo.com>
8486 Patch by: Evan Nemerson <evan at coeus dash group dot com>
8488 * gst/gstelement.c: (gst_element_class_init):
8489 Fix pad-added and pad-removed signal signatures so that the pad type is
8490 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
8492 2007-03-19 Wim Taymans <wim@fluendo.com>
8494 * docs/gst/gstreamer-sections.txt:
8495 Add new element field and method.
8497 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8498 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
8499 (gst_bin_recalc_state), (gst_bin_get_state_func),
8500 (gst_bin_element_set_state), (gst_bin_change_state_func),
8501 (gst_bin_continue_func), (bin_bus_handler),
8502 (bin_push_state_continue), (bin_handle_async_start),
8503 (bin_handle_async_done), (gst_bin_handle_message_func):
8504 Make async state changes a bit smarter by using new ASYNC_START and
8505 ASYNC_DONE messages. This reduces the number of times we run the state
8506 recalculation thread.
8507 Don't change state of element with a pending ASYNC_START message.
8508 Deprecate STATE_DIRTY messages.
8510 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
8511 (gst_element_get_state_func), (gst_element_continue_state),
8512 (gst_element_lost_state), (gst_element_set_state_func),
8513 (gst_element_change_state):
8515 Keep the state that was last set by the app in a new element field.
8516 Don't allow state changes when handling an element event.
8517 Post ASYNC_START and ASYNC_DONE messages.
8518 Change lost_state so that we go to PAUSED and wait for the parent to set
8519 us to PLAYING again (so latency calculation can be performed)
8520 Export gst_element_change_state() method so that subclasses can use it.
8521 API: gst_element_change_state()
8522 API: GST_STATE_TARGET
8524 * gst/gstpipeline.c: (gst_pipeline_class_init),
8525 (reset_stream_time), (gst_pipeline_change_state),
8526 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
8527 Using the new ASYNC_START message we can reset the base_time when
8528 needed. This can then be used to implement base_time redistribution in
8529 flushing seeks so that we can remove the explicit seek handling.
8530 Perform latency query and configuration when going to PLAYING.
8532 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8533 (gst_base_sink_query), (gst_base_sink_change_state):
8534 Post new ASYNC_START/ASYNC_DONE messages.
8536 * tests/check/generic/sinks.c: (GST_START_TEST):
8537 Fix test because the bin will not set the async element to PLAYING right
8540 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
8541 Make the message check a little stronger.
8542 Handle ASYNC messages.
8544 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
8545 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
8546 Expect ASYNC_DONE messages.
8548 2007-03-19 Wim Taymans <wim@fluendo.com>
8550 * docs/gst/gstreamer-sections.txt:
8551 * gst/gstmessage.c: (gst_message_new_async_start),
8552 (gst_message_new_async_done), (gst_message_parse_info),
8553 (gst_message_parse_async_start):
8555 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
8558 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
8560 * tools/gst-inspect.c:
8561 (print_plugin_automatic_install_info_codecs):
8562 Now that we don't check for the 'Codec' keyword any longer in the
8563 klass, we shouldn't spew a warning if the klass isn't a decoder or
8564 encoder (since it might be a Source/Network, for example).
8566 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
8568 * tools/gst-inspect.c:
8569 (print_plugin_automatic_install_info_codecs):
8570 Don't require decoder/demuxer/depayloader elements or
8571 encoder/muxer/paylader elements to have 'Codec' as part of their
8572 factory class string when introspecting a plugin's capabilities.
8573 draft-klass.txt mentions that it might be removed in future, and
8574 flump3dec doesn't have it as part of its class string, so chances
8575 are others might also not have it.
8577 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
8599 Update translations from translation project
8601 2007-03-14 Stefan Kost <ensonic@users.sf.net>
8603 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
8604 (gst_child_proxy_set_property):
8605 Invert precondition check to be alike the ones in the mimiced gobject
8608 2007-03-13 Stefan Kost <ensonic@users.sf.net>
8610 * docs/design/draft-tagreading.txt:
8611 * docs/random/ensonic/audiobaseclasses.txt:
8612 Do some Architect work.
8614 * gst/gstobject.c: (gst_object_set_name):
8618 Add docs that point from gst_pad_get_range to gst_pad_pull_range
8620 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
8622 * gst/gstsystemclock.c: (gst_system_clock_init),
8623 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
8624 Defer starting the async system clock thread until the first async
8625 wait is scheduled. Fixes #414986.
8627 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
8629 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
8630 (gst_single_queue_free):
8631 Fix small leak (free GstSingleQueue structure too, not only contents).
8633 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
8635 * gst/gstbin.c:(gst_bin_add):
8636 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
8637 * win32/common/libgstbase.def:
8638 * win32/common/libgstreamer.def:
8639 Add new exported functions.
8641 2007-03-09 Wim Taymans <wim@fluendo.com>
8643 * docs/plugins/gstreamer-plugins-sections.txt:
8646 2007-03-09 Wim Taymans <wim@fluendo.com>
8648 * docs/gst/gstreamer-sections.txt:
8649 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
8651 Add metadata copy functions. Fixes #393099.
8652 API: gst_buffer_copy_metadata()
8654 * gst/gstutils.c: (gst_buffer_stamp):
8655 * libs/gst/base/gstbasetransform.c:
8656 (gst_base_transform_prepare_output_buffer):
8657 Use new metadata copy functions.
8659 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
8661 * plugins/elements/gstidentity.c: (gst_identity_class_init),
8662 (gst_identity_init), (gst_identity_check_perfect),
8663 (gst_identity_check_imperfect_timestamp),
8664 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
8665 (gst_identity_set_property), (gst_identity_get_property):
8666 * plugins/elements/gstidentity.h:
8667 Separate out check-imperfect-timestamp and check-imperfect-offset.
8668 Put back check-perfect as it was to keep compatibility.
8670 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
8672 * gst/gstelement.c: (gst_element_dispose):
8673 There's no need to warn if VOID_PENDING is not NONE here, as
8674 long as the state is NULL it's ok, and that's checked immediately
8677 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8679 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8680 Fix check for perfect stream to ignore buffers with -1
8681 offsets/offset ends when checking data contiguity.
8683 2007-03-08 Wim Taymans <wim@fluendo.com>
8685 * tools/gst-launch.c: (event_loop):
8686 Print INFO messages.
8688 2007-03-08 Wim Taymans <wim@fluendo.com>
8690 * libs/gst/base/gstbasetransform.c:
8691 (gst_base_transform_sink_eventfunc),
8692 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8693 (gst_base_transform_activate):
8694 * libs/gst/base/gstbasetransform.h:
8695 Add support for dropping buffers with custom GstFlowReturn.
8696 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
8697 buffers or dropped buffers.
8699 * docs/libs/gstreamer-libs-sections.txt:
8700 docs for new custom return code.
8702 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8703 Use drop support in base class to implement drop-probability.
8705 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
8707 * gst/gst.c: (load_plugin_func):
8708 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
8709 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8710 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8711 Remove newlines at end of debug log strings.
8713 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8715 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8716 Only post bus message at max, once per buffer received.
8718 2007-03-07 Wim Taymans <wim@fluendo.com>
8720 * docs/design/Makefile.am:
8721 * docs/design/part-synchronisation.txt:
8722 Add doc about synchronisation
8724 * docs/design/draft-latency.txt:
8725 * docs/design/part-TODO.txt:
8726 * docs/design/part-clocks.txt:
8727 * docs/design/part-events.txt:
8728 * docs/design/part-gstbus.txt:
8729 * docs/design/part-gstpipeline.txt:
8730 * docs/design/part-live-source.txt:
8731 * docs/design/part-messages.txt:
8732 * docs/design/part-overview.txt:
8733 * docs/design/part-streams.txt:
8734 * docs/design/part-trickmodes.txt:
8735 Documentation updates.
8737 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
8740 Update the doap file.
8742 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8744 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8745 Rename non-perfect to imperfect for Mike and for the sanctity of the
8747 Also make sure bus message gets emitted for data-incontiguities.
8749 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8751 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
8752 (gst_identity_start):
8753 * plugins/elements/gstidentity.h:
8754 Emit bus message if check-perfect is true and we encounter a
8755 non-perfect stream between 2 consecutive buffers.
8758 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
8763 === release 0.10.12 ===
8765 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
8768 releasing 0.10.12, "Inevitable Demise"
8770 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
8773 Version 0.10.11.2 (0.10.12 pre-release)
8774 Bump libtool versioning.
8776 2007-03-01 Stefan Kost <ensonic@users.sf.net>
8778 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8779 Log flow-names and not numbers.
8781 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
8784 Convert to new AG_GST style.
8786 2007-02-28 Wim Taymans <wim@fluendo.com>
8788 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
8789 Don't unref query twice.
8791 2007-02-28 Wim Taymans <wim@fluendo.com>
8793 * gst/gstvalue.c: (gst_value_transform_object_string),
8794 (_gst_value_initialize):
8795 Implement GstObject -> string transform so we print object names
8796 when serializing GValues containing GstObjects.
8798 2007-02-28 Wim Taymans <wim@fluendo.com>
8800 * docs/gst/gstreamer-sections.txt:
8801 Add new stuff to docs.
8803 2007-02-28 Wim Taymans <wim@fluendo.com>
8805 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
8806 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
8807 (gst_base_sink_change_state):
8808 Improve latency query code.
8809 Don't leak latency events.
8811 * tests/check/gst/gstbin.c: (GST_START_TEST):
8814 2007-02-28 Wim Taymans <wim@fluendo.com>
8816 * gst/gstelement.c: (gst_element_message_full),
8817 (gst_element_get_state_func):
8819 Improve docs a little. Added Since: for new macro.
8821 * gst/gstobject.c: (gst_object_sink):
8822 * gst/gstpipeline.c: (gst_pipeline_change_state),
8823 (gst_pipeline_set_new_stream_time):
8824 * gst/gstpipeline.h:
8825 Improve debugging and docs.
8827 * gst/gstutils.c: (gst_element_state_change_return_get_name):
8830 2007-02-28 Wim Taymans <wim@fluendo.com>
8832 * gst/gstelement.c: (gst_element_message_full),
8833 (gst_element_set_locked_state), (gst_element_get_state_func),
8834 (gst_element_change_state):
8835 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
8836 Documentation updates.
8837 Small code cleanups.
8839 * gst/gstmessage.c: (gst_message_new_info),
8840 (gst_message_parse_info):
8842 API: gst_message_new_info()
8843 API: gst_message_parse_info()
8844 Add INFO message create and parse code.
8846 2007-02-28 Wim Taymans <wim@fluendo.com>
8848 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
8849 (bin_query_latency_done):
8850 Also report the live parameter of a latency query.
8852 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
8854 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
8855 Copy the current generic/states example from -base and adapt so
8856 we can use the exact same code everywhere.
8857 Check a STATES_IGNORE_ELEMENTS env var which can be used
8858 to ignore certain element factories for this test, which is
8859 what is being done in -base
8860 * tests/check/Makefile.am:
8861 Mention this environment variable.
8863 2007-02-27 Wim Taymans <wim@fluendo.com>
8865 * docs/gst/gstreamer-sections.txt:
8866 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
8867 (gst_bus_timed_pop), (gst_bus_pop):
8869 API: gst_bus_timed_pop()
8870 Implement gst_bus_timed_pop() to do a blocking timed wait for a
8871 message to arrive on the bus.
8873 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
8875 Two unit tests for new _timed_pop() function.
8877 2007-02-23 Wim Taymans <wim@fluendo.com>
8879 * gst/gstpipeline.c: (gst_pipeline_change_state),
8880 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
8881 Don't ref a NULL clock in _provide_clock_func().
8882 Don't allow an INVALID delay.
8883 Don't try to calculate base_time with an invalid start_time.
8884 Also distribute and notify a NULL clock when it was selected.
8886 * tools/gst-launch.c: (event_loop):
8887 Don't crash when a NULL clock was selected in the pipeline.
8889 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
8891 * docs/design/Makefile.am:
8892 * docs/design/draft-missing-plugins.txt:
8893 * docs/random/draft-missing-plugins.txt:
8894 Some small updates: update plugin system identifier prefix
8895 ('gstreamer.net' to 'gstreamer'), mention our new install
8896 API in libgstbaseutils rather than libgimme-codec, add
8897 reference to the online docs.
8899 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
8901 * win32/common/config.h:
8902 Pretty sure Bill never made a powerpc version. Powerpc hackers,
8903 use moap cl ci to only check in what is mentioned in the ChangeLog.
8905 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
8907 * docs/gst/gstreamer-sections.txt:
8909 Fix up documentation to link to the correct GstGError section.
8910 Add GST_ELEMENT_INFO macro since someone else added a Info message.
8912 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
8914 * tools/gst-launch.c: (event_loop):
8915 Make sure that we actually show the important message part of a
8917 No need to check if the gerror is not NULL to free; first of all
8918 g_free accepts NULL; and second the default error handler would
8919 segfault if gerror was NULL.
8921 2007-02-21 Wim Taymans <wim@fluendo.com>
8923 * docs/gst/gstreamer-sections.txt:
8924 Removed docs as well.
8926 2007-02-21 Wim Taymans <wim@fluendo.com>
8928 * gst/gstmessage.c: (gst_message_parse_duration):
8930 Remove new messages for release.
8932 2007-02-20 Wim Taymans <wim@fluendo.com>
8934 * docs/design/part-gstghostpad.txt:
8935 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
8936 (gst_ghost_pad_new_full):
8937 Make the ghostpad a parent of the internal pad again for better backward
8938 compatibility. Don't write code that relies on this however.
8940 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
8941 (gst_pad_link_check_hierarchy):
8942 Require that parents should be GstElements in the hierarchy check.
8944 2007-02-20 Wim Taymans <wim@fluendo.com>
8946 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
8947 (gst_bin_change_state_func), (bin_query_min_max_init),
8948 (bin_query_latency_fold), (bin_query_latency_done),
8951 Implement latency query.
8953 2007-02-20 Wim Taymans <wim@fluendo.com>
8955 * docs/design/part-gstghostpad.txt:
8956 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
8957 (gst_ghost_pad_internal_do_activate_push),
8958 (gst_ghost_pad_internal_do_activate_pull),
8959 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8960 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
8961 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
8962 Do not set the internal pad as a parent anymore so we can avoid
8963 hierarchy linking errors when the ghostpad has no parent yet. This also
8964 fixes failed activation because of unlinked internal pads, which in
8965 turn fixes the impossible case where you have to activate a pad before
8966 you can add it to a running element.
8969 * gst/gstpad.c: (pre_activate), (post_activate),
8970 (gst_pad_set_active), (gst_pad_activate_pull),
8971 (gst_pad_activate_push), (gst_pad_check_pull_range):
8972 Add some more debug info.
8973 Mark activation mode in pre_activate so that we don't try to activate in
8974 endless loops. Fixes #385084.
8976 2007-02-19 Wim Taymans <wim@fluendo.com>
8978 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
8979 (gst_base_transform_check_get_range):
8980 Implement a checkgetrange function instead of relying on the default
8981 core behaviour that assumes we can operate in pull mode if we have a
8982 getrange function. First step at fixing #385084.
8984 2007-02-15 Stefan Kost <ensonic@users.sf.net>
8986 * gst/gstchildproxy.h:
8987 * libs/gst/base/gstbasesink.h:
8988 * libs/gst/base/gstbasesrc.h:
8989 * libs/gst/base/gstbasetransform.h:
8990 More docs coverage and some ChangeLog surgery (add missing names)
8992 2007-02-15 Wim Taymans <wim@fluendo.com>
8994 * docs/design/part-TODO.txt:
8995 * docs/design/part-activation.txt:
8996 * docs/design/part-block.txt:
8997 * docs/design/part-buffering.txt:
8998 * docs/design/part-clocks.txt:
8999 * docs/design/part-element-source.txt:
9000 * docs/design/part-events.txt:
9001 * docs/design/part-gstbin.txt:
9002 * docs/design/part-gstbus.txt:
9003 * docs/design/part-gstpipeline.txt:
9004 * docs/design/part-live-source.txt:
9005 * docs/design/part-messages.txt:
9006 * docs/design/part-overview.txt:
9007 * docs/design/part-qos.txt:
9008 * docs/design/part-query.txt:
9009 * docs/design/part-states.txt:
9010 * docs/design/part-trickmodes.txt:
9011 Some doc updates. Start renaming from stream_time to running_time where
9012 it was used wrongly.
9014 2007-02-15 Wim Taymans <wim@fluendo.com>
9016 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9017 Answer LATENCY query.
9019 2007-02-15 Wim Taymans <wim@fluendo.com>
9021 * tests/check/gst/gstevent.c: (event_probe), (test_event),
9025 2007-02-15 Wim Taymans <wim@fluendo.com>
9027 * gst/gstpad.c: (gst_pad_get_internal_links_default),
9028 (gst_pad_dispatcher):
9029 Improve debugging of default pad dispatcher and query functions.
9031 2007-02-15 Wim Taymans <wim@fluendo.com>
9033 * docs/gst/gstreamer-sections.txt:
9034 Remove old unused method.
9036 2007-02-13 Wim Taymans <wim@fluendo.com>
9038 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9041 2007-02-13 Wim Taymans <wim@fluendo.com>
9043 * docs/design/part-seeking.txt:
9046 * gst/gstsegment.c: (gst_segment_set_seek):
9047 Revert old bogus change that should make seeking work again.
9049 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9051 * docs/random/ensonic/dynlink.txt:
9052 * docs/random/ensonic/interfaces.txt:
9053 * docs/random/ensonic/receipies.txt:
9054 Possible dynamic reconnection api, plus some type fixes the other two
9057 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
9059 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9060 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9061 Also check for an absolute path following file:// in the filesrc
9062 element. Remove redundant check and call g_path_is_absolute() on the
9065 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9067 * docs/design/draft-klass.txt:
9068 Add existing category analysis.
9071 Fix doc example, framerate is a fraction.
9073 2007-02-12 Stefan Kost <ensonic@users.sf.net>
9076 * docs/gst/Makefile.am:
9077 * docs/gst/gstreamer-sections.txt:
9078 * docs/libs/Makefile.am:
9079 Erm, forgot a bunch of --extra-dir.
9081 2007-02-12 Stefan Kost <ensonic@users.sf.net>
9084 * docs/gst/Makefile.am:
9085 * docs/libs/Makefile.am:
9086 * docs/plugins/Makefile.am:
9087 Add crossreferences to glib/gobject docs.
9089 2007-02-12 Wim Taymans <wim@fluendo.com>
9091 * docs/design/draft-latency.txt:
9094 * docs/libs/gstreamer-libs-sections.txt:
9095 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9096 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
9097 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
9098 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
9099 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
9100 (gst_base_sink_get_position), (gst_base_sink_query),
9101 (gst_base_sink_change_state):
9102 * libs/gst/base/gstbasesink.h:
9103 API: gst_base_sink_query_latency() to let subclasses query the upstream
9105 API: gst_base_sink_get_latency() to let subclasses query the configured
9106 latency in the sink.
9107 Implement query and set latency.
9109 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
9110 don't continue preroll when we are flushing. Fixes #405284.
9112 * tests/check/pipelines/stress.c: (change_state_timeout),
9113 (quit_timeout), (GST_START_TEST), (stress_suite):
9116 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
9118 Patch by: René Stadler <mail at renestadler de>
9120 * docs/gst/gstreamer-sections.txt:
9121 * gst/gsttaglist.c: (_gst_tag_initialize):
9123 API: add GST_TAG_REFERENCE_LEVEL (#403597).
9125 2007-02-11 Stefan Kost <ensonic@users.sf.net>
9127 * docs/libs/Makefile.am:
9128 Fix path to core docs.
9130 * gst/gstbin.c: (gst_bin_get_by_interface),
9131 (gst_bin_iterate_all_by_interface):
9132 Refix docs by also renaming 'interface' to 'iface' in implementation.
9134 * docs/gst/gstreamer-sections.txt:
9136 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
9137 * gst/gstchildproxy.h:
9138 * gst/gstelementfactory.c:
9139 * gst/gstpadtemplate.h:
9140 * libs/gst/controller/gstcontroller.c:
9141 (gst_controlled_property_new):
9144 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
9146 * gst/gstbin.h:(gst_bin_get_by_interface),
9147 (gst_bin_iterate_all_by_interface):
9148 Replace interface parameter name by iface as interface is
9149 a reserved keyword in Visual Studio for C++ projects so it removes
9150 a build error for application developpers using VS.
9151 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
9152 Fix a bug on Windows in uri format check. Now the prefix checked
9153 is file:// and next we check if the path after file:// is absolute.
9154 * win32/common/libgstbase.def:
9155 * win32/common/libgstdataprotocol.def:
9156 * win32/common/libgstgstreamer.def:
9157 Add new exported functions.
9159 2007-02-09 Andy Wingo <wingo@pobox.com>
9161 * tests/check/pipelines/simple-launch-lines.c
9162 (simple_launch_lines_suite, test_tee): Disable tee test until I
9163 have time to fix it :-(
9165 * tests/check/Makefile.am (noinst_HEADERS):
9166 * tests/check/libs/libsabi.c:
9167 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
9168 * tests/check/gst/gstabi.c:
9169 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
9171 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
9172 tests for push and pull tee behavior.
9174 * plugins/elements/gsttee.h:
9175 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
9176 mark as deprecated as well as unimplemented. It was a crack idea.
9177 Add support for tee operating in pull mode, off by default.
9179 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
9180 normal-case logs down to LOG, raise errors to WARNING.
9181 (gst_registry_xml_read_cache): Don't log before calling a function
9184 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
9185 exit (registry finalize).
9186 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
9187 DEBUG log when we emit signals that people don't even have the
9188 chance to connect to.
9189 (gst_registry_scan_path_level): Less logging in the normal case.
9191 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
9193 Patch by: Michal Benes <michal dot benes at itonis dot tv>
9195 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9196 Correctly generate EOS for non-seekable files. We don't have a total
9197 length for them and would get an unexpected end of file if we only
9198 special-cased for regular files. (Fixes: #404569)
9200 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
9202 * tests/check/elements/filesrc.c: (GST_START_TEST),
9204 Add unit test for the GstURIHandler interface in filesrc. This also
9205 tests the newly added file://localhost/foo/bar support.
9207 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
9209 * gst/gstelementfactory.h:
9210 The klass string is not a hierarchy. Add reference to the design doc
9211 for more information and common types.
9213 2007-02-02 Wim Taymans <wim@fluendo.com>
9215 * gst/gstquery.c: (gst_query_new_latency):
9216 Remove old structure field.
9218 2007-02-02 Stefan Kost <ensonic@users.sf.net>
9220 * tools/gst-launch.1.in:
9221 Give example for network streaming (#351998)
9223 2007-02-02 Wim Taymans <wim@fluendo.com>
9225 * docs/gst/gstreamer-sections.txt:
9226 Add docs for new methods.
9228 * gst/gstevent.c: (gst_event_new_latency),
9229 (gst_event_parse_latency):
9231 Add new LATENCY event to configure latency in a pipeline.
9232 API: gst_event_new_latency
9233 API: gst_event_parse_latency
9235 * gst/gstmessage.c: (gst_message_new_buffering),
9236 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
9237 (gst_message_new_latency), (gst_message_parse_buffering),
9238 (gst_message_parse_lost_preroll):
9240 Added messages used in draft-latency.
9241 API: gst_message_new_lost_preroll
9242 API: gst_message_parse_lost_preroll
9243 API: gst_message_new_prerolled
9244 API: gst_message_new_latency
9246 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
9247 (gst_query_parse_latency):
9249 Implemented new latency query as in design doc.
9250 API: gst_query_new_latency
9251 API: gst_query_set_latency
9252 API: gst_query_parse_latency
9254 2007-02-02 Wim Taymans <wim@fluendo.com>
9256 * docs/design/draft-latency.txt:
9257 Slight redesign to allow for dynamic latency adjustments.
9259 * docs/design/part-negotiation.txt:
9262 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
9264 reviewed by: Wim Taymans <wim@fluendo.com>
9266 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9267 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9268 Allow file://localhost/foo/bar URLs and correctly fail for every other
9269 hostname that one sets. This was gnomevfssrc is linked for those if
9270 installed as it can handle it (#403172)
9272 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
9274 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9276 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9277 (unref_data), (gst_collect_pads_add_pad_full):
9278 * libs/gst/base/gstcollectpads.h:
9279 Don't put the previously added destroy notify in the GstCollectData
9280 struct as all it's padding is already used and we don't want to break
9281 ABI. Instead put in the pad's GObject data for now. This should be
9282 cleaned up for 0.11 (#402393).
9284 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
9286 reviewed by: Wim Taymans <wim@fluendo.com>
9288 * docs/libs/gstreamer-libs-sections.txt:
9289 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9290 (unref_data), (gst_collect_pads_add_pad),
9291 (gst_collect_pads_add_pad_full):
9292 * libs/gst/base/gstcollectpads.h:
9293 API: Add function to specify a destroy notification for custom
9294 GstCollectData when adding new pads in GstCollectPads (#402393).
9296 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
9299 Update Swedish translation (#378255).
9301 2007-01-31 Stefan Kost <ensonic@users.sf.net>
9303 * docs/design/draft-klass.txt:
9304 Fix the previous change, this is a list of categories and not a hierarchy.
9306 2007-01-31 Stefan Kost <ensonic@users.sf.net>
9308 * docs/design/draft-klass.txt:
9309 Add info about how to get a list of used classes.
9311 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
9313 * plugins/elements/gsttypefindelement.c:
9314 (gst_type_find_element_chain_do_typefinding),
9315 (gst_type_find_element_change_state):
9316 Don't leak found caps in chain function (no idea why that never
9317 showed up as a leak anywhere).
9319 2007-01-30 Stefan Kost <ensonic@users.sf.net>
9322 Fix and expand GstPluginDesc API docs.
9324 2007-01-29 Stefan Kost <ensonic@users.sf.net>
9327 * gst/gstelementfactory.c:
9328 * gst/gstpadtemplate.h:
9331 * libs/gst/controller/gstcontroller.c:
9332 (gst_controlled_property_new):
9333 * tests/examples/controller/audio-example.c:
9336 2007-01-29 Stefan Kost <ensonic@users.sf.net>
9339 comment about refining the xml deps
9342 comments about moving away from jade for docs
9345 recommit the ifdefs to use the binary registry
9347 * gst/gstbin.c: (gst_bin_change_state_func):
9348 this break is obsolete
9350 * gst/gstelementfactory.h:
9351 better GST_ELEMENT_DETAILS docs, add comment about translation
9356 * gst/gstobject.c: (gst_signal_object_get_type):
9357 add G_UNLIKELY as usual
9359 * gst/gstpad.c: (gst_pad_event_default):
9360 add fall trhu comment
9362 * gst/gstregistrybinary.c: (gst_registry_binary_write),
9363 (gst_registry_binary_initialize_magic),
9364 (gst_registry_binary_save_string),
9365 (gst_registry_binary_save_pad_template),
9366 (gst_registry_binary_save_feature),
9367 (gst_registry_binary_save_plugin),
9368 (gst_registry_binary_write_cache),
9369 (gst_registry_binary_check_magic),
9370 (gst_registry_binary_load_pad_template),
9371 (gst_registry_binary_load_feature),
9372 (gst_registry_binary_load_plugin),
9373 (gst_registry_binary_read_cache):
9374 comment typo and formatting
9376 * gst/gstutils.c: (gst_element_state_get_name),
9377 (gst_element_state_change_return_get_name):
9378 remove obsolete breaks
9380 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9381 add FIXME 0.11 and remove cpp comment
9383 2007-01-29 Edward Hervey <edward@fluendo.com>
9385 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9386 Fix print statement in an even more portable way.
9388 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
9390 * docs/gst/gstreamer-sections.txt:
9392 API: add GST_ROUND_DOWN_* macros (#401781).
9394 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
9396 * docs/gst/gstreamer.types.in:
9397 * gst/gstregistry.c: (gst_registry_class_init):
9398 Document registry signals and make gtk-doc pick them up (#401381).
9400 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
9402 * docs/pwg/building-testapp.xml:
9403 Add some audioconverts and audioresample to the pipeline, and some
9404 more comments and error handling.
9406 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
9408 * docs/manual/manual.xml:
9412 2007-01-26 Wim Taymans <wim@fluendo.com>
9414 * gst/gstcaps.c: (gst_static_caps_get):
9415 Init caps flags too.
9417 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
9419 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
9421 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9422 If not using mmap'ed files try to seek to the end instead of the
9423 start to determine whether we can seek at all. This fixes the case
9424 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
9425 seeks for everything afterwards fail. Fixes #400656
9427 2007-01-25 Wim Taymans <wim@fluendo.com>
9429 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
9430 Add some refcount debugging.
9431 Make gst_static_caps_get threadsafe, which is needed when autoplugging
9432 in multiple streaming threads.
9434 2007-01-25 Wim Taymans <wim@fluendo.com>
9436 Patch by: David Schleef <ds at schleef dot org>
9438 * docs/libs/gstreamer-libs-sections.txt:
9439 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
9440 * libs/gst/base/gstadapter.h:
9441 API: gst_adapter_copy() that can reduce the amount of memcpy when
9442 getting data from the adapter. Fixes #388201.
9444 2007-01-25 Edward Hervey <edward@fluendo.com>
9446 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9447 In print statements, "%x" is for guint. Fixes build on macosx.
9449 2007-01-24 Edward Hervey <edward@fluendo.com>
9451 * plugins/elements/gstmultiqueue.c:
9452 (gst_multi_queue_loop):
9454 (single_queue_overrun_cb), (single_queue_underrun_cb),
9455 (single_queue_check_full), (gst_single_queue_new):
9456 Implement single queue growth system.
9457 This uses the extra-size properties, and will grow single queues by
9458 that much if one goes full whereas there are others empty. This is
9459 called extra-mode in the code.
9460 When a single queue's levels go back below the initial max-size
9461 limits, it is no longer in extra-mode. This is to ensure we don't
9462 consume too much memory.
9465 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
9467 * gst/gst.c: (gst_init_get_option_group):
9468 Make warning about late g_thread_init() calls a bit more explicit,
9469 so that it's more obvious to application developers what they need
9470 to do if a user files a bug against their application.
9472 2007-01-22 Edward Hervey <edward@fluendo.com>
9474 * plugins/elements/gstmultiqueue.c:
9475 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
9476 Remove previous hack of unsetting the flushing flag for the source pad
9477 instead of activating it. Instead, fix the source pad activate function
9478 so that it no longer depends on having a parent set or not.
9480 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
9482 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
9484 * docs/manual/basics-bus.xml:
9485 Fix example code, gst_element_unref() doesn't exist any longer.
9487 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
9489 Patch by: Mark Nauwelaerts <manauw at skynet be>
9492 Fix two docs typoes (#399094).
9494 2007-01-19 Edward Hervey <edward@fluendo.com>
9496 * docs/faq/gst-uninstalled:
9497 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
9498 depending on libgstbaseutils can work in uninstalled environment.
9500 2007-01-18 Stefan Kost <ensonic@users.sf.net>
9503 * gst/gsttagsetter.c:
9504 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
9505 statement for new tag.
9507 2007-01-17 Edward Hervey <edward@fluendo.com>
9509 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
9510 When dynamically creating single queues, activate sinkpad before adding
9512 We should be doing the same thing for the source pad, but we can't
9513 since it would call a method which needs the parent to be set in order
9514 to work propertly. Instead of activating the source pad, we just unset
9515 the flushing flag, which is the minimal requirement for adding a pad
9516 to an element in a state greater than READY.
9518 2007-01-17 Edward Hervey <edward@fluendo.com>
9520 * docs/faq/gst-uninstalled:
9521 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
9524 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
9526 * tests/check/gst/gstabi.c:
9527 * tests/check/gst/struct_hppa.h:
9528 * tests/check/libs/libsabi.c:
9529 * tests/check/libs/struct_hppa.h:
9530 Add ABI structs for HPPA (see #393796).
9532 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
9534 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
9535 Actually write ABI structs to the file specified in the GST_ABI
9536 environment variable, as the message we print claims we would.
9538 2007-01-15 Stefan Kost <ensonic@users.sf.net>
9540 * tests/check/gst/gsttask.c:
9543 2007-01-15 Stefan Kost <ensonic@users.sf.net>
9545 * gst/gsttaglist.c: (_gst_tag_initialize):
9546 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
9547 previous two entries.
9549 2007-01-15 Stefan Kost <ensonic@users.sf.net>
9551 * docs/gst/gstreamer-sections.txt:
9552 * gst/gsttaglist.c: (_gst_tag_initialize):
9554 Add tag support for beat-per-minute.
9556 2007-01-15 Stefan Kost <ensonic@users.sf.net>
9558 * gst/gstregistrybinary.c: (gst_registry_binary_write),
9559 (gst_registry_binary_initialize_magic),
9560 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
9561 (gst_registry_binary_save_pad_template),
9562 (gst_registry_binary_save_feature),
9563 (gst_registry_binary_save_plugin),
9564 (gst_registry_binary_write_cache),
9565 (gst_registry_binary_check_magic),
9566 (gst_registry_binary_load_pad_template),
9567 (gst_registry_binary_load_feature),
9568 (gst_registry_binary_load_plugin),
9569 (gst_registry_binary_read_cache):
9570 * gst/gstregistrybinary.h:
9571 Use glib types, cleanup comments, impement interfaces and uri-types.
9573 2007-01-13 Andy Wingo <wingo@pobox.com>
9575 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
9576 getrange() to return buffers with other caps, while we fix
9577 demuxers and typefind, or otherwise change part-negotiation.txt.
9579 2007-01-12 Andy Wingo <wingo@pobox.com>
9581 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
9582 Factor start/stop into this private function instead of partially
9583 in activate functions and partially in the change_state function.
9584 Fixes setup before the element has changed from READY->PAUSED, as
9585 is the case in pull-mode pipelines.
9586 (gst_base_transform_sink_activate_push)
9587 (gst_base_transform_src_activate_pull): Refactor to use
9588 gst_base_transform_activate().
9589 (gst_base_transform_change_state): Removed, not needed any more.
9591 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
9592 Truncate before fixating.
9594 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
9595 Don't set_caps() if the result of fixating is ANY, as it's not
9596 supported, and not necessary in the case of a link with no
9597 template caps on either side. Fixes tests/check/libs/basesrc in
9598 some pull-mode tests.
9600 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
9601 (gst_base_transform_init, gst_base_transform_sink_activate_push)
9602 (gst_base_transform_src_activate_pull):
9603 Track the activation mode.
9604 (gst_base_transform_setcaps): In pull mode, when activating the
9605 src pad, after activating the sink pad, activate the sink pad's
9606 peer, as discussed in part-negotiation.txt.
9608 * libs/gst/base/gstbasesrc.h:
9609 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
9610 vmethod, as in basesink.
9612 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
9614 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
9615 mode, first proxy the setcaps to the peer pad.
9616 (gst_base_sink_pad_fixate): Add a fixate function that calls the
9618 (gst_base_sink_default_activate_pull): Rename from
9619 gst_base_sink_activate_pull.
9620 (gst_base_sink_negotiate_pull): New function, performs negotiation
9621 in pull mode before calling ::activate_pull().
9622 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
9623 vmethod instead of the default implementation. I have no idea how
9624 this worked before. Negotiate before calling activate_pull.
9626 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
9627 sink pads in pull mode. In addition to being correct, fixes
9628 filesrc ! decodebin ! identity ! fakesink.
9629 (gst_pad_get_range, gst_pad_pull_range): Don't call
9630 gst_pad_set_caps() if the caps changes; instead error out with
9631 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
9633 2007-01-12 Andy Wingo <wingo@pobox.com>
9635 * docs/design/part-negotiation.txt: Update with more policy.
9637 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
9639 * libs/gst/check/gstbufferstraw.h:
9640 * libs/gst/check/gstcheck.h:
9641 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
9644 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
9646 * tests/check/Makefile.am:
9647 * tests/check/gst/.cvsignore:
9648 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
9649 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
9650 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
9651 (GST_START_TEST), (gst_tag_setter_suite):
9652 Add minimal unit test for beforementioned GstTagSetter bug.
9654 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
9656 Patch by: René Stadler <mail at renestadler dot de>
9658 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
9659 gst_tag_list_merge() returns a new list, so it's not the best idea
9660 to ingore its return value. Effectively meant that tags could only
9661 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
9662 Also add function guard to require a non-NULL taglist as input (has
9663 always been so due to gst_tag_list_copy(), just making it explicit).
9665 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
9667 * docs/random/draft-missing-plugins.txt:
9668 Some additions: mention new API that is supposed to be used at the
9669 various stages; short blob about new gst-inspect introspection
9670 option; mention potential future problem with plugins that have
9671 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
9673 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
9675 * tools/gst-inspect.c:
9676 (print_plugin_automatic_install_info_codecs),
9677 (print_plugin_automatic_install_info_protocols),
9678 (print_plugin_automatic_install_info), (main):
9679 Add --print-plugin-auto-install-info option to gst-inspect, so we can
9680 introspect plugin files and get machine-parsable output that corresponds
9681 to the last bit of the missing-plugin installer string (small gotcha:
9682 doesn't take into account ranks).
9684 2007-01-11 Stefan Kost <ensonic@users.sf.net>
9687 * docs/gst/gstreamer-sections.txt:
9689 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
9690 (gst_registry_lookup_locked):
9691 * gst/gstregistry.h:
9692 * gst/gstregistrybinary.c: (gst_registry_binary_write),
9693 (gst_registry_binary_initialize_magic),
9694 (gst_registry_binary_save_string),
9695 (gst_registry_binary_save_pad_template),
9696 (gst_registry_binary_save_feature),
9697 (gst_registry_binary_save_plugin),
9698 (gst_registry_binary_write_cache),
9699 (gst_registry_binary_check_magic),
9700 (gst_registry_binary_load_pad_template),
9701 (gst_registry_binary_load_feature),
9702 (gst_registry_binary_load_plugin),
9703 (gst_registry_binary_read_cache):
9704 * gst/gstregistrybinary.h:
9705 * gst/gstregistryxml.c: (load_feature),
9706 (gst_registry_xml_read_cache):
9707 commit binary registry (disabled by default, see #359653)
9709 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
9711 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
9712 Fix 'make check' too.
9714 2007-01-10 Andy Wingo <wingo@pobox.com>
9716 * docs/design/part-negotiation.txt: Fix a typo, add a couple
9719 * docs/design/part-negotiation.txt: Update with, um, one way that
9720 pull-mode negotiation might work?
9723 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
9724 that the pad must be a src pad; makes sense to call it the other
9725 way in pull mode, and the logic is symmetric anyway.
9727 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
9729 * plugins/elements/gstfilesink.c:
9730 Include <stdio.h> for fseeko().
9732 2007-01-10 Wim Taymans <wim@fluendo.com>
9736 Reserve LATENCY event.
9738 2007-01-09 Wim Taymans <wim@fluendo.com>
9740 * docs/design/draft-latency.txt:
9743 2007-01-09 Wim Taymans <wim@fluendo.com>
9745 * docs/design/draft-latency.txt:
9749 * gst/gststructure.c:
9753 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
9755 * tests/check/.cvsignore:
9756 Ignore test-registry.xml as well.
9758 2007-01-09 Wim Taymans <wim@fluendo.com>
9760 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
9761 unref data at the end when we are done with the pad.
9763 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
9765 * docs/gst/gstreamer-sections.txt:
9766 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
9767 (init_post), (gst_deinit), (gst_update_registry):
9769 API: add gst_update_registry() (#391296).
9771 * tests/check/Makefile.am:
9772 * tests/check/gst/gstregistry.c:
9773 * tests/check/gst/.cvsignore:
9774 Simple unit test for the above.
9776 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
9778 * gst/gstregistry.c: (gst_registry_scan_path_level):
9779 Plugin extension on HP-UX is .sl, add that to the list of approved
9780 plugin extensions (see #393796).
9782 * tests/check/gst/gstpad.c: (GST_START_TEST):
9783 ulong => gulong. Fixes compilation with HP-UX compiler.
9785 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9786 Fix compilation if valgrind headers are not available.
9788 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
9790 * win32/common/libgstreamer.def:
9791 Add new exported function.
9792 * win32/vs6/libgstbase.dsp:
9793 Add gstdataqueue.c to the build.
9794 * win32/vs6/libgstcoreelements.dsp:
9795 Add gstmultiqueue.c to the build.
9797 2007-01-06 Andy Wingo <wingo@pobox.com>
9799 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
9800 activate_pull(), providing for a way to specialize the process of
9801 spawning a thread to pull on the sink pad. There is a default
9804 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
9805 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
9806 (gst_base_sink_init): Renamed pad activation functions (inserting
9807 "_pad" in their names). Refactor to use the new activate_pull
9808 vmethod, as appropriate.
9809 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
9810 default activate_pull function to start a task pulling from the
9811 sink pad, as before.
9813 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
9814 on the pads if necessary, as in push()/chain(). Update docs.
9815 Shouldn't affect existing pull() usage as it is currently only
9816 being used on buffers without caps.
9818 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
9820 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9822 Call g_thread_init() first thing in gst_init() / gst_check_init().
9823 When initialisation is done via gst_init_get_option_group() and
9824 GOption parsing, issue a warning if the GLib thread system has not
9825 been initialised yet by the time gst_init_get_option_group() is
9826 called, as it's quite likely other GLib functions such as
9827 g_option_context_new() have been called already then, and
9828 g_thread_init() must be called before any other GLib function. The
9829 application in question must be fixed in that case, since memory
9830 corruption might happen otherwise.
9831 We issue the warning because even if the GLib folks decide to work
9832 around the problem on their end in future, this is still an issue
9833 with all GLib versions >= 2.10.0, so we should warn until we depend
9834 on a GLib version we know to be safe.
9835 Update documentation as well.
9838 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
9840 * tools/gst-inspect.c: (main):
9841 * tools/gst-launch.c: (main):
9842 * tools/gst-typefind.c: (main):
9843 * tools/gst-xmlinspect.c: (main):
9844 Call g_thread_init() really really early, before any other GLib
9845 function (see #342564 and recent discussion on gtk-devel-list).
9847 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
9849 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
9851 * gst/gst_private.h:
9852 * gst/gstconfig.h.in:
9854 On win32, all the __declspec stuff for symbol exporting is
9855 apparently only needed with MSVC, but doesn't work with MingW.
9856 Fixes compilation with MingW and #391909.
9858 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
9860 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
9861 Change some GST_ERROR_OBJECT that aren't really errors to
9862 GST_WARNING_OBJECT in order to reduce terminal spam.
9864 2007-01-04 Stefan Kost <ensonic@users.sf.net>
9866 * tests/check/Makefile.am:
9867 disable test again, as there seem to be still race problems
9869 2007-01-04 Stefan Kost <ensonic@users.sf.net>
9871 * tests/check/Makefile.am:
9872 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9873 (GST_START_TEST), (queue_suite):
9874 enable queue test again, add tests for the leaky behaviour
9876 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
9879 * tests/examples/Makefile.am:
9880 Compile adapter test/example only if the required headers are
9881 available (fixes #391915).
9883 2007-01-01 David Schleef <ds@schleef.org>
9886 Restore the previous signal handler for SIGSEGV instead of
9887 setting to default, since we may have stolen it away from
9888 someone. (i.e., Mono)
9890 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
9892 * docs/random/draft-missing-plugins.txt:
9893 Some small additions and clarifications.
9895 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
9897 * gst/gstregistryxml.c: (gst_registry_save_escaped):
9898 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
9899 since that can lead to random memory corruptions and crashes
9900 (may or may not be related to #383244, #386711, and #386711).
9902 2006-12-21 Stefan Kost <ensonic@users.sf.net>
9904 * tests/check/.cvsignore:
9905 * tests/check/Makefile.am:
9906 sync .cvsignome and CLEANFILES
9908 2006-12-21 Stefan Kost <ensonic@users.sf.net>
9910 * tests/check/Makefile.am:
9913 2006-12-21 Stefan Kost <ensonic@users.sf.net>
9915 * docs/design/part-states.txt:
9916 two tiny additional comments
9918 * gst/gststructure.c:
9921 * tests/check/Makefile.am:
9922 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9924 disable test for now, unless it gets fixed
9926 2006-12-21 Stefan Kost <ensonic@users.sf.net>
9928 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9930 fix race in underrun test
9932 2006-12-21 Stefan Kost <ensonic@users.sf.net>
9934 * tests/check/elements/.cvsignore:
9937 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9939 try to narrow test failure
9941 2006-12-21 David Schleef <ds@schleef.org>
9943 * plugins/elements/gstfakesrc.c:
9944 Use g_random_int_range(), since it produces better random
9945 numbers in a range than almost-correct floating point code.
9947 2006-12-21 Stefan Kost <ensonic@users.sf.net>
9949 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
9950 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9951 (gst_check_teardown_sink_pad):
9952 do not automatically (de)activate pads
9954 * tests/check/Makefile.am:
9955 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9956 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
9957 add new, yet simple tests for queue
9959 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
9960 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
9961 * tests/check/elements/filesrc.c: (cleanup_filesrc),
9963 * tests/check/elements/identity.c: (cleanup_identity):
9964 consistent pad (de)activation
9966 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
9968 Patch by: Sebastian Dröge <slomo ubuntu com>
9970 * libs/gst/base/gstcollectpads.c:
9971 Fix two doc typos (#387866).
9973 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
9975 * docs/manual/advanced-dparams.xml:
9976 Fix typo (g_object_control_properties() doesn't exist).
9978 2006-12-19 Edward Hervey <edward@fluendo.com>
9980 * gst/gstsegment.c: (gst_segment_set_seek):
9981 Fine tune the cases where the segment start/stop values are really
9983 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9984 Add tests for the return values of gst_segment_set_seek().
9986 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
9991 * plugins/elements/gstqueue.c: (gst_queue_class_init),
9993 Fix incorrect documentation and flesh it out a bit more.
9994 Set default values for the max properties on the GParamSpec as well,
9995 so it shows up correctly in gst-inspect.
9997 2006-12-18 Stefan Kost <ensonic@users.sf.net>
9999 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10000 Correct docs of queue, add more detail and crosslink it more.
10002 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10004 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10005 Print additional debug info when the stream isn't perfectly
10006 timestamped; don't try to use invalid durations.
10008 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10010 * docs/design/Makefile.am:
10011 Dist new design docs.
10013 2006-12-16 Wim Taymans <wim@fluendo.com>
10015 Patch by: Sjoerd Simons <sjoerd at luon dot net>
10017 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10018 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10019 (gst_collect_pads_stop), (gst_collect_pads_event),
10020 (gst_collect_pads_chain):
10021 * libs/gst/base/gstcollectpads.h:
10022 Add refcounting to the collectpads data so we can track when it's safe
10023 to free the data. Fixes #383382.
10025 2006-12-15 Wim Taymans <wim@fluendo.com>
10027 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10028 (gst_collect_pads_remove_pad):
10029 Automatically activate/deactivate pads when they are added to a
10030 started/stoped collectpads.
10032 2006-12-15 Wim Taymans <wim@fluendo.com>
10034 * gst/gstelement.c: (gst_element_add_pad):
10035 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10036 * gst/gstpad.c: (gst_pad_init):
10037 Set pads to FLUSHING when they are created. Check, warn and fix when a
10038 demuxer adds an inactive pad to itself when running. Fixes #339326.
10040 2006-12-15 Wim Taymans <wim@fluendo.com>
10042 * gst/gstelement.c: (gst_element_class_init),
10043 (gst_element_default_send_event), (gst_element_send_event),
10044 (gst_element_default_query), (gst_element_query):
10045 Expose default element send_event and query handling as vmethods that
10046 subclasses can chain up to.
10048 2006-12-15 Wim Taymans <wim@fluendo.com>
10050 * gst/gstelement.c: (gst_element_set_state_func):
10051 Small documentation fixes.
10053 2006-12-15 Wim Taymans <wim@fluendo.com>
10055 * docs/design/draft-latency.txt:
10056 Checked in draft for handling latency in pipelines.
10058 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
10062 * gstreamer.spec.in:
10065 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
10067 * gst/gst.c: (init_pre), (init_post):
10068 init_pre() and init_post() might be called via our GOptionGroup or
10069 from gst_init(), and we should skip both of them if we've already
10070 been initialised, otherwise we will init some things twice or add
10071 two default log functions.
10073 2006-12-13 Edward Hervey <edward@fluendo.com>
10075 * docs/manual/basics-bus.xml:
10076 No, gst_main_loop does not exist. Its g_main_loop.
10077 Discovered by somebody who abused the copy-paste technique of coding :)
10079 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
10081 * gst/gstghostpad.c:
10082 Log ghostpad debug stuff to the GST_PADS category as well rather
10083 than just to the default category.
10085 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
10088 * gst/gst.c: (init_pre):
10089 Add some basic system details such as OS and architecture
10090 to the debug output if possible, courtesy of uname().
10092 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
10094 * docs/gst/running.xml:
10095 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
10096 environment variables.
10098 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
10100 * tests/check/gst/gstbin.c: (GST_START_TEST):
10101 It is acceptable to have a refcount of 2 or 3 at this point in the
10102 test, because the pipeline might be just posting its state_change
10103 message. The next line then waits for that message to appear using
10104 bus_poll, so that should be fine too.
10106 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
10108 * gst/gst.c: (ensure_current_registry_forking):
10109 Ignore EINTR when reading from the child registry pipe.
10110 Explicitly ignore the return value from close, since it makes no
10113 * gst/gstminiobject.c: (gst_mini_object_ref),
10114 (gst_mini_object_unref):
10115 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
10117 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
10118 When removing cached plugins, remove their features too, so they're
10119 not visible after they've disappeared.
10121 * gst/gstutils.c: (prepare_link_maybe_ghosting):
10122 In the unlikely case that we are linking pads with no parents, don't
10123 crash trying to get the non-existent parent bin.
10125 * gst/parse/grammar.y:
10126 Output debug in the PIPELINE category
10128 2005-03-08 Wim Taymans <wim@fluendo.com>
10130 Patch by: René Stadler <mail at renestadler dot de>
10132 * gst/gstclock.c: (gst_clock_new_periodic_id):
10133 Reject invalid clock times for interval of periodic ids.
10136 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
10138 * gst/gstelementfactory.c: (gst_element_factory_create):
10139 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10140 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10141 * tools/gst-inspect.c: (print_element_info):
10142 Fix refcounting of gst_plugin_feature_load to match the docs.
10145 2006-12-07 Wim Taymans <wim@fluendo.com>
10147 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
10148 (gst_base_sink_get_position):
10149 Improve debugging of events.
10151 2006-12-07 Wim Taymans <wim@fluendo.com>
10153 Patch by: René Stadler <mail at renestadler dot de>
10155 * gst/gstclock.c: (gst_clock_id_wait):
10156 Make period ids add the interval to the origial requested time instead
10157 of the possibly updated time which can be wrong when there are multiple
10158 waiters for the same id. Fixes #382592.
10160 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
10161 (gst_system_clock_id_wait_jitter_unlocked),
10162 (gst_system_clock_id_wait_jitter):
10163 Fix restart in the async notify thread when an async entry is added to
10164 the front of the list. Fixes #381492.
10166 * tests/check/gst/gstsystemclock.c: (store_callback),
10167 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
10168 Added test for multiple async waits.
10169 Added test for async wait order.
10171 2006-12-07 Wim Taymans <wim@fluendo.com>
10173 * gst/gstbin.c: (gst_bin_query):
10174 Add some more docs about the POSITION query.
10176 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
10179 Bump version nano - back to CVS.
10181 === release 0.10.11 ===
10183 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
10186 releasing 0.10.11, "Love never runs on time"
10188 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
10190 * win32/common/libgstbase.def:
10191 * win32/common/libgstreamer.def:
10192 * win32/vs8/libgstbase.vcproj:
10193 * win32/vs8/libgstcoreelements.vcproj:
10194 * win32/vs8/libgstreamer.vcproj:
10195 Fix compilation on win32 under VS8
10196 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10197 Partially fixes #381175
10199 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
10201 * gst/gstvalue.c: (gst_value_compare_fraction):
10202 If someone is foolish enough to compare 2 fractions with denominator =
10203 0, return UNORDERED rather than aborting.
10205 2006-11-28 Edward Hervey <edward@fluendo.com>
10207 * libs/gst/base/Makefile.am:
10208 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
10209 (gst_data_queue_base_init), (gst_data_queue_class_init),
10210 (gst_data_queue_init), (gst_data_queue_new),
10211 (gst_data_queue_cleanup), (gst_data_queue_finalize),
10212 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
10213 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
10214 (gst_data_queue_is_empty), (gst_data_queue_is_full),
10215 (gst_data_queue_set_flushing), (gst_data_queue_push),
10216 (gst_data_queue_pop), (gst_data_queue_drop_head),
10217 (gst_data_queue_set_property), (gst_data_queue_get_property):
10218 * libs/gst/base/gstdataqueue.h:
10219 New GstDataQueue object for threadsafe queueing. Most useful for
10220 elements that need some queueing functionnality.
10221 * docs/libs/gstreamer-libs-docs.sgml:
10222 * docs/libs/gstreamer-libs-sections.txt:
10223 Insert documentation for GstDataQueue
10224 * plugins/elements/Makefile.am:
10225 * plugins/elements/gstelements.c:
10226 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
10227 (gst_multi_queue_class_init), (gst_multi_queue_init),
10228 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
10229 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
10230 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
10231 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
10232 (gst_multi_queue_loop), (gst_multi_queue_chain),
10233 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
10234 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
10235 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
10236 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
10237 (wake_up_next_non_linked), (compute_next_non_linked),
10238 (single_queue_overrun_cb), (single_queue_underrun_cb),
10239 (single_queue_check_full), (gst_single_queue_new):
10240 * plugins/elements/gstmultiqueue.h:
10241 New multiqueue element, using GstDataQueue. Used for queuing multiple
10243 Closes #344639 and #347785
10245 2006-11-22 Stefan Kost <ensonic@users.sf.net>
10247 * docs/pwg/advanced-types.xml:
10248 add more missing type details
10250 * tools/gst-run.c: (main):
10251 remove unused variable
10253 2006-11-21 Stefan Kost <ensonic@users.sf.net>
10255 * docs/libs/Makefile.am:
10256 * docs/libs/gstreamer-libs.types:
10257 add types of base classes to enable gobject specific stuff in the docs
10259 * docs/random/ensonic/embedded.txt:
10260 more ideas about isolating platform specific things
10262 2006-11-20 Wim Taymans <wim@fluendo.com>
10264 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
10266 * libs/gst/check/gstcheck.h:
10267 Fix compilation and running against 0.9.4. Fixes #377332.
10269 2006-11-20 Wim Taymans <wim@fluendo.com>
10271 * gst/gstsegment.c: (gst_segment_set_seek),
10272 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10273 (gst_segment_to_running_time):
10274 Fix boundary checking in to_running_time() and to_stream_time().
10277 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10278 stream and running time can now be calculated for the complete
10281 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
10283 * gst/gstpad.c: (gst_pad_push_event):
10284 Can't access event structure after giving away ownership of
10287 2006-11-15 Stefan Kost <ensonic@users.sf.net>
10289 * docs/random/ensonic/embedded.txt:
10290 * docs/random/ensonic/profiling.txt:
10291 * docs/random/ensonic/receipies.txt:
10294 2006-11-13 Wim Taymans <wim@fluendo.com>
10296 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10299 Fix documentation for gst_pad_dispatcher. Fixes #374475.
10301 2006-11-13 Wim Taymans <wim@fluendo.com>
10303 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
10305 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10306 Store new length in segment duration so we don't keep on calling the
10307 potentially expensize get_size() call. Fixes #370865.
10309 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
10311 Patch by: Sergey Scobich <sergey.scobich at gmail com>
10313 * win32/common/libgstreamer.def:
10314 Add two missing symbols (#366492).
10316 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
10318 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
10319 (gst_adapter_take_buffer):
10320 Fix format string to use all its arguments.
10321 Remove useless >= check on a guint
10323 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
10325 * tests/examples/adapter/.cvsignore:
10326 Ignore build file as commanded by the build-bot
10328 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
10330 * tests/examples/adapter/Makefile.am:
10331 * tests/examples/adapter/adapter_test.c: (run_test_take),
10332 (run_test_take_buffer), (run_tests), (main):
10334 Add new files from the previous commit
10336 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
10340 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
10341 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
10342 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
10343 * libs/gst/base/gstadapter.h:
10344 * tests/check/libs/adapter.c: (create_and_fill_adapter),
10345 (GST_START_TEST), (gst_adapter_suite):
10346 * tests/examples/Makefile.am:
10347 Do some optimisation work in GstAdapter to avoid copies in more cases.
10348 It could still do slightly better by merging buffers when
10349 gst_buffer_is_span_fast is true, but is already faster.
10351 Also, avoid traversing a single-linked list to append each incoming
10352 buffer inside the adapter.
10354 Add simple test app that times the adapter behaviour in different
10355 situations, and extend the unit test to check that bytes enter and
10356 exit the adapter in their original order.
10358 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
10360 * docs/random/draft-missing-plugins.txt:
10361 Update: use element message instead of adding a new message
10362 type to the core; don't provide GStreamer API to initiate the
10363 plugin download, just provide API to compose the strings needed
10364 and let an external libgimmestuff handle the rest.
10366 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
10368 * tools/gst-inspect.c: (print_element_properties_info):
10369 Print a string instead of 'unknown type' for GValueArray properties
10371 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
10373 * docs/random/draft-missing-plugins.txt:
10376 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
10378 * tests/examples/typefind/typefind.c: (type_found), (main):
10379 Make typefind element example work again (#371894); add a
10382 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
10384 * docs/random/draft-missing-plugins.txt:
10385 Commit initial draft about how to deal with missing plugins,
10386 needs work (API too).
10388 2006-11-07 Stefan Kost <ensonic@users.sf.net>
10390 * docs/pwg/advanced-types.xml:
10391 documents the new caps elements (see #363118)
10393 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
10395 * gst/gstplugin.c: (gst_plugin_load_file):
10396 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
10397 (gst_file_src_map_region), (gst_file_src_start):
10398 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
10399 (gst_file_index_commit):
10400 Use g_strerror() instead of strerror() - we want UTF-8.
10402 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
10404 Patch by: Peter Kjellerstedt <pkj at axis com>
10406 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10407 Another printf fix (#371493).
10409 2006-11-06 Stefan Kost <ensonic@users.sf.net>
10411 * tests/check/gst/gsttag.c:
10412 relicence (okay with author=company)
10414 2006-11-06 Stefan Kost <ensonic@users.sf.net>
10416 * gst/gstpad.c: (gst_pad_event_default_dispatch),
10417 (gst_pad_push_event):
10418 Enhance debug and improve docs
10423 2006-11-06 Stefan Kost <ensonic@users.sf.net>
10425 * docs/random/ensonic/distributed.txt:
10426 * docs/random/ensonic/profiling.txt:
10429 2006-11-06 Stefan Kost <ensonic@users.sf.net>
10431 * docs/gst/gstreamer-sections.txt:
10432 add new API and fix the build
10434 * gst/gstbin.c: (gst_bin_recalc_state):
10435 * gst/gstelement.c: (gst_element_message_full),
10436 (gst_element_get_state_func), (gst_element_set_state_func):
10437 use new API and improve logging
10439 * gst/gstutils.c: (gst_element_state_change_return_get_name):
10441 API: add function to get StateChangereturn names to improve logs
10443 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
10445 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10446 I'm considering shooting the next person to put strerror stuff
10447 in the translateable part of the message.
10449 2006-11-03 Wim Taymans <wim@fluendo.com>
10451 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10452 Get the type and printf conversion specifiers right.
10454 2006-11-03 Wim Taymans <wim@fluendo.com>
10456 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10458 * gst/gstpad.c: (gst_pad_init), (pre_activate),
10459 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
10460 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
10461 Some small cleanups. Improve debugging.
10463 Signal all waiting threads with a broadcast instead of just one.
10466 2006-11-03 Wim Taymans <wim@fluendo.com>
10468 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
10469 (gst_fd_src_create):
10470 Add some debugging.
10471 Only update fd when it's different from the old.
10473 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
10475 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
10476 Printf fixes for PPC/OSX, take two (#369366).
10478 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
10480 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
10482 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
10483 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10484 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
10485 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
10486 don't cast to long long for portability reasons, but use
10487 GLib's types instead.
10489 2006-10-30 Michael Smith <msmith@fluendo.com>
10491 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
10492 Get the arguments to lseek() the right way around.
10495 2006-10-30 Wim Taymans <wim@fluendo.com>
10497 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
10500 _declspec should be __declspec (two underscores, not one). Fixes 366572.
10502 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
10504 Patch by: Kjartan Maraas <kmaraas at gnome org>
10506 * docs/design/part-MT-refcounting.txt:
10507 * docs/random/wtay/capsnego2-docs:
10510 Typo fixes (#366212).
10512 2006-10-28 Wim Taymans <wim@fluendo.com>
10514 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10517 * win32/common/libgstbase.def:
10518 * win32/common/libgstreamer.def:
10519 * win32/vs8/libgstbase.vcproj:
10520 * win32/vs8/libgstcontroller.vcproj:
10521 Add needed entries in .def files.
10523 Rearrange def files in vs8 solutions. Fixes #366286.
10525 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
10527 * win32/common/gstconfig.h:
10528 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
10529 hand-made win32 gstconfig.h. Fixes #366321.
10531 2006-10-27 Wim Taymans <wim@fluendo.com>
10533 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
10534 (gst_ghost_pad_new_full):
10535 Make acceptcaps return TRUE when we don't have a target, just like
10538 2006-10-27 Wim Taymans <wim@fluendo.com>
10540 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
10541 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
10543 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
10545 * gst/gststructure.c: (gst_structure_id_set_value):
10546 If someone tries to set a non-UTF8 string field on a structure,
10547 don't just print a warning, but also ignore the request and do
10548 not change/add that field to the structure.
10550 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10551 Test for the above.
10553 2006-10-25 David Schleef <ds@schleef.org>
10556 g_hash_table_insert() needs a cast to a non-const pointer duh.
10558 2006-10-25 David Schleef <ds@schleef.org>
10562 Change name parameter of _gst_debug_register_funcptr to const
10563 to reflect the constness of its use in the function as well
10564 as to quiet a gcc warning.
10566 2006-10-25 Edward Hervey <edward@fluendo.com>
10568 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
10569 Don't push the buffer if it's empty.
10572 2006-10-24 Wim Taymans <wim@fluendo.com>
10577 * libs/gst/base/gstbasetransform.c:
10578 (gst_base_transform_sink_eventfunc):
10579 Debug segment values *after* updating them as this is more
10582 2006-10-23 Wim Taymans <wim@fluendo.com>
10584 * docs/design/part-events.txt:
10587 * docs/design/part-block.txt:
10588 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
10589 (gst_pad_push_event):
10590 Revert BLOCKING patch, it tries to be smart without really having a
10591 clear idea what or how. So, now we discard all FLUSHING events again on
10592 a blocking pad. Should fix gnonlin again.
10594 2006-10-23 Wim Taymans <wim@fluendo.com>
10596 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10598 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
10599 (gst_base_src_start), (gst_base_src_activate_push):
10600 Make sure size is always initialized. Fixes #364388.
10602 2006-10-20 Stefan Kost <ensonic@users.sf.net>
10604 * docs/random/ensonic/distributed.txt:
10605 add some ideas about doing distributed processing
10607 * docs/random/ensonic/profiling.txt:
10608 get_rusage look promising
10610 2006-10-18 Stefan Kost <ensonic@users.sf.net>
10612 * docs/manual/basics-helloworld.xml:
10613 Add a cast in example to fix compile warning
10615 2006-10-18 Wim Taymans <wim@fluendo.com>
10617 * gst/gstsegment.c: (gst_segment_set_last_stop),
10618 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
10619 Relax arg checking again, -1 is allowed.
10621 2006-10-18 Wim Taymans <wim@fluendo.com>
10623 * gst/gstsegment.c: (gst_segment_set_last_stop),
10624 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
10625 _set_last_stop() must be with a value != -1
10626 A _TYPE_SET to -1 means seek to 0.
10627 Calc last_stop correctly for negative rates.
10628 Make sure we work with positive durations when updating a segment.
10630 2006-10-18 Wim Taymans <wim@fluendo.com>
10632 * docs/design/part-live-source.txt:
10636 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
10639 Add an explicit cast to GstBuffer** to keep old code that added an
10640 explicit cast to GstMiniObject** for gst_mini_object_replace()
10641 compiling without warning.
10643 2006-10-18 Stefan Kost <ensonic@users.sf.net>
10645 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
10646 check for validity of dates
10648 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
10650 * docs/gst/gstreamer-sections.txt:
10651 Forgot this one, makes gtk-doc shut up.
10653 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
10655 Patch by: Peter Kjellerstedt <pkj at axis com>
10658 Don't define xmlNodePtr to gpointer if the core was built with
10659 --disable-loadsave and --disable-registry, this will break
10660 applications that want to use libxml2 but are buildling against a
10661 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
10662 instead so we don't have to mess with the libxml2 namespace
10665 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
10668 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
10669 type-punned pointer warnings.
10671 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
10673 * gst/gstelement.h:
10674 Add casts to the correct return type to state <=> state transition
10677 2006-10-16 Stefan Kost <ensonic@users.sf.net>
10679 * docs/design/part-live-source.txt:
10680 describe howto handle latency
10682 * docs/random/ensonic/profiling.txt:
10685 * tools/gst-plot-timeline.py:
10686 fix log parsing for solaris, remove unused function
10688 2006-10-16 Wim Taymans <wim@fluendo.com>
10690 * docs/design/part-trickmodes.txt:
10692 Update some docs regarding reverse playback.
10694 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
10696 Patch by: Marcus Granado <mrc dot gran at gmail com>
10698 * win32/vs8/grammar.vcproj:
10699 Error out with a warning if glib-genmarshal.exe is not in path,
10700 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
10702 2006-10-13 Wim Taymans <wim@fluendo.com>
10704 * gst/gstsegment.c: (gst_segment_set_seek):
10705 When seeking to stop -1, set last_stop (current position) to the
10706 duration of the segment.
10708 2006-10-13 Wim Taymans <wim@fluendo.com>
10710 * gst/gstelement.h:
10711 Clarify _NO_PREROLL a bit more.
10716 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
10717 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
10718 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
10719 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
10720 due to wrong locking order. Fixes #361769.
10721 Remove some redundant/misplaced checks in pad_block.
10723 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10724 For negative rates, count backwards from the duration.
10726 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
10728 * gst/gsterror.c: (_gst_library_errors_init):
10729 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
10730 up with something better).
10732 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
10734 * win32/vs6/libgstreamer.dsp:
10735 * win32/vs7/libgstreamer.vcproj:
10736 * win32/vs8/libgstreamer.vcproj:
10737 Don't reference glib-compat.c which is currently not used and not
10738 disted; add gstquark.c which was recently added. Fixes #361730.
10740 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
10742 * win32/common/libgstbase.def:
10743 * win32/common/libgstcontroller.def:
10744 * win32/common/libgstreamer.def:
10745 Add gst_caps_merge() and a bunch of other recently-added functions.
10748 2006-10-11 Wim Taymans <wim@fluendo.com>
10750 * docs/plugins/gstreamer-plugins.args:
10751 * docs/plugins/inspect/plugin-coreelements.xml:
10752 * docs/plugins/inspect/plugin-coreindexers.xml:
10753 Update element args.
10755 * gst/gstsystemclock.c:
10756 Small comment update.
10758 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
10759 (gst_tee_request_new_pad), (gst_tee_release_pad),
10760 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
10761 (gst_tee_sink_activate_pull):
10762 * plugins/elements/gsttee.h:
10764 Add default property defines.
10765 Implement release pad function.
10766 Give properties better blubs etc.
10767 Activate pads before adding them to a running tee.
10768 Do simple buffer_alloc on the first requested pad.
10769 Post error when activation fails.
10771 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
10773 * gst/gst.c: (ensure_current_registry_forking):
10774 Check return value of write() to make compiler happy.
10776 2006-10-11 Wim Taymans <wim@fluendo.com>
10778 Patch by: Sjoerd Simons <sjoerd at luon dot net>
10780 * plugins/elements/gstqueue.c: (gst_queue_chain):
10781 Recheck queue filledness after signalling the overrun when we're about
10782 to leak downstream because we released the lock when emitting the signal
10783 and the queue could be empty again. Fixes #352345.
10785 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
10787 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
10788 Fix refcounting here too, just like we did for _new_valist() a few
10789 days ago (#357180) (thanks to René Stadler). Also remove all those
10790 'Since: 0.9' from the gtk-doc blobs.
10792 * tests/check/libs/controller.c: (controller_refcount_new_list),
10793 (gst_controller_suite):
10794 Unit test for the above.
10796 2006-10-10 Wim Taymans <wim@fluendo.com>
10798 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
10800 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
10801 (gst_pad_save_thyself):
10803 Write pad direction in XML output. Fixes #345496.
10805 2006-10-10 Wim Taymans <wim@fluendo.com>
10807 Patch by: René Stadler <mail at renestadler dot de>
10809 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10810 (gst_controller_new_list), (_gst_controller_dispose),
10811 (_gst_controller_finalize), (_gst_controller_class_init):
10812 Take ref to controlled object so that it cannot disappear.
10815 2006-10-10 Wim Taymans <wim@fluendo.com>
10817 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10818 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10819 (gst_check_teardown_sink_pad):
10820 Activate/deactivate pads in setup/teardown respectively.
10822 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
10824 Patch by: Josep Torra Valles <josep@fluendo.com>
10827 Cast values when making gstenumtypes.h. This pacifies Forte
10828 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
10829 in the enumeration.
10831 2006-10-09 Wim Taymans <wim@fluendo.com>
10833 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
10834 Rename some more @cur to @start to fix docs.
10836 * gst/gstsegment.c: (gst_segment_set_seek):
10838 time and start must always stay in sync as defined in design doc.
10840 * gst/gsttaglist.c: (gst_tag_list_is_empty):
10841 Rename param to fix docs.
10843 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10844 Check that start and time are in sync.
10846 * tests/check/pipelines/parse-launch.c:
10847 (gst_parse_test_element_change_state):
10848 Activate pad before adding to the element.
10850 2006-10-09 Wim Taymans <wim@fluendo.com>
10852 * docs/design/part-qos.txt:
10857 Update seek event docs regarding negative rates.
10858 Rename @cur to @start.
10860 * gst/gstsegment.c: (gst_segment_set_seek):
10861 * gst/gstsegment.h:
10862 Update set_seek docs regarding negative rates.
10863 Correctly update last_stop to @stop when dealing with negative
10865 Rename @cur to @start.
10867 * tests/check/gst/gstpad.c: (GST_START_TEST):
10868 Activate pads before trying to use them.
10870 * tests/check/gst/gstsegment.c: (GST_START_TEST),
10871 (gst_segment_suite):
10872 Add simple check for segments and negative rates.
10874 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
10876 * gst/gsttaglist.c: (gst_tag_list_is_empty):
10877 * gst/gsttaglist.h:
10878 * docs/gst/gstreamer-sections.txt:
10879 API: add gst_tag_list_is_empty() (#360467).
10881 * tests/check/gst/gsttag.c: (GST_START_TEST):
10884 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
10886 * gst/gstmessage.h:
10887 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
10888 a value that doesn't fit on enumeration.
10890 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
10892 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10893 Remove local debugging system and use Gstreamer's instead.
10895 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
10897 Patch by: Josep Torra Valles <josep@fluendo.com>
10899 * common/m4/gst-error.m4:
10900 Disable warning of statement not reached on Forte.
10901 * gst/gstmessage.h:
10902 Fix warning on Forte (value doesn't fit on enumeration).
10903 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
10904 Fix warning on Forte (value doesn't fit on enumeration).
10905 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10906 DEBUG macro says it takes minimum of 2 args and so Forte
10907 complains about the use with just 1 arg.
10908 * plugins/elements/gstfdsink.c:
10909 * plugins/elements/gstfdsrc.c:
10910 * plugins/elements/gstfilesink.c:
10911 * plugins/elements/gstfilesrc.c:
10912 Use correct return type for the uri handler implementations.
10914 All these fix warnings in Forte. Fixes bug #360860.
10916 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
10918 * gst/gstelement.h:
10919 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
10920 format string, so don't use G_GNUC_PRINTF for those versions.
10922 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
10924 * gst/gsttaglist.c: (gst_is_tag_list):
10925 * gst/gsttaglist.h:
10926 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
10928 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10929 Small test for the above.
10931 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
10933 * gst/gsttaglist.h:
10934 Less tabs, more spaces.
10936 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
10939 Those two function declarations do actually belong there, revert
10940 commit from yesterday that turned them intro macros.
10942 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
10944 Patch by: Josep Torra Valles <josep@fluendo.com>
10946 * gst/gst.c: (gst_init_get_option_group):
10947 Fix empty declaration and type mismatch.
10948 * gst/gstbin.c: (gst_bin_change_state_func):
10950 * gst/gstelement.c: (gst_element_continue_state),
10951 (gst_element_set_state_func), (gst_element_change_state),
10952 (gst_element_change_state_func):
10953 Fix type mismatches.
10954 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
10955 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
10956 Cast as appropriate.
10957 * gst/gstobject.c: (gst_class_signal_connect):
10958 Cast as appropriate. The function pointer parameter really
10959 has the wrong type but would break API if we change it.
10961 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
10962 order of including string.h.
10963 * gst/gstutils.c: (gst_element_state_get_name):
10964 Remove unreachable line.
10965 * gst/gstxml.c: (gst_xml_parse_doc):
10967 All these caught by Forte.
10969 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
10971 Patch by: Josep Torra Valles <josep@fluendo.com>
10973 * common/m4/gst-error.m4:
10975 We need to disable warnings on Forte for empty declarations
10976 due to gst-indent adding ;s to lines that just use macros
10977 where the macro actually doesn't need a ; at end to end
10980 2006-10-06 Wim Taymans <wim@fluendo.com>
10982 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10983 (gst_file_sink_close_file), (gst_file_sink_event),
10984 (gst_file_sink_render):
10985 Add some FIXME for the NEWSEGMENT handling.
10987 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
10989 * gst/parse/grammar.y:
10990 Remove static function gst_parse_element_lock as all it does
10991 is return. Looks like cruft from 0.8.
10993 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
10995 Patch by: Josep Torra Valles <josep@fluendo.com>
10997 * common/m4/gst-error.m4:
10999 * libs/gst/net/Makefile.am:
11000 Fix a compilation issue with Forte on Solaris. inet_aton is in
11003 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11005 * gst/gstpad.c: (pre_activate):
11006 * gst/gstregistry.c: (gst_registry_scan_path_level):
11007 * gst/gstregistryxml.c: (load_plugin):
11008 * libs/gst/controller/gstcontroller.c:
11009 (gst_controlled_property_set_interpolation_mode):
11010 * libs/gst/dataprotocol/dataprotocol.c:
11011 (gst_dp_packet_from_event_1_0):
11012 * libs/gst/net/gstnetclientclock.c:
11013 (gst_net_client_clock_observe_times):
11014 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11017 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11020 * docs/gst/gstreamer-sections.txt:
11021 * gst/gstconfig.h.in:
11022 * gst/gstelement.h:
11024 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11025 whether we can use G_GNUC_PRINTF in other header files and at
11026 least check the printf format/arguments of debug messages and
11027 GST_ELEMENT_ERROR messages when the printf extension is not
11029 Replace more tabs with spaces in gstinfo.h and remove two spurious
11030 function declarations in GST_DISABLE_DEBUG part with macros.
11032 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
11034 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11035 More docs for the sync-message signal (mention that it is not
11036 emitted by default); log message structures of messages posted on
11039 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
11041 * gst/gst.c: (ensure_current_registry_forking):
11042 Use a pipe pair to receive status results from the forked child, and
11043 ignore the result from waitpid. Fixes #355499
11045 2006-10-02 Wim Taymans <wim@fluendo.com>
11047 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11048 (gst_ghost_pad_suite):
11051 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
11054 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11056 2006-10-02 Edward Hervey <edward@fluendo.com>
11058 * docs/design/part-block.txt:
11059 Further explain the use of flushing on blocked pads.
11060 * docs/gst/gstreamer-sections.txt:
11061 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11062 (gst_pad_push_event):
11064 Added new GstPadFlag : GST_PAD_BLOCKING.
11065 Adds the notion of pads really blocking, which enables to properly
11066 handle FLUSH_START/FLUSH_STOP events on blocked pads.
11068 API: gst_pad_is_blocking()
11069 API: GST_PAD_IS_BLOCKING() macro
11070 API: GST_PAD_BLOCKING GstPadFlag
11072 2006-10-02 Wim Taymans <wim@fluendo.com>
11074 Patch by: mrcgran <mrc.gran at gmail dot com>
11076 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11077 Filter the proxied caps against the padtemplate if we have one.
11079 * gst/gstquery.c: (gst_query_new_segment):
11080 Add include for gstinfo.h so that compilation with
11081 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11083 2006-10-02 Wim Taymans <wim@fluendo.com>
11085 Patch by: Alessandro Decina <alessandro at nnva org>
11087 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11088 (gst_file_sink_set_location), (gst_file_sink_open_file),
11089 (gst_file_sink_close_file), (gst_file_sink_event),
11090 (gst_file_sink_render):
11091 Set file to NULL when closing filesink so that we can set a new filename
11092 in READY. Fixes #358613.
11094 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
11096 Patch by: Alessandro Decina <alessandro at nnva org>
11098 * gst/gstevent.c: (_gst_event_copy):
11099 Fix gst_mini_object_make_writable() and gst_event_copy() for events
11100 with event structures by setting the parent refcount address of the
11101 copied structure to the address of the refcount member of the newly
11102 copied event rather than the address of the refcount member of the
11103 original event. Fixes #358737.
11105 * tests/check/gst/gstevent.c: (GST_START_TEST):
11106 Unit test for the above.
11108 2006-09-29 Stefan Kost <ensonic@users.sf.net>
11110 * docs/design/Makefile.am:
11111 Dist some more files.
11113 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
11115 * tests/check/libs/controller.c: (GST_START_TEST),
11116 (gst_controller_suite):
11117 Add test for the previous fix; add some more tests
11118 for correct refcounting behaviour; fix a few leaks
11119 in test cases; call gst_controller_init() at start
11122 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
11124 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11125 (gst_controller_set_from_list):
11126 Don't g_return_val_if_fail() on timed values with invalid timestamps
11127 inside a critical section without unlocking the mutex. Spotted by
11128 René Stadler. (#357617)
11129 Also, fix up refcounting properly: when returning an existing
11130 controller, we should increase the reference only once and not
11131 once per property and when trying to control a property again
11132 we should also increase the refcount.
11134 2006-09-29 Wim Taymans <wim@fluendo.com>
11136 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11137 * libs/gst/net/gstnettimeprovider.c:
11138 (gst_net_time_provider_thread):
11139 Stop reading commands when EOF as well.
11141 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11142 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11143 * plugins/elements/gstidentity.c: (gst_identity_class_init):
11144 Unify description of the dump property.
11146 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11148 * tests/examples/manual/.cvsignore:
11149 OK, so it's actually cvsignore that needs changing. Stop laughing.
11151 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11153 * tests/examples/manual/Makefile.am:
11154 Gah, declare vars *before* using them
11156 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11158 * gst/gst.c: (init_pre), (scan_and_update_registry),
11159 (ensure_current_registry_nonforking),
11160 (ensure_current_registry_forking), (ensure_current_registry),
11161 (init_post), (gst_debug_help), (gst_deinit):
11162 * gst/gst_private.h:
11163 * gst/gstregistry.c: (gst_registry_finalize),
11164 (gst_registry_remove_features_for_plugin_unlocked),
11165 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11166 (gst_registry_scan_path),
11167 (_priv_gst_registry_remove_cache_plugins),
11168 (_priv_gst_registry_cleanup):
11169 * gst/gstregistry.h:
11170 Re-commit the registry changes, along with an extra fix:
11171 When a cached plugin is encountered at a different file path,
11172 update the stored path in the registry cache so that the parent
11173 process knows where it actually is now when it re-reads the registry
11174 cache. Fixes the thing that broke distcheck with the previous commit.
11176 * tests/check/Makefile.am:
11177 Clean up files named 'core' too when running make clean.
11179 * tests/examples/manual/Makefile.am:
11180 Set up a registry path for running these tests, and clean it properly
11183 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11186 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
11187 want gmodule-no-export-2.0.pc instead so that we don't drag in
11188 --export-dynamic on every project that links to GStreamer.
11190 Also, make our export regex only match the start of symbols, rather
11191 than any symbol that contains '_gst' somewhere.
11193 * libs/gst/check/Makefile.am:
11194 The libgstcheck we build does however need export-dynamic, as it
11195 produces some symbols that don't match our _gst... style regex.
11198 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
11200 * gst/gst.c: (init_pre), (scan_and_update_registry),
11201 (ensure_current_registry_nonforking),
11202 (ensure_current_registry_forking), (ensure_current_registry),
11203 (init_post), (gst_debug_help), (gst_deinit):
11204 * gst/gst_private.h:
11205 * gst/gstregistry.c: (gst_registry_finalize),
11206 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11207 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
11208 (_gst_registry_cleanup):
11209 * gst/gstregistry.h:
11210 Revert previous change until I figure out why it breaks distcheck.
11212 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
11214 * gst/gst.c: (init_pre), (scan_and_update_registry),
11215 (ensure_current_registry_nonforking),
11216 (ensure_current_registry_forking), (ensure_current_registry),
11217 (init_post), (gst_debug_help), (gst_deinit):
11219 Make init_pre and init_post take the full complement of GOptionFunc
11220 args so they can return useful GErrors. Make the registry updating
11223 Call _priv_gst_registry_remove_cache_plugins after scanning files to
11224 ensure that the registry we're about to write out doesn't contain
11225 stale information about old-deleted plugin files.
11227 Make _priv_gst_registry_remove_cache_plugins return a boolean so
11228 that deletion of plugin files is considered a registry change.
11230 * gst/gst_private.h:
11231 * gst/gstregistry.c: (gst_registry_finalize),
11232 (gst_registry_remove_features_for_plugin_unlocked),
11233 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11234 (gst_registry_scan_path),
11235 (_priv_gst_registry_remove_cache_plugins),
11236 (_priv_gst_registry_cleanup):
11237 * gst/gstregistry.h:
11238 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
11239 by adding _priv prefix, so that they won't appear in the global
11240 symbol table. They still do atm though because of #318031. Move the
11241 prototypes to gst_private.h
11243 When removing a plugin, remove all features for that plugin too.
11246 2006-09-27 Wim Taymans <wim@fluendo.com>
11248 * docs/random/moving-plugins:
11249 Make it clear that the "compiled-in descriptions" really mean
11250 the element details.
11252 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11253 (gst_base_sink_wait_preroll):
11256 * docs/libs/gstreamer-libs-sections.txt:
11257 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11258 (gst_base_src_get_range), (gst_base_src_activate_push):
11259 * libs/gst/base/gstbasesrc.h:
11260 Added function to block while waiting for PLAYING, this function
11261 is used by live sources that block on the clock.
11262 API: gst_base_src_wait_playing()
11264 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
11266 Patch by: Peter Kjellerstedt <pkj at axis com>
11269 gst-element-check.m4 is generated and should therefore be
11270 copied from the build dir rather than the source dir (#357593).
11271 'make distcheck' hasn't noticed this because we were disting
11272 the file as well, so stop doing that.
11274 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
11276 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11277 Add some tests for gst_caps_intersect().
11279 * tools/gst-launch.c: (event_loop):
11280 Print all buffering percentages we get, even the 100% one.
11282 2006-09-26 Wim Taymans <wim@fluendo.com>
11284 * tools/gst-inspect.c: (print_element_properties_info),
11285 (print_signal_info):
11286 Fix printing of flags to match the look of enums.
11288 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
11290 * gst/gstelementfactory.c:
11291 Fix typo in docs blurb.
11293 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
11295 * gst/gsturi.c: (search_by_entry):
11296 Don't assert/crash here if a uri handler doesn't return any
11297 supported protocols. The list of protocols could be generated
11298 dynamically at runtime or at plugin registration, and an error
11299 in the underlying library shouldn't be fatal (#353301).
11301 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
11304 Fix warning if HAVE_PRINTF_EXTENSION is undefined
11305 (spotted by Peter Kjellerstedt).
11307 2006-09-23 Wim Taymans <wim@fluendo.com>
11309 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
11311 * libs/gst/base/gstbasesrc.c:
11312 (gst_base_src_default_check_get_range), (gst_base_src_start),
11313 (gst_base_src_activate_push), (gst_base_src_activate_pull),
11314 (gst_base_src_change_state):
11315 Match _start/_stop calls in the activate functions. Remove redundant
11316 _stop call from the state change function. Fixes #356910.
11317 Turn failure DEBUG into ERROR.
11319 2006-09-22 Wim Taymans <wim@fluendo.com>
11321 * docs/design/part-buffering.txt:
11322 * gst/gstmessage.c: (gst_message_new_buffering),
11323 (gst_message_parse_buffering):
11324 Update docs about buffering.
11326 * docs/design/part-trickmodes.txt:
11329 2006-09-22 Stefan Kost <ensonic@users.sf.net>
11331 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11332 (gst_controller_new_list):
11333 Ref instances when returning them again (fixes #357180)
11335 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
11337 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
11338 Don't forget to release proxy lock when there's an error.
11340 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
11343 Add extra initialisers for Caps things, to fix some plugin warnings
11346 2006-09-18 Wim Taymans <wim@fluendo.com>
11348 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11349 Also set template on the internal pad so that a getcaps from the
11350 target pad returns the template caps.
11352 2006-09-18 Wim Taymans <wim@fluendo.com>
11354 * gst/gstelement.c: (gst_element_post_message),
11355 (gst_element_dispose):
11356 Use _DEBUG_OBJECT some more.
11358 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11361 * tools/gst-launch.c: (main):
11362 If the toplevel element is not a GstPipeline, it must be put in a
11363 pipeline so that a bus and clock is selected.
11365 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
11367 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
11368 JITTER, RATE, and LATENCY query should be handled by the
11369 default case and not by the CONVERT query code.
11371 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
11373 * gst/gstformat.c: (gst_format_register):
11374 Fix locking order (must take lock before using n_values).
11376 * gst/gstvalue.c: (gst_value_serialize_enum),
11377 (gst_value_deserialize_enum_iter_cmp),
11378 (gst_value_deserialize_enum):
11379 Fix serialisation/deserialisation of custom registered GstFormats.
11381 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11382 Unit test for custom format serialisation/deserialisation.
11384 2006-09-17 Stefan Kost <ensonic@users.sf.net>
11386 * docs/pwg/building-boiler.xml:
11387 * plugins/elements/gstcapsfilter.c:
11388 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
11391 2006-09-16 Edward Hervey <edward@fluendo.com>
11393 * libs/gst/base/gstbasetransform.c:
11394 (gst_base_transform_buffer_alloc):
11395 Check if requested caps are the same as the sinks caps IF
11396 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
11398 This fixes the renegotiation issues stated in #352827.
11400 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
11403 * docs/manual/advanced-autoplugging.xml:
11404 * tests/examples/Makefile.am:
11405 * tests/examples/manual/.cvsignore:
11406 * tests/examples/manual/Makefile.am:
11407 * tests/examples/manual/extract.pl:
11408 Extract the manual examples again like we used to do.
11411 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
11413 * win32/common/config.h:
11416 2006-09-16 Stefan Kost <ensonic@users.sf.net>
11419 Documents how to receive errors.
11421 2006-09-15 Wim Taymans <wim@fluendo.com>
11423 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
11424 (event_loop), (main):
11425 Added some comments here and there.
11426 Post an application message when an interrupt is caught instead of doing
11427 an uncontrolled state change.
11428 Clean up the event loop.
11429 Handle buffering messages, pause/resume the pipeline.
11430 Make shutdown because of an interrupt more reliable.
11432 2006-09-15 Wim Taymans <wim@fluendo.com>
11434 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11435 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
11436 (gst_base_sink_preroll_object):
11437 Make sure that our internal state is correct when we commit our state
11438 asynchronously. This solves a race where a state change to PLAYING
11439 could cause the sink to remain blocked in preroll in some situations.
11441 2006-09-15 Wim Taymans <wim@fluendo.com>
11443 * tools/gst-inspect.c: (print_element_properties_info),
11444 (print_signal_info):
11445 List flags as hex so it's easier to deal with.
11447 2006-09-15 Wim Taymans <wim@fluendo.com>
11449 * docs/libs/gstreamer-libs-sections.txt:
11450 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
11451 (gst_base_sink_do_sync):
11452 * libs/gst/base/gstbasesink.h:
11453 Expose logic to wait for preroll so that subclasses such as audiosink
11454 can also use this method.
11455 API: gst_base_sink_wait_preroll()
11457 2006-09-15 Wim Taymans <wim@fluendo.com>
11459 * gst/gstobject.c: (gst_object_set_parent):
11460 * gst/gstpipeline.c: (do_pipeline_seek):
11461 Small cleanups in docs and code.
11463 * gst/gstsegment.c: (gst_segment_clip):
11464 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11465 if stop == start and start is in the segment, no clipping should be
11466 done. Also add a test for this.
11468 2006-09-15 Wim Taymans <wim@fluendo.com>
11470 * docs/design/part-buffering.txt:
11471 * docs/gst/gstreamer-sections.txt:
11472 * gst/gstmessage.c: (gst_message_new_buffering),
11473 (gst_message_parse_buffering):
11474 * gst/gstmessage.h:
11475 Added methods to create and parse BUFFERING messages.
11476 Added preliminary docs about buffering.
11477 API: gst_message_new_buffering
11478 API: gst_message_parse_buffering
11480 2006-09-06 Wim Taymans <wim@fluendo.com>
11483 Update documentation.
11485 * gst/gstelement.c: (gst_element_class_init),
11486 (gst_element_release_request_pad), (gst_element_set_clock),
11487 (gst_element_get_index), (gst_element_add_pad),
11488 (gst_element_remove_pad), (gst_element_get_random_pad),
11489 (gst_element_send_event), (gst_element_get_query_types),
11490 (gst_element_query), (gst_element_post_message),
11491 (gst_element_message_full), (gst_element_continue_state),
11492 (gst_element_lost_state), (gst_element_save_thyself),
11493 (gst_element_restore_thyself):
11494 Documentation updates.
11495 Rename last bit of the new-pad -> pad-added signal rename.
11496 Fix the case where an element query would only work if the source
11498 Avoid some useless type checking in message handling.
11503 Documentation updates.
11505 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
11507 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11508 add an INFO line for when we actually update the fd
11510 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
11515 === release 0.10.10 ===
11517 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
11520 releasing 0.10.10, "Pais"
11522 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
11524 * docs/manual/advanced-position.xml:
11525 Fix typo in sample code.
11527 2006-09-05 Wim Taymans <wim@fluendo.com>
11529 * libs/gst/net/gstnetclientclock.c: (inet_aton),
11530 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11531 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
11532 * libs/gst/net/gstnetclientclock.h:
11533 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
11534 * libs/gst/net/gstnettimepacket.h:
11535 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
11536 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
11537 (gst_net_time_provider_thread), (gst_net_time_provider_new):
11538 * libs/gst/net/gstnettimeprovider.h:
11539 Make stuff compile on windows. Fixes #345295.
11541 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
11543 * gst/gst.c: (ensure_current_registry_forking):
11544 Print better details when child was terminated by signal.
11546 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
11548 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
11549 Print a warning rather than g_assert() if a plugin feature
11550 is a URI handler but returns no protocols (#353976).
11552 2006-09-02 Stefan Kost <ensonic@users.sf.net>
11554 * docs/random/moving-plugins:
11557 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
11559 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
11560 Fix locking order, handle NULL function values properly.
11565 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
11566 Initialise variable before using it and fix debug statement to
11567 print the address of the function rather than the address of the
11568 variable on the stack holding the address of the function.
11570 2006-09-01 Wim Taymans <wim@fluendo.com>
11572 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
11573 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
11574 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11575 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
11576 (gst_ghost_pad_parent_unset),
11577 (gst_ghost_pad_internal_do_activate_push),
11578 (gst_ghost_pad_internal_do_activate_pull),
11579 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11580 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11581 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11582 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
11583 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
11584 (gst_ghost_pad_new_no_target_from_template),
11585 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11587 Avoid needless typechecking in macros.
11588 Since the internal pad is always present and never changes, there is
11589 no need to locking or ref when retrieving it.
11590 Improve debugging a bit.
11591 Handle link errors when setting the target. Fixes #341029.
11593 2006-09-01 Wim Taymans <wim@fluendo.com>
11595 * docs/libs/gstreamer-libs-sections.txt:
11596 * docs/plugins/gstreamer-plugins-sections.txt:
11597 Fix docs some more.
11599 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11600 (gst_collect_pads_event):
11601 * libs/gst/base/gstcollectpads.h:
11602 Documentation updates.
11603 Free queued buffer when removing a pad.
11605 2006-08-31 Michael Smith <msmith@fluendo.com>
11607 * gst/gstutils.c: (gst_element_link_pads),
11608 (gst_element_link_pads_filtered):
11609 Ensure that we set a capsfilter to NULL if we failed to link it
11610 when doing filtered linking, to avoid criticals.
11612 No need to check for unreffing srcpad, which is explicly NULLed
11613 above (a trivial code cleanup).
11615 2006-08-31 Wim Taymans <wim@fluendo.com>
11617 * docs/design/part-gstghostpad.txt:
11618 Update ascii art in documentation.
11620 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
11621 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
11622 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
11623 (gst_ghost_pad_internal_do_activate_push),
11624 (gst_ghost_pad_internal_do_activate_pull),
11625 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11626 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11627 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
11628 (gst_ghost_pad_set_target):
11629 Small cleanups and leak fixes.
11630 Remove some checks now that the internal pad is never NULL.
11631 Fix the case where linking pads without a target would create nasty
11632 criticals. Fixes #341029.
11633 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
11634 value of _set_target().
11636 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11637 (gst_ghost_pad_suite):
11638 Some more tests for creating and linking untargeted ghostpads.
11640 2006-08-31 Edward Hervey <edward@fluendo.com>
11642 * docs/gst/gstreamer-sections.txt:
11643 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
11644 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
11645 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
11646 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
11647 (gst_ghost_pad_new_from_template),
11648 (gst_ghost_pad_new_no_target_from_template):
11649 * gst/gstghostpad.h:
11650 Refactored *_new() functions.
11651 Templates are now used as a g_object_new() parameter.
11652 Use template in _do_getcaps() if we don't have a target.
11653 Small documentation cleanups.
11654 Added two new constructors:
11655 gst_ghost_pad_new_from_template()
11656 gst_ghost_pad_new_no_target_from_template()
11657 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11658 (gst_ghost_pad_suite):
11659 Added tests for new ghostpad instanciation functions.
11661 API additions: gst_ghost_pad_new_from_template,
11662 gst_ghost_pad_new_no_target_from_template
11664 2006-08-30 Stefan Kost <ensonic@users.sf.net>
11666 * docs/random/ensonic/profiling.txt:
11667 Ideas about qos profiling.
11669 2006-08-29 Wim Taymans <wim@fluendo.com>
11671 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
11675 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
11678 Improve and detypofy docs.
11680 * tests/check/Makefile.am:
11681 * tests/check/gst/.cvsignore:
11682 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
11683 Add a basic test suite for GstXML.
11685 2006-08-29 Wim Taymans <wim@fluendo.com>
11687 * gst/gstelement.c: (activate_pads), (clear_caps),
11688 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
11689 Clear the pad caps when the element shut down all of the pads and
11690 is not streaming data that could modify the caps.
11693 2006-08-28 Michael Smith <msmith@fluendo.com>
11695 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11696 Revert previous change; I misunderstood single-segment mode.
11698 2006-08-28 Michael Smith <msmith@fluendo.com>
11700 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11701 Unset DISCONT on buffers when using single-segment mode.
11703 2006-08-28 Wim Taymans <wim@fluendo.com>
11705 * gst/gstcaps.c: (gst_caps_merge_structure):
11707 Fix docs and indentation again.
11709 * tests/check/gst/gstquery.c: (GST_START_TEST):
11710 Fix leak in tests and add some more tests.
11712 2006-08-28 Edward Hervey <edward@fluendo.com>
11714 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11715 Inform GstSegment of the last stop position in order for the current
11716 segment to have a proper duration if it doesn't have a specific stop
11717 position from which a duration could be calculated.
11718 This bug was noticeable when a non-flushing, non-update new segment was
11719 followed by another segment (all buffers from the new segment were being
11722 2006-08-28 Wim Taymans <wim@fluendo.com>
11724 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
11725 Small comment update.
11727 * plugins/elements/gstidentity.c: (gst_identity_class_init),
11728 (gst_identity_transform_ip):
11729 Drop-probability is broken, mention this in the code with a
11730 FIXME and also in the property description.
11731 Make silent also be silent about the drop messages.
11733 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
11735 * docs/manual/appendix-win32.xml:
11736 Remove mention of popt, we don't depend on that any
11737 longer (#353136). Add some comments pointing out that
11738 this section is slightly outdated.
11740 2006-08-28 Wim Taymans <wim@fluendo.com>
11742 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
11744 * gst/gstquery.c: (gst_query_new_segment):
11745 * tests/check/gst/gstquery.c: (GST_START_TEST):
11746 Initialize variables when creating a new segment query.
11749 2006-08-28 Wim Taymans <wim@fluendo.com>
11751 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
11753 * gst/gstelement.c: (gst_element_get_bus):
11754 * tests/check/gst/gstelement.c: (GST_START_TEST):
11755 Check for NULL before _reffing the bus. Fixes #353122.
11757 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
11759 * docs/manual/basics-bus.xml:
11760 Docs update: fix wrong callback return value explanation; add
11761 some lines about the implicit relationship between main loop
11762 and main context; remove duplicate main loop variable declaration.
11764 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
11766 * tests/check/gst/gstcaps.c: (GST_START_TEST):
11767 Don't leak caps in unit test; add a few more simple
11770 2006-08-24 Stefan Kost <ensonic@users.sf.net>
11772 * docs/gst/gstreamer-sections.txt:
11773 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
11774 (gst_caps_structure_is_subset), (gst_caps_merge),
11775 (gst_caps_merge_structure):
11777 * libs/gst/base/gstbasetransform.c:
11778 (gst_base_transform_transform_caps):
11779 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11780 implement caps merging (fixes #352580)
11782 2006-08-23 Stefan Kost <ensonic@users.sf.net>
11784 * tools/Makefile.am:
11785 * tools/gst-plot-timeline.py:
11786 add debug-log plotting developer tool (#340674)
11788 2006-08-23 Wim Taymans <wim@fluendo.com>
11790 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
11791 (gst_pad_stop_task):
11792 Improve debugging for task functions.
11794 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
11795 (gst_task_start), (gst_task_pause), (gst_task_join):
11796 Make sure that the task function started and finished after a
11798 Don't try to push the task function on the threadpool multiple
11800 Improve the g_warning message with some useful suggestions
11801 about how to fix the problem.
11803 2006-08-23 Wim Taymans <wim@fluendo.com>
11805 * gst/gstutils.c: (gst_pad_proxy_getcaps):
11806 Handle RESYNC correctly in _proxy_getcaps.
11808 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
11810 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
11811 (gst_xml_parse_memory), (gst_xml_get_element):
11812 Chain up to parent class in dispose function and also
11813 unref the elements in the toplevel_elements GList.
11814 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
11815 Always return a reference in gst_xml_get_element() rather
11816 than only sometimes.
11818 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11819 Don't leak GstXml object.
11821 2006-08-21 Stefan Kost <ensonic@users.sf.net>
11823 * docs/gst/gstreamer-sections.txt:
11824 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
11827 * libs/gst/base/gstbasetransform.c:
11828 (gst_base_transform_transform_caps):
11829 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
11832 2006-08-21 Edward Hervey <edward@fluendo.com>
11834 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
11835 Implement GObject::dispose virtual method in GstXML so we can free the
11836 top_elements GList.
11838 2006-08-21 Wim Taymans <wim@fluendo.com>
11840 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
11841 (gst_buffer_create_sub):
11842 Copy duration/offset_end/caps when creating a subbuffer of the
11844 Make the subbuffer read-only when we make the metadata writable for
11845 now. Fixes #351768.
11847 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11848 Added check for metadata copy when creating subbuffers.
11850 2006-08-21 Edward Hervey <edward@fluendo.com>
11852 * libs/gst/base/gstbasetransform.c:
11853 (gst_base_transform_buffer_alloc):
11854 Only call downstream buffer_alloc if transform element is passthrough
11855 or always_in_place. Closes #350449.
11857 2006-08-20 Stefan Kost <ensonic@users.sf.net>
11860 ChangeLog surgery to add comments to previous changes
11862 2006-08-20 Stefan Kost <ensonic@users.sf.net>
11867 * gst/gstpad.c: (gst_pad_set_active):
11868 Be more verbose in the log
11870 * libs/gst/base/gstbasetransform.c:
11871 (gst_base_transform_transform_caps):
11872 Simplify caps to get rid of duplicates, fixes #345444
11874 2006-08-20 Stefan Kost <ensonic@users.sf.net>
11878 Use these optimizations only internally.
11880 2006-08-20 Stefan Kost <ensonic@users.sf.net>
11882 * gst/gstvalue.c: (gst_value_compare_list),
11883 (gst_value_compare_fraction_range),
11884 (gst_value_intersect_fraction_fraction_range),
11885 (gst_value_intersect_fraction_range_fraction_range),
11886 (gst_value_subtract_fraction_fraction_range),
11887 (gst_value_subtract_fraction_range_fraction_range),
11888 (gst_value_get_compare_func), (gst_value_compare),
11889 (gst_value_compare_with_func):
11891 Saves the expensive lookup of the compare function in many cases
11894 2006-08-18 Edward Hervey <edward@fluendo.com>
11896 * tests/check/gst/gstinfo.c: (gst_info_suite):
11897 Disable test that require gstdebug if it wasn't built in core.
11899 2006-08-18 Stefan Kost <ensonic@users.sf.net>
11901 * docs/random/ensonic/logging.txt:
11904 * gst/gstinfo.c: (gst_debug_log_default):
11905 reorder fields, save some columns, add optional color codes for log
11908 2006-08-18 Stefan Kost <ensonic@users.sf.net>
11910 * docs/random/ensonic/logging.txt:
11911 add ideas about making the logs a bit more useful
11913 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
11915 * docs/pwg/advanced-events.xml:
11916 * docs/pwg/titlepage.xml:
11917 Update for 0.10 API (#340627). Add myself
11920 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
11922 * docs/libs/gstreamer-libs-docs.sgml:
11923 * docs/libs/gstreamer-libs-sections.txt:
11924 * libs/gst/check/gstbufferstraw.c:
11925 Make gstcheck stuff show up in docs (still needs to
11926 be documented properly though).
11928 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
11930 * docs/gst/gstreamer-sections.txt:
11932 * gst/gst.c: (init_post):
11933 * gst/gst_private.h:
11934 * gst/gstquark.c: (_priv_gst_quarks_initialize):
11936 * gst/gstquery.c: (gst_query_new_position),
11937 (gst_query_set_position), (gst_query_parse_position),
11938 (gst_query_new_duration), (gst_query_set_duration),
11939 (gst_query_parse_duration), (gst_query_new_convert),
11940 (gst_query_set_convert), (gst_query_parse_convert),
11941 (gst_query_new_segment), (gst_query_set_segment),
11942 (gst_query_parse_segment), (gst_query_new_seeking),
11943 (gst_query_set_seeking), (gst_query_parse_seeking):
11944 Add internal helpers for pre-registering quarks from static strings
11945 and using the quark values directly instead of looking them up when
11946 creating and parsing queries. Can be used for event construction too.
11949 2006-08-16 Wim Taymans <wim@fluendo.com>
11954 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
11956 * gst/gstutils.c: (gst_util_set_value_from_string):
11957 Fix memleak (#351502).
11959 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11960 Add unit test for most of gst_util_set_value_from_string()
11961 (not that one would want to encourage use of this function).
11963 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
11965 * libs/gst/check/gstcheck.h:
11966 Use const gchar * variables in fail_unless_equals_string
11967 macro to avoid compiler warnings (and don't use tabs for
11970 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
11972 * tools/gst-launch.c: (print_tag):
11973 More space on the left for the tag names, to cater
11974 for the 'extended comment' tag (not touching the
11975 string for the first line since it's translated).
11977 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
11979 * libs/gst/check/gstcheck.h:
11980 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
11981 print something when they fail.
11983 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
11985 * docs/gst/gstreamer-sections.txt:
11986 * gst/gsttaglist.c: (_gst_tag_initialize):
11987 * gst/gsttaglist.h:
11988 API: add GST_TAG_EXTENDED_COMMENT (#350935).
11989 Also change merge function for GST_TAG_COMMENT to
11992 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
11994 * gst/gstinfo.c: (gst_debug_print_object):
11995 Make GST_PTR_FORMAT print messages as well.
11997 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
11998 (GST_START_TEST), (gst_info_suite):
12001 2006-08-14 Edward Hervey <edward@fluendo.com>
12003 * gst/gstelementfactory.c: (gst_element_register):
12004 If the GstElementClass doesn't have a GstElementDetails with all fields
12005 filled up correctly (longname, description AND author), then error out
12006 nicely instead of crashing.
12008 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12010 * gst/gststructure.c:
12011 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12014 Expand on the difference between arrays and lists as we use them.
12016 2006-08-14 Wim Taymans <wim@fluendo.com>
12018 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12019 If the parent state change function failed, don't assume we can safely
12020 stop the source, this will be done when the pads are deactivated.
12022 2006-08-14 Wim Taymans <wim@fluendo.com>
12025 * gst/gsttask.c: (gst_task_join):
12028 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12029 (gst_pad_stop_task):
12030 When pad (de)activation failed for some reason, restore the old
12031 activation mode and set the pad to flushing instead of assuming the
12032 pad is deactivated.
12033 If the _task_join() failed, reinstall the task on the pad so that it can
12034 be stopped later and return an error.
12036 2006-08-11 Andy Wingo <wingo@pobox.com>
12039 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12040 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12041 is only for users of API that don't want to see deprecated
12042 functions in the headers; people that want to compile out
12043 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12044 CFLAGS. Fixes the build of multifdsink, or will soon..
12046 2006-08-11 Wim Taymans <wim@fluendo.com>
12048 * docs/gst/gstreamer-sections.txt:
12049 Add GstClockClass vmethod docs.
12052 Mark #endif with comment for associated #if
12054 * gst/gstclock.c: (gst_clock_id_wait):
12056 Add vmethod wait_jitter to avoid an unneeded _get_time() for
12057 most clock implementations.
12059 Flesh out docs about resolution methods.
12060 API: GstClockClass::wait_jitter
12062 * gst/gstsystemclock.c: (gst_system_clock_class_init),
12063 (gst_system_clock_async_thread),
12064 (gst_system_clock_id_wait_jitter_unlocked),
12065 (gst_system_clock_id_wait_jitter):
12066 Use base class wait_jitter variant for improved performance
12067 due to less clock polling.
12069 2006-08-11 Edward Hervey <edward@fluendo.com>
12071 * gst/gst.c: (gst_init_check), (init_post):
12072 Set gst as being initialized before scanning/updating the registry,
12073 since there might be my python plugin loader that calls gst_init() and
12074 we don't want to loop back in.
12077 2006-08-11 Wim Taymans <wim@fluendo.com>
12079 * docs/design/part-qos.txt:
12080 Bring docs in line with the code. Mostly the sign of the jitter was
12081 wrong in the docs. Fixes #349943.
12084 Fix the docs for the jitter.
12086 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12087 (gst_event_parse_tag), (gst_event_new_buffer_size),
12088 (gst_event_parse_buffer_size), (gst_event_parse_qos),
12089 (gst_event_new_seek), (gst_event_parse_seek),
12090 (gst_event_new_navigation):
12091 Make sure the GstStructure has no parent when creating custom
12093 Add some more argument checking so that we avoid 0.0 rates.
12094 Flesh out the docs for the QoS event some more.
12096 2006-08-11 Wim Taymans <wim@fluendo.com>
12098 * docs/gst/gstreamer-sections.txt:
12099 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
12100 (ensure_current_registry_forking), (ensure_current_registry),
12101 (parse_one_option), (parse_goption_arg), (gst_deinit),
12102 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
12105 Added API and command line option to disable registry forking in
12106 addition to the environment variable.
12107 Constify some static arrays.
12108 Added some more debug.
12109 Don't deinit twice.
12110 API: gst_registry_fork_is_enabled()
12111 API: gst_registry_fork_set_enabled()
12112 API: --gst-disable-registry-fork command line option
12115 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
12117 * gst/gst.c: (gst_init):
12118 Fix typo in error message.
12120 2006-08-10 Stefan Kost <ensonic@users.sf.net>
12122 * libs/gst/controller/gstcontroller.h:
12123 fix ABI size-correction
12125 * tests/check/libs/gdp.c: (gst_dp_suite):
12126 make tests that use deprecated API conditional
12128 2006-08-10 Stefan Kost <ensonic@users.sf.net>
12130 * docs/libs/gstreamer-libs-sections.txt:
12131 * libs/gst/controller/gstcontroller.c:
12132 (_gst_controller_get_property), (_gst_controller_set_property),
12133 (_gst_controller_init), (_gst_controller_class_init):
12134 * libs/gst/controller/gstcontroller.h:
12135 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
12136 (gst_object_set_control_rate):
12137 API: add gst_object_{s,g}et_control_rate(), add private data section,
12140 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12141 * libs/gst/dataprotocol/dataprotocol.h:
12142 add deprecation guards to make gtk-doc happy and allow disabling cruft
12144 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
12146 * tests/check/Makefile.am:
12147 * tests/check/gst/.cvsignore:
12148 Let's enable the new unit test as well.
12150 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
12153 * docs/gst/gstreamer-sections.txt:
12154 * gst/gstconfig.h.in:
12155 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
12156 (_gst_info_printf_extension_ptr),
12157 (_gst_info_printf_extension_segment):
12158 API: add GST_SEGMENT_FORMAT, which is a printf extension we
12159 register that lets us easily dump GstSegments into debug
12162 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
12163 (info_segment_format_printf_extension), (gst_info_suite):
12164 Add simple unit test that logs a bunch of different segments (not
12165 valgrinded at the moment because of leaks in
12166 gst_debug_add_log_function).
12168 2006-08-09 Edward Hervey <edward@fluendo.com>
12170 * libs/gst/base/gstbasetransform.c:
12171 (gst_base_transform_buffer_alloc):
12172 Even if we can't figure out the proper format to request downstream,
12173 call buffer_alloc() downstream with the input parameters without setting
12174 the caps on the srcpad. This will force negotiation in the chain
12178 2006-08-08 Edward Hervey <edward@fluendo.com>
12180 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12181 Unlinking from a pad without a target is now a perfectly valid case
12182 which should NOT raise an assertion.
12183 This case would happen if a linked ghostpad its target set to NULL after
12184 it was previously linked.
12186 2006-08-08 Edward Hervey <edward@fluendo.com>
12188 * tests/check/libs/gdp.c:
12189 Also comment out the test (see below).
12191 2006-08-08 Edward Hervey <edward@fluendo.com>
12193 * tests/check/libs/gdp.c: (gst_dp_suite):
12194 Use the architecture information from config.h and not gcc macros
12195 in order to properly disable a test that fails on PPC64.
12197 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
12199 * gst/gstelement.c: (gst_element_remove_pad):
12200 Don't crash printing the warning if the pad has no parent.
12202 2006-08-02 Wim Taymans <wim@fluendo.com>
12204 * libs/gst/dataprotocol/dataprotocol.c:
12205 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12206 (gst_dp_crc), (gst_dp_header_payload_length),
12207 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
12208 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
12209 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
12210 (gst_dp_event_from_packet), (gst_dp_validate_header),
12211 (gst_dp_validate_payload):
12212 Make debug category static
12213 Constify the crc table.
12214 Do some more arg checking in public functions.
12215 Fix some docs and do some small cleanups.
12217 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
12218 Add some more checks to see if GDP deals with bogus input.
12220 2006-07-31 Wim Taymans <wim@fluendo.com>
12222 * gst/gstvalue.c: (gst_value_compare_list):
12223 Fix GstValueList comparison code. Fixes #347293.
12225 * tests/check/gst/gstvalue.c: (GST_START_TEST):
12226 Check to test GstValueList comparison.
12228 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
12230 * gst/gstelementfactory.c: (gst_element_factory_create):
12231 Remove unnecessary ref/unref pair
12233 * gst/parse/grammar.y:
12234 Make sure to free the parse buffer on all code paths.
12235 Move a g_free up to the error handler where it's easier to see.
12237 * tests/check/gst/gstevent.c: (test_event):
12238 Extending timeout for downstream travelling events to 10 seconds to
12239 hopefully avoid intermittent failure on the buildbots.
12241 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
12242 Don't manually set the state of the src element - it will happen as a
12243 natural consequence of the pipeline changing state, and that way it
12244 will do it in the right order too.
12246 2006-07-31 Wim Taymans <wim@fluendo.com>
12248 * libs/gst/base/gstbasetransform.c:
12249 (gst_base_transform_buffer_alloc):
12250 Use OBJECT_LOCK and refcounting to get the pad caps in the
12251 buffer_alloc function because the caps could change while we are
12252 busy with them. Fixes #349105
12254 2006-07-31 Wim Taymans <wim@fluendo.com>
12256 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
12257 Protect _PAD_CAPS with OBJECT_LOCK.
12259 2006-07-31 Wim Taymans <wim@fluendo.com>
12261 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12262 (gst_pad_get_property), (gst_pad_activate_pull),
12263 (gst_pad_activate_push), (gst_pad_set_blocked_async),
12264 (gst_pad_set_activate_function),
12265 (gst_pad_set_activatepull_function),
12266 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
12267 (gst_pad_set_getrange_function),
12268 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
12269 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12270 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
12271 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
12272 (gst_pad_set_acceptcaps_function),
12273 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12274 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
12275 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
12276 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
12277 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
12278 (gst_pad_configure_sink), (gst_pad_configure_src),
12279 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
12280 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
12281 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
12282 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
12283 (gst_pad_send_event):
12284 Use _DEBUG_OBJECT when it makes sense.
12285 Protect GST_PAD_CAPS with the OBJECT_LOCK.
12286 Small cleanups and code reflows.
12287 Avoid caps refcounting in _accept_caps.
12288 Refactor alloc_buffer so that the code performed on the peer is in a
12289 separate function. Also if the pad does not implement a buffer alloc
12290 function, we should still check if the pad is flushing before falling
12291 back to the default allocator.
12293 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
12295 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12296 Make all uses of identity and fakesink have silent=true to avoid
12297 serialising every passing data structure, which is breaking tests
12298 on FC4 for some unknown reason.
12300 2006-07-30 Stefan Kost <ensonic@users.sf.net>
12302 * gst/parse/Makefile.am:
12303 * gst/parse/grammar.y:
12304 * gst/parse/parse.l:
12305 Reverted previous patch as it required to bump the flex dependency to
12306 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
12308 2006-07-30 Stefan Kost <ensonic@users.sf.net>
12310 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
12312 * gst/parse/Makefile.am:
12313 * gst/parse/grammar.y:
12314 * gst/parse/parse.l:
12315 push & pop the state of the lexer for reentrant use case
12318 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
12320 * libs/gst/base/gstbasesrc.h:
12321 Note in the docs that the ::newsegment vfunc is not actually used by
12324 2006-07-28 Wim Taymans <wim@fluendo.com>
12326 * libs/gst/base/gstcollectpads.c:
12327 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
12328 (gst_collect_pads_clear), (gst_collect_pads_flush),
12329 (gst_collect_pads_event), (gst_collect_pads_chain):
12330 When flushing a pad, also clear the queued buffer so that we don't
12331 accidentally use it when we shouldn't.
12332 Fix leaks by inreffing incomming buffer.
12333 Flush out queued buffers in case of errors.
12336 2006-07-28 Wim Taymans <wim@fluendo.com>
12338 * docs/random/phonon-gst:
12339 Random notes about a Phonon backend.
12341 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
12343 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12345 * tests/check/libs/gdp.c: (gst_dp_suite):
12346 Take a whack at fixing the ppc compile using a different define to
12347 disable the broken test.
12349 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12350 Remove excess g_print()
12352 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
12354 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
12355 Oops, meant to uncomment this line too to dampen the noise a bit.
12357 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
12359 * gst/parse/grammar.y:
12360 * gst/parse/parse.l:
12361 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
12362 (GST_START_TEST), (parse_suite):
12363 Fix some of the leaks exposed by extending the parse-launch testsuite,
12364 and move the 3 I can't figure out into a separate test that won't run
12365 the pipelines unless the appropriate line is uncommented.
12367 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
12369 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12370 Requesting 0 bytes before the end of the file should result in
12371 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
12374 2006-07-27 Wim Taymans <wim@fluendo.com>
12376 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
12377 Fix useless assert, a uint is always positive.
12379 * gst/gststructure.c: (gst_structure_nth_field_name),
12380 (gst_structure_foreach), (gst_structure_map_in_place):
12381 Check input arguments for public functions to avoid obvious crashes.
12383 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
12384 * plugins/elements/gstfakesink.h:
12385 Do less useless typechecking.
12387 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
12389 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
12390 Do not use mmap() by default since there are a number of error
12391 conditions that we would like to handle in a non-fatal way that
12392 will result in a SIGBUS if we use mmap(). Examples: external
12393 devices (USB harddrive, portable music player) being unplugged
12394 while in use; file on mounted CD/DVD that can't be read because
12395 the medium is partly damaged. Fixes #348455 and #348475.
12397 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
12400 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
12401 rates are a gdouble
12403 2006-07-26 Stefan Kost <ensonic@users.sf.net>
12405 * gst/gstregistry.c:
12406 Move big documentation comment into class section header, so that it
12407 appears in the API docs.
12409 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
12411 * docs/gst/gstreamer-sections.txt:
12412 Oops. Commit the docs additions too for new API.
12413 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
12415 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
12417 * gst/gststructure.c: (gst_structure_id_set),
12418 (gst_structure_id_set_valist):
12419 * gst/gststructure.h:
12420 Add API for setting values into structures without performing
12421 a quark lookup, if the appropriate quark is already known.
12423 API: gst_structure_id_set
12424 API: gst_structure_id_set_valist
12426 * gst/parse/grammar.y:
12427 * gst/parse/parse.l:
12428 Remove some dead code shown by the coverage information.
12429 Don't throw a critical g_warning when encountering a syntax error,
12430 just warn and let the normal error path handle it.
12432 * plugins/elements/gstelements.c:
12433 Bump the rank of filesink up to PRIMARY so that it is preferred over
12434 gnomevfssink for file:// sink uri's
12436 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
12437 (GST_START_TEST), (run_delayed_test),
12438 (gst_parse_test_element_base_init),
12439 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
12440 (gst_parse_test_element_change_state),
12441 (gst_register_parse_element), (parse_suite):
12442 Beef up the tests for parse syntax to check that more error cases
12443 fail as they are supposed to. Increases the test coverage a bit.
12445 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
12447 * docs/manual/basics-elements.xml:
12448 Fix gst_element_link() example.
12451 Mention in API docs that one should usually gst_bin_add()
12452 elements to a bin or pipeline before doing the linking.
12454 2006-07-26 Wim Taymans <wim@fluendo.com>
12456 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
12457 (gst_subbuffer_get_type), (gst_buffer_create_sub):
12458 Avoid function call for known types by keeping the buffer and
12459 subbuffer GType global.
12461 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12462 Random silly optimisations in read() path.
12464 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
12466 * tools/gst-launch.c: (main):
12467 If the top-level of the parse is a normal bin, it doesn't do the
12468 right logic to run as a top-level element, so place it inside a
12471 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
12473 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
12474 Remove superfluous g_object_notify() calls, GObject does
12475 that for us automatically.
12477 2006-07-25 Stefan Kost <ensonic@users.sf.net>
12480 on Win32, use dllspec to export the debug category symbols
12482 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
12484 * gst/gsttaglist.c: (_gst_tag_initialize):
12485 Allow more than one GST_TAG_IMAGE per taglist.
12487 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
12489 * gst/gstminiobject.c:
12491 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
12492 (gst_fd_src_create):
12493 log recurring events at LOG level
12494 add more debug for when the fd gets set
12496 2006-07-21 Stefan Kost <ensonic@users.sf.net>
12498 * gst/gstparse.c: (gst_parse_launch):
12499 Also remove reentrance checks if flex is MT safe (#348179)
12500 Fix my empty ChangeLog entry below
12502 2006-07-21 Andy Wingo <wingo@pobox.com>
12504 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
12506 * libs/gst/check/Makefile.am
12507 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
12508 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
12509 * libs/gst/check/gstbufferstraw.h:
12510 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
12511 functions, thus proving I am still a GStreamer haxor. OK I wrote
12512 them a long time ago, but anyways.
12514 2006-07-21 Stefan Kost <ensonic@users.sf.net>
12517 * gst/gstparse.c: (gst_parse_launch):
12518 Check for flex version and omit mutex if we have a MT save flex
12521 2006-07-21 Wim Taymans <wim@fluendo.com>
12523 * gst/gstparse.c: (gst_parse_launch):
12524 Protect recursive calls to _parse with a recursive mutex
12527 2006-07-21 Wim Taymans <wim@fluendo.com>
12529 * tests/check/gst/gstpad.c: (GST_START_TEST):
12532 2006-07-20 Stefan Kost <ensonic@users.sf.net>
12534 * gst/gstparse.c: (gst_parse_launch):
12535 Do not hang on recursive usage of gst_parse_launch()
12537 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
12539 * gst/gsttaglist.c:
12540 Add some more docs, comments and FIXME 0.11s here and there
12541 and also fix some typos.
12543 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
12545 * gst/gstsegment.h:
12546 Convert tabs to spaces for better readability.
12548 2006-07-20 Edward Hervey <edward@fluendo.com>
12550 * tests/check/libs/gdp.c: (gst_dp_suite):
12551 the test_buffer test fails at line 140 on ppc64 at the following
12553 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
12554 GST_BUFFER_FLAG_IN_CAPS),
12555 "GST_BUFFER_IN_CAPS flag should have been copied !");
12556 See bug #348114 for more details.
12558 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
12560 * docs/pwg/advanced-scheduling.xml:
12562 Fix typos (#348000).
12564 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
12566 * docs/pwg/intro-basics.xml:
12567 Fix wrong links (#347927).
12569 2006-07-18 Stefan Kost <ensonic@users.sf.net>
12571 * gst/gstregistry.h:
12572 * gst/gstregistryxml.c: (load_feature),
12573 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
12574 * win32/common/config.h:
12575 make --disable-index work (#342564)
12577 2006-07-18 Wim Taymans <wim@fluendo.com>
12579 Patch by: Peter Kjellerstedt <pkj at axis dot com>
12583 The attached patch adds two missing defines to gsttrace.h when tracing
12584 is disabled. It also corrects one existing define.
12587 2006-07-17 Wim Taymans <wim@fluendo.com>
12589 * docs/gst/gstreamer-sections.txt:
12590 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
12592 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
12593 Add two functions to check and change the SIGSEGV behaviour
12594 when loading plugins.
12595 Don't mess with the SIGSEGV handler when we were told not to.
12597 API: gst_segtrap_is_enabled
12598 API: gst_segtrap_set_enabled
12600 2006-07-14 Wim Taymans <wim@fluendo.com>
12602 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
12603 * tests/check/elements/filesrc.c: (GST_START_TEST):
12604 Revert fix for regression in #347408 after release.
12606 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
12608 Patch by: Antoine Tremblay <hexa00 at gmail com>
12610 * gst/gstutils.c: (gst_element_unlink):
12611 Free iterator when done (#347311).
12613 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12614 And add a test case for this.
12616 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
12619 Bump nano back to CVS
12621 === release 0.10.9 ===
12623 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
12626 releasing 0.10.9, "On the road again"
12628 2006-07-13 Wim Taymans <wim@fluendo.com>
12630 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
12631 * tests/check/elements/filesrc.c: (GST_START_TEST):
12632 Revert pull-0 fix for release. Disable check. Fixes #347408.
12634 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
12636 * libs/gst/dataprotocol/dataprotocol.c:
12637 (gst_dp_event_from_packet_1_0):
12638 Fixes #347337: failure to deserialize event packets with
12639 empty payload (only event type)
12641 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
12644 do not install a .c file in the header directory
12646 2006-07-13 Edward Hervey <edward@fluendo.com>
12648 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
12649 GhostPad no longer implicitely use the padtemplates of the targets.
12652 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
12654 * gst/gstvalue.c: (gst_value_compare_list),
12655 (gst_value_compare_array), (_gst_value_initialize):
12656 * tests/check/gst/gstvalue.c: (GST_START_TEST):
12657 Make GstValueArray comparison be order dependent as designed.
12658 Add checks for value lists and value array comparisons.
12661 2006-07-11 Edward Hervey <edward@fluendo.com>
12663 * gst/gstbin.c: (activate_pads),
12664 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
12665 (gst_bin_change_state_func):
12666 (de)activate src pads before calling state_change on the childs.
12667 This is to avoid the case where a src ghostpad is blocked (holding the
12668 stream lock), which would block the deactivation of the ghostpad's
12670 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
12671 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
12672 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
12673 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12674 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12675 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12676 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12677 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
12678 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
12679 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12680 (gst_ghost_pad_class_init),
12681 (gst_ghost_pad_internal_do_activate_push),
12682 (gst_ghost_pad_internal_do_activate_pull),
12683 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12684 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12685 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
12686 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
12687 GhostPads now create their internal GstProxyPad at creation (and not
12688 when they're linked, as it was being done previously).
12689 The internal and target pads are linked straight away.
12690 The data will also travel through the other pad in order to make
12691 pad blocking and probes non-hackish (the probe/block now really happens
12692 on the GhostPad and not on the target).
12693 * gst/gstpad.c: (gst_pad_set_blocked_async),
12694 (gst_pad_link_prepare), (gst_pad_push_event):
12695 Remove previous ghostpad cruft.
12696 * gst/gstutils.c: (gst_pad_add_data_probe),
12697 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12698 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12699 (gst_pad_remove_buffer_probe):
12700 Remove previous ghost pad cruft.
12701 Added more detailed debug statements.
12702 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12703 Fix the testsuite for refcounting changes.
12704 The comments about who has references were correct, but the refcount
12705 being checked wasn't the same (!?!).
12709 2006-07-10 Stefan Kost <ensonic@users.sf.net>
12711 * docs/gst/gstreamer-sections.txt:
12712 * gst/gstconfig.h.in:
12713 More docs for configuration options, add docs to gtk-doc.
12715 2006-07-10 Stefan Kost <ensonic@users.sf.net>
12718 * gst/gstconfig.h.in:
12719 * win32/common/config.h:
12720 Fix build when disabling tracing (fixes #344016). Also start to document
12721 the defines that disable the sub-systems.
12723 2006-07-10 Edward Hervey <edward@fluendo.com>
12725 * gst/gst.c: (ensure_current_registry_forking):
12726 let's make valgrind happy...
12728 2006-07-09 Wim Taymans <wim@fluendo.com>
12730 * gst/gstelement.c: (activate_pads),
12731 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12732 Better pad activation code: Reset the collect value too on resync.
12735 2006-07-09 Wim Taymans <wim@fluendo.com>
12737 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
12738 (gst_pad_activate_push):
12739 Use some more macros where it makes sense.
12740 Allow pad mode switching instead of asserting. When a pad
12741 is activated in one mode and we activate it in another,
12742 deactivate it first before activating it in a different mode.
12745 2006-07-08 Andy Wingo <wingo@pobox.com>
12747 * tools/gst-launch.c (main): Handle err == NULL.
12749 * gst/gst.c (init_post, ensure_current_registry)
12750 (ensure_current_registry_forking)
12751 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
12752 factoring out the registry scanning into separate functions. Don't
12753 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
12754 Better environment var name/interface suggestions accepted.
12756 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
12758 * gst/gstobject.c: (gst_object_set_name_default),
12759 (gst_object_set_name):
12760 Random micro-optimisation: don't use a hash table
12761 with strings as keys and the usual strdup/strcmp
12762 involved, but rather just use the GQuark of the
12763 type name as key, since it needs to be looked up
12764 anyway to get the type name string.
12766 * tests/check/gst/gstobject.c: (GST_START_TEST):
12769 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
12771 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
12772 (gst_bin_iterate_all_by_interface):
12773 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
12774 GTypes are gulongs and thus the top 4 bytes might be cut
12775 off on some platforms when doing GPOINTER_TO_INT, leading
12776 to invalid GTypes and bad things happening (see RH bug #179654).
12777 Also add a check to make sure the type passed in is really
12780 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
12785 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
12789 * gst-element-check.m4:
12790 * gst-element-check.m4.in:
12791 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
12792 instead of the unversioned gst-inspect (#324176, #168659).
12794 2006-07-06 Wim Taymans <wim@fluendo.com>
12796 * gst/gstmessage.h:
12797 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
12800 2006-07-06 Wim Taymans <wim@fluendo.com>
12802 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12803 (gst_base_src_wait), (gst_base_src_update_length),
12804 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
12805 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
12806 (gst_base_src_loop), (gst_base_src_start),
12807 (gst_base_src_activate_pull):
12809 blocksize == 0 now means the default blocksize when working in push
12811 Remove some pointless asserts in _wait function.
12812 Fix offset/length calculations and EOS handling. We can now pull 0
12813 bytes as well, which is allowed.
12814 use _check_get_range() to decide if we can operate in _pull based
12816 Fix refcounting leak when check_get_range function was not
12818 API GstBaseSrc::blocksize range can be 0 too now (default)
12820 * tests/check/elements/filesrc.c: (GST_START_TEST),
12822 Added check to test _get_range() behaviour.
12824 2006-07-06 Wim Taymans <wim@fluendo.com>
12826 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
12827 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
12828 (gst_pad_pull_range):
12830 Lots of comments and docs added to the pad functions.
12831 Flesh out the expected behaviour of the get_range() functions.
12833 2006-07-06 Wim Taymans <wim@fluendo.com>
12838 * gst/gstiterator.h:
12842 Remove comma at end of enumerator list.
12844 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
12846 * win32/common/libgstbase.def:
12847 * win32/common/libgstdataprotocol.def:
12848 * win32/common/libsgtreamer.def:
12849 Add new exported functions.
12851 2006-07-05 Wim Taymans <wim@fluendo.com>
12853 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
12854 Add some more docs here and there.
12856 2006-07-05 Wim Taymans <wim@fluendo.com>
12858 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
12859 (gst_base_sink_loop), (gst_base_sink_get_position):
12860 When operating in pull mode update the offset so that we
12863 2006-07-05 Wim Taymans <wim@fluendo.com>
12865 * gst/gstregistryxml.c: (read_string):
12866 Avoid strdup. (will happen in libxml, but hey!)
12869 Add some more docs.
12871 2006-07-05 Wim Taymans <wim@fluendo.com>
12873 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
12874 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
12875 (gst_buffer_suite):
12876 No point in checking if the size of the subbuffer > 0, the
12877 code handles it correclty as demonstrated by unit test.
12878 Also add a unit test for the zero sized _new_and_alloc and
12879 _copy. Fixes #346663.
12881 2006-07-05 Wim Taymans <wim@fluendo.com>
12883 * libs/gst/base/gstbasetransform.c:
12884 (gst_base_transform_prepare_output_buffer),
12885 (gst_base_transform_buffer_alloc),
12886 (gst_base_transform_handle_buffer):
12887 Make sure the buffer we pass to transform_ip has a refcount of
12888 1 and thus is writable. Fixes #343196
12890 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
12892 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
12893 (gst_file_src_init), (gst_file_src_set_property),
12894 (gst_file_src_get_property), (gst_file_src_map_region):
12895 * plugins/elements/gstfilesrc.h:
12896 Add "sequential" property, off by default, to use madvise and hint
12897 to the kernel that sequential access is desired.
12898 Touch all retrieved pages by default to ensure they are pulled
12899 into memory. (Closes #345720)
12901 2006-07-03 Wim Taymans <wim@fluendo.com>
12903 * docs/design/part-block.txt:
12904 * docs/design/part-dynamic.txt:
12905 Small docs updates.
12907 2006-07-03 Wim Taymans <wim@fluendo.com>
12909 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
12910 (gst_caps_unref), (gst_static_caps_get),
12911 (gst_caps_append_structure):
12912 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
12913 Use GSlice when the glib we build against is >= 2.10
12915 2006-07-03 Wim Taymans <wim@fluendo.com>
12917 * gst/gstelement.c: (gst_element_pads_activate):
12918 Small cleanup in pad activation code.
12920 2006-07-03 Wim Taymans <wim@fluendo.com>
12922 Patch by: Peter Kjellerstedt <pkj at axis dot com>
12924 * gst/gst-i18n-app.h:
12925 * gst/gst-i18n-lib.h:
12926 * tools/gst-inspect.c: (print_signal_info):
12927 The attached patch will make the inclusion of gettext.h unconditional in
12928 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
12929 libintl.h in tools/gst-inspect.c.
12930 This allows use of --disable-nls again and fixes #344642.
12932 2006-07-03 Edward Hervey <edward@fluendo.com>
12934 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
12935 Implement pad blocking on events according to part-block.txt.
12936 More comments on behaviour.
12937 * tests/check/gst/gstevent.c: (test_event):
12938 Send event to peer pad of blocked pad (else it will block).
12940 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
12942 * libs/gst/check/gstcheck.c: (gst_check_message_error),
12943 (gst_check_run_suite):
12944 if we get the wrong message, give us the types as string
12945 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
12947 * tests/check/elements/filesrc.c: (GST_START_TEST):
12948 add a test for trying to open a non-existing file
12950 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
12952 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12953 add a test for adding self
12955 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
12957 * libs/gst/check/gstcheck.h:
12958 add some assert_ as alias for fail_unless_*
12959 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
12960 increase test coverage
12962 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
12965 include lcov.mak for lcov coverage generation
12966 * tools/Makefile.am:
12969 2006-07-02 Edward Hervey <edward@fluendo.com>
12971 * tests/check/elements/.cvsignore:
12974 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
12977 don't set CFLAGS and friends for gcov, done from GST_GCOV now
12978 * tests/check/Makefile.am:
12979 clean up gcov files
12981 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
12983 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
12984 remove gst_caps_simplify; it was not declared and not used
12985 and deprecated in 0.8
12987 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
12989 * docs/faq/gst-uninstalled:
12990 don't put empty paths on PYTHONPATH
12991 * docs/gst/gstreamer-sections.txt:
12992 remove some symbols that are not there
12994 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
12996 * gst/gstcaps.c: (gst_caps_compare_structures):
12998 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12999 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13002 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13004 * libs/gst/dataprotocol/Makefile.am:
13005 build dataprotocol test by linking to the lib, instead of
13006 compiling the source, so we get coverage
13007 * tests/check/Makefile.am:
13008 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13009 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13010 add a test for filesrc
13012 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13014 * tests/check/gst/gststructure.c: (GST_START_TEST),
13015 (gst_structure_suite):
13016 Push coverage from 59.04% to 70.00%
13018 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13020 * tests/check/Makefile.am:
13021 gst-inspect every element; this makes sure that we also get
13022 coverage on element's get/set functions
13024 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13027 set CFLAGS and friends to -O0 if gcov is being used
13030 * libs/gst/base/Makefile.am:
13031 * libs/gst/check/Makefile.am:
13032 * libs/gst/controller/Makefile.am:
13033 * libs/gst/dataprotocol/Makefile.am:
13034 * libs/gst/net/Makefile.am:
13035 * plugins/elements/Makefile.am:
13036 * plugins/indexers/Makefile.am:
13037 add makefile rules to generate gcov data and clean up
13038 * tests/check/Makefile.am:
13039 add a coverage target that generates an html overview
13042 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13044 * tests/check/elements/fakesink.c:
13045 * tests/check/elements/fakesrc.c:
13046 * tests/check/elements/fdsrc.c:
13047 * tests/check/elements/identity.c:
13048 * tests/check/generic/sinks.c: (gst_sinks_suite):
13049 * tests/check/generic/states.c:
13050 * tests/check/gst/gst.c:
13051 * tests/check/gst/gstabi.c:
13052 * tests/check/gst/gstbin.c:
13053 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13054 * tests/check/gst/gstbus.c: (gst_bus_suite):
13055 * tests/check/gst/gstcaps.c: (GST_START_TEST):
13056 * tests/check/gst/gstelement.c:
13057 * tests/check/gst/gstevent.c: (gst_event_suite):
13058 * tests/check/gst/gstghostpad.c:
13059 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13060 * tests/check/gst/gstmessage.c: (gst_message_suite):
13061 * tests/check/gst/gstminiobject.c:
13062 * tests/check/gst/gstobject.c:
13063 * tests/check/gst/gstpad.c:
13064 * tests/check/gst/gstpipeline.c:
13065 * tests/check/gst/gstplugin.c:
13066 * tests/check/gst/gstquery.c: (gst_query_suite):
13067 * tests/check/gst/gstsegment.c: (gst_segment_suite):
13068 * tests/check/gst/gststructure.c:
13069 * tests/check/gst/gstsystemclock.c:
13070 * tests/check/gst/gsttag.c:
13071 * tests/check/gst/gsttask.c: (gst_task_suite):
13072 * tests/check/gst/gstutils.c:
13073 * tests/check/gst/gstvalue.c:
13074 * tests/check/libs/adapter.c:
13075 * tests/check/libs/basesrc.c:
13076 * tests/check/libs/collectpads.c:
13077 * tests/check/libs/controller.c:
13078 * tests/check/libs/gdp.c: (gst_dp_suite):
13079 * tests/check/libs/gstnetclientclock.c:
13080 * tests/check/libs/gstnettimeprovider.c:
13081 * tests/check/libs/libsabi.c: (libsabi_suite):
13082 * tests/check/libs/typefindhelper.c:
13083 * tests/check/pipelines/cleanup.c:
13084 * tests/check/pipelines/parse-launch.c:
13085 * tests/check/pipelines/simple-launch-lines.c:
13086 * tests/check/pipelines/stress.c: (stress_suite):
13089 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13091 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
13092 * libs/gst/check/gstcheck.h:
13093 create a macro and function so that the simple unit test
13094 case can be just one macro to create main()
13096 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
13098 * gst/gstbin.c: (gst_bin_restore_thyself):
13099 * gst/gstxml.c: (gst_xml_make_element):
13100 Fix deserialisation from XML. Set parent manually
13101 instead of using gst_bin_add(), since gst_bin_add()
13102 will unlink all pads of the element being added.
13105 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
13107 Patch by: Peter Kjellerstedt <pkj at axis com>
13109 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
13110 Fix missing g_strdup() and double free when using the
13111 --gst-plugin-load command line option (#346097).
13113 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
13116 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
13118 * libs/gst/net/gstnetclientclock.c:
13119 * libs/gst/net/gstnettimeprovider.c:
13120 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
13122 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
13124 * docs/manual/advanced-dataaccess.xml:
13125 Fix buffer probe example compilation in
13128 2006-06-22 Edward Hervey <edward@fluendo.com>
13130 * gst/gstelement.c: (gst_element_pads_activate):
13131 We need to deactivate src pads first and then sink pads.
13132 The reason is the src pads might be blocking while holding the streaming
13133 lock, so we need to deactivate them first so that deactivating the sink
13134 pads doesn't block (since it will require the streaming lock).
13136 2006-06-22 Wim Taymans <wim@fluendo.com>
13138 * libs/gst/base/gstbasetransform.c:
13139 (gst_base_transform_buffer_alloc):
13140 Forgot to remove two unneeded unrefs.
13141 Simplify a check _is_equal allready checks the obvious case.
13143 2006-06-22 Wim Taymans <wim@fluendo.com>
13145 * docs/design/part-block.txt:
13146 Some docs about what pad_block should do.
13148 2006-06-22 Wim Taymans <wim@fluendo.com>
13150 * gst/gstcaps.c: (gst_caps_replace):
13151 Fix crasher when passed NULL. Doc clarification.
13152 Optimize for the trivial case.
13154 * gst/gstpipeline.c: (gst_pipeline_change_state):
13157 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13158 Small documentation cleanup.
13160 * libs/gst/base/gstbasetransform.c:
13161 (gst_base_transform_buffer_alloc):
13162 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
13163 is what we need and it avoids a whole lot of redundant
13164 refcount operations.
13166 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
13168 Patch by: Philip Jägenstedt <philip at lysator liu se>
13170 * docs/manual/advanced-dataaccess.xml:
13171 Fix 'Embedding static elements' section to use
13172 GST_PLUGIN_DEFINE_STATIC (#345607).
13174 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
13176 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
13177 Attempt to 'fix' spuriously failing test case: it seems like the
13178 timeout of half a second is simply too small when the system is under
13179 load otherwise, and the timeout doesn't really seem to serve any
13180 particular purpose here. Give the pipeline a few seconds to preroll
13181 first, and then give it another half a second to go from PAUSED to
13182 PLAYING and marshal the message into the main thread.
13184 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
13186 * tools/gst-feedback-m.m:
13187 Don't only use unversioned tools, try versioned tools as well
13190 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
13192 * gst/gstbus.c: (gst_bus_class_init):
13193 Fix some typos, make docs more explicit.
13195 2006-06-20 Wim Taymans <wim@fluendo.com>
13197 * tests/check/gst/gstghostpad.c: (block_callback),
13198 (GST_START_TEST), (gst_ghost_pad_suite):
13199 Added some more ghostpad tests, mainly blocking
13202 2006-06-16 Wim Taymans <wim@fluendo.com>
13204 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
13205 (gst_file_sink_close_file), (gst_file_sink_do_seek),
13206 (gst_file_sink_event), (gst_file_sink_render):
13207 * plugins/elements/gstfilesink.h:
13208 Check if we can seek in the file instead of assuming
13209 we always can. Post an error when we are asked to seek in a
13210 non-seekable file (like a fifo). Fixes #343312.
13213 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
13215 * tools/gst-launch.1.in:
13216 Un-garble (fourcc) bit in filtered caps section.
13218 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
13220 * docs/manual/advanced-autoplugging.xml:
13221 * docs/manual/basics-helloworld.xml:
13222 * docs/manual/highlevel-components.xml:
13223 Don't leak bus reference in sample code.
13225 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
13228 Add default for new --enable-plugin-docs switch.
13231 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
13234 * docs/Makefile.am:
13235 Use new ENABLE_PLUGIN_DOCS conditional.
13237 2006-06-14 Wim Taymans <wim@fluendo.com>
13239 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
13240 Make it clear with a FIXME and a real define what the #if 0
13241 previously disabled.
13243 2006-06-14 Wim Taymans <wim@fluendo.com>
13245 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13246 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13247 * libs/gst/base/gstbasetransform.c:
13248 (gst_base_transform_sink_eventfunc):
13249 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13250 Don't randomly and silently reset a segment when the format
13251 changes as this is a bug somewhere upstream. Fixes #330379.
13253 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
13255 Patch by: Wouter Paesen <wouter at kangaroot net>
13257 * libs/gst/controller/gstcontroller.c:
13258 (gst_controlled_property_new):
13259 Fix controlling of float properties (#344849).
13261 * tests/check/libs/controller.c:
13262 (gst_test_mono_source_get_property),
13263 (gst_test_mono_source_set_property),
13264 (gst_test_mono_source_class_init), (GST_START_TEST):
13265 While we're at it, add some float stuff to unit test.
13267 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
13270 * docs/images/gdp-header.svg:
13272 * docs/libs/Makefile.am:
13273 * docs/libs/gdp-header.png:
13274 * libs/gst/dataprotocol/dataprotocol.c:
13275 add it to the API docs
13276 * docs/manual/intro-motivation.xml:
13279 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
13281 * gst/gst.c: (scan_and_update_registry), (init_post):
13282 If the fork()'ed child process can't write the updated registry cache
13283 file to disk for some reason, make it exit with a failure exit code,
13284 so that the parent can then re-scan the plugins itself and update the
13285 registry structures in memory and work with that (rather than failing
13286 when creating elements because seemingly no plugins are available).
13287 Refactor registry scanning code into separate function for this and
13288 also separate fork() and non-fork() code paths. Fixes #344748.
13290 2006-06-13 Wim Taymans <wim@fluendo.com>
13292 * docs/manual/advanced-dataaccess.xml:
13293 Fix wrong PluginDesc. Fixes #344755.
13295 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
13297 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
13298 Fix silly bug that prevented us from creating
13299 ~/.gstreamer-0.10 and writing the registry in one
13300 go (the first call to g_mkstemp() would overwrite the
13301 placeholder in the template string, so the second call
13302 to g_mkstemp() after creating the missing directory
13303 would then error out with 'invalid argument').
13305 2006-06-13 Edward Hervey <edward@fluendo.com>
13307 * gst/gst.c: (init_post):
13310 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
13312 * gst/glib-compat-private.h:
13313 * gst/glib-compat.c:
13314 * gst/glib-compat.h:
13315 * gst/gstvalue.c: (gst_value_serialize_flags):
13316 remove GLib 2.6 compatibility code
13318 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
13320 * gst/parse/Makefile.am:
13321 Fix build with 'make -j N' even more (#340016).
13323 2006-06-12 Wim Taymans <wim@fluendo.com>
13325 * docs/gst/gstreamer-sections.txt:
13328 2006-06-12 Wim Taymans <wim@fluendo.com>
13330 * gst/gstsegment.c: (gst_segment_set_duration),
13331 (gst_segment_set_last_stop), (gst_segment_set_seek),
13332 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
13333 (gst_segment_to_running_time), (gst_segment_clip):
13334 Use G_UNLIKELY to help the compiler a bit.
13336 2006-06-12 Wim Taymans <wim@fluendo.com>
13338 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
13340 * gst/gstevent.c: (gst_event_get_type):
13341 * gst/gstmessage.c:
13342 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13344 constify quark registration strings. Fixes #344115
13345 Avoid unneeded type checking is _pad_push() by internally
13346 calling gst_pad_chain_unchecked().
13348 2006-06-12 Wim Taymans <wim@fluendo.com>
13350 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
13351 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
13352 (gst_subbuffer_finalize), (gst_buffer_create_sub),
13353 (gst_buffer_is_span_fast), (gst_buffer_span):
13354 Init _type for consistency.
13355 Use _FLAGS macro to avoid type check.
13356 Avoid unneeded type checks in subbufer code.
13358 2006-06-12 Wim Taymans <wim@fluendo.com>
13360 * gst/gst.c: (gst_debug_help):
13361 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
13362 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
13363 (gst_plugin_feature_list_free):
13364 * gst/gstregistry.c: (gst_registry_add_plugin),
13365 (gst_registry_add_feature), (gst_registry_plugin_filter),
13366 (gst_registry_feature_filter), (gst_registry_find_plugin),
13367 (gst_registry_find_feature), (gst_registry_get_plugin_list),
13368 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
13369 * gst/gstregistryxml.c: (load_feature),
13370 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
13371 * gst/gstminiobject.c: (gst_mini_object_unref),
13372 (gst_mini_object_replace), (gst_value_mini_object_free),
13373 (gst_value_mini_object_copy):
13374 Use _CAST macros to avoid unneeded type checking.
13375 Added some more G_UNLIKELY.
13377 2006-06-12 Wim Taymans <wim@fluendo.com>
13380 Avoid unneeded type checking.
13381 API: GST_BUFFER_IS_DISCONT
13383 * gst/gstminiobject.h:
13384 Avoid type check in flag accessor.
13386 * gst/gstelementfactory.h:
13388 * gst/gstpluginfeature.h:
13390 API: GST_ELEMENT_FACTORY_CAST
13391 API: GST_PLUGIN_CAST
13392 API: GST_PLUGIN_FEATURE_CAST
13394 2006-06-12 Wim Taymans <wim@fluendo.com>
13396 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
13397 (gst_object_unref):
13398 Add G_UNLIKELY in type registration.
13399 Avoid type check in _ref/_unref since that is also
13402 2006-06-12 Wim Taymans <wim@fluendo.com>
13404 * gst/gsterror.c: (gst_g_error_get_type):
13405 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
13406 (gst_static_pad_template_get_type):
13407 * gst/gsttaglist.c: (gst_tag_list_get_type):
13408 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
13409 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
13410 * gst/gsturi.c: (gst_uri_handler_get_type):
13411 * gst/gstvalue.c: (gst_date_get_type):
13412 * gst/gstxml.c: (gst_xml_get_type):
13413 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
13414 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13415 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
13416 Add G_UNLIKELY in type registration.
13418 2006-06-12 Wim Taymans <wim@fluendo.com>
13420 * tools/gst-inspect.c: (print_signal_info):
13421 Properly print enum values.
13423 2006-06-12 Wim Taymans <wim@fluendo.com>
13425 * gst/gstinfo.c: (gst_debug_set_active),
13426 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
13428 Add some G_[UN]LIKELY.
13429 Maintain __gst_debug_min to avoid formatting the arguments of
13430 debug messages that will be dropped anyway to avoid a lot of
13431 overhead from the debugging system.
13433 2006-06-11 Stefan Kost <ensonic@users.sf.net>
13436 * po/POTFILES.skip:
13437 add missing files containing translatable strings, tell intltool about
13440 2006-06-11 Stefan Kost <ensonic@users.sf.net>
13442 * tests/check/libs/.cvsignore:
13443 add test-binary to ignore list
13445 2006-06-11 Stefan Kost <ensonic@users.sf.net>
13447 * docs/libs/gstreamer-libs-docs.sgml:
13448 reorder (put dp into a chapter) and indent
13450 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
13455 === release 0.10.8 ===
13457 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
13460 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
13462 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
13464 * gst/gst.c: (init_post):
13465 move pid declaration to declaration block
13467 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
13469 * gst/gst.c: (init_post):
13470 use _exit() instead of exit() in our forked child; this ensures
13471 that none of the registered exit handlers from whatever is using
13472 GStreamer get executed. This fixes gnome-mixer-applet failing
13473 to load, because ORBit would shut down.
13474 Spotted by: Edward Hervey <edward@fluendo.com>
13475 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
13478 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
13483 === release 0.10.7 ===
13485 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
13488 releasing 0.10.7, "Soepeke, ik zie ou"
13490 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
13513 * win32/common/config.h:
13514 0.10.6.2 prerelease
13516 2006-06-07 Wim Taymans <wim@fluendo.com>
13518 * gst/gstindex.c: (gst_index_gtype_resolver):
13519 * tools/gst-xmlinspect.c: (print_plugin_info):
13520 Fix leak spotted by coverity checker. Fixes #343827
13521 Fix another other leak found by paolo borelli.
13523 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
13525 * libs/gst/dataprotocol/dataprotocol.c:
13526 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13527 (gst_dp_version_get_type), (gst_dp_init),
13528 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
13529 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
13530 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
13531 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
13532 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
13533 (gst_dp_packetizer_free):
13534 * libs/gst/dataprotocol/dataprotocol.h:
13535 API: add a GstDPPacketizer object, and create/free functions
13536 API: add GstDPVersion enum
13537 Add 1.0 event function that uses the string serialization
13538 Serialize more useful buffer flags
13541 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
13543 * tests/check/Makefile.am:
13544 * tests/check/gst/gstabi.c:
13545 * tests/check/gst/struct_ppc64.h:
13546 * tests/check/libs/libsabi.c:
13547 * tests/check/libs/struct_ppc64.h:
13548 add ppc64 structure sizes
13550 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
13552 * tests/check/Makefile.am:
13553 * tests/check/gst/gstabi.c:
13554 * tests/check/gst/struct_x86_64.h:
13555 * tests/check/libs/libsabi.c:
13556 * tests/check/libs/struct_x86_64.h:
13557 generate and add structure size lists for x86_64
13559 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
13561 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
13562 * libs/gst/check/gstcheck.h:
13563 factor out the method from tests that checks size of structures,
13564 and add code to generate the header containing these sizes
13565 * tests/check/gst/gstabi.c: (GST_START_TEST):
13566 * tests/check/gst/struct_i386.h:
13567 * tests/check/libs/libsabi.c: (GST_START_TEST):
13568 * tests/check/libs/struct_i386.h:
13571 2006-06-06 Michael Smith <msmith@fluendo.com>
13573 * gst/gstsegment.h:
13574 Don't use c++-style comments, fixes #343929
13576 2006-06-05 Edward Hervey <edward@fluendo.com>
13579 plugin_paths is not used if we build without registry support.
13581 * gst/gstsegment.c: (gst_segment_copy):
13582 _copy() was always returning NULL...
13584 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
13586 * libs/gst/dataprotocol/dataprotocol.c:
13587 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
13588 (gst_dp_packet_from_event):
13589 factor out CRC code
13591 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
13593 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
13594 make sure we unset caps
13596 2006-06-02 Michael Smith <msmith@fluendo.com>
13598 * libs/gst/check/gstcheck.c: (gst_check_init),
13599 (gst_check_chain_func):
13600 * libs/gst/check/gstcheck.h:
13601 Add a cond/mutex to the check support lib, signal this whenever we
13602 add to the buffers list. This will allow tests to not busy-wait on
13605 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
13607 * libs/gst/dataprotocol/dataprotocol.c:
13608 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
13609 (gst_dp_packet_from_event):
13610 factor out some common header init code
13612 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
13614 * docs/libs/gstreamer-libs-sections.txt:
13615 * docs/libs/tmpl/gstdataprotocol.sgml:
13616 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
13617 * libs/gst/dataprotocol/dataprotocol.h:
13618 API: make gst_dp_crc() public
13620 2006-06-01 Stefan Kost <ensonic@users.sf.net>
13622 * plugins/indexers/gstindexers.c: (plugin_init):
13623 conditionally register fileindexer (fixes #343598)
13625 2006-06-01 Stefan Kost <ensonic@users.sf.net>
13627 * gst/gsttagsetter.h:
13628 Can't cast ifaces to a class
13630 * libs/gst/net/gstnetclientclock.h:
13631 * libs/gst/net/gstnettimeprovider.h:
13632 * plugins/elements/gstfakesink.h:
13633 * plugins/elements/gstfakesrc.h:
13634 * plugins/elements/gstfdsink.h:
13635 * plugins/elements/gstfdsrc.h:
13636 * plugins/elements/gstfilesink.h:
13637 * plugins/elements/gstfilesrc.h:
13638 * plugins/elements/gstidentity.h:
13639 * plugins/elements/gstqueue.h:
13640 * plugins/elements/gsttee.h:
13641 * plugins/indexers/gstfileindex.c:
13642 * plugins/indexers/gstmemindex.c:
13643 * tests/old/examples/plugins/example.h:
13644 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
13646 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
13648 * libs/gst/dataprotocol/dataprotocol.c:
13649 (gst_dp_header_from_buffer):
13650 make sure we zero the whole ABI-compatible area
13652 2006-06-01 Wim Taymans <wim@fluendo.com>
13654 Patch by: Alessandro Decina <alessandro at nnva dot org>
13656 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
13657 Make sure the EOS flag is cleared from pads after a flush
13658 or stop. Fixes #343538.
13660 * tests/check/libs/collectpads.c: (GST_START_TEST),
13661 (gst_collect_pads_suite):
13662 Added test for collectpads reusage after EOS.
13664 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
13667 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
13668 * win32/common/libgstbase.def:
13669 export gst_collect_pads_set_flushing
13670 * win32/common/libgstreamer.def:
13671 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
13672 gst_value_fraction_multiply
13673 * win32/vs6/gst_inspect.dsp:
13674 add a link to intl.lib
13676 2006-05-30 Wim Taymans <wim@fluendo.com>
13678 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
13679 (gst_collect_pads_chain):
13680 Handle the case where a pad is removed from the collection
13681 that could cause the other pads to become collectable.
13683 2006-05-30 Wim Taymans <wim@fluendo.com>
13685 * gst/gstelement.c:
13686 Clarify the use of _release_request_pad() and
13687 _get_request_pad() a bit better.
13689 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
13690 (gst_adapter_take_buffer):
13691 Fix some doc and comment typos.
13693 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13695 * docs/gst/gstreamer-sections.txt:
13696 * docs/libs/gstreamer-libs-sections.txt:
13697 add declared symbols
13699 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
13701 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13702 Add debug that can be enabled using a #define at the top of the file,
13703 for dumping stats about how late/early we were when waking up from
13704 waiting on the clock.
13706 2006-05-30 Wim Taymans <wim@fluendo.com>
13708 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
13709 When rebuilding the pad list, don't leak the previous list.
13711 2006-05-30 Wim Taymans <wim@fluendo.com>
13713 Patch by: Lutz Mueller <lutz at topfrose dot de>
13715 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13716 (gst_base_src_get_query_types), (gst_base_src_update_length):
13717 Publish supported query types.
13718 Update last_stop field in get_range mode so the position
13719 query works. Fixes #342321.
13721 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
13723 * docs/gst/gstreamer-sections.txt:
13724 * gst/gsttaglist.c: (_gst_tag_initialize):
13725 * gst/gsttaglist.h:
13726 API: add GST_TAG_PREVIEW_IMAGE (#343341).
13728 2006-05-30 Wim Taymans <wim@fluendo.com>
13730 Patch by: Alessandro Decina <alessandro at nnva dot org>
13732 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
13733 Unlock mutex when removing an unknown pad.
13736 * tests/check/Makefile.am:
13737 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
13738 (push_event), (setup), (teardown), (GST_START_TEST),
13739 (gst_collect_pads_suite), (main):
13740 Added collecpads check, disabled for now as check crashes for
13743 2006-05-29 Wim Taymans <wim@fluendo.com>
13745 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
13746 Don't leak pads lists.
13748 2006-05-29 Wim Taymans <wim@fluendo.com>
13750 * docs/libs/gstreamer-libs-sections.txt:
13751 * libs/gst/base/gstcollectpads.c:
13752 (gst_collect_pads_set_flushing_unlocked),
13753 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
13754 (gst_collect_pads_stop):
13755 * libs/gst/base/gstcollectpads.h:
13756 API: gst_collect_pads_set_flushing()
13757 Added api to set the pads to flushing, useful for seeking
13758 code in elements using collectpads.
13759 Clear segment when receiving a flush.
13761 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
13763 * gst/gst.c: (add_path_func), (init_post):
13764 Don't scan registry paths passed via --gst-plugin-path immediately
13765 (will crash, because absolutely nothing is set up and no types are
13766 registered etc.); do this later in init_post(). Fixes #343057.
13768 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
13770 * gst/gst.c: (init_post):
13771 if we have fork, fork while reading/rebuilding the registry
13772 so the parent doesn't take the hit of having all plugins loaded
13773 in memory. Fixes #342777.
13775 Check if we have fork()
13776 * win32/common/config.h.in:
13779 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
13781 * plugins/elements/gstelements.c:
13782 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13783 (gst_file_src_init), (gst_file_src_set_property),
13784 (gst_file_src_get_property), (gst_file_src_start):
13785 * plugins/elements/gstfilesrc.h:
13786 API: GstFileSrc::use-mmap
13788 Add a use-mmap property to enable easier testing of all code paths.
13789 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
13790 in the absence of gnomevfssrc. (Closes #340501)
13792 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
13794 * tools/gst-inspect.c:
13795 Add missing include, removes warning of ngettext not being defined on
13798 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
13800 * gst/gstvalue.c: (gst_value_deserialize_fraction):
13801 Handle NULL input and output pointers silently as a failed conversion,
13802 rather than g_warnings.
13804 2006-05-25 Wim Taymans <wim@fluendo.com>
13806 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
13807 Initialize variable before using. Fixes #342820.
13809 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
13811 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
13812 Fix off-by-one bug that would only allow peeks of N-1 bytes
13813 from the start even if the buffer to typefind on contains
13814 in fact N bytes of data (makes vorbis typefinding from a
13815 vorbis identification header buffer work).
13817 * tests/check/Makefile.am:
13818 * tests/check/libs/.cvsignore:
13819 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
13820 (gst_typefindhelper_suite), (main), (foobar_typefind),
13822 Add very basic unit test for gst_type_find_helper_for_buffer()
13823 that checks for the problem fixed above.
13825 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
13827 * tools/gst-inspect.c: (print_interfaces),
13828 (print_element_properties_info), (print_element_list), (main):
13829 add more translatable strings
13831 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
13833 Patch by: Julien Moutte <julien at moutte net>
13835 * docs/gst/gstreamer-sections.txt:
13836 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
13838 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
13839 (gst_fake_sink_preroll):
13840 * plugins/elements/gstfakesink.h:
13841 API: Add new GstFakeSink::preroll-handoff signal (#337100).
13843 2006-05-23 Wim Taymans <wim@fluendo.com>
13845 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
13847 Added _CUSTOM error and success GstFlowReturn that can be
13848 used be elements internally.
13849 Added macro to check for SUCCESS flowreturns.
13850 API: GST_FLOW_CUSTOM_SUCCESS
13851 API: GST_FLOW_CUSTOM_ERROR
13852 API: GST_FLOW_IS_SUCCESS
13854 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
13855 Added check for GstFlowReturn sanity.
13857 2006-05-23 Wim Taymans <wim@fluendo.com>
13859 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
13861 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
13862 (gst_collect_pads_event):
13863 clear/reset segment info in FLUSH_STOP.
13866 2006-05-22 Stefan Kost <ensonic@users.sf.net>
13868 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
13869 (gst_collect_pads_check_collected):
13870 Flush queued buffer on _stop(), fixes playing again (#342454)
13872 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
13874 * tests/check/gst/gststructure.c: (GST_START_TEST),
13875 (gst_structure_suite):
13876 add a test for a complete structure
13878 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
13880 * docs/faq/developing.xml:
13881 * docs/faq/faq.xml:
13882 * docs/faq/troubleshooting.xml:
13883 * docs/faq/using.xml:
13884 Some minor FAQ updates that won't change the fact that
13885 our FAQ is badly structured, full of information hardly
13886 anyone new to GStreamer needs to know and lacking lots
13887 of information people constantly ask for.
13889 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
13891 * gst/gstpad.c: (gst_pad_set_caps):
13892 Short-circuit gst_pad_set_caps if setting the existing
13893 caps pointer again, and avoid printing debug and
13894 reffing/unreffing the caps.
13896 * plugins/elements/gstqueue.c: (gst_queue_push_one):
13897 There's actually no need to set the caps before pushing -
13898 the acceptcaps method will handle it anyway.
13900 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
13902 * docs/gst/gstreamer-sections.txt:
13903 * win32/common/libgstreamer.def:
13904 * gst/gstutils.c: (gst_element_seek_simple):
13906 API: add gst_element_seek_simple() (#342238).
13908 2006-05-18 Edward Hervey <edward@fluendo.com>
13910 * gst/gsttypefind.c: (gst_type_find_get_type):
13911 * gst/gsttypefind.h:
13912 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
13913 registered for GstTypeFind pointers. This allows wrapping the structure
13914 in bindings (i.e. gst-python).
13916 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
13918 * gst/gsttagsetter.c:
13919 Docs additions and fixes (see #339918).
13921 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
13923 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13924 The caps intersection algorithm can produce multiple copies of the
13925 caps. Until that is fixed, we need to simplify the result to be
13926 sure whether the allowed caps are fixed or not.
13928 * plugins/elements/gstqueue.c: (gst_queue_init),
13929 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
13930 (gst_queue_push_one):
13931 Proxied buffer alloc should not set the caps on the source pad.
13932 When pushing buffers, we always accept the caps change that triggers.
13933 This prevents negotiation errors caused by caps changing mid-stream
13934 and then being refused on our source pad (because upstream is now
13935 refusing those caps).
13937 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
13939 * tests/examples/helloworld/helloworld.c: (main):
13940 Must plug audioconvert and audioresample between decoder
13943 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
13945 * gst/gstregistryxml.c: (read_string), (load_pad_template),
13946 (load_feature), (load_plugin):
13947 Allow empty strings for some of the plugin fields so we don't
13948 drop valid plugin entries that were written out correctly
13951 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
13953 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
13954 Use g_remove and g_rename instead of remove and rename that don't
13955 handle utf8 characters. rename was failing for users who had specific
13956 characters in their name then the registry was built at each
13958 * win32/vs6/gst_inspect.dsp:
13959 * win32/vs6/gst_launch.dsp:
13960 * win32/vs6/libgstbase.dsp:
13961 * win32/vs6/libgstcoreelements.dsp:
13962 * win32/vs6/libgstreamer.dsp:
13963 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
13964 build of libgstreamer and clean unused libraries in projects link
13967 2006-05-17 Edward Hervey <edward@fluendo.com>
13969 * plugins/elements/gstqueue.c: (gst_queue_push_one):
13970 The queue is not responsible for pushing an EOS when receiving a fatal
13971 flow error. It's up to the real element driving the pipeline to do that.
13973 2006-05-16 Edward Hervey <edward@fluendo.com>
13975 * plugins/elements/gstqueue.c: (gst_queue_push_one):
13976 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
13977 buffer returned a fatal error. It should just send an EOS and stop
13979 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
13980 when pushing buffers on the queue and will be able to handle the event.
13982 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
13984 * docs/manual/basics-bins.xml:
13985 * docs/manual/basics-init.xml:
13986 Fix typos and minor errors in sample code (#341856).
13988 2006-05-16 Wim Taymans <wim@fluendo.com>
13990 * docs/design/part-qos.txt:
13991 Fix indexes in formulas to make more sense.
13993 2006-05-15 Wim Taymans <wim@fluendo.com>
13995 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13996 Don't report POSITION based on clock time if sync is
13997 disabled in a sink.
13999 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
14002 Add cast to make compiler happy - refcount variable was a gint
14003 in GstObject but is a guint in GObject and g_atomic_int_get()
14006 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
14008 * gst/parse/Makefile.am:
14009 chain commands using &&, which also makes parallel make work
14011 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
14013 * docs/gst/gstreamer-sections.txt:
14016 * gst/gstmessage.h:
14019 === release 0.10.6 ===
14021 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
14024 releasing 0.10.6, "Take the cannoli"
14026 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
14028 * tools/gst-launch.c: (print_tag):
14029 Fix use of uninitialized variable in the hypothetical
14030 case that some broken plugin creates a GST_TAG_IMAGE
14031 tag containing a NULL buffer (#341667).
14033 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
14035 * tools/gst-launch.c: (print_tag):
14036 Print something more intelligible for image tags when
14037 using the -t switch (#341556).
14039 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
14044 define GST_MAJORMINOR so we have it available in win32/common/config.h
14045 Possibly remove it from our Makefile.am files later
14046 * win32/common/config.h:
14047 * win32/common/config.h.in:
14048 added GST_MAJORMINOR
14049 * win32/common/gstenumtypes.c: (register_gst_resource_error):
14050 * win32/common/gstversion.h:
14053 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
14056 Update win32 files listing.
14057 * win32/common/gstversion.h:
14058 Add GST_MAJORMINOR definition.
14059 * win32/common/libgstreamer.def:
14060 Add new exported functions.
14062 2006-05-12 Michael Smith <msmith@fluendo.com>
14064 * gst/gstplugin.c: (gst_plugin_load_file):
14065 If an so file has no plugin entry point, unload the module.
14067 2006-05-11 Wim Taymans <wim@fluendo.com>
14069 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14070 (gst_queue_set_property):
14071 Don't forget to signal the _chain or _loop function
14072 when the queue size or thresholds change since that might
14073 cause them to make progres again.
14075 2006-05-11 Stefan Kost <ensonic@users.sf.net>
14077 * gst/gstclock.c: (gst_clock_class_init):
14078 * gst/gstindex.c: (gst_index_class_init):
14079 * gst/gstobject.c: (gst_object_class_init):
14080 * gst/gstpad.c: (gst_pad_class_init):
14081 * gst/gstpipeline.c: (gst_pipeline_class_init):
14082 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14083 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14084 * libs/gst/base/gstbasetransform.c:
14085 (gst_base_transform_class_init):
14086 * libs/gst/net/gstnetclientclock.c:
14087 (gst_net_client_clock_class_init):
14088 * libs/gst/net/gstnettimeprovider.c:
14089 (gst_net_time_provider_class_init):
14090 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
14091 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
14092 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
14093 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
14094 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14095 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
14096 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
14097 * plugins/elements/gstidentity.c: (gst_identity_class_init):
14098 * plugins/elements/gsttee.c: (gst_tee_class_init):
14099 * tests/old/examples/plugins/example.c: (gst_example_class_init):
14100 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14101 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
14103 2006-05-11 Wim Taymans <wim@fluendo.com>
14105 * gst/gstbuffer.c: (_gst_buffer_initialize):
14106 Register subbufer along with the buffer type so that
14107 it does not accidentally gets registered from N
14108 different streaming threads in a non threadsafe way.
14110 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
14114 * gst/gstmessage.h:
14115 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
14116 gst_event_ref() and gst_message_ref() functions again
14117 (ugly hack, please do fix if there's a better way besides
14118 overrides.txt, which doesn't seem to work).
14120 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14122 * libs/gst/check/gstcheck.h:
14123 add an assert for setting state to avoid lots of repetitive code
14126 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14128 * gst/gstvalue.c: (gst_value_serialize_flags):
14129 fix a leak if no flags are set
14130 * tests/check/gst/gstvalue.c: (GST_START_TEST):
14133 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
14135 * docs/manual/basics-pads.xml:
14136 Expand a bit on caps and filtered links and update
14137 examples that were still using the no longer existing
14138 gst_pad_link_filtered() (#338206).
14140 2006-05-10 Wim Taymans <wim@fluendo.com>
14142 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14143 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14144 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14145 (gst_collect_pads_stop):
14146 * libs/gst/base/gstcollectpads.h:
14147 No need to call _stop in _finalize.
14148 Iterate the main pad list in _finalize.
14149 Added some more debug.
14150 Free lists and data in the right order.
14151 Also free data whem doing _remove_pad when stopped for
14152 backward compatibility protect ::started with PAD_LOCK as
14155 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14157 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
14158 (gst_structure_parse_value):
14160 rename a method so that it actually says what it does better
14162 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14164 * gst/gstevent.c: (_gst_event_initialize):
14165 * gst/gstformat.c: (_gst_format_initialize):
14166 make sure some essential types used by events are registered
14167 as part of gst_init()
14168 * gst/gstvalue.c: (gst_value_serialize_flags):
14169 if no flags are set, serialize them to a value that represents NONE
14170 so that deserializing them works
14171 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14172 add tests for serialization and deserialization of flags
14174 2006-05-10 Wim Taymans <wim@fluendo.com>
14176 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
14177 (gst_collect_pads_collect_range), (gst_collect_pads_available),
14178 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
14179 (gst_collect_pads_event), (gst_collect_pads_chain):
14182 Catch and return errors from the collect function
14183 Refuse data on eos pads.
14185 2006-05-10 Edward Hervey <edward@fluendo.com>
14187 * gst/gstinterface.h:
14188 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
14189 GInterface type checking.
14190 They were previously using non-defined macros.
14192 2006-05-09 Wim Taymans <wim@fluendo.com>
14194 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
14195 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
14196 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
14197 (gst_collect_pads_start), (gst_collect_pads_stop),
14198 (gst_collect_pads_peek), (gst_collect_pads_pop),
14199 (gst_collect_pads_available), (gst_collect_pads_read),
14200 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
14201 (gst_collect_pads_is_collected), (gst_collect_pads_event),
14202 (gst_collect_pads_chain):
14203 * libs/gst/base/gstcollectpads.h:
14204 Clean up the mess that is collectpads, add comments and
14205 FIXMEs where needed.
14206 Maintain a separate pad list so we can add pads while
14207 collecting the other ones. For this we need a new separate
14209 Fix memory leak in finalize.
14210 Refactor some weird code to set/unset pad flushing flags, mark
14212 Don't crash in _available, _read, _flush when we're EOS.
14214 * tests/check/libs/.cvsignore:
14215 Ignore adapter check binary.
14217 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
14219 * gst/gstindex.c: (gst_index_resolver_get_type):
14220 * plugins/elements/gstfakesink.c:
14221 (gst_fake_sink_state_error_get_type):
14222 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14223 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
14224 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
14225 Const-ify GEnumValue arrays.
14227 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
14229 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14230 Add test case for flags + gst_buffer_make_metadata_writable().
14232 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
14234 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
14235 gst_buffer_make_metadata_writable() should maintain the
14236 buffer flags (those that make sense at least) (see #340859).
14238 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
14240 * tools/gst-inspect.c:
14241 * tools/gst-launch.c:
14242 * tools/gst-typefind.c:
14243 * tools/gst-xmlinspect.c:
14245 Fix up includes: need to include stdlib.h in tools.h for exit().
14247 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
14249 * gst/gsttaglist.c: (_gst_tag_initialize):
14250 * gst/gsttaglist.h:
14251 API: add GST_TAG_IMAGE tag (#340721).
14253 2006-05-08 Wim Taymans <wim@fluendo.com>
14256 Added some docs for the segment query.
14258 2006-05-08 Wim Taymans <wim@fluendo.com>
14260 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14261 (gst_base_src_loop), (gst_base_src_change_state):
14262 Always push non-flushing serialized events in the streaming
14265 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
14267 * gst/gsterror.c: (_gst_stream_errors_init):
14268 Add a missing error string.
14270 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
14272 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
14273 Add applied_rate to the debug
14275 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
14276 Copy applied_rate into the outgoing NEWSEGMENT event
14278 2006-05-08 Wim Taymans <wim@fluendo.com>
14280 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
14282 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
14283 (gst_base_sink_change_state):
14284 call ::unlock before taking the PREROLL_LOCK so we can safely
14285 handle elements that lock in ::render.
14288 2006-05-08 Edward Hervey <edward@fluendo.com>
14290 * autogen.sh: (CONFIGURE_DEF_OPT):
14291 Darwin's libtoolize is in fact called glibtoolize.
14292 Adding glibtoolize to the list of accepted names for libtoolize.
14294 2006-05-08 Wim Taymans <wim@fluendo.com>
14296 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14297 Unify error handling, don't post an error message
14298 when a push() returns EOS but perform our normal EOS
14299 handling code. Fixes #340772.
14301 2006-05-08 Wim Taymans <wim@fluendo.com>
14303 * docs/design/part-overview.txt:
14304 Make upsteam/downstream concepts more clear.
14305 Give an example of serialized/non-serialized events.
14307 * docs/design/part-events.txt:
14308 * docs/design/part-streams.txt:
14309 Mention applied_rate.
14311 * docs/design/part-trickmodes.txt:
14312 Mention applied rate, flesh out some more use cases.
14314 * gst/gstevent.c: (gst_event_new_new_segment),
14315 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
14316 (gst_event_parse_new_segment_full), (gst_event_new_tag),
14317 (gst_event_parse_tag), (gst_event_new_buffer_size),
14318 (gst_event_parse_buffer_size), (gst_event_new_qos),
14319 (gst_event_parse_qos), (gst_event_parse_seek),
14320 (gst_event_new_navigation):
14322 Add applied_rate field to NEWSEGMENT event.
14323 API: gst_event_new_new_segment_full()
14324 API: gst_event_parse_new_segment_full()
14326 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
14327 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
14328 (gst_segment_to_stream_time), (gst_segment_to_running_time):
14329 * gst/gstsegment.h:
14330 Add applied_rate to GstSegment structure.
14331 Make calculation of stream_time and running_time more correct
14332 wrt rate/applied_rate.
14333 Add some more docs.
14334 API: GstSegment::applied_rate field
14335 API: gst_segment_set_newsegment_full();
14337 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14338 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
14339 * libs/gst/base/gstbasetransform.c:
14340 (gst_base_transform_sink_eventfunc),
14341 (gst_base_transform_handle_buffer):
14342 Parse and use applied_rate in the GstSegment field.
14344 * tests/check/gst/gstevent.c: (GST_START_TEST):
14345 Add check for applied_rate field.
14347 * tests/check/gst/gstsegment.c: (GST_START_TEST),
14348 (gstsegments_suite):
14349 Add more checks for various GstSegment operations.
14351 2006-05-08 Wim Taymans <wim@fluendo.com>
14353 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
14354 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
14355 (gst_base_sink_get_position), (gst_base_sink_change_state):
14356 Store the sync time of the buffer end position separatly in a
14357 new variable eos_rtime so we can properly sync the EOS event.
14359 Fix the docs for gst_base_sink_set_qos_enabled().
14360 Don't set segment start to invalid value when we receive a
14361 non TIME newsegment.
14362 get closer to handling position reporting for negative rates
14365 2006-05-07 Stefan Kost <ensonic@users.sf.net>
14368 Docs about how to print caps for debug purposes.
14370 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
14371 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
14373 2006-05-07 Stefan Kost <ensonic@users.sf.net>
14375 * gst/gstelement.c:
14376 use full enum names and preprend a '%' in docs strings to make recent
14377 gtk-doc turn that into a link
14379 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
14381 * docs/manual/basics-bins.xml:
14382 * docs/manual/basics-bus.xml:
14383 * docs/manual/basics-pads.xml:
14384 Some typo fixes, some additions, some clarifications.
14386 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
14388 * tools/gst-inspect.c: (main):
14389 * tools/gst-launch.c: (main):
14390 * tools/gst-run.c: (main):
14391 * tools/gst-typefind.c: (main):
14392 * tools/gst-xmlinspect.c: (main):
14393 Use the string passed to g_option_context_new() for
14394 what it's intended for - the program name is already
14397 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
14399 * tools/Makefile.am:
14400 * tools/gst-inspect.c: (main):
14401 * tools/gst-launch.c: (main):
14402 * tools/gst-xmlinspect.c: (main):
14404 Add back --version command line option (#340460).
14406 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
14407 Add --version option and use GOption for argument parsing; refactor a
14408 bit; accept directories as arguments and recurse into them; lastly,
14409 print a decent error message when things go wrong.
14411 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
14413 * docs/manual/basics-bins.xml:
14414 Don't mention GstThread (#340611)
14415 * docs/manual/basics-elements.xml:
14416 Update link to GObject tutorial (#340607)
14418 2006-05-05 Wim Taymans <wim@fluendo.com>
14421 * gst/gstminiobject.c:
14422 Add note about refcounting and miniobject/buffer writeability
14423 to docs. Fixes #340604
14425 * gst/gstelementfactory.h:
14426 Added some explanation about @klass.
14428 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
14430 * docs/manual/intro-motivation.xml:
14431 * docs/manual/manual.xml:
14432 Avoid CORBA & Bonobo references (#340598)
14434 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
14436 * docs/manual/basics-bus.xml:
14437 * docs/manual/basics-pads.xml:
14438 Fix up some inaccuracies and omissions (#340609)
14440 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
14442 * gst/gstghostpad.c:
14443 Small typo in docs (#340625)
14445 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
14447 * gst/parse/Makefile.am:
14448 Make 'make -j' proof (see #340698).
14450 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
14453 Require GLib-2.8 here as well.
14455 2006-05-05 Wim Taymans <wim@fluendo.com>
14457 * gst/glib-compat.c:
14458 * gst/gst.c: (init_pre):
14459 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14460 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
14461 (gst_object_dispatch_properties_changed):
14463 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
14464 * gst/gststructure.c: (gst_structure_set_valist):
14465 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
14466 Remove pre glib2.8 compatibility, fixes #340508
14468 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
14470 * gst/gsttaglist.h:
14471 Mention type of tags in doc blurbs.
14473 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
14475 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
14476 (gst_pad_configure_src), (gst_pad_push):
14477 Restore acceptcaps checking behaviour now that good plugins have
14480 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
14482 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
14489 * gst/gstmessage.c:
14493 * gst/parse/Makefile.am:
14494 * libs/gst/base/gstadapter.c:
14495 * libs/gst/base/gstbasesrc.c:
14496 * libs/gst/base/gstpushsrc.c:
14497 * libs/gst/base/gsttypefindhelper.c:
14498 * plugins/elements/gstfakesrc.c:
14499 * plugins/elements/gstidentity.c:
14500 Make sure gstprivate.h and/or config.h are
14501 always included first, otherwise some of our
14502 defines (like _FILE_OFFSET_BITS) might be
14503 redefined in the system headers. Fixes build
14504 on opensolaris (#340016).
14506 2006-05-04 Wim Taymans <wim@fluendo.com>
14508 * docs/libs/gstreamer-libs-sections.txt:
14509 API: addition: gst_adapter_take_buffer()
14511 * libs/gst/base/gstadapter.c: (gst_adapter_push),
14512 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
14513 (gst_adapter_available_fast):
14514 * libs/gst/base/gstadapter.h:
14515 Prepare for optimizing the hell out of this hugely inefficient
14517 Added gst_adapter_take_buffer() so we can at least start thinking
14518 about subbuffering and merging.
14519 Added some comments.
14521 * tests/check/Makefile.am:
14522 * tests/check/libs/adapter.c: (GST_START_TEST),
14523 (gst_adapter_suite), (main):
14524 Added GstAdapter check.
14526 2006-05-04 Wim Taymans <wim@fluendo.com>
14528 * docs/design/part-overview.txt:
14529 Fix some typos, add blurb about buffer flags.
14531 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
14533 * docs/libs/gstreamer-libs-sections.txt:
14534 make sure GstBaseTransformClass shows up in the docs
14535 * libs/gst/base/gstbasetransform.c:
14536 * libs/gst/base/gstbasetransform.h:
14537 move docs so gtk-doc picks it up now
14539 2006-05-02 Stefan Kost <ensonic@users.sf.net>
14541 * docs/libs/gstreamer-libs-sections.txt:
14542 add missing symbols to docs
14544 2006-05-02 Stefan Kost <ensonic@users.sf.net>
14546 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14547 back out the newsegment handling change, see #340060 for ongoing
14550 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
14552 * tools/gst-run.c: (get_candidates), (main):
14553 Fix wrong g_file_test() usage (see glib docs for why it doesn't
14554 work); fix typo in error message. Fixes #340079.
14556 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
14558 * common/Makefile.am:
14559 * docs/Makefile.am:
14560 * docs/faq/Makefile.am:
14561 * docs/gst/Makefile.am:
14562 * docs/libs/Makefile.am:
14563 * docs/manual/Makefile.am:
14564 * docs/plugins/Makefile.am:
14565 * docs/pwg/Makefile.am:
14566 * docs/slides/Makefile.am:
14568 * common/upload.mak:
14569 move upload.mak to common
14571 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
14573 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14574 add more asserts on refcounts
14575 do more cleanup at end of tests
14576 fix test leaks showing in FC5
14578 2006-04-29 Stefan Kost <ensonic@users.sf.net>
14580 * plugins/elements/gsttypefindelement.c:
14581 (gst_type_find_element_handle_event):
14582 reverted wrong change and reflowed code to avoid others falling into
14585 2006-04-28 Stefan Kost <ensonic@users.sf.net>
14587 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14588 fix changelog entry about last collectpads change,
14589 add notes about proper fix
14591 2006-04-28 Stefan Kost <ensonic@users.sf.net>
14594 * gst/gstregistry.c: (gst_registry_scan_path_level),
14595 (gst_registry_scan_path):
14596 * gst/gstregistry.h:
14597 only write out registry if it has changed, fixes #338339
14599 2006-04-28 Stefan Kost <ensonic@users.sf.net>
14602 * gst/gstpipeline.c:
14603 * plugins/elements/gstcapsfilter.c:
14604 * plugins/elements/gstfakesink.c:
14605 * plugins/elements/gstfakesrc.c:
14606 * plugins/elements/gstfdsink.c:
14607 * plugins/elements/gstfdsrc.c:
14608 * plugins/elements/gstfilesink.c:
14609 * plugins/elements/gstfilesrc.c:
14610 * plugins/elements/gstidentity.c:
14611 * plugins/elements/gstqueue.c:
14612 * plugins/elements/gsttee.c:
14613 * plugins/elements/gsttypefindelement.c:
14614 (gst_type_find_element_handle_event):
14615 make GstElementDetails const
14617 2006-04-28 Stefan Kost <ensonic@users.sf.net>
14619 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
14620 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14621 (gst_collect_pads_is_collected), (gst_collect_pads_event):
14622 more detailed debug and formatting cleanup,
14623 forward newsegments to src-pad (so that e.g. adder not eats them)
14625 2006-04-28 Stefan Kost <ensonic@users.sf.net>
14627 * gst/gstutils.c: (gst_element_link_pads):
14628 cleanup double code
14630 2006-04-28 Stefan Kost <ensonic@users.sf.net>
14632 * libs/gst/controller/gstcontroller.c:
14633 (gst_controller_sync_values):
14635 * tests/check/libs/controller.c: (GST_START_TEST),
14636 (gst_controller_suite):
14637 a new test for live value handling
14639 2006-04-28 Wim Taymans <wim@fluendo.com>
14641 * gst/gstutils.c: (push_and_ref):
14642 Added some more docs.
14643 Fix refcount issue whith gst_element_found_tags() helper
14644 function. Fixes #338335
14646 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14647 Added testsuite for gst_element_found_tags().
14649 2006-04-28 Michael Smith <msmith@fluendo.com>
14651 * gst/gstvalue.c: (gst_value_serialize_flags):
14652 Avoid NULL dereference when trying to serialize flags containing
14655 2006-04-28 Michael Smith <msmith@fluendo.com>
14657 * plugins/elements/gsttypefindelement.c:
14658 (gst_type_find_element_handle_event):
14659 If we get EOS before any data is accumulated, don't use
14660 uninitialised local variables.
14662 2006-04-28 Michael Smith <msmith@fluendo.com>
14664 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14665 (gst_dp_event_from_packet):
14666 Fixes in reading/writing events over GDP (not currently used?) -
14667 dereferencing NULL events for unknown/invalid event types, memory
14668 leak, and change g_warning to GST_WARNING.
14670 2006-04-28 Wim Taymans <wim@fluendo.com>
14672 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
14673 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
14674 (gst_base_sink_get_position), (gst_base_sink_change_state):
14675 When frame dropping is enabled, we should not ignore frames
14676 without a duration.
14677 Update some documentation.
14679 2006-04-28 Wim Taymans <wim@fluendo.com>
14681 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14682 (gst_base_src_send_event), (gst_base_src_change_state):
14683 Documentation updates.
14685 2006-04-28 Wim Taymans <wim@fluendo.com>
14687 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
14688 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
14689 handle EAGAIN, EINTR and short writes correctly. Also clean
14690 up some error cases, avoid a deadlock on bad file descriptors and
14691 use GST_DEBUG_OBJECT.
14694 2006-04-28 Wim Taymans <wim@fluendo.com>
14696 * gst/gstvalue.c: (gst_value_serialize_buffer),
14697 (gst_value_deserialize_buffer):
14698 Don't try to serialize a GValue with a NULL buffer.
14701 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14702 Added check for serialisation of NULL buffers.
14704 2006-04-28 Wim Taymans <wim@fluendo.com>
14706 * gst/gstminiobject.c: (gst_value_take_mini_object):
14707 Taking a NULL miniobject is valid, fix the case where
14708 we try to unref the NULL miniobject.
14710 2006-04-28 Wim Taymans <wim@fluendo.com>
14712 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14714 * gst/gstbin.c: (gst_bin_handle_message_func):
14716 Don't leak bin refcount when a state recalc is
14717 in progress and we delay another one #339808.
14719 2006-04-28 Wim Taymans <wim@fluendo.com>
14721 * docs/design/part-TODO.txt:
14722 Mention QoS as an ongoing work item.
14724 * docs/design/part-buffering.txt:
14725 New doc about buffering that needs to be fleshed out
14728 * docs/design/part-qos.txt:
14729 More QoS policy for decoders/demuxers/transforms
14731 * docs/design/part-trickmodes.txt:
14734 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
14739 === release 0.10.5 ===
14741 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
14744 releasing 0.10.5, "Fogo"
14746 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
14748 patch by: Wim Taymans
14750 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
14751 (gst_pad_configure_src), (gst_pad_push):
14752 * gst/gstpipeline.c: (gst_pipeline_init):
14753 Fix internal data flow errors. Fixes #338711.
14755 2006-04-12 Wim Taymans <wim@fluendo.com>
14757 * tests/check/gst/gstelement.c: (GST_START_TEST):
14758 Don't leak the factory.
14760 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
14763 * win32/common/config.h:
14766 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
14768 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
14769 (gst_controller_unset_all):
14770 Free allocated GstTimedValues when freeing list nodes.
14771 Should fix leaks 'make check-valgrind' complains about.
14773 * win32/common/libgstcontroller.def:
14774 Add gst_controller_unset_all.
14776 2006-04-11 Stefan Kost <ensonic@users.sf.net>
14778 * docs/libs/gstreamer-libs-sections.txt:
14779 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
14780 (gst_controller_unset_all):
14781 * libs/gst/controller/gstcontroller.h:
14782 API: Added new method gst_controller_unset_all()
14783 fixed gst_controller_unset()
14784 * tests/check/libs/controller.c: (GST_START_TEST),
14785 (gst_controller_suite):
14786 Added two testcases for new and fixed method
14788 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
14790 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
14791 MSG_DONTWAIT is not defined on Cygwin, so work
14792 around that (fixes #317048).
14794 2006-04-11 Wim Taymans <wim@fluendo.com>
14796 * gst/gstelementfactory.c: (gst_element_register),
14797 (gst_element_factory_create), (gst_element_factory_make):
14800 Updated docs (Fixes #131079)
14802 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14805 * tests/check/gst/gstelement.c: (GST_START_TEST),
14806 (gst_element_suite):
14807 Added testcase for elementfactory class field.
14809 2006-04-10 Wim Taymans <wim@fluendo.com>
14811 * gst/gstsegment.c:
14812 Added some more docs.
14814 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
14815 (gst_base_sink_reset_qos):
14816 Calculate more accurate rate values.
14818 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
14820 * gst/gst_private.h:
14821 add a new #ifdef to use __declspec(dllimport) only for
14822 other modules and not for gstreamer core
14823 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
14824 use gst_guint64_to_gdouble for conversion
14825 * win32/common/libgstreamer.def:
14826 add new exported functions
14827 * win32/vs6/gst_inspect.dsp:
14828 * win32/vs6/gst_launch.dsp:
14829 * win32/vs6/libgstbase.dsp:
14830 * win32/vs6/libgstcontroller.dsp:
14831 * win32/vs6/libgstcoreelements.dsp:
14832 * win32/vs6/libgstdataprotocol.dsp:
14833 * win32/vs6/libgstnet.dsp:
14834 update project files
14836 2006-04-08 Stefan Kost <ensonic@users.sf.net>
14838 * gst/gstbuffer.c: (gst_subbuffer_class_init):
14839 * gst/gstclock.c: (gst_clock_class_init):
14840 * gst/gstelement.c: (gst_element_class_init):
14841 * gst/gstindex.c: (gst_index_class_init):
14842 * gst/gstindexfactory.c: (gst_index_factory_class_init):
14843 * gst/gstobject.c: (gst_object_class_init),
14844 (gst_signal_object_class_init):
14845 * gst/gstpad.c: (gst_pad_class_init):
14846 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
14847 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
14848 * gst/gstregistry.c: (gst_registry_class_init):
14849 * gst/gstsystemclock.c: (gst_system_clock_class_init):
14850 * gst/gsttask.c: (gst_task_class_init):
14851 * gst/gstxml.c: (gst_xml_class_init):
14852 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14853 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14854 (gst_base_src_loop):
14855 * libs/gst/controller/gstcontroller.c:/
14856 (_gst_controller_class_init):
14857 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14858 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
14859 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
14860 * tests/old/examples/plugins/example.c: (gst_example_class_init):
14861 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14862 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
14864 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
14866 * gst/gstpad.c: (gst_pad_link):
14867 Must set peer pads before calling the link function, otherwise
14868 a task started from a link function might get a flow-not-linked
14869 result when trying to push because the other thread where the
14870 linking happens hasn't had a chance to set the peers yet. This
14871 might happen for example when a queue gets linked to a downstream
14872 element, as queue starts a streaming task when its source pad
14873 gets linked. Happens in real life when playing back flac/musepack
14874 files in playbin (#332390).
14876 2006-04-08 Stefan Kost <ensonic@users.sf.net>
14880 * libs/gst/base/gstadapter.h:
14881 * libs/gst/base/gstbasesink.h:
14882 * libs/gst/base/gstbasesrc.h:
14883 * libs/gst/base/gstbasetransform.h:
14884 * libs/gst/base/gstcollectpads.h:
14885 * libs/gst/base/gstpushsrc.h:
14886 Fix broken GObject macros
14888 2006-04-07 Wim Taymans <wim@fluendo.com>
14890 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14891 Initialize start and stop times, thanks valgrind.
14893 2006-04-07 Wim Taymans <wim@fluendo.com>
14895 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14896 Be a bit nicer to badly behaving upstream elements that expect
14897 us to deal with non TIME segments and timestamps (such as fakesrc
14900 2006-04-07 Wim Taymans <wim@fluendo.com>
14903 Small documentation clarification about the signal watch.
14905 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
14906 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14907 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14908 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
14909 (gst_base_sink_get_position_last),
14910 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
14911 Convert and store timestamps in stream time and running time, the
14912 raw timestamps are not useful, also document this better.
14913 Use different window sizes for good and bad QoS observations so
14914 we react to badness a little quicker.
14915 Keep track of the amount of rendered and dropped buffers.
14916 Send QoS timestamps in running time.
14918 * libs/gst/base/gstbasetransform.c:
14919 (gst_base_transform_sink_eventfunc),
14920 (gst_base_transform_handle_buffer):
14921 Compare QoS timestamps against running time.
14923 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
14926 Typo fixes in docs.
14928 2006-04-06 Michael Smith <msmith@fluendo.com>
14930 * gst/gstpad.c: (gst_pad_set_property):
14931 Use g_value_get_object() instead of g_value_dup_gst_object(),
14932 to avoid double-reffing the pad template (which we then sink,
14933 so this worked previously if (and only if) the pad template
14936 * gst/gstpadtemplate.c: (gst_pad_template_init),
14937 (gst_pad_template_pad_created):
14938 Never return floating references to pad templates, create
14939 them as initially-sunken.
14941 Document an extra function (and make this stop sinking our
14942 pad template, since that is now guaranteed to do nothing,
14943 since we created it sunken).
14945 * gst/gstghostpad.c:
14948 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
14950 * gst/gstinfo.c: (__gst_in_valgrind):
14953 * plugins/elements/gsttypefindelement.c:
14954 (gst_type_find_element_chain):
14955 Don't leak buffer caps.
14957 2006-04-06 Michael Smith <msmith@fluendo.com>
14959 * gst/parse/grammar.y:
14960 Fix a leak in parse-launch for any source-or-sink named element
14963 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
14964 Unref the pipeline if it exists after we've failed parsing.
14966 2006-04-05 Michael Smith <msmith@fluendo.com>
14968 * gst/gstpipeline.c: (gst_pipeline_init):
14969 When we create a pipeline bus, initially create it in flushing mode.
14970 Fixes leaks in at least one test, and makes a new pipeline work the
14971 same as one that has gone to READY and then back to NULL.
14973 * gst/gstelement.c:
14976 2006-04-05 Michael Smith <msmith@fluendo.com>
14978 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14979 Unref a pad we reffed.
14980 * tests/check/gst/gstutils.c: (GST_START_TEST):
14983 2006-04-05 Michael Smith <msmith@fluendo.com>
14985 * gst/gstquery.c: (gst_query_set_formats),
14986 (gst_query_set_formatsv):
14987 Fix leaking GValues in queries, as shown by valgrind/testsuite.
14989 2006-04-05 Michael Smith <msmith@fluendo.com>
14991 * tests/check/generic/sinks.c: (GST_START_TEST):
14992 Fix a variety of memleaks in sinks check, which are only sometimes
14993 shown by running the tests under valgrind (weird?).
14995 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
14997 * docs/version.entities.in:
14998 Fix the substituted entity name after thomas' changes on the
15001 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
15003 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15006 2006-04-05 Andy Wingo <wingo@pobox.com>
15008 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15010 * libs/gst/base/gstbasetransform.c
15011 (gst_base_transform_sink_eventfunc): When resetting our segment on
15012 FLUSH_STOP, also update the flag saying we haven't seen a
15015 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15017 Patch by: Paolo Borelli <pborelli at katamail dot com>
15019 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15020 (gst_plugin_check_license):
15021 minor clean-ups: G_DEFINE_TYPE already takes care of the
15022 parent_class stuff, no need to do it twice. Mark array of
15023 license strings as constant. (#337103)
15025 2006-04-04 Michael Smith <msmith@fluendo.com>
15027 * tools/gst-inspect.c: (print_element_list):
15028 Free the right plugin list; fixes a memory leak.
15030 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15032 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15034 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15035 Don't error out on empty buffers (#336945).
15037 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
15039 * docs/libs/gstreamer-libs-sections.txt:
15040 * gst/gsttaglist.c:
15041 * libs/gst/base/gstbasesink.c:
15042 * libs/gst/base/gstbasesink.h:
15043 * libs/gst/base/gstbasesrc.c:
15044 * libs/gst/base/gstbasesrc.h:
15045 Documentation updates. Make BaseSink and BaseSrc docs contain the
15046 class structure so that people can actually see the prototypes for
15047 virtual functions they're supposed to be overriding.
15049 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15051 * plugins/elements/gsttypefindelement.c:
15052 (gst_type_find_element_chain):
15053 More debug info; when skipping typefinding, send cached
15054 events in all cases.
15056 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
15059 use new AS_VERSION and AS_NANO macros
15060 * gst/gst-i18n-lib.h:
15063 * gst/gstversion.h.in:
15064 * win32/common/config.h:
15065 * win32/common/config.h.in:
15068 2006-03-31 Michael Smith <msmith@fluendo.com>
15070 * plugins/elements/gsttypefindelement.c:
15071 (gst_type_find_element_chain):
15072 Do not typefind content if the buffers already have caps.
15073 Neccesary for icydemux (#333657), and the right thing to do anyway.
15075 2006-03-30 Wim Taymans <wim@fluendo.com>
15077 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15078 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15079 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15080 (gst_base_sink_record_qos_observation),
15081 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15082 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15083 (gst_base_sink_change_state):
15084 More QoS measurements as described in the design doc.
15085 Get rid of ringbuffer with observations, running average is
15086 more simple and equally good.
15087 Calculates valid proportion now.
15088 Added beginning of flood measurement.
15090 2006-03-29 Wim Taymans <wim@fluendo.com>
15092 * docs/design/part-qos.txt:
15094 Small documentation updates and additions.
15096 2006-03-29 Wim Taymans <wim@fluendo.com>
15098 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15099 (gst_base_src_send_event), (gst_base_src_loop),
15100 (gst_base_src_change_state):
15101 Perform the EOS logic when we reach the segment stop position.
15102 Fix compilation on gcc4.1
15104 2006-03-29 Wim Taymans <wim@fluendo.com>
15106 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
15108 * plugins/elements/gstqueue.c: (gst_queue_init),
15109 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15110 (gst_queue_set_property):
15111 * plugins/elements/gstqueue.h:
15112 In queue, when EOS is received, if minimum threshold > max_size -
15113 current_level, there is chance that queue blocks forever in conditional
15114 item del wait. This is because the queue is not emptied completely due
15115 to minimum threshold. Here is another approach. Instead of setting
15116 cur_levels to max in EOS, just zero all minimum threshold levels. This
15117 should make sure that queue gives out all data. When going to READY
15118 (stop) state, just reset the original minimum threshold levels.
15121 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
15123 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
15124 (gst_type_find_element_handle_event),
15125 (gst_type_find_element_send_cached_events),
15126 (gst_type_find_element_change_state):
15127 * plugins/elements/gsttypefindelement.h:
15128 When typefinding is done in push mode, we should cache
15129 events we receive during typefinding instead of just
15130 dropping them (e.g. newsegment, custom events from
15131 dvdreadsrc etc.) and then send them out once we've
15132 determined the type of the stream (and decodebin
15133 has had a chance to plug in a decoder/demuxer).
15135 2006-03-27 Wim Taymans <wim@fluendo.com>
15137 * docs/design/part-qos.txt:
15140 2006-03-27 Wim Taymans <wim@fluendo.com>
15142 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
15144 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15145 (gst_base_src_send_event), (gst_base_src_change_state):
15146 Handle element seek correctly when we are streaming.
15149 2006-03-24 Michael Smith <msmith@fluendo.com>
15151 * docs/faq/gst-uninstalled:
15152 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
15153 allow you to correctly run intalled applications built against old
15154 core, using plugins that require updated core (e.g. running
15155 installed totem against a full uninstalled gstreamer stack)
15157 2006-03-24 Stefan Kost <ensonic@users.sf.net>
15159 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15162 2006-03-24 Wim Taymans <wim@fluendo.com>
15164 * docs/gst/gstreamer-sections.txt:
15165 Rearrange the order of the methods so that related methods
15166 are grouped together in sections.
15168 2006-03-24 Stefan Kost <ensonic@users.sf.net>
15170 * gst/gstelement.c:
15171 Little clarification in the docs
15173 2006-03-24 Stefan Kost <ensonic@users.sf.net>
15177 * plugins/elements/gstidentity.c:
15178 * plugins/elements/gstqueue.c:
15179 * plugins/elements/gsttee.c:
15180 * plugins/elements/gsttypefindelement.c:
15181 GST_ELEMENT_DETAILS formatting
15183 2006-03-24 Wim Taymans <wim@fluendo.com>
15185 * libs/gst/base/gstbasesink.h:
15186 Only add fields, not insert or we break ABI.
15188 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
15190 * win32/common/libgstbase.def:
15191 * win32/common/libgstreamer.def:
15192 Update, add recently added functions.
15194 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
15196 * docs/gst/gstreamer-sections.txt:
15197 * gst/gstutils.c: (gst_pad_query_peer_position),
15198 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
15200 API: add some new utility functions:
15201 - gst_pad_query_peer_position()
15202 - gst_pad_query_peer_duration()
15203 - gst_pad_query_peer_convert()
15205 2006-03-23 Wim Taymans <wim@fluendo.com>
15207 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15208 (gst_base_sink_init), (gst_base_sink_finalize),
15209 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
15210 (gst_base_sink_set_property), (gst_base_sink_get_property),
15211 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
15212 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15213 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
15214 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15215 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15216 (gst_base_sink_preroll_object), (gst_base_sink_event),
15217 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
15218 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
15219 (gst_base_sink_query), (gst_base_sink_change_state):
15220 Decouple max-lateness and the fact that QoS messages are generated
15221 with a new property (qos).
15222 added API: GstBaseSink::async_play()
15223 Add vmethod so subclasses can be notified of ASYNC playing
15225 Collect timestamp start and stop to report better current
15226 position in EOS/PLAYING/PAUSED/READY/NULL.
15227 Refactor QoS/frame dropping and other measurements.
15228 API: GstBaseSrc::qos
15231 * libs/gst/base/gstbasesink.h:
15232 Added Private struct.
15233 API: gst_base_sink_set_qos_enabled()
15234 API: gst_base_sink_is_qos_enabled()
15236 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
15238 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15239 If compiling against GLib-2.8 or newer, try to read the
15240 registry file using GMappedFile first before falling back
15241 to fopen() + fread() (#332151).
15243 2006-03-22 Wim Taymans <wim@fluendo.com>
15245 * gst/gstinfo.c: (gst_debug_set_active),
15246 (gst_debug_category_set_threshold):
15247 Disable debugging unless explicitly activated.
15250 2006-03-22 Wim Taymans <wim@fluendo.com>
15252 * gst/gstelement.c: (gst_element_set_locked_state),
15253 (gst_element_dispose):
15254 Cleanup the error case.
15256 * gst/gstobject.c: (gst_object_dispose):
15257 print a critical when some object was disposed with
15258 a parent, also revive the object since it might
15261 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
15263 * tools/gst-launch.1.in:
15266 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
15269 * tests/check/Makefile.am:
15270 disable some tests when we don't have a registry
15271 * tests/check/gst/gstutils.c: (gst_utils_suite):
15272 don't build the part that needs parsing
15274 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
15277 * tests/examples/Makefile.am:
15278 fix --disable-parse build
15280 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
15282 * tools/gst-feedback.1.in:
15283 Fix typo: s/feeback/feedback/ (#133494).
15285 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
15287 * tools/Makefile.am:
15288 * tools/gst-launch.1.in:
15289 Add FILES section and correct entry about GST_REGISTRY_PATH
15290 environment variable (#133495; #133494).
15292 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
15294 * tools/Makefile.am:
15295 * tools/gst-md5sum.1.in:
15296 * tools/gst-md5sum.c:
15297 Remove gst-md5sum and man page (the md5sink element
15298 required was removed ages ago)
15300 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
15302 * gst/gststructure.c: (gst_structure_id_set_value):
15303 Make sure that string fields in structures/taglists
15304 contain valid UTF-8 - we don't want to pass rubbish to
15305 applications because of a buggy plugin (cp. #334167).
15307 2006-03-21 Edward Hervey <edward@fluendo.com>
15309 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15310 (gst_bin_handle_message_func):
15311 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
15312 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
15313 (gst_element_set_bus_func):
15314 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
15315 * gst/gstminiobject.c: (gst_value_set_mini_object),
15316 (gst_value_take_mini_object):
15317 * gst/gstpad.c: (gst_pad_set_pad_template):
15318 * gst/gstpipeline.c: (gst_pipeline_dispose),
15319 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
15320 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
15321 (gst_collect_pads_chain):
15322 * libs/gst/net/gstnettimeprovider.c:
15323 (gst_net_time_provider_set_property):
15324 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
15325 It's in fact all issues with gst_*object_replace().
15327 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
15329 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
15331 * pkgconfig/gstreamer-check-uninstalled.pc.in:
15332 * pkgconfig/gstreamer-check.pc.in:
15333 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
15335 2006-03-21 Edward Hervey <edward@fluendo.com>
15339 * gst/gstmessage.h:
15340 gst_[buffer|event|message]_ref() macros are replaced by a static
15341 inline functions because gcc-4.1 will about if the return value
15343 * tests/check/gst/gstevent.c: (event_probe):
15344 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
15346 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
15349 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
15350 the type' case. (Closes: #335195 for now). In the future, when we
15351 depend on GLib 2.10, we could also intern the type name using
15352 g_intern_static_string()
15354 2006-03-20 Wim Taymans <wim@fluendo.com>
15356 * gst/gstbin.c: (gst_bin_handle_message_func),
15357 (bin_query_max_init), (bin_query_position_fold),
15358 (bin_query_position_done), (gst_bin_query):
15359 Position query should also take max of all streams.
15361 2006-03-20 Wim Taymans <wim@fluendo.com>
15363 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15364 (gst_fake_src_finalize):
15365 Fix leaks in fakesrc.
15367 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
15368 Fix leaks in the testcase.
15370 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
15372 * gst/gst_private.h:
15373 add win32 specific import decoration(__declspec(dllimport))
15374 for all extern GstDebugCategory * variables
15375 * win32/common/libgstbase.def:
15376 * win32/common/libgstcontroller.def:
15377 * win32/common/libgstreamer.def:
15378 Add some exports, remove empty lines
15379 * win32/common/libgstdataprotocol.def:
15380 * win32/common/libgstdataprotocol.dsp:
15381 * win32/common/libgstnet.def:
15382 * win32/common/libgstnet.dsp:
15383 new project files and exportation files added
15385 2006-03-19 Wim Taymans <wim@fluendo.com>
15387 * tests/check/libs/basesrc.c: (eos_event_counter):
15388 Use proper return value for probe.
15390 2006-03-17 Wim Taymans <wim@fluendo.com>
15392 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
15394 Don't leak buffers, caps and pads on negotiation errors.
15396 2006-03-16 Stefan Kost <ensonic@users.sf.net>
15398 * docs/faq/cvs.xml:
15399 * docs/faq/dependencies.xml:
15400 * docs/faq/developing.xml:
15401 * docs/faq/faq.xml:
15402 * docs/faq/general.xml:
15403 * docs/faq/getting.xml:
15404 * docs/faq/legal.xml:
15405 * docs/faq/troubleshooting.xml:
15406 * docs/faq/using.xml:
15407 Faq review and update.
15409 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
15411 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
15413 Don't pound the cpu to pieces by checking get_caps when accept_caps
15414 is called with the same caps as the pad already has.
15415 Use GST_DEBUG_OBJECT when outputting caps change information.
15417 2006-03-15 Wim Taymans <wim@fluendo.com>
15419 * gst/gstclock.c: (gst_clock_class_init):
15422 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
15427 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
15428 (gst_pad_accept_caps), (gst_pad_configure_sink),
15429 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
15430 Make the default acceptcaps behaviour be to check the requested
15431 caps against the gst_pad_get_caps output.
15433 Ensure that gst_pad_accept_caps is used to check caps when a pad
15434 doesn't have a setcaps function, so that pads automatically refuse
15435 caps that they don't allow in their pad template. (Fixes #332986)
15437 When a buffer with attached caps is pushed, ensure that the source
15438 pad receives those caps even if the element didn't call
15439 gst_pad_set_caps first.
15441 2006-03-15 Wim Taymans <wim@fluendo.com>
15443 * libs/gst/base/gstadapter.c:
15446 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
15448 * win32/common/libgstbase.def:
15449 * win32/common/libgstcontroller.def:
15450 * win32/common/libgstreamer.def:
15451 Add a whole bunch of missing functions (#334434).
15453 2006-03-14 Wim Taymans <wim@fluendo.com>
15455 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15456 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
15457 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
15458 Better debug info when we receive a segment event.
15459 Reorganize a bit so we can pass the get_times() results around.
15460 Use the segment format when calculating the running time.
15461 Don't do QoS is sync is disabled or we have no clock or the
15462 element does not want us to sync to the clock.
15463 Don't drop buffers if QoS is disabled for now.
15465 2006-03-14 Wim Taymans <wim@fluendo.com>
15467 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
15468 Marked the stats property as unimplemented so people don't get
15470 Add debug message when regression goes wrong.
15471 Added some more docs.
15473 2006-03-14 Wim Taymans <wim@fluendo.com>
15475 * gst/gstsegment.c: (gst_segment_to_stream_time):
15476 Return correct return type in case of errors.
15478 2006-03-14 Wim Taymans <wim@fluendo.com>
15480 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
15481 Don't segfault on invalid formats.
15483 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
15485 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15486 Can't use gst_segment_to_running_time() when the segment
15487 is not in GST_TIME_FORMAT (like with filesink, for example).
15488 Stops flac encoding pipelines from spewing critical warnings
15491 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
15493 * gst/gstpipeline.c: (gst_pipeline_class_init):
15494 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
15496 * plugins/elements/gsttypefindelement.c:
15497 (gst_type_find_element_handle_event):
15498 Don't try to typefind empty streams.
15500 2006-03-14 Wim Taymans <wim@fluendo.com>
15502 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
15503 (gst_base_sink_do_qos):
15504 Separate QoS calculation.
15505 Only drop buffers when lateness is bigger than the
15506 duration of the buffer.
15508 2006-03-13 Wim Taymans <wim@fluendo.com>
15510 * gst/gstpipeline.c: (gst_pipeline_set_property),
15511 (gst_pipeline_get_property), (do_pipeline_seek),
15512 (gst_pipeline_change_state), (gst_pipeline_set_delay),
15513 (gst_pipeline_get_delay):
15514 Don't deadlock when reading properties.
15516 2006-03-13 Wim Taymans <wim@fluendo.com>
15518 * libs/gst/base/gstbasetransform.c:
15519 (gst_base_transform_class_init), (gst_base_transform_init),
15520 (gst_base_transform_sink_event),
15521 (gst_base_transform_sink_eventfunc),
15522 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
15523 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
15524 (gst_base_transform_set_property),
15525 (gst_base_transform_get_property),
15526 (gst_base_transform_change_state), (gst_base_transform_update_qos),
15527 (gst_base_transform_set_qos_enabled),
15528 (gst_base_transform_is_qos_enabled):
15529 * libs/gst/base/gstbasetransform.h:
15530 Make basetransform virtual method for src events too.
15531 Handle QOS in basetransform.
15532 API: gst_base_transform_update_qos()
15533 API: gst_base_transform_set_qos_enabled()
15534 API: gst_base_transform_is_qos_enabled()
15536 2006-03-13 Wim Taymans <wim@fluendo.com>
15538 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15539 (gst_base_sink_do_sync):
15541 Use QOS debug category.
15543 2006-03-13 Wim Taymans <wim@fluendo.com>
15545 * plugins/elements/gstqueue.c:
15546 Very small doc update.
15548 2006-03-13 Wim Taymans <wim@fluendo.com>
15550 * gst/gst_private.h:
15551 * gst/gstinfo.c: (_gst_debug_init):
15552 Added QOS debug category
15554 2006-03-13 Wim Taymans <wim@fluendo.com>
15556 * docs/gst/gstreamer-sections.txt:
15557 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
15559 * gst/gstbus.c: (gst_bus_class_init):
15562 * gst/gstelement.c: (gst_element_set_locked_state):
15563 * gst/gstsegment.c:
15564 Documentation updates.
15566 * gst/gstpipeline.c: (gst_pipeline_get_type),
15567 (gst_pipeline_class_init), (gst_pipeline_init),
15568 (gst_pipeline_dispose), (gst_pipeline_set_property),
15569 (gst_pipeline_get_property), (do_pipeline_seek),
15570 (gst_pipeline_send_event), (gst_pipeline_change_state),
15571 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
15572 (gst_pipeline_get_delay):
15573 * gst/gstpipeline.h:
15574 Added methods for setting the delay.
15575 API: gst_pipeline_set_delay()
15576 API: gst_pipeline_get_delay()
15577 Add pipeline debug category
15580 Don't reset stream time when seek failed.
15582 2006-03-13 Wim Taymans <wim@fluendo.com>
15584 * docs/design/draft-klass.txt:
15585 * docs/design/part-clocks.txt:
15586 * docs/design/part-events.txt:
15587 * docs/design/part-gstbin.txt:
15588 * docs/design/part-gstpipeline.txt:
15589 * docs/design/part-messages.txt:
15590 * docs/design/part-negotiation.txt:
15591 * docs/design/part-overview.txt:
15592 * docs/design/part-preroll.txt:
15593 * docs/design/part-seeking.txt:
15594 * docs/design/part-states.txt:
15595 * docs/design/part-streams.txt:
15596 Documentation updates.
15598 2006-03-12 Julien MOUTTE <julien@moutte.net>
15600 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
15601 us to leak strings...
15603 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
15605 * libs/gst/net/gstnettimeprovider.c:
15607 * win32/common/config.h:
15610 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
15612 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
15615 Don't check for libgnomeui (leftover from old examples
15616 that aren't built or disted any longer) (#334303).
15618 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
15620 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
15621 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15622 Emit RESOURCE_NO_SPACE_LEFT error here as well when
15623 there's no space left on the device.
15625 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
15628 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
15629 to cast the input to GstClockTime before comparing with
15630 another GstClockTime value.
15632 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
15637 === release 0.10.4 ===
15639 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
15642 releasing 0.10.4, "Light"
15644 2006-03-10 Michael Smith <msmith@fluendo.com>
15646 * libs/gst/dataprotocol/dataprotocol.c:
15647 Fix docs for dataprocotol to not get the return types completely
15648 wrong for a few functions.
15650 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
15652 * docs/gst/gstreamer-sections.txt:
15653 * gst/gstpipeline.c: (gst_pipeline_class_init),
15654 (gst_pipeline_init), (gst_pipeline_set_property),
15655 (gst_pipeline_get_property), (gst_pipeline_change_state),
15656 (gst_pipeline_set_auto_flush_bus),
15657 (gst_pipeline_get_auto_flush_bus):
15658 * gst/gstpipeline.h:
15659 Add new API: gst_pipeline_set_auto_flush_bus() and
15660 gst_pipeline_get_auto_flush_bus() to disable automatic
15661 flushing of the pipeline's GstBus when going from READY
15662 to NULL state (#332045).
15664 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
15666 * docs/gst/gstreamer-sections.txt:
15667 * gst/gsturi.c: (gst_uri_has_protocol):
15669 Add new API: gst_uri_has_protocol() (#333779).
15671 2006-03-09 Wim Taymans <wim@fluendo.com>
15673 * gst/gstclock.c: (gst_clock_entry_new),
15674 (gst_clock_id_compare_func), (gst_clock_id_wait),
15675 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
15676 (gst_clock_init), (gst_clock_get_internal_time),
15677 (gst_clock_set_master), (do_linear_regression),
15678 (gst_clock_add_observation), (gst_clock_set_property):
15682 Fix a possible segfault when the window-size is made smaller.
15683 Calculate jitter before performing the clock wait. Ideally
15684 the clock implementation should calculate jitter but we need
15685 API breakage for that.
15687 * gst/gstsystemclock.c: (gst_system_clock_init):
15690 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15691 Remove leftover else
15693 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
15694 (gst_systemclock_suite):
15695 Added check to test GST_CLOCK_DIFF.
15697 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
15699 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
15700 (gst_type_find_helper_get_range):
15701 If we are provided with the size, we should implement
15702 GstTypeFind::get_length, so that typefind functions who
15703 want to can actually peek at the middle of a file.
15705 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
15707 * docs/manual/advanced-dataaccess.xml:
15708 Add some very very basic error checking.
15710 * docs/pwg/appendix-checklist.xml:
15711 Some updates to the list of things to check when writing an element.
15713 2006-03-08 Wim Taymans <wim@fluendo.com>
15715 * docs/design/part-element-transform.txt:
15716 Added some docs about the design of tranform elements.
15718 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15719 (gst_base_src_loop), (gst_base_src_change_state):
15720 Mark buffers with the DISCONT flag.
15722 2006-03-08 Michael Smith <msmith@fluendo.com>
15724 * gst/gstregistry.h:
15725 * gst/gstregistryxml.c: (gst_registry_save),
15726 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
15727 (gst_registry_xml_save_pad_template),
15728 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
15729 (gst_registry_xml_write_cache):
15730 Rewrite registry-saving to avoid race conditions and check for
15733 2006-03-08 Wim Taymans <wim@fluendo.com>
15735 * libs/gst/base/gstbasetransform.c:
15736 (gst_base_transform_transform_caps),
15737 (gst_base_transform_transform_size),
15738 (gst_base_transform_prepare_output_buffer),
15739 (gst_base_transform_get_unit_size),
15740 (gst_base_transform_buffer_alloc),
15741 (gst_base_transform_handle_buffer),
15742 (gst_base_transform_change_state):
15743 Cleanups, separate normal flow from errors, add sensible
15745 Don't try to renegotiate when allocating an output buffer.
15746 Also copy DISCONT buffer flag when copying a buffer.
15747 Reset the transform after we finish streaming, not during.
15749 2006-03-08 Wim Taymans <wim@fluendo.com>
15751 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15752 Use last buffer timestamp in qos message.
15754 2006-03-07 Wim Taymans <wim@fluendo.com>
15756 Patch by: Christophe Fergeau
15758 * docs/pwg/advanced-tagging.xml:
15759 * docs/pwg/building-pads.xml:
15762 2006-03-07 Wim Taymans <wim@fluendo.com>
15764 * docs/libs/gstreamer-libs-sections.txt:
15765 Added basesink new methods.
15769 Docs updates. Flesh out the QoS docs.
15771 * libs/gst/base/gstadapter.c:
15772 Small doc clarification about ownership and flushing.
15774 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
15775 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
15776 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
15777 (gst_base_sink_get_property), (gst_base_sink_do_sync):
15778 * libs/gst/base/gstbasesink.h:
15780 Added new methods to allow subclass to control max-lateness
15782 Generate very basic QoS events based on last sync observation.
15783 Updated docs, fix typo, added some QoS blurb.
15785 * libs/gst/base/gstbasesrc.c:
15786 Remove obsolete _get_state() calls from docs.
15788 2006-03-07 Wim Taymans <wim@fluendo.com>
15790 * docs/libs/gstreamer-libs-sections.txt:
15791 * libs/gst/base/gstbasetransform.h:
15792 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
15793 Fix docs for GstBaseSrc.
15795 2006-03-07 Wim Taymans <wim@fluendo.com>
15797 * docs/gst/gstreamer-sections.txt:
15800 * libs/gst/base/gstbasetransform.h:
15801 Small documentation fixes.
15803 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
15806 Document thread-unsafety of gst_value_register_foo_func()
15807 when used at the same time as gst_value_foo() (#322628).
15809 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
15811 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
15812 (gst_push_src_check_get_range):
15813 Push sources don't support pull mode by default.
15815 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
15817 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15818 (gst_base_src_init), (gst_base_src_pad_check_get_range),
15819 (gst_base_src_default_check_get_range):
15820 * libs/gst/base/gstbasesrc.h:
15821 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
15822 provide default implementation, and rename
15823 gst_base_src_check_get_range() to
15824 gst_base_src_pad_check_get_range() for clarity.
15826 2006-03-06 Wim Taymans <wim@fluendo.com>
15828 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15829 Make property overridable.
15831 2006-03-06 Wim Taymans <wim@fluendo.com>
15833 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15834 (gst_base_sink_init), (gst_base_sink_set_property),
15835 (gst_base_sink_get_property), (gst_base_sink_do_sync):
15836 * libs/gst/base/gstbasesink.h:
15837 API addition: Make max-lateness a property.
15839 2006-03-06 Wim Taymans <wim@fluendo.com>
15841 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
15842 (gst_base_sink_do_sync), (gst_base_sink_render_object):
15843 Don't ever draw a frame that is >10ms late.
15845 2006-03-06 Michael Smith <msmith@fluendo.com>
15847 * gst/gstmessage.c: (_gst_message_copy):
15848 When copying a message, set the parent_refcount of the enclosed
15849 structure to point at the copy, not the original message.
15851 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
15853 Patch by: Christophe Fergeau
15856 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
15857 usable in c++ code (#333417)
15859 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
15862 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
15864 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
15866 * libs/gst/base/gstbasetransform.c:
15867 (gst_base_transform_transform_caps):
15868 Make sure caps are writable before passing them to
15871 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
15874 Fix some minor docs errors.
15876 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
15878 Patch by: Ross Burton <ross at burtonini dot com>
15880 * gst/gsterror.c: (_gst_resource_errors_init):
15882 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
15884 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
15887 Add a check and output a g_warning when GStreamer is built
15888 against GLib 2.6 but running against 2.8 or higher, and vice
15889 versa. (Closes: #323542)
15891 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
15893 * gst/parse/parse.l:
15894 Commit patch for parse_launch syntax from #331255. Removes
15895 support for quoted strings and mimetypes when writing filtered
15896 caps. See the bug report for more details - I'm pretty sure this
15897 obscure feature is not in use by _anyone_ anywhere.
15899 With this simple change, the size of the gstreamer.so here
15900 drops from 2193KB to 1565KB.
15902 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
15904 * plugins/elements/gsttypefindelement.h:
15905 * plugins/elements/gsttypefindelement.c:
15906 (gst_type_find_element_src_event), (start_typefinding),
15907 (stop_typefinding), (gst_type_find_element_handle_event),
15908 (gst_type_find_element_chain),
15909 (gst_type_find_element_chain_do_typefinding):
15910 Use gst_type_find_helper_for_buffer() for chain-based
15913 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
15915 * plugins/elements/gsttypefindelement.c:
15916 (gst_type_find_element_class_init),
15917 (gst_type_find_element_set_property),
15918 (gst_type_find_element_get_property):
15919 Deprecate "maximum" property (not only was it only taken into
15920 account for typefinding in push-mode anyway, it also was never
15921 actually possible to set it in the first place because the
15922 property was registered with the numeric property ID for the
15923 "minimum" property). Register "maximum" property correctly,
15924 for the sake of future copy'n'pasters. Remove some cruft
15925 from property get/set functions.
15927 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
15929 * plugins/elements/gsttypefindelement.c:
15930 (gst_type_find_element_activate):
15931 Use gst_type_find_helper_get_range() here, so we
15932 can honour the "minimum" property and also emit
15933 the signal with the correct probability of the found caps.
15935 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
15937 * docs/libs/gstreamer-libs-sections.txt:
15938 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
15939 (helper_find_suggest), (gst_type_find_helper_get_range),
15940 (gst_type_find_helper):
15941 * libs/gst/base/gsttypefindhelper.h:
15942 New API: gst_type_find_helper_get_range() (#333042).
15944 2006-03-02 Michael Smith <msmith@fluendo.com>
15946 * gst/gstregistryxml.c: (load_feature):
15947 Asserting on a failure to read part of the registry is Not Cool.
15948 Just log a warning and return NULL (which is already handled)
15950 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
15952 * win32/common/libgstbase.def:
15953 added export of gst_type_find_helper_for_buffer
15954 * win32/common/libgstbase.def:
15955 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
15956 gst_ghost_pad_get_target
15958 2006-02-28 Wim Taymans <wim@fluendo.com>
15960 * docs/design/draft-klass.txt:
15962 Added Connector to mark elements that are only used to
15963 allow pipeline connections.
15964 Moved Debug to extra feature since most of them are
15965 functionally something else.
15967 2006-02-28 Wim Taymans <wim@fluendo.com>
15969 * docs/design/draft-klass.txt:
15970 Some updates and clarifications.
15972 2006-02-28 Wim Taymans <wim@fluendo.com>
15974 * docs/design/draft-klass.txt:
15975 Proposal for klass field values.
15977 * docs/design/part-streams.txt:
15978 Start of a doc describing stream anatomy.
15980 2006-02-28 Wim Taymans <wim@fluendo.com>
15982 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
15983 Help the compiler a bit with type registration.
15984 Use existing forward cod path instead of duplicating it when
15985 handling a message.
15987 * gst/gstbus.c: (gst_bus_get_type):
15988 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
15989 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
15990 * gst/gstclock.c: (gst_clock_get_type):
15991 * gst/gstelement.c: (gst_element_get_type),
15992 * gst/gstelementfactory.c: (gst_element_factory_get_type):
15993 * gst/gstindexfactory.c: (gst_index_factory_get_type):
15994 * gst/gstminiobject.c: (gst_mini_object_get_type):
15995 * gst/gstpad.c: (gst_pad_get_type):
15996 * gst/gstsegment.c: (gst_segment_get_type):
15997 * gst/gststructure.c: (gst_structure_get_type):
15998 * gst/gstsystemclock.c: (gst_system_clock_get_type):
15999 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16001 Help compiler with type registration.
16003 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16006 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16008 * plugins/elements/gsttypefindelement.c:
16009 (gst_type_find_element_handle_event):
16010 When we get an EOS event and have not found a type yet
16011 (most likely because we had not yet accumulated
16012 TYPE_FIND_MIN_SIZE of data yet), try to determine the
16013 type given the data we have so far. Fixes typefinding
16014 for very short streams again, most notably quicktime
16015 redirections as used on Apple's trailer site (#331701).
16017 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16019 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16020 (gst_type_find_helper):
16021 Try typefinding factories with the highest rank first.
16023 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16025 * docs/libs/gstreamer-libs-docs.sgml:
16026 * docs/libs/gstreamer-libs-sections.txt:
16027 * libs/gst/base/gsttypefindhelper.c:
16028 Add section for typefind helper and add documentation
16029 for the old and the new function.
16031 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16033 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16034 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16035 (gst_type_find_helper_for_buffer):
16036 * libs/gst/base/gsttypefindhelper.h:
16037 New API: gst_type_find_helper_for_buffer() (#332723).
16039 2006-02-27 Michael Smith <msmith@fluendo.com>
16041 Patch by: Loïc Minier
16044 * docs/Makefile.am:
16045 * docs/slides/Makefile.am:
16046 prevent CVS directories getting disted.
16048 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16050 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16051 Use the REFCOUNTING category for caps refcounting.
16053 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16055 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16056 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16058 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16060 * plugins/elements/gsttypefindelement.c:
16061 (gst_type_find_element_activate):
16062 Use gst_pad_check_pull_range() before _activate_pull()
16063 to avoid unnecessary open/close (see #331690).
16065 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16068 Docs enhancement: make it crystal clear what the
16069 gst_pad_add_*_probe() callbacks should look like.
16071 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16073 * libs/gst/base/gstbasesrc.c:
16074 Document how applications can stop recording from
16075 live sources (see #330996).
16077 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16079 * tests/check/Makefile.am:
16080 * tests/check/libs/basesrc.c: (eos_event_counter),
16081 (basesrc_eos_events_pull), (basesrc_eos_events_push),
16082 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16083 (gst_basesrc_suite), (main):
16084 ... and add some tests for the base source EOS stuff.
16086 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16088 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
16089 Test case originally showed the problem fixed below,
16090 but was then amended. Add checks back at the place
16091 where they used to be.
16093 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16095 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16096 (gst_base_src_init), (gst_base_src_loop),
16097 (gst_base_src_activate_push), (gst_base_src_activate_pull),
16098 (gst_base_src_change_state):
16099 * libs/gst/base/gstbasesrc.h:
16100 Don't unconditionally send EOS when going from PAUSED to
16101 READY state, esp. make sure we don't send two EOS events
16102 in some cases (e.g. one when reaching EOS and one when
16103 going from PAUSED to READY). Also, we don't want to send
16104 EOS events when operating in pull mode. However, we do
16105 want to send an EOS event when shutting down a live
16106 source explicitly, for example (fixes #330996).
16108 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16110 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
16111 Update src->read_position after a seek when not using mmap.
16112 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
16114 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
16120 Make things work with --disable-parse as they do with
16121 --disable-load-save - the symbols involved disappear, but the
16122 header is still installed and GST_DISABLE_PARSE is included via
16125 2006-02-20 Julien MOUTTE <julien@moutte.net>
16127 * libs/gst/base/gstbasetransform.c:
16128 (gst_base_transform_change_state): Fix a stupid bug. I was
16129 sure I compiled that.
16131 2006-02-20 Julien MOUTTE <julien@moutte.net>
16133 * gst/gstpad.c: (gst_pad_set_blocked_async):
16134 * gst/gstutils.c: (gst_pad_add_data_probe),
16135 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16136 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16137 (gst_pad_remove_buffer_probe): Make those function act on the
16138 ghostpad target when it's a ghostpad. (Closes #331727)
16140 2006-02-20 Julien MOUTTE <julien@moutte.net>
16142 * libs/gst/base/gstbasetransform.c:
16143 (gst_base_transform_change_state): Make basetransform reusable.
16146 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
16148 * docs/random/release:
16149 Move the current documentation of how to do a release to the top
16152 * gst/gstbin.c: (gst_bin_class_init),
16153 (gst_bin_handle_message_func):
16154 Allow multiple state-recalculation threads. (Closes #328873)
16156 2006-02-19 Julien MOUTTE <julien@moutte.net>
16158 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
16159 * gst/gstpad.c: (gst_pad_set_event_function),
16160 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16161 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
16162 2 strings. You can't use the STR_NULL macro on that.
16164 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
16166 * gst/gstpad.c: (gst_pad_set_event_function),
16167 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16168 (gst_pad_set_getcaps_function)
16169 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
16170 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
16171 So now, we can use --gst-debug-level=5 on Windows
16172 * win32/common/libgstcontroller.def:
16173 Added export of gst_controller_init
16174 * win32/vs6/libgstcontroller.dsp:
16175 Fixed Release post build configuration
16177 2006-02-17 Wim Taymans <wim@fluendo.com>
16179 * tests/check/gst/gstquery.c: (GST_START_TEST):
16180 Added another check.
16182 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
16184 * plugins/elements/gsttypefindelement.c: (find_peek):
16185 We can do peeks at non-zero offsets, as long as they
16186 fall within the buffer we have.
16188 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
16190 * tests/check/Makefile.am:
16191 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
16192 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
16193 (parse_suite), (main):
16194 Add testsuite for parse launch syntax
16196 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
16198 * plugins/elements/gsttypefindelement.c:
16199 (gst_type_find_element_chain):
16200 When typefinding is unsuccessful in the chain function, don't
16201 error out immediately. Only error out with NO_CAPS_FOUND if
16202 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
16203 otherwise simply wait for more data so we can try typefinding
16204 again with more data later. Also, don't attempt to typefind
16205 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
16206 this should improve typefinding from network sources where the
16207 size of the first buffer can be somewhat random.
16209 2006-02-14 Wim Taymans <wim@fluendo.com>
16211 * docs/gst/gstreamer-sections.txt:
16212 * gst/gstpadtemplate.c:
16213 * gst/gstpadtemplate.h:
16214 Fix padtemplate docs, fixes #328805.
16216 2006-02-14 Wim Taymans <wim@fluendo.com>
16218 * tools/gst-launch.c: (main):
16219 NO_PREROLL is not an ERROR so don't send confusing messages
16222 2006-02-14 Wim Taymans <wim@fluendo.com>
16224 Patch by: Torsten Schoenfeld
16226 * gst/gstregistry.c: (gst_registry_get_default),
16227 (_gst_registry_cleanup):
16228 Protect default registry with lock and ref/sink it.
16231 2006-02-14 Wim Taymans <wim@fluendo.com>
16234 * gst/gstquery.c: (gst_query_list_add_format),
16235 (gst_query_set_formatsv), (gst_query_parse_formats_length),
16236 (gst_query_parse_formats_nth):
16237 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16240 2006-02-14 Wim Taymans <wim@fluendo.com>
16242 * docs/gst/gstreamer-sections.txt:
16243 Reworked query docs.
16245 * gst/gstquery.c: (gst_query_new_formats),
16246 (gst_query_list_add_format), (gst_query_set_formats),
16247 (gst_query_set_formatsv), (gst_query_parse_formats_length),
16248 (gst_query_parse_formats_nth):
16250 Flesh out formats query, added some new methods.
16251 Fix part of #324398.
16253 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
16254 Added query creation tests.
16256 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
16258 * gst/gstpad.c: (fixate_value):
16259 Add a default fixation for fraction lists.
16261 2006-02-13 Wim Taymans <wim@fluendo.com>
16263 * gst/gsttask.c: (gst_task_init), (gst_task_func),
16264 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
16267 Detect and warn for obvious deadlocks. fixes #320340
16268 Fix error case where lock was not released.
16270 * tests/check/Makefile.am:
16271 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
16272 (task_func), (gst_element_suite), (main):
16275 2006-02-13 Wim Taymans <wim@fluendo.com>
16277 * docs/gst/gstreamer-sections.txt:
16279 Add new functions to docs.
16281 2006-02-13 Wim Taymans <wim@fluendo.com>
16283 * docs/design/part-TODO.txt:
16284 Updated TODO list, basesrc supports seeking to non-bytes
16287 * docs/design/part-element-sink.txt:
16290 * gst/gstbin.c: (bin_replace_message),
16291 (gst_bin_handle_message_func):
16292 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
16293 * gst/gstevent.c: (gst_event_finalize):
16294 * gst/gstpad.c: (gst_pad_event_default_dispatch),
16295 (gst_pad_send_event):
16296 Use shiny new _TYPE_NAME macros.
16298 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
16299 Move debug statement up.
16301 * gst/gstelement.c: (gst_element_set_locked_state):
16302 Add some debugging.
16304 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
16306 * docs/gst/gstreamer-sections.txt:
16307 * gst/gstmessage.h:
16309 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
16310 macros (#330906). Also, document the already existing
16311 GST_QUERY_TYPE macro.
16313 2006-02-13 Wim Taymans <wim@fluendo.com>
16315 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
16316 (event_probe), (GST_START_TEST):
16317 Only events up to the pipeline EOS are counted, there are
16318 some more when going to NULL currently which we don't care
16321 2006-02-13 Wim Taymans <wim@fluendo.com>
16323 * gst/gstpad.c: (gst_pad_send_event):
16324 Correctly check flushing and emit probes. fixes #330125
16326 2006-02-10 Andy Wingo <wingo@pobox.com>
16328 * gst/gstbus.c (gst_bus_class_init): Declare our private data
16330 (gst_bus_init): Cache the location of the private data in the
16331 instance structure.
16332 (gst_bus_enable_sync_message_emission)
16333 (gst_bus_disable_sync_message_emission): Implement new public
16335 (gst_bus_post): Emit the sync-message signal if the user asked for
16338 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
16339 location of the bus-private structure.
16340 (gst_bus_enable_sync_message_emission)
16341 (gst_bus_disable_sync_message_emission): API addition
16343 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
16345 Patch by: Vincent Torri
16347 * docs/pwg/building-boiler.xml:
16348 PWG patch from #326800
16350 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
16353 * docs/Makefile.am:
16354 * docs/design/Makefile.am:
16357 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
16362 === release 0.10.3 ===
16364 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
16367 releasing 0.10.3, "Like a virgin"
16369 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
16372 2nd prerelease of 0.10.3
16373 Bump libtool versioning.
16375 2006-02-07 Andy Wingo <wingo@pobox.com>
16377 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
16378 update last_stop if we're in TIME format and the timestamp is
16381 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
16382 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
16383 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
16384 If we get a new newsegment with a different format, adapt
16387 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
16388 of 0. Not a problem, really.
16390 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
16393 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
16398 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
16401 project files updated to the default vs7 configuration
16402 * win32/common/libgstbase.def:
16403 * win32/common/libgstreamer.def:
16405 removed empty lines,
16406 sorted all exported symbols alphabetically
16407 * win32/common/dirent.c:
16408 * win32/common/dirent.h:
16409 * win32/common/gchar.h:
16410 use windows line end.
16412 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
16414 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
16415 Send EOS event when stopping.
16417 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
16420 Tell folks what to do if the plugin-foobar.xml file
16421 hasn't been generated for a newly-added plugin.
16423 2006-02-05 Julien MOUTTE <julien@moutte.net>
16425 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
16426 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
16427 (gst_collect_pads_start), (gst_collect_pads_stop),
16428 (gst_collect_pads_event): Collectpads now holds a reference
16429 to the GstPad that was added. Indeed we don't want to look
16430 at pads that might just go away with no warning...
16432 2006-02-05 Julien MOUTTE <julien@moutte.net>
16434 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
16435 (gst_collect_pads_start), (gst_collect_pads_stop),
16436 (gst_collect_pads_event), (gst_collect_pads_chain):
16437 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
16438 Mark Nauwelaerts's patch on bug #328491.
16440 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
16442 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
16444 Add some simple tests for gst_parse_bin_from_description() and
16445 gst_bin_find_unconnected_pad() (#329069).
16447 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
16449 * tools/gst-launch.c: (event_loop), (main):
16450 Catch errors during preroll (#320084).
16452 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
16454 * plugins/elements/gsttypefindelement.c:
16455 (gst_type_find_element_activate):
16456 Post TYPE_NOT_FOUND error message when typefinding
16457 is unsuccessful in the activate function as well.
16459 2006-02-02 Wim Taymans <wim@fluendo.com>
16461 * docs/design/part-element-sink.txt:
16464 2006-02-02 Wim Taymans <wim@fluendo.com>
16466 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16467 (gst_base_sink_render_object),
16468 (gst_base_sink_queue_object_unlocked):
16469 Only keep track of prerollable items when we are
16471 Before rendering after preroll, always check if we
16473 Added some more debugging.
16475 2006-02-02 Wim Taymans <wim@fluendo.com>
16477 * gst/gstelement.c: (gst_element_continue_state),
16478 (gst_element_set_state_func), (gst_element_change_state):
16479 Fixed #326576, been running this for quite some time with
16480 no regressions at all.
16482 2006-02-02 Wim Taymans <wim@fluendo.com>
16485 Added more suppressions
16487 2006-02-02 Wim Taymans <wim@fluendo.com>
16489 * docs/design/part-element-sink.txt:
16492 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16493 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
16494 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
16495 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16496 (gst_base_sink_do_sync), (gst_base_sink_render_object),
16497 (gst_base_sink_preroll_object),
16498 (gst_base_sink_queue_object_unlocked),
16499 (gst_base_sink_queue_object), (gst_base_sink_event),
16500 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
16501 (gst_base_sink_loop), (gst_base_sink_activate_pull),
16502 (gst_base_sink_get_position), (gst_base_sink_change_state):
16503 * libs/gst/base/gstbasesink.h:
16504 Totally refactored matching the design doc.
16505 Use two segments, one to clip incomming buffers and another to
16507 Handle queueing correctly, bypass the queue when playing.
16508 Make EOS cancelable.
16509 Handle errors correctly when operating in pull based mode.
16511 * tests/check/elements/fakesink.c: (GST_START_TEST),
16513 Added new check for sinks.
16515 2006-02-02 Wim Taymans <wim@fluendo.com>
16517 * gst/gstsegment.c: (gst_segment_clip):
16518 No reason to refuse to clip when start == -1
16520 2006-02-02 Stefan Kost <ensonic@users.sf.net>
16523 * docs/manual/intro-basics.xml:
16524 * docs/manual/intro-preface.xml:
16525 * docs/manual/manual.xml:
16526 * docs/pwg/advanced-dparams.xml:
16527 * docs/pwg/intro-basics.xml:
16528 * docs/pwg/intro-preface.xml:
16529 * docs/pwg/pwg.xml:
16530 describe dparams (controller) for plugins
16531 unify docs a little more
16533 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
16535 * docs/gst/gstreamer-sections.txt:
16536 * gst/gstutils.c: (element_find_unconnected_pad),
16537 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
16539 Add new API: gst_parse_bin_from_description() and
16540 gst_bin_find_unconnected_pad() (#329069).
16542 2006-02-01 Stefan Kost <ensonic@users.sf.net>
16544 * docs/manual/README:
16545 uncover a nasty detail of the docs build
16547 2006-01-31 Wim Taymans <wim@fluendo.com>
16549 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
16550 Don't cache duration messages if we're not going to use or
16553 2006-01-31 Stefan Kost <ensonic@users.sf.net>
16555 * docs/manual/advanced-dparams.xml:
16556 * docs/pwg/advanced-dparams.xml:
16560 * libs/gst/controller/lib.c: (gst_controller_init):
16563 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
16565 * gst/gstelement.c: (gst_element_message_full):
16566 also show file/line/func if no additional debug was given
16568 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
16570 * win32/vs7/grammar.vcproj:
16571 activate copy of autogenerated files for Release mode
16573 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
16575 * win32/common/libgstreamer.def:
16576 export gst_value_compare
16578 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
16580 * plugins/elements/Makefile.am:
16581 * plugins/elements/gstelements.c:
16582 * plugins/elements/gstfdsink.c: (_do_init),
16583 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
16584 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
16585 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
16586 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
16587 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
16588 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
16589 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
16590 * plugins/elements/gstfdsink.h:
16591 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
16593 2006-01-30 Stefan Kost <ensonic@users.sf.net>
16595 * docs/manual/advanced-dparams.xml:
16596 describe controller
16597 * docs/manual/advanced-position.xml:
16598 * docs/manual/basics-init.xml:
16599 * docs/manual/manual.xml:
16600 * docs/manual/titlepage.xml:
16601 * docs/pwg/pwg.xml:
16602 * docs/pwg/titlepage.xml:
16603 cleanup xml (more to come)
16604 * libs/gst/controller/gstcontroller.c:
16607 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
16609 * win32/vs6/grammar.dsp:
16610 add autogen of gstmarshal.c,h for Release mode
16612 2006-01-30 Wim Taymans <wim@fluendo.com>
16614 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16615 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
16616 (gst_base_sink_handle_object), (gst_base_sink_event),
16617 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
16618 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16619 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
16620 (gst_base_sink_deactivate), (gst_base_sink_activate),
16621 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
16622 (gst_base_sink_query), (gst_base_sink_change_state):
16623 Basesink cleanups, remove some old code.
16624 Handle the case where a subclass can preroll in the render
16625 method (mostly audiosinks).
16626 Handle more events.
16627 Remove some locks around variables that are now protected
16628 with the PREROLL_LOCK (clock_id, flushing, ..).
16629 Optimize position query some more, do correct locking.
16630 Remove old code to push queue in state change, this is not
16631 needed anymore since preroll blocks on all prerollable items
16633 Almost implemented as described in design doc.
16635 2006-01-30 Wim Taymans <wim@fluendo.com>
16637 * tests/check/gst/gstbin.c: (GST_START_TEST):
16638 Wait for refcount to settle down before checking.
16640 2006-01-30 Wim Taymans <wim@fluendo.com>
16642 * docs/design/part-element-sink.txt:
16643 Pseudo code overview of desired sink behaviour regarding
16646 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
16647 * win32/vs6/grammar.dsp:
16648 fix some bugs in Release mode for autogenerated files
16650 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
16651 * win32/common/libgstbase.def:
16652 * win32/common/libgstreamer.def:
16653 export some new symbols: gst_base_src_set_format,
16654 gst_iterator_next, gst_structure_set_valist
16656 2006-01-29 Julien MOUTTE <julien@moutte.net>
16658 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
16659 Set pad functions unconditionally. Fixes #329105.
16661 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
16663 add vs8 project files created by Sergey Scobich
16665 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
16667 * gst/gstutils.c: (gst_element_unlink_pads):
16668 Don't leak pad references.
16670 * tests/check/elements/fakesink.c: (GST_START_TEST):
16671 * tests/check/generic/sinks.c: (GST_START_TEST):
16672 * tests/check/generic/states.c: (GST_START_TEST):
16673 * tests/check/gst/gstbin.c: (GST_START_TEST):
16674 * tests/check/gst/gstcaps.c: (GST_START_TEST):
16675 * tests/check/gst/gstelement.c: (GST_START_TEST):
16676 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16677 * tests/check/gst/gstiterator.c: (GST_START_TEST):
16678 * tests/check/gst/gstvalue.c: (GST_START_TEST):
16679 Fix a bunch of leaks. Make generic/sinks.c
16680 use a bit less cpu by slowing the buffer rate
16681 between fakesrc and fakesink.
16683 2006-01-27 Stefan Kost <ensonic@users.sf.net>
16685 * gst/gstelement.c: (gst_element_send_event):
16688 * gst/gstiterator.c:
16689 * gst/gstiterator.h:
16690 * gst/gstpad.c: (gst_pad_send_event):
16691 * gst/gststructure.c:
16695 * libs/gst/base/gstadapter.c:
16696 doc fixes, to link to function, just write gst_cool_function(), don't
16699 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
16701 * plugins/elements/gsttee.c: (gst_tee_do_push),
16702 (gst_tee_handle_buffer):
16703 Always prefer an actual return value from a src
16704 pad in place of NOT_LINKED. This means we return
16705 WRONG_STATE when all src pads are WRONG_STATE
16706 instead of NOT_LINKED.
16708 Lock when replacing the last message to prevent
16709 racing with the get_property method.
16713 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
16715 * tests/check/Makefile.am:
16716 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
16718 Add a very simple check that should have caught the memleak I fixed
16719 last night (if not for the slice allocator hiding it)
16721 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
16723 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16724 (gst_bin_remove_func), (gst_bin_handle_message_func),
16725 (bin_query_duration_fold), (bin_query_generic_fold):
16726 Clean up references to the clock provider when disposed or when
16727 handling a clock-lost message from it.
16729 Unref sinks when performing a query via gst_iterator_fold, as the
16730 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
16732 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
16733 (gst_clock_set_master):
16734 Drop our reference to the master clock, if any, when we are disposed.
16736 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
16737 Chain up in dispose.
16739 2006-01-26 Wim Taymans <wim@fluendo.com>
16741 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
16742 Add some debugging.
16744 2006-01-26 Julien MOUTTE <julien@moutte.net>
16746 * plugins/elements/gsttee.c: (gst_tee_do_push),
16747 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
16748 handles pad being NOT_LINKED or in WRONG_STATE.
16750 2006-01-26 Stefan Kost <ensonic@users.sf.net>
16755 2006-01-26 Stefan Kost <ensonic@users.sf.net>
16758 remove obsolete entry
16760 2006-01-26 Stefan Kost <ensonic@users.sf.net>
16762 * docs/gst/gstreamer-sections.txt:
16763 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
16764 (gst_bin_iterate_sources), (gst_bin_send_event):
16766 * gst/gstelement.c: (gst_element_send_event):
16768 * gst/gstpad.c: (gst_pad_send_event):
16769 added code for downstream events, reviewed docs in gstevent.c
16771 2006-01-25 Julien MOUTTE <julien@moutte.net>
16773 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16774 We only query position using the clock in the playing state.
16775 Query peer in the other cases.
16776 * win32/common/config.h: Updates.
16778 2006-01-24 Wim Taymans <wim@fluendo.com>
16780 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16781 A clock entry that is scheduled for the exact time of the
16782 clock is still in time.
16784 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16785 (gst_base_sink_do_sync):
16786 Add some more debug info.
16788 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
16791 Add new vs7 project files and solution.
16793 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
16796 all files removed as they were out-dated.
16798 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
16800 * docs/random/release:
16802 * gst/gstbin.c: (gst_bin_init):
16803 * gst/gstbus.c: (gst_bus_new):
16805 * gst/gstpipeline.c: (gst_pipeline_init):
16806 use gst_bus_new(), improve logging, fix docs
16807 * win32/common/config.h:
16808 update for cvs build
16810 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
16813 up required version of automake to 1.7
16815 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
16817 * win32/common/libgstreamer.def:
16818 export gst_buffer_is_metadata_writable
16820 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
16822 * docs/gst/gstreamer-sections.txt:
16824 Add gst_event_replace() (#327001)
16826 2006-01-20 Wim Taymans <wim@fluendo.com>
16828 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16829 Make it actually compile too..
16831 2006-01-20 Wim Taymans <wim@fluendo.com>
16834 Clarify behaviour of _is_equal() when passing NULL parameters.
16836 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16837 (gst_pad_set_caps):
16838 Cleanups. Don't unref NULL caps.
16839 When setting the same caps, protect caps of the pad with
16841 Use full functionality of _is_equal() when comparing caps.
16843 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
16845 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16846 Don't loop infinitely if there are no buffers to present. Partially
16847 fixes #327197, but collectpads is just broken for reusing elements
16848 to do multiple encodes atm.
16850 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
16852 * tools/gst-inspect.c: (print_element_features):
16853 * tools/gst-xmlinspect.c: (main):
16854 URL_HANDLER is not a plugin feature we can search for in
16857 2006-01-19 Edward Hervey <edward@fluendo.com>
16859 * gst/gstelement.c: (gst_element_pads_activate):
16860 When activating, do src pads first, then sink pads.
16861 When de-activating, do sink pads first, then src pads.
16863 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
16865 * docs/gst/gstreamer-sections.txt:
16866 Add gst_index_add_associationv to the docs
16868 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
16873 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
16874 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
16875 Do some refactoring. Doesn't actually change functionality,
16876 but makes landing the DRAIN event easier later.
16878 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
16880 * docs/pwg/advanced-scheduling.xml:
16881 Update from 0.9.x to 0.10 API and make example a bit
16884 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
16886 * docs/gst/gstreamer-sections.txt:
16887 Add gst_buffer_(is|make)_metadata_writable methods.
16889 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
16891 * docs/design/part-sparsestreams.txt:
16892 Update sparse streams doc, hopefully for greater clarity
16894 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
16896 * docs/design/part-events.txt:
16897 Remove mention of FILLER events.
16900 * docs/design/part-sparsestreams.txt:
16901 Write some things about using NEWSEGMENT to keep sparse streams
16904 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
16906 * gst/gstbin.c: (gst_bin_dispose):
16907 Guard gst_object_unref call against a NULL object (dispose
16908 can theoretically be called multiple times).
16910 2006-01-18 Wim Taymans <wim@fluendo.com>
16912 * gst/gstbin.c: (gst_bin_element_set_state):
16913 * gst/gstclock.c: (gst_clock_id_wait):
16914 Added some more debug info.
16916 * libs/gst/base/gstadapter.c:
16919 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16920 (gst_base_sink_do_sync), (gst_base_sink_chain):
16921 Added some comments.
16923 2006-01-18 Wim Taymans <wim@fluendo.com>
16925 * tests/check/Makefile.am:
16926 * tests/check/elements/fakesink.c: (chain_async_buffer),
16927 (chain_async), (chain_async_return), (GST_START_TEST),
16928 (fakesink_suite), (main):
16929 Added fakesink test that checks prerolling and clipping
16932 * tests/check/gst/gstutils.c: (GST_START_TEST):
16933 Make check run faster so that buildbots don't timeout.
16935 2006-01-18 Wim Taymans <wim@fluendo.com>
16937 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16938 (gst_base_sink_do_sync):
16940 When the sink finishes blocking on the preroll buffer, it can
16941 immediatly render it instead of rendering when the next buffer
16944 2006-01-18 Wim Taymans <wim@fluendo.com>
16946 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
16947 (gst_base_sink_get_property), (gst_base_sink_do_sync),
16948 (gst_base_sink_chain):
16950 GST_ELEMENT_CLOCK and sync are protected with LOCK.
16951 Don't store _last_stop if the buffer is dropped.
16953 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
16955 * plugins/elements/gsttypefindelement.c:
16956 (gst_type_find_element_class_init):
16957 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
16958 object method handler that sets the caps on the pad and we want
16959 that to happen before we emit the signal (fixes e.g. feeding a
16960 plain text file to decodebin).
16962 2006-01-18 Christian Schaller <Christian@fluendo.com>
16964 * gst/gstplugin.c: Add MPL and Proprietary as license options
16966 2006-01-18 Andy Wingo <wingo@pobox.com>
16968 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
16969 symbol was exported before, it appears this was just an oversight.
16971 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
16973 * gst/gstindex.c (gst_index_add_associationv): Changed int in
16974 prototype to gint. OK since this prototype was not in the header.
16976 2006-01-17 Andy Wingo <wingo@pobox.com>
16978 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
16979 registry while we remove plugins.
16981 * tools/gst-inspect.c (print_element_info): Don't unref the
16982 factory arg, that should be the responsibility of whatever code
16983 received the ref. Fixes a double-free when called from
16984 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
16985 (main): Unref the factory if we have one.
16986 (print_element_list): No change -- relies on the
16987 plugin_feature_list_free to free the list of features.
16989 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
16991 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
16992 (gst_buffer_make_metadata_writable):
16994 * libs/gst/base/gstbasetransform.c:
16995 (gst_base_transform_prepare_output_buf):
16996 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16997 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16998 Replace gst_buffer_(make|is)_metadata_writable patch now
16999 that the release is out.
17001 2006-01-17 Andy Wingo <wingo@pobox.com>
17003 * gst/gstregistry.c: Reflow design comment. Update so as to speak
17004 in the present tense without reference to versions.
17006 * gst/gstregistry.c (gst_registry_add_plugin)
17007 (gst_registry_remove_plugin, gst_registry_remove_feature)
17008 (gst_registry_find_feature, gst_registry_get_feature_list)
17009 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17010 (gst_registry_lookup, gst_registry_scan_path)
17011 (_gst_registry_remove_cache_plugins)
17012 (gst_registry_get_feature_list_by_plugin): Add argument
17015 === release 0.10.2 ===
17017 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
17020 releasing 0.10.2, "If man is five"
17022 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17026 * libs/gst/base/gstbasetransform.c:
17027 (gst_base_transform_prepare_output_buf):
17028 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17029 * tests/check/gst/gstbuffer.c: (gst_test_suite):
17030 Back out patch until after the release.
17032 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17034 * gst/gstminiobject.c:
17035 Spelling fix in docs.
17036 * ChangeLog - remove conflict indicator
17038 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17040 Reviewed By: Andy Wingo
17042 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17043 (gst_buffer_make_metadata_writable):
17045 Add gst_buffer_(is|make)_metadata_writable as analogues of
17046 gst_buffer_(is|make)_writable.
17048 * libs/gst/base/gstbasetransform.c:
17049 (gst_base_transform_prepare_output_buf):
17050 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17051 Use name gst_buffer_(is|make)_metadata_writable functions.
17053 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17054 Test gst_buffer_(is|make)_metadata_writable
17058 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
17060 * docs/manual/Makefile.am:
17061 don't do parallel make
17064 * win32/common/config.h.in:
17065 add generations for HOST_CPU and GST_MAJORMINOR
17066 * win32/common/config.h:
17067 commit generated result
17069 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
17071 * docs/manual/appendix-integration.xml:
17072 Update GNOME integration section to use gst_init_get_option_group()
17073 instead of the old popt stuff (#322911). Also, GNOME applications
17074 should now use gconf*sink and gconf*src instead of the old gconf
17077 2006-01-13 Stefan Kost <ensonic@users.sf.net>
17080 * docs/gst/gstreamer-docs.sgml:
17081 * docs/gst/gstreamer-sections.txt:
17082 * docs/libs/gstreamer-libs-sections.txt:
17083 add new API entries to the docs
17084 * libs/gst/controller/Makefile.am:
17085 * libs/gst/controller/gstcontroller.c:
17086 * libs/gst/controller/gstcontroller.h:
17087 * libs/gst/controller/gstcontrollerprivate.h:
17088 * libs/gst/controller/gsthelper.c:
17089 * libs/gst/controller/gstinterpolation.c:
17090 move private structs to private header
17092 gstreamer-0.7 -> gstreamer-0.10
17093 * tests/check/libs/struct_i386.h:
17094 remove private structs
17096 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
17098 * plugins/indexers/Makefile.am:
17099 Fixes as part of #317048
17101 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
17103 * plugins/indexers/Makefile.am:
17104 fix #316086 - compilation when mmap is missing
17106 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
17108 * libs/gst/base/gstbasesink.c:
17109 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
17110 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
17111 * win32/common/config.h:
17112 added some defines GST_MAJORMINOR and HOST_CPU
17113 * win32/common/libgstbase.def:
17114 * win32/common/libgstreamer.def:
17115 added some exported functions.
17117 2006-01-12 Stefan Kost <ensonic@users.sf.net>
17119 * libs/gst/controller/gstcontroller.c:
17120 (gst_controlled_property_set_interpolation_mode),
17121 (gst_controlled_property_new):
17122 * libs/gst/controller/gstcontroller.h:
17123 * libs/gst/controller/gstinterpolation.c:
17124 (interpolate_none_get_string_value_array):
17125 make G_TYPE_STRING controlable
17127 2006-01-12 Stefan Kost <ensonic@users.sf.net>
17130 * tools/gst-feedback.1.in:
17131 * tools/gst-inspect.1.in:
17132 * tools/gst-launch.1.in:
17133 * tools/gst-md5sum.1.in:
17134 * tools/gst-typefind.1.in:
17135 * tools/gst-xmlinspect.1.in:
17136 * tools/gst-xmllaunch.1.in:
17137 cleanup man-pages, remove reference to gst-register, document env-vars
17139 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
17141 * gst/gstbuffer.c: (gst_buffer_span):
17142 gst_buffer_span should copy the timestamp of the first buffer
17143 if they were both originally overlapping subbuffers of the
17144 same parent, using the same logic as the 'slow copy' case.
17146 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
17148 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
17149 Need to awaken ALL the pads when we pop a buffer, otherwise
17150 collectpads only works when there is 2 input streams.
17152 2006-01-11 Stefan Kost <ensonic@users.sf.net>
17154 * docs/random/ensonic/media-device-daemon.txt:
17157 fix doc example, add clarification
17158 * tools/gst-launch.1.in:
17159 add initial info about GST_PLUGIN_PATH, needs more work
17161 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
17163 * docs/manual/basics-bins.xml:
17164 * docs/manual/basics-elements.xml:
17165 * docs/manual/intro-basics.xml:
17166 Some more minor docs additions and updates.
17168 2006-01-11 Wim Taymans <wim@fluendo.com>
17170 * docs/manual/basics-bins.xml:
17171 * docs/manual/basics-elements.xml:
17172 Some small fixes as pointed out by Ser-ver on IRC.
17174 2006-01-10 Edward Hervey <edward@fluendo.com>
17176 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17177 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
17178 the single-segment mode.
17180 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
17182 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
17184 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
17185 (gst_base_src_perform_seek), (gst_base_src_send_event),
17186 (gst_base_src_set_property), (gst_base_src_get_property),
17187 (gst_base_src_loop), (gst_base_src_start),
17188 (gst_base_src_activate_push):
17189 * libs/gst/base/gstbasesrc.h:
17190 Name (private) union; makes Sun's Forte compiler happy (#324900).
17192 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
17195 gst-register is gone.
17197 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
17199 * gst/gstvalue.c: (_gst_value_initialize):
17200 make the G_TYPE_DATE instantiation work if debug is disabled
17202 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
17204 * gst/gstmessage.c: (gst_message_parse_tag),
17205 (gst_message_parse_error), (gst_message_parse_warning):
17206 Don't crash when return location for error/warning debug
17207 string is NULL; add fact that return locations can be
17208 NULL to docs where appropriate.
17210 2006-01-05 Wim Taymans <wim@fluendo.com>
17212 * gst/gstplugin.c: (gst_plugin_load_file):
17213 Replace strdup by g_strdup.
17215 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
17217 * docs/pwg/advanced-types.xml:
17220 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
17222 submitted by: Abel Cheung
17226 Added Chinese (traditional) translation
17228 2006-01-04 Wim Taymans <wim@fluendo.com>
17230 * docs/manual/basics-pads.xml:
17231 * docs/plugins/Makefile.am:
17232 * docs/plugins/gstreamer-plugins-docs.sgml:
17233 * docs/plugins/gstreamer-plugins-sections.txt:
17234 * docs/pwg/advanced-clock.xml:
17235 * docs/pwg/advanced-scheduling.xml:
17236 * docs/pwg/advanced-types.xml:
17237 * plugins/elements/gstfdsink.c:
17238 * plugins/elements/gstfdsrc.c:
17239 * plugins/elements/gstfdsrc.h:
17240 * plugins/elements/gstidentity.c: (gst_identity_class_init):
17241 * plugins/elements/gstidentity.h:
17242 * plugins/elements/gstqueue.h:
17243 * plugins/elements/gsttee.c:
17244 * plugins/elements/gsttee.h:
17245 * plugins/elements/gsttypefindelement.c:
17246 (gst_type_find_element_class_init):
17247 * plugins/elements/gsttypefindelement.h:
17248 Small updates to various docs.
17249 Added core plugins to docs.
17251 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17254 add a suppression for liboil's uninitialized variable
17256 2006-01-02 James Livingston <jrl at ids dot org dot au>
17258 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
17261 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
17262 macro, so that gcc doesn't complain if the -Wmissing-prototypes
17263 compiler switch is being used (#325429).
17265 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
17267 * gst/gstbin.c: (gst_bin_query):
17268 Disable duration query caching in bins until it gets
17269 fixed (see #324807).
17271 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
17273 * tools/gst-inspect.c: (print_element_properties_info):
17274 Handle properties of POINTER and BOXED type.
17276 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
17278 * gst/gst.c: (init_post):
17279 Init tags stuff and some other things before loading
17280 any static plugins (there may be other static plugins
17281 than just the GStreamer ones, and they may want to
17282 register their own tags or formats or whatever, and
17283 preferably without segfaulting).
17285 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
17286 Print at least a warning in the debug logs if we drop a
17287 query just because we don't know how to adjust the value
17288 in the particular format.
17290 2005-12-24 David Schleef <ds@schleef.org>
17292 * tools/gstreamer-completion:
17293 Replacement for gst-complete written in sh and sed. Only
17294 completes names of features, but that's 90% of what I want
17295 it for. Properties are not available in registry.xml. (Maybe
17298 === release 0.10.1 ===
17300 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
17303 releasing 0.10.1, "Nollaig chridheil"
17305 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
17307 * docs/faq/cvs.xml:
17308 Add missing quote, should be make ERROR_CFLAGS="".
17310 2005-12-20 Wim Taymans <wim@fluendo.com>
17312 * docs/design/part-trickmodes.txt:
17313 More documentation on trickmodes.
17315 2005-12-20 Edward Hervey <edward@fluendo.com>
17317 * gst/gstcaps.c: (gst_static_caps_get_type):
17319 API addition: GST_TYPE_STATIC_CAPS
17320 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
17321 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
17322 * gst/gstpadtemplate.h:
17323 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
17324 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
17327 2005-12-18 Wim Taymans <wim@fluendo.com>
17329 * libs/gst/base/gstadapter.c:
17330 * libs/gst/base/gstadapter.h:
17331 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
17332 (gst_base_sink_get_position):
17333 * libs/gst/base/gstbasesink.h:
17334 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17335 (gst_base_src_default_query), (gst_base_src_default_do_seek),
17336 (gst_base_src_do_seek), (gst_base_src_perform_seek),
17337 (gst_base_src_send_event), (gst_base_src_update_length),
17338 (gst_base_src_get_range), (gst_base_src_loop),
17339 (gst_base_src_start):
17340 * libs/gst/base/gstbasesrc.h:
17341 * libs/gst/base/gstbasetransform.h:
17342 * libs/gst/base/gstcollectpads.h:
17343 * libs/gst/base/gstpushsrc.c:
17344 * libs/gst/base/gstpushsrc.h:
17345 * libs/gst/dataprotocol/dataprotocol.c:
17346 * libs/gst/dataprotocol/dataprotocol.h:
17347 * libs/gst/net/gstnetclientclock.h:
17348 * libs/gst/net/gstnettimeprovider.h:
17349 Documentation updates.
17351 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
17353 * docs/manual/basics-helloworld.xml:
17354 Remove superfluous closing bracket in helloworld example.
17356 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
17358 * tools/gst-launch.1.in:
17359 Update gst-launch man page; add a section with useful
17360 environment variables. Fixes #323882.
17362 2005-12-16 Stefan Kost <ensonic@users.sf.net>
17365 * gst/gst_private.h:
17366 change some char* into char[]
17368 2005-12-16 Wim Taymans <wim@fluendo.com>
17370 * gst/gstregistryxml.c: (load_feature):
17372 Don't use g_object_unref on GstObjects so that we avoid
17373 leaks on unsafe glibs.
17375 2005-12-16 Wim Taymans <wim@fluendo.com>
17377 * gst/gstbin.c: (gst_bin_recalc_state):
17380 2005-12-16 Wim Taymans <wim@fluendo.com>
17382 * common/check.mak:
17383 Added make forever target for check.
17385 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
17387 * gst/gst.c: (init_post):
17388 make the registry cache file HOST_CPU-dependent
17390 2005-12-16 Andy Wingo <wingo@pobox.com>
17392 * plugins/elements/gstbufferstore.c
17393 (gst_buffer_store_cleared_func): Pay attention to g_list_append
17396 * tests/check/gst/gstobject.c
17397 (test_fake_object_name_threaded_unique): Pay attention to
17398 g_list_sort return value.
17400 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
17402 * tools/gst-feedback-m.m:
17403 Update for 0.9/0.10 (fixes #323870).
17405 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
17407 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
17408 Fix lcopy for mini objects, the mini object needs to be ref'ed.
17410 * tests/check/gst/gstminiobject.c: (my_foo_init),
17411 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
17412 (test_value_collection), (gst_mini_object_suite):
17413 Add test to ensure refcounts end up as expected when passing
17414 GstMiniObjects through g_object_get() and g_object_set().
17416 2005-12-14 Julien MOUTTE <julien@moutte.net>
17418 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
17419 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
17420 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
17421 of collectpads. This version removes a lot of races without
17422 touching API/ABI. Yay !
17424 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
17426 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
17427 Don't allow activation of a srcpad in pull_range if it has no
17429 Change some debug statements to be a little clearer
17431 * plugins/elements/gsttypefindelement.c:
17432 (gst_type_find_handle_src_query):
17433 Check that we have a peer before executing queries thereupon.
17435 * tests/examples/metadata/read-metadata.c: (message_loop):
17436 Use gst_bus_pop instead of gst_bus_poll when we just want it to
17437 immediately return us any available message with 0 timeout.
17439 2005-12-12 Michael Smith <msmith@fluendo.com>
17441 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
17442 Don't unref factories after calling them.
17443 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
17444 * plugins/elements/gsttypefindelement.c:
17445 (gst_type_find_element_chain):
17446 Free lists of factories after using them. Fixing typefinding memory
17449 2005-12-12 Stefan Kost <ensonic@users.sf.net>
17451 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
17452 (gst_plugin_feature_load):
17453 more meaningful debug output
17455 * tests/Makefile.am:
17456 * tests/old/examples/Makefile.am:
17457 make make distcheck happy again
17459 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
17461 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17462 Catch the special case where we are operating chain-based,
17463 but the downstream peer pad has no chain function. Emit a
17464 custom error message in this case instead of letting the
17465 core generate one implying that this is some sort of core
17466 bug. It's not, it just means that whatever got plugged
17467 into the pipeline downstream when we announced the type
17468 can only operate pull-based, while our source can only
17469 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
17470 Error string has not been marked for translation yet, as
17471 it probably needs some more work first.
17473 (gst_type_find_element_get_best_possibility):
17474 Add helper function to find the best of all available
17475 found possibilities that qualify given the min. threshold.
17477 (gst_type_find_element_handle_event):
17478 Fix the case where we get an EOS while still in TYPEFIND
17479 mode (we want to chose the best of all possible types,
17480 not just the first type that happens to be in our unsorted
17481 list of possible types).
17483 (gst_type_find_element_chain):
17484 Make sure we return GST_FLOW_ERROR when we errored out
17485 in stop_typefinding(); also, don't just find the best of
17486 all found type entries and then use the last examined
17487 type entry, but actually use the best entry.
17489 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
17491 * tests/examples/typefind/typefind.c: (type_found):
17492 * tests/examples/xml/runxml.c: (xml_loaded):
17493 More gcc4 fixes and a mem leak fix.
17495 2005-12-12 Stefan Kost <ensonic@users.sf.net>
17497 * tests/examples/xml/createxml.c: (object_saved):
17500 2005-12-12 Stefan Kost <ensonic@users.sf.net>
17502 * tests/Makefile.am:
17503 enable the examples even more
17505 2005-12-12 Andy Wingo <wingo@pobox.com>
17507 * libs/gst/net/gstnettimeprovider.c
17508 (gst_net_time_provider_class_init, gst_net_time_provider_init)
17509 (gst_net_time_provider_set_property)
17510 (gst_net_time_provider_get_property):
17511 API addition: Export "active" as a GObject property.
17512 (gst_net_time_provider_thread): Only respond to time queries if
17513 the time provider is active.
17515 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
17516 NetTimeProvider, preserving binary compat.
17518 2005-12-12 Stefan Kost <ensonic@users.sf.net>
17520 * tests/examples/controller/audio-example.c: (main):
17521 * tests/examples/launch/Makefile.am:
17522 convert comments again
17524 2005-12-12 Wim Taymans <wim@fluendo.com>
17526 * libs/gst/base/gstpushsrc.c:
17529 2005-12-12 Wim Taymans <wim@fluendo.com>
17531 * docs/libs/gstreamer-libs-sections.txt:
17532 Added new symbol to docs.
17534 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17535 (gst_base_src_init), (gst_base_src_set_format),
17536 (gst_base_src_default_query), (gst_base_src_query),
17537 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
17538 (gst_base_src_perform_seek), (gst_base_src_send_event),
17539 (gst_base_src_default_event), (gst_base_src_event_handler),
17540 (gst_base_src_set_property), (gst_base_src_get_property),
17541 (gst_base_src_wait), (gst_base_src_do_sync),
17542 (gst_base_src_update_length), (gst_base_src_get_range),
17543 (gst_base_src_check_get_range), (gst_base_src_loop),
17544 (gst_base_src_default_negotiate), (gst_base_src_start),
17545 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17546 (gst_base_src_change_state):
17547 * libs/gst/base/gstbasesrc.h:
17548 Implement seeking to other formats than _BYTES.
17549 Implement more seeking methods correctly.
17551 Added query vmethod.
17552 Added do_seek vmethod to make life easier for subclasses
17554 API addition: gst_base_src_set_format()
17556 2005-12-12 Stefan Kost <ensonic@users.sf.net>
17558 * tests/examples/Makefile.am:
17561 2005-12-12 Stefan Kost <ensonic@users.sf.net>
17564 * docs/random/ensonic/media-device-daemon.txt:
17565 * tests/examples/controller/.cvsignore:
17566 * tests/examples/controller/Makefile.am:
17567 * tests/examples/controller/audio-example.c: (main):
17568 * tests/examples/helloworld/.cvsignore:
17569 * tests/examples/helloworld/Makefile.am:
17570 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
17571 * tests/examples/launch/.cvsignore:
17572 * tests/examples/launch/Makefile.am:
17573 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
17574 * tests/examples/metadata/.cvsignore:
17575 * tests/examples/metadata/Makefile.am:
17576 * tests/examples/metadata/read-metadata.c: (message_loop),
17577 (make_pipeline), (print_tag), (main):
17578 * tests/examples/queue/.cvsignore:
17579 * tests/examples/queue/Makefile.am:
17580 * tests/examples/queue/queue.c: (event_loop), (main):
17581 * tests/examples/typefind/.cvsignore:
17582 * tests/examples/typefind/Makefile.am:
17583 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
17585 * tests/examples/xml/.cvsignore:
17586 * tests/examples/xml/Makefile.am:
17587 * tests/examples/xml/createxml.c: (object_saved), (main):
17588 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
17589 * tests/old/examples/Makefile.am:
17590 * tests/old/examples/TODO:
17591 * tests/old/examples/controller/.cvsignore:
17592 * tests/old/examples/controller/Makefile.am:
17593 * tests/old/examples/controller/audio-example.c:
17594 * tests/old/examples/helloworld/.cvsignore:
17595 * tests/old/examples/helloworld/Makefile.am:
17596 * tests/old/examples/helloworld/helloworld.c:
17597 * tests/old/examples/launch/.cvsignore:
17598 * tests/old/examples/launch/Makefile.am:
17599 * tests/old/examples/launch/mp3parselaunch.c:
17600 * tests/old/examples/launch/mp3play:
17601 * tests/old/examples/manual/Makefile.am:
17602 * tests/old/examples/metadata/Makefile.am:
17603 * tests/old/examples/metadata/read-metadata.c:
17604 * tests/old/examples/queue/.cvsignore:
17605 * tests/old/examples/queue/Makefile.am:
17606 * tests/old/examples/queue/queue.c:
17607 * tests/old/examples/typefind/.cvsignore:
17608 * tests/old/examples/typefind/Makefile.am:
17609 * tests/old/examples/typefind/typefind.c:
17610 * tests/old/examples/xml/.cvsignore:
17611 * tests/old/examples/xml/Makefile.am:
17612 * tests/old/examples/xml/createxml.c:
17613 * tests/old/examples/xml/runxml.c:
17614 applied some simple fixing to some examples
17615 re-enabled the working examples
17617 2005-12-12 Wim Taymans <wim@fluendo.com>
17619 * gst/gstsegment.c: (gst_segment_init),
17620 (gst_segment_set_last_stop), (gst_segment_set_seek),
17621 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
17622 (gst_segment_to_running_time):
17623 Added more documentation.
17624 Make sure the last_pos value is updated properly.
17625 Make sure to_stream_time and to_running_time don't
17626 operate on wrong values.
17628 * tests/check/gst/gstsegment.c: (GST_START_TEST):
17631 2005-12-12 Michael Smith <msmith@fluendo.com>
17633 * plugins/elements/gsttypefindelement.c: (free_entry),
17634 (gst_type_find_element_chain):
17635 Now that we're not leaking factories, make sure we keep references
17636 to them while we need them.
17638 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
17640 * tests/check/gst/struct_i386.h:
17641 ifdef out the XML structs
17643 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
17645 * gst/gstvalue.c: (gst_value_transform_double_fraction):
17646 floor is not needed, F is always positive; this obviates the
17647 need for adding -lm when building without libxml
17649 2005-12-12 Wim Taymans <wim@fluendo.com>
17651 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17652 Take current playback rate into account when reporting
17655 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
17657 * docs/manual/mime-world.fig:
17658 Let's try this again, this time with a file that is
17659 actually in XFig format.
17661 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
17663 * docs/manual/mime-world.fig:
17664 Add audioconvert element to diagram so that it
17665 matches the text and the code (fixes #319526).
17667 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
17669 * docs/pwg/building-chainfn.xml:
17670 * docs/pwg/building-pads.xml:
17671 * docs/pwg/building-state.xml:
17672 * docs/pwg/other-source.xml:
17673 Update state change stuff for 0.10 (fixes #322969).
17675 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
17677 * docs/manual/advanced-dataaccess.xml:
17678 * docs/manual/appendix-checklist.xml:
17679 * docs/manual/appendix-programs.xml:
17680 * docs/manual/basics-pads.xml:
17681 * docs/manual/highlevel-components.xml:
17682 * docs/manual/manual.xml:
17683 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
17684 add converters in front of pipelines; remove curly
17685 brackets for threads stuff, they no longer exist; use
17686 GST_TYPE_FRACTION for framerates; update some pieces of
17687 code to 0.10, but there's plenty more to do.
17689 * docs/manual/appendix-porting.xml:
17690 Expand on asynchroneous state changes; s/0.9/0.10/;
17691 mention disappearance of gst_init_get_popt_table()
17694 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
17696 * docs/faq/using.xml:
17697 Spider no longer exists, and neither does gst-launch-ext.
17698 Update examples to use decodebin and playbin and put
17699 converters in front of sinks (fixes #323726).
17701 2005-12-09 Michael Smith <msmith@fluendo.com>
17703 * plugins/elements/gsttypefindelement.c: (find_peek),
17704 (gst_type_find_element_chain):
17705 Fix leaking element factories in typefinding.
17706 Fix problem where we forgot about a probable type on non-seekable
17707 files, and thus later mis-typefound it.
17709 2005-12-09 Michael Smith <msmith@fluendo.com>
17711 * common/m4/gst-makecontext.m4:
17712 * common/m4/gst-mcsc.m4:
17714 * win32/common/config.h:
17715 * win32/common/config.h.in:
17716 Remove makecontext stuff; not used in 0.10 and causes problems on
17717 HPUX according to bug #322441
17719 2005-12-07 Wim Taymans <wim@fluendo.com>
17721 * tests/check/Makefile.am:
17722 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
17724 * tests/check/libs/struct_i386.h:
17725 Added ABI check for libs
17727 2005-12-07 Wim Taymans <wim@fluendo.com>
17729 * tests/check/Makefile.am:
17730 And add the struct_i386.h to dist.
17732 2005-12-07 Wim Taymans <wim@fluendo.com>
17734 * tests/check/Makefile.am:
17735 * tests/check/gst/.cvsignore:
17736 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
17738 * tests/check/gst/struct_i386.h:
17739 Added check for ABI compatibility.
17741 2005-12-07 Wim Taymans <wim@fluendo.com>
17743 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17744 (gst_fake_src_get_times), (gst_fake_src_create):
17745 Fix broken sync option, fixes #323259
17747 2005-12-07 Wim Taymans <wim@fluendo.com>
17752 * gst/gstcaps.c: (gst_caps_is_equal):
17753 Don't assert on NULL <--> X. Fixes #323260
17755 * gst/gstminiobject.c: (gst_mini_object_replace):
17756 If we're doing atomic operations, we might just as well use
17757 the proper way to get an atomic pointer.
17759 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17760 Clean up debugging.
17762 2005-12-07 Michael Smith <msmith@fluendo.com>
17764 * gst/parse/grammar.y:
17765 Remove handling of { } for threads.
17767 2005-12-06 David Schleef <ds@schleef.org>
17769 * libs/gst/base/gstbasetransform.c: speling fix.
17771 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
17773 * docs/libs/tmpl/gstdataprotocol.sgml:
17774 * docs/random/omega/testing/gstobject.c:
17777 * gst/gstelement.c:
17778 * gst/gstelementfactory.c:
17781 * gst/gstghostpad.c:
17783 * gst/gstpadtemplate.c:
17784 * gst/gstregistryxml.c:
17785 * gst/gsttaglist.c:
17786 * gst/gsttagsetter.c:
17787 * gst/gsttypefind.c:
17789 * libs/gst/base/gstbasesrc.c:
17790 * libs/gst/net/gstnetclientclock.c:
17791 * libs/gst/net/gstnettimeprovider.c:
17792 * plugins/elements/gstfakesrc.c:
17793 * plugins/elements/gstfdsrc.c:
17794 * plugins/elements/gstfilesrc.c:
17795 * plugins/elements/gstidentity.c:
17796 * plugins/elements/gstqueue.c:
17797 * plugins/elements/gsttypefindelement.c:
17798 * plugins/indexers/gstfileindex.c:
17799 * plugins/indexers/gstmemindex.c:
17800 * tests/check/gst/gsttag.c:
17801 * tests/old/examples/cutter/cutter.c:
17802 * tests/old/examples/mixer/mixer.c:
17803 * tests/old/examples/xml/runxml.c: (main):
17804 * tests/old/testsuite/caps/normalisation.c:
17805 * tests/old/testsuite/debug/global.c:
17806 * tests/old/testsuite/parse/parse1.c:
17807 * tools/gst-xmlinspect.c:
17808 * win32/common/dirent.c:
17811 === release 0.10.0 ===
17813 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17816 releasing 0.10.0, "Maroilles"
17818 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
17820 submitted by: Funda Wang <fundawang@linux.net.cn>
17824 added Chinese (Traditional) translation
17826 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
17828 * docs/gst/gstreamer-sections.txt:
17829 * docs/libs/tmpl/gstdataprotocol.sgml:
17830 * docs/random/thomasvs/TODO:
17835 2005-12-05 Andy Wingo <wingo@pobox.com>
17837 patch by: Wim Taymans <wim@fluendo.com>
17839 * libs/gst/base/gstbasetransform.c
17840 (gst_base_transform_prepare_output_buf)
17841 (gst_base_transform_buffer_alloc):
17842 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
17843 alloc_buffer_and_set_caps.
17845 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
17846 set_caps on the source pad.
17847 (gst_pad_alloc_buffer_and_set_caps): New function, does what
17848 alloc_buffer used to do. Fixes #322874.
17850 * docs/gst/gstreamer-sections.txt:
17851 * docs/design/part-negotiation.txt:
17852 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
17855 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
17857 patch by: Sebastien Moutte
17860 * win32/common/config.h.in:
17861 * win32/vs6/libgstcontroller.dsp:
17864 2005-12-05 Wim Taymans <wim@fluendo.com>
17866 * gst/gstcaps.c: (gst_caps_is_equal):
17867 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17868 (gst_fake_src_create):
17869 Back out previous code changes, leave doc updates, file bugs
17872 2005-12-05 Wim Taymans <wim@fluendo.com>
17874 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17875 (gst_fake_src_get_times), (gst_fake_src_create):
17876 * plugins/elements/gstfakesrc.h:
17877 Fix broken sync code.
17879 2005-12-05 Wim Taymans <wim@fluendo.com>
17881 * gst/gstcaps.c: (gst_caps_is_equal):
17882 Comparing NULL against !NULL yields different caps, not a
17885 2005-12-05 Wim Taymans <wim@fluendo.com>
17887 * gst/gstpipeline.c:
17888 Fix small typo in docs.
17890 2005-12-05 Andy Wingo <wingo@pobox.com>
17892 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
17894 * gst/gst.c (init_post): remove hard-coded 0.9 location for
17895 registries/plugins with a MAJORMINOR one.
17896 (plugin_desc): Rename library from gstcoreleements to
17897 staticelements. Fixes #323222.
17899 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
17901 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
17902 Change debug category to 'collectpads' from 'collect_pads'
17905 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
17907 patch by: Sebastien Moutte
17909 * libs/gst/controller/gstinterpolation.c:
17910 use convert function for uint64/double
17911 * win32/vs6/libgstcontroller.dsp:
17914 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
17916 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
17917 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
17919 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17920 add tests that seem to show that the guint64/gdouble conversions
17923 2005-12-02 Wim Taymans <wim@fluendo.com>
17925 * gst/gstregistry.c: (gst_registry_add_path):
17926 * gst/gstregistry.h:
17927 * gst/gstregistryxml.c:
17930 2005-12-02 Wim Taymans <wim@fluendo.com>
17932 * gst/gstutils.c: (gst_util_uint64_scale_int64),
17933 (gst_util_uint64_scale_int):
17936 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17937 Add debug log line.
17939 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
17942 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
17945 * win32/common/config.h:
17946 * win32/vs6/gstreamer.dsw:
17947 * win32/vs6/libgstcoreelements.dsp:
17948 * win32/vs6/libgstelements.dsp:
17949 renamed core elements plugin
17951 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
17953 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
17955 do piece-wise major/minor comparison so 0.9 < 0.10
17956 also allow .exe extensions for tools
17958 2005-12-02 Michael Smith <msmith@fluendo.com>
17961 Escape a % to make gtkdoc happier; bug 322958.
17963 === release 0.9.7 ===
17965 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17968 releasing 0.9.7, "My Dog Has No Nose"
17970 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17972 * common/gst-xmlinspect.py:
17974 * docs/libs/tmpl/gstdataprotocol.sgml:
17975 * docs/random/release:
17994 * win32/common/config.h:
17995 * win32/common/config.h.in:
17996 * win32/vs6/gst_inspect.dsp:
17997 * win32/vs6/gst_launch.dsp:
17998 * win32/vs6/libgstbase.dsp:
17999 * win32/vs6/libgstelements.dsp:
18000 * win32/vs6/libgstreamer.dsp:
18001 * win32/vs7/GStreamer.vcproj:
18002 * win32/vs7/gst-inspect.vcproj:
18003 * win32/vs7/gst-launch.vcproj:
18004 * win32/vs7/libgstbase.vcproj:
18005 bump GST_MAJORMINOR to 0.10
18006 reset libtool version
18008 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18012 Added Bulgarian translation by (Alexander Shopov)
18014 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18016 * tests/check/gst/gstplugin.c:
18019 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18021 * common/gst-xmlinspect.py:
18022 * common/gtk-doc-plugins.mak:
18024 * docs/Makefile.am:
18025 * docs/gst/Makefile.am:
18026 * docs/gst/gstreamer-docs.sgml:
18027 * docs/gst/gstreamer-sections.txt:
18028 * docs/gst/gstreamer.types:
18029 * docs/gst/gstreamer.types.in:
18030 * docs/plugins/Makefile.am:
18031 * docs/plugins/gstreamer-plugins-docs.sgml:
18032 * docs/plugins/gstreamer-plugins-sections.txt:
18033 * docs/plugins/gstreamer-plugins.types:
18034 * docs/plugins/inspect.stamp:
18035 * docs/plugins/inspect/plugin-coreelements.xml:
18036 * docs/plugins/inspect/plugin-coreindexers.xml:
18037 * docs/plugins/scanobj-build.stamp:
18038 * gstreamer.spec.in:
18039 * plugins/elements/Makefile.am:
18040 * plugins/elements/gstelements.c:
18041 * plugins/elements/gstfakesink.c:
18042 * plugins/elements/gstfakesrc.c:
18043 * plugins/elements/gstfilesink.c:
18044 * plugins/elements/gstfilesrc.c:
18045 * plugins/elements/gstqueue.c:
18046 * plugins/indexers/Makefile.am:
18047 * plugins/indexers/gstindexers.c:
18048 document core plugins in a separate document just like all the
18050 rename these plugins to something starting with core
18052 2005-12-01 Andy Wingo <wingo@pobox.com>
18054 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18055 padding here before, but it missed the commit.
18057 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18059 * libs/gst/controller/gstinterpolation.c:
18060 whitespace prices have crashed, we should feel free to use some now
18061 use gst_guint64_to_gdouble
18063 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18065 * libs/gst/controller/gstcontroller.c:
18066 * libs/gst/controller/gsthelper.c:
18067 * libs/gst/controller/gstinterpolation.c:
18068 * libs/gst/controller/lib.c:
18069 wrap config.h include
18071 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18073 * docs/gst/gstreamer-sections.txt:
18076 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18078 * plugins/elements/gstelements.c:
18079 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18080 (gst_fd_sink__class_init), (gst_fd_sink__init),
18081 (gst_fd_sink__chain), (gst_fd_sink__set_property),
18082 (gst_fd_sink__get_property):
18083 * plugins/elements/gstfdsink.h:
18084 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18085 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18086 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18087 (gst_fd_src_unlock), (gst_fd_src_set_property),
18088 (gst_fd_src_get_property), (gst_fd_src_create),
18089 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
18090 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
18091 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
18092 (gst_fd_src_uri_handler_init):
18093 * plugins/elements/gstfdsrc.h:
18094 * plugins/elements/gstqueue.c: (gst_queue_get_type):
18097 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18099 * docs/gst/Makefile.am:
18100 * docs/gst/gstreamer.types.in:
18104 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18110 * gst/gstregistry.h:
18111 * tests/benchmarks/complexity.c:
18112 * tests/benchmarks/mass-elements.c:
18113 * tests/check/Makefile.am:
18114 * tools/Makefile.am:
18115 * tools/gst-inspect.c:
18116 * tools/gst-xmlinspect.c:
18117 various fixes to make
18118 --disable-nls --disable-registry --disable-loadsave
18119 --disable-parse --disable-gst-debug
18120 work and get the core .so down to 360444 bytes after stripping
18122 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18127 * docs/random/thomasvs/TODO:
18128 * tests/Makefile.am:
18132 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18134 * win32/GStreamer.vcproj:
18137 * win32/Makefile.inspect:
18138 * win32/Makefile.launch:
18139 * win32/Makefile.register:
18140 * win32/README.txt:
18141 * win32/gst-inspect.vcproj:
18142 * win32/gst-launch.vcproj:
18143 * win32/gst-register.vcproj:
18144 * win32/gstelements.vcproj:
18145 * win32/gstgetbits.def:
18146 * win32/gstgetbits.vcproj:
18147 * win32/gstreamer-dbg.def:
18148 * win32/gstreamer.def:
18149 * win32/libgstbase.def:
18150 * win32/libgstbase.vcproj:
18151 * win32/link_oldruntime.c:
18155 * win32/msvc71.sln:
18156 move even more stuff, win32/ is nice and clean now
18158 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18160 * libs/gst/control/.cvsignore:
18165 * win32/gstbytestream.def:
18166 * win32/gstbytestream.vcproj:
18167 * win32/gstconfig.h:
18168 * win32/gstenumtypes.c:
18169 * win32/gstenumtypes.h:
18170 * win32/gstoptimalscheduler.vcproj:
18171 * win32/gstversion.h:
18173 * win32/testsuite/bins.vcproj:
18174 * win32/testsuite/bytestream.vcproj:
18175 * win32/testsuite/caps.vcproj:
18176 * win32/testsuite/cleanup.vcproj:
18177 * win32/testsuite/clock.vcproj:
18178 * win32/testsuite/debug.vcproj:
18179 * win32/testsuite/dlopen.vcproj:
18180 * win32/testsuite/dynparams.vcproj:
18181 * win32/testsuite/elements.vcproj:
18182 * win32/testsuite/ghostpads.vcproj:
18183 * win32/testsuite/indexers.vcproj:
18184 * win32/testsuite/negotiation.vcproj:
18185 * win32/testsuite/parse.vcproj:
18186 * win32/testsuite/plugin.vcproj:
18187 * win32/testsuite/refcounting.vcproj:
18188 * win32/testsuite/schedulers.vcproj:
18189 * win32/testsuite/states.vcproj:
18190 * win32/testsuite/tags.vcproj:
18191 * win32/testsuite/threads.vcproj:
18192 remove old win32 stuff that isn't maintained and should be
18195 2005-11-30 Andy Wingo <wingo@pobox.com>
18197 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
18198 loading the gst.interfaces python module bork.
18200 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
18201 available since GLib 2.2. Fixes #318031.
18203 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18206 * check/.cvsignore:
18207 * check/Makefile.am:
18208 * check/elements/.cvsignore:
18209 * check/elements/fakesrc.c:
18210 * check/elements/fdsrc.c:
18211 * check/elements/identity.c:
18212 * check/generic/.cvsignore:
18213 * check/generic/states.c:
18214 * check/gst-libs/.cvsignore:
18215 * check/gst-libs/controller.c:
18216 * check/gst-libs/gdp.c:
18217 * check/gst/.cvsignore:
18218 * check/gst/capslist.h:
18220 * check/gst/gstbin.c:
18221 * check/gst/gstbuffer.c:
18222 * check/gst/gstbus.c:
18223 * check/gst/gstcaps.c:
18224 * check/gst/gstelement.c:
18225 * check/gst/gstevent.c:
18226 * check/gst/gstghostpad.c:
18227 * check/gst/gstiterator.c:
18228 * check/gst/gstmessage.c:
18229 * check/gst/gstminiobject.c:
18230 * check/gst/gstobject.c:
18231 * check/gst/gstpad.c:
18232 * check/gst/gstpipeline.c:
18233 * check/gst/gstplugin.c:
18234 * check/gst/gstsegment.c:
18235 * check/gst/gststructure.c:
18236 * check/gst/gstsystemclock.c:
18237 * check/gst/gsttag.c:
18238 * check/gst/gstutils.c:
18239 * check/gst/gstvalue.c:
18240 * check/net/.cvsignore:
18241 * check/net/gstnetclientclock.c:
18242 * check/net/gstnettimeprovider.c:
18243 * check/pipelines/.cvsignore:
18244 * check/pipelines/cleanup.c:
18245 * check/pipelines/simple_launch_lines.c:
18246 * check/pipelines/stress.c:
18247 * check/states/.cvsignore:
18248 * check/states/sinks.c:
18250 * examples/Makefile.am:
18251 * examples/appreader/.cvsignore:
18252 * examples/appreader/Makefile.am:
18253 * examples/appreader/appreader.c:
18254 * examples/controller/.cvsignore:
18255 * examples/controller/Makefile.am:
18256 * examples/controller/audio-example.c:
18257 * examples/cutter/.cvsignore:
18258 * examples/cutter/Makefile.am:
18259 * examples/cutter/cutter.c:
18260 * examples/cutter/cutter.h:
18261 * examples/events/Makefile.am:
18262 * examples/events/seek.c:
18263 * examples/helloworld/.cvsignore:
18264 * examples/helloworld/Makefile.am:
18265 * examples/helloworld/helloworld.c:
18266 * examples/helloworld2/.cvsignore:
18267 * examples/helloworld2/Makefile.am:
18268 * examples/helloworld2/helloworld2.c:
18269 * examples/launch/.cvsignore:
18270 * examples/launch/Makefile.am:
18271 * examples/launch/mp3parselaunch.c:
18272 * examples/launch/mp3play:
18273 * examples/manual/.cvsignore:
18274 * examples/manual/Makefile.am:
18275 * examples/manual/extract.pl:
18276 * examples/metadata/Makefile.am:
18277 * examples/metadata/read-metadata.c:
18278 * examples/mixer/.cvsignore:
18279 * examples/mixer/Makefile.am:
18280 * examples/mixer/mixer.c:
18281 * examples/mixer/mixer.h:
18282 * examples/pingpong/.cvsignore:
18283 * examples/pingpong/Makefile.am:
18284 * examples/pingpong/pingpong.c:
18285 * examples/plugins/.cvsignore:
18286 * examples/plugins/Makefile.am:
18287 * examples/plugins/example.c:
18288 * examples/plugins/example.h:
18289 * examples/pwg/.cvsignore:
18290 * examples/pwg/Makefile.am:
18291 * examples/pwg/extract.pl:
18292 * examples/queue/.cvsignore:
18293 * examples/queue/Makefile.am:
18294 * examples/queue/queue.c:
18295 * examples/queue2/.cvsignore:
18296 * examples/queue2/Makefile.am:
18297 * examples/queue2/queue2.c:
18298 * examples/queue3/.cvsignore:
18299 * examples/queue3/Makefile.am:
18300 * examples/queue3/queue3.c:
18301 * examples/queue4/.cvsignore:
18302 * examples/queue4/Makefile.am:
18303 * examples/queue4/queue4.c:
18304 * examples/retag/.cvsignore:
18305 * examples/retag/Makefile.am:
18306 * examples/retag/retag.c:
18307 * examples/retag/transcode.c:
18308 * examples/thread/.cvsignore:
18309 * examples/thread/Makefile.am:
18310 * examples/thread/thread.c:
18311 * examples/typefind/.cvsignore:
18312 * examples/typefind/Makefile.am:
18313 * examples/typefind/typefind.c:
18314 * examples/xml/.cvsignore:
18315 * examples/xml/Makefile.am:
18316 * examples/xml/createxml.c:
18317 * examples/xml/runxml.c:
18318 * tests/Makefile.am:
18319 * tests/check/Makefile.am:
18320 * testsuite/.cvsignore:
18321 * testsuite/Makefile.am:
18323 * testsuite/caps/.cvsignore:
18324 * testsuite/caps/Makefile.am:
18325 * testsuite/caps/app_fixate.c:
18326 * testsuite/caps/audioscale.c:
18327 * testsuite/caps/caps.c:
18328 * testsuite/caps/caps.h:
18329 * testsuite/caps/caps_strings:
18330 * testsuite/caps/compatibility.c:
18331 * testsuite/caps/deserialize.c:
18332 * testsuite/caps/enumcaps.c:
18333 * testsuite/caps/eratosthenes.c:
18334 * testsuite/caps/filtercaps.c:
18335 * testsuite/caps/fixed.c:
18336 * testsuite/caps/fraction-convert.c:
18337 * testsuite/caps/fraction-multiply-and-zero.c:
18338 * testsuite/caps/intersect2.c:
18339 * testsuite/caps/intersection.c:
18340 * testsuite/caps/normalisation.c:
18341 * testsuite/caps/random.c:
18342 * testsuite/caps/renegotiate.c:
18343 * testsuite/caps/sets.c:
18344 * testsuite/caps/simplify.c:
18345 * testsuite/caps/string-conversions.c:
18346 * testsuite/caps/structure.c:
18347 * testsuite/caps/subtract.c:
18348 * testsuite/caps/union.c:
18349 * testsuite/debug/.cvsignore:
18350 * testsuite/debug/Makefile.am:
18351 * testsuite/debug/category.c:
18352 * testsuite/debug/commandline.c:
18353 * testsuite/debug/global.c:
18354 * testsuite/debug/output.c:
18355 * testsuite/debug/printf_extension.c:
18356 * testsuite/dlopen/.cvsignore:
18357 * testsuite/dlopen/Makefile.am:
18358 * testsuite/dlopen/dlopen_gst.c:
18359 * testsuite/dlopen/loadgst.c:
18360 * testsuite/elements/.cvsignore:
18361 * testsuite/elements/Makefile.am:
18362 * testsuite/elements/gst-inspect-check.in:
18363 * testsuite/elements/struct_i386.h:
18364 * testsuite/elements/struct_size.c:
18365 * testsuite/indexers/.cvsignore:
18366 * testsuite/indexers/Makefile.am:
18367 * testsuite/indexers/cache1.c:
18368 * testsuite/indexers/indexdump.c:
18369 * testsuite/parse/.cvsignore:
18370 * testsuite/parse/Makefile.am:
18371 * testsuite/parse/parse1.c:
18372 * testsuite/parse/parse2.c:
18373 * testsuite/plugin/.cvsignore:
18374 * testsuite/plugin/Makefile.am:
18375 * testsuite/plugin/README:
18376 * testsuite/plugin/dynamic.c:
18377 * testsuite/plugin/linked.c:
18378 * testsuite/plugin/loading.c:
18379 * testsuite/plugin/registry.c:
18380 * testsuite/plugin/static.c:
18381 * testsuite/plugin/static2.c:
18382 * testsuite/plugin/testplugin.c:
18383 * testsuite/plugin/testplugin2.c:
18384 * testsuite/plugin/testplugin2_s.c:
18385 * testsuite/plugin/testplugin_s.c:
18386 * testsuite/refcounting/.cvsignore:
18387 * testsuite/refcounting/Makefile.am:
18388 * testsuite/refcounting/bin.c:
18389 * testsuite/refcounting/element.c:
18390 * testsuite/refcounting/element_pad.c:
18391 * testsuite/refcounting/mainloop.c:
18392 * testsuite/refcounting/mem.c:
18393 * testsuite/refcounting/mem.h:
18394 * testsuite/refcounting/object.c:
18395 * testsuite/refcounting/pad.c:
18396 * testsuite/refcounting/sched.c:
18397 * testsuite/refcounting/thread.c:
18398 * testsuite/states/.cvsignore:
18399 * testsuite/states/Makefile.am:
18400 * testsuite/states/bin.c:
18401 * testsuite/states/locked.c:
18402 * testsuite/states/parent.c:
18403 * testsuite/threads/.cvsignore:
18404 * testsuite/threads/159566.c:
18405 * testsuite/threads/159852.c:
18406 * testsuite/threads/Makefile.am:
18407 * testsuite/threads/queue.c:
18408 * testsuite/threads/signals.c:
18409 * testsuite/threads/staticrec.c:
18410 * testsuite/threads/thread.c:
18411 * testsuite/threads/threadb.c:
18412 * testsuite/threads/threadc.c:
18413 * testsuite/threads/threadd.c:
18414 * testsuite/threads/threade.c:
18415 * testsuite/threads/threadf.c:
18416 * testsuite/threads/threadg.c:
18417 * testsuite/threads/threadh.c:
18418 * testsuite/threads/threadi.c:
18419 move all of these under tests
18421 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18424 * tests/Makefile.am:
18427 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18429 * docs/gst/gstreamer-sections.txt:
18430 * tests/sched/.cvsignore:
18431 * tests/sched/Makefile.am:
18432 * tests/sched/cases/(fs-fs).xml:
18433 * tests/sched/cases/(fs-i-fs).xml:
18434 * tests/sched/cases/(fs-i-i-fs).xml:
18435 * tests/sched/cases/(fs-i-q[i-fs]).xml:
18436 * tests/sched/dynamic-pipeline.c:
18437 * tests/sched/interrupt1.c:
18438 * tests/sched/interrupt2.c:
18439 * tests/sched/interrupt3.c:
18440 * tests/sched/runtestcases:
18441 * tests/sched/runxml.c:
18442 * tests/sched/sched-stress.c:
18443 * tests/sched/sort.c:
18444 * tests/sched/testcases:
18445 * tests/sched/testcases1.tc:
18446 * tests/seeking/.cvsignore:
18447 * tests/seeking/Makefile.am:
18448 * tests/seeking/seeking1.c:
18449 * tests/threadstate/.cvsignore:
18450 * tests/threadstate/Makefile.am:
18451 * tests/threadstate/test1.c:
18452 * tests/threadstate/test2.c:
18453 * tests/threadstate/threadstate1.c:
18454 * tests/threadstate/threadstate2.c:
18455 * tests/threadstate/threadstate3.c:
18456 * tests/threadstate/threadstate4.c:
18457 * tests/threadstate/threadstate5.c:
18458 remove obsolete tests
18460 * tests/bench-complexity.scm:
18461 * tests/bench-mass_elements.scm:
18462 * tests/complexity.c:
18463 * tests/complexity.gnuplot:
18464 * tests/instantiate/.cvsignore:
18465 * tests/instantiate/Makefile.am:
18466 * tests/instantiate/caps.c:
18467 * tests/mass_elements.c:
18468 * tests/network-clock-utils.scm:
18469 * tests/network-clock.scm:
18471 First pass at cleaning up tests/ dir before moving the rest
18472 Combined with CVS surgery
18474 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18477 queue has moved, update
18479 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18481 * docs/gst/gstreamer-sections.txt:
18482 remove double entries from the docs
18483 * gst/gst_private.h:
18484 * gst/gstinfo.c: (_gst_debug_init):
18485 remove the THREAD debug category
18489 * docs/gst/gstreamer.types:
18490 * plugins/elements/gstqueue.c: (gst_queue_get_type),
18491 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
18492 completely move queue and fix up debugging categories
18494 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18496 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18497 make initialization portable, using LL is not
18499 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18501 * win32/common/gstconfig.h:
18504 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18506 * win32/common/libgstreamer.def:
18507 rename symbols; sort base section
18509 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18511 * gst/gstclock.c: (do_linear_regression):
18512 remove crack non-portable handrolled DEBUG macro
18514 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18516 * docs/random/release:
18518 * win32/common/gstenumtypes.c: (register_gst_object_flags),
18519 (gst_object_flags_get_type), (register_gst_bin_flags),
18520 (gst_bin_flags_get_type), (register_gst_buffer_flag),
18521 (gst_buffer_flag_get_type), (register_gst_bus_flags),
18522 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18523 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
18524 (gst_caps_flags_get_type), (register_gst_clock_return),
18525 (gst_clock_return_get_type), (register_gst_clock_entry_type),
18526 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
18527 (gst_clock_flags_get_type), (register_gst_state),
18528 (gst_state_get_type), (register_gst_state_change_return),
18529 (gst_state_change_return_get_type), (register_gst_state_change),
18530 (gst_state_change_get_type), (register_gst_element_flags),
18531 (gst_element_flags_get_type), (register_gst_core_error),
18532 (gst_core_error_get_type), (register_gst_library_error),
18533 (gst_library_error_get_type), (register_gst_resource_error),
18534 (gst_resource_error_get_type), (register_gst_stream_error),
18535 (gst_stream_error_get_type), (register_gst_event_type_flags),
18536 (gst_event_type_flags_get_type), (register_gst_event_type),
18537 (gst_event_type_get_type), (register_gst_seek_type),
18538 (gst_seek_type_get_type), (register_gst_seek_flags),
18539 (gst_seek_flags_get_type), (register_gst_format),
18540 (gst_format_get_type), (register_gst_index_certainty),
18541 (gst_index_certainty_get_type), (register_gst_index_entry_type),
18542 (gst_index_entry_type_get_type),
18543 (register_gst_index_lookup_method),
18544 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
18545 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
18546 (gst_index_resolver_method_get_type), (register_gst_index_flags),
18547 (gst_index_flags_get_type), (register_gst_debug_level),
18548 (gst_debug_level_get_type), (register_gst_debug_color_flags),
18549 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
18550 (gst_iterator_result_get_type), (register_gst_iterator_item),
18551 (gst_iterator_item_get_type), (register_gst_message_type),
18552 (gst_message_type_get_type), (register_gst_mini_object_flags),
18553 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
18554 (gst_pad_link_return_get_type), (register_gst_flow_return),
18555 (gst_flow_return_get_type), (register_gst_activate_mode),
18556 (gst_activate_mode_get_type), (register_gst_pad_direction),
18557 (gst_pad_direction_get_type), (register_gst_pad_flags),
18558 (gst_pad_flags_get_type), (register_gst_pad_presence),
18559 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
18560 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
18561 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
18562 (gst_plugin_error_get_type), (register_gst_plugin_flags),
18563 (gst_plugin_flags_get_type), (register_gst_rank),
18564 (gst_rank_get_type), (register_gst_query_type),
18565 (gst_query_type_get_type), (register_gst_tag_merge_mode),
18566 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
18567 (gst_tag_flag_get_type), (register_gst_task_state),
18568 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
18569 (gst_alloc_trace_flags_get_type),
18570 (register_gst_type_find_probability),
18571 (gst_type_find_probability_get_type), (register_gst_uri_type),
18572 (gst_uri_type_get_type), (register_gst_parse_error),
18573 (gst_parse_error_get_type):
18574 * win32/common/gstenumtypes.h:
18575 * win32/common/gstversion.h:
18576 update visual studio generated files
18578 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18580 * win32/vs6/libgstbase.dsp:
18581 * win32/vs6/libgstelements.dsp:
18582 update project files for new locations
18584 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18589 reinstate and update
18594 * docs/random/LICENSE:
18597 2005-11-30 Edward Hervey <edward@fluendo.com>
18599 * gst/gsttypefind.c: (gst_type_find_register):
18600 * gst/gsttypefind.h:
18601 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
18602 (gst_type_find_factory_dispose):
18603 * gst/gsttypefindfactory.h:
18604 Fix memory leak in GstTypeFindFactory.
18606 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18609 * plugins/elements/Makefile.am:
18610 * plugins/elements/gstelements.c:
18611 * plugins/elements/gstqueue.c:
18612 move queue from core to the elements plugin
18614 2005-11-29 Andy Wingo <wingo@pobox.com>
18616 * libs/gst/base/gstbasetransform.h:
18617 * libs/gst/base/gstbasesrc.h:
18618 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
18620 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
18621 of pointers by which to pad very extensible base classes (like the
18622 ones in libs/gst/base).
18624 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18626 * docs/gst/gstreamer-docs.sgml:
18627 * docs/gst/gstreamer-sections.txt:
18628 * docs/libs/gstreamer-libs-docs.sgml:
18629 * docs/libs/gstreamer-libs-sections.txt:
18630 moving documentation from core to lib
18632 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18634 * check/Makefile.am:
18636 * docs/gst/Makefile.am:
18638 * gst/base/.cvsignore:
18639 * gst/base/Makefile.am:
18641 * gst/base/gstadapter.c:
18642 * gst/base/gstadapter.h:
18643 * gst/base/gstbasesink.c:
18644 * gst/base/gstbasesink.h:
18645 * gst/base/gstbasesrc.c:
18646 * gst/base/gstbasesrc.h:
18647 * gst/base/gstbasetransform.c:
18648 * gst/base/gstbasetransform.h:
18649 * gst/base/gstcollectpads.c:
18650 * gst/base/gstcollectpads.h:
18651 * gst/base/gstpushsrc.c:
18652 * gst/base/gstpushsrc.h:
18653 * gst/base/gsttypefindhelper.c:
18654 * gst/base/gsttypefindhelper.h:
18655 * gst/check/Makefile.am:
18656 * gst/check/gstcheck.c:
18657 * gst/check/gstcheck.h:
18658 * gst/net/Makefile.am:
18659 * gst/net/gstnet.h:
18660 * gst/net/gstnetclientclock.c:
18661 * gst/net/gstnetclientclock.h:
18662 * gst/net/gstnettimepacket.c:
18663 * gst/net/gstnettimepacket.h:
18664 * gst/net/gstnettimeprovider.c:
18665 * gst/net/gstnettimeprovider.h:
18666 * libs/gst/Makefile.am:
18667 * libs/gst/base/Makefile.am:
18668 * libs/gst/base/gstbasetransform.c:
18669 * libs/gst/check/Makefile.am:
18670 * plugins/elements/Makefile.am:
18672 CVS surgery + support to move base, check, and net out of gst
18675 2005-11-29 Andy Wingo <wingo@pobox.com>
18677 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
18679 * gst/gststructure.h (struct _GstStructure): Only one pointer of
18682 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
18684 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
18686 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
18688 * gst/gstobject.h: (struct _GstObject): Only one pointer of
18689 padding; reduces object size by about 30%. We don't expect
18690 anything else to go into gstobject.
18692 * gst/gstminiobject.h (struct _GstMiniObject)
18693 (struct _GstMiniObjectClass): Only one pointer of padding; the
18694 payload is only a pointer and two ints anyway. For the class there
18695 are only two methods as well.
18697 * gst/gstelement.h (struct _GstElementClass): Removed
18698 the state_changed signal callback, it is not used.
18700 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
18702 * docs/gst/gstreamer.types:
18703 fix includes, though they are a little dinky
18705 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18707 * check/Makefile.am:
18708 look in the right place for elements, a lot more chance of
18711 remove indexers and elements subdirs
18712 * plugins/Makefile.am:
18713 make indexers conditional
18715 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18719 * plugins/elements/Makefile.am:
18720 * plugins/elements/gstcapsfilter.c:
18721 * plugins/elements/gstfilesink.c:
18722 * plugins/elements/gstfilesrc.c:
18723 * plugins/elements/gstidentity.c:
18724 * plugins/indexers/Makefile.am:
18725 do CVS surgery and related build fixery to move elements
18726 and indexers in a new gstreamer/plugins directory, out of the
18729 2005-11-29 Andy Wingo <wingo@pobox.com>
18731 * check/Makefile.am:
18732 * pkgconfig/gstreamer-net-uninstalled.pc.in:
18733 * pkgconfig/gstreamer-net.pc.in:
18734 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
18737 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
18739 * tools/Makefile.am:
18740 * tools/gst-complete.1.in:
18741 * tools/gst-complete.c:
18742 * tools/gst-compprep.1.in:
18743 * tools/gst-compprep.c:
18744 removing -compprep and -complete
18746 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
18748 * gst/gstevent.c: (gst_event_new_new_segment),
18749 (gst_event_parse_new_segment):
18751 fix #320529 - clean up new_segment API and structure.
18752 Let's hope everyone was using the methods, and not the structure.
18754 2005-11-29 Edward Hervey <edward@fluendo.com>
18756 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18757 (gst_base_sink_event), (gst_base_sink_do_sync),
18758 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18759 Properly handle non GST_FORMAT_TIME segment
18760 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18761 Properly handle non GST_FORMAT_TIME segment
18762 * gst/gstsegment.c:
18763 This function is valid if the accumulator is 0 and the format
18764 is different from the requested format.
18766 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
18768 * docs/gst/gstreamer-sections.txt:
18769 Add gst_query_new_seeking and gst_query_parse_seeking to the
18772 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
18774 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18775 Treat a pad alloc with new caps the same as if we were not
18776 negotiated, in order to allow a changing upstream output
18777 to produce a new format of data.
18779 2005-11-29 Edward Hervey <edward@fluendo.com>
18781 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18782 (gst_base_transform_event), (gst_base_transform_eventfunc):
18783 The event virtual method is now properly implemented, with a default
18785 Sub classes should call the parent_class event method. They should
18786 return FALSE if they had a problem handling the given event, or don't
18787 want GstBaseTransform to send that even downstream
18788 * gst/elements/gstidentity.c: (gst_identity_class_init),
18789 (gst_identity_init), (gst_identity_event),
18790 (gst_identity_transform_ip), (gst_identity_set_property),
18791 (gst_identity_get_property):
18792 * gst/elements/gstidentity.h:
18793 Added the single-segment boolean property.
18794 If set to TRUE, it will output a single segment of data, starting from
18795 0, will eat up all incoming newsegment, and modify the timestamp of the
18796 buffers accordingly
18798 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
18800 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
18801 Don't ref NULL target pad (#322751). Improve docs.
18803 2005-11-29 Michael Smith <msmith@fluendo.com>
18805 * gst/gstregistryxml.c: (load_plugin):
18806 Don't crash if we failed to load a feature from a plugin.
18808 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
18810 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18812 use more check API and less GLib API
18814 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
18817 don't run checks if we don't have check
18818 * common/check.mak:
18819 remove the registry when running make torture
18820 * docs/gst/gstreamer-sections.txt:
18821 remove second multiply
18822 * gst/gstqueue.c: (gst_queue_loop):
18823 fix a compile warning when disabling debug
18825 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
18828 Hey! Let's print the pad name if the pointer != NULL instead
18829 of when it == NULL :-)
18831 2005-11-28 Wim Taymans <wim@fluendo.com>
18833 * check/gst/gstutils.c: (GST_START_TEST):
18834 Updated check, add some scaling accuracy checking code.
18836 * gst/gstutils.c: (gst_util_div128_64),
18837 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
18838 (gst_util_uint64_scale_int):
18839 Fix 6 times faster division code. Optimize for common
18840 1/1 and less common X/1 cases.
18842 2005-11-28 Wim Taymans <wim@fluendo.com>
18844 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18847 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
18848 (do_linear_regression), (gst_clock_add_observation):
18850 Release lock when the clock cannot be slaved.
18851 Catch the case where the regression returned an invalid denominator.
18853 * gst/gstutils.c: (gst_util_div128_64_iterate),
18854 (gst_util_div128_64), (gst_util_uint64_scale_int64),
18855 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
18856 Add protentially more performant non-iterative 128/64 divide function
18857 that unfortunatly does not work yet.
18858 Shortcut the trivial 0/X = 0 case.
18859 Remove the warnings on overflow.
18861 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
18863 * gst/gstplugin.c: (gst_plugin_register_func):
18864 everything causing a plugin not to load should be at least a WARNING
18866 2005-11-28 Stefan Kost <ensonic@users.sf.net>
18868 * docs/random/ensonic/dparams.txt:
18869 some TODOs for the next dev cycle
18870 * libs/gst/controller/gstcontroller.c:
18871 (gst_controlled_property_set_interpolation_mode),
18872 (gst_controlled_property_new):
18873 * libs/gst/controller/gstcontroller.h:
18874 use base type to assign acccessor functions
18876 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
18878 * check/Makefile.am:
18879 Oops, that should have been top_srcdir
18881 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
18883 * check/Makefile.am:
18884 * check/elements/fdsrc.c: (GST_START_TEST):
18885 Use a cmdline define to specify the location of a file to use for
18886 testing, to avoid breaking distcheck.
18888 2005-11-28 Andy Wingo <wingo@pobox.com>
18890 * gst/gstpad.c (fixate_value): Use array functions for arrays.
18892 2005-11-28 Edward Hervey <edward@fluendo.com>
18894 * tools/gst-launch.c: (main):
18895 Clarify the output strings, makes it easier to translate.
18898 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
18901 don't try and build net if we don't even have <sys/socket.h>
18903 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
18905 * check/Makefile.am:
18906 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
18907 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
18908 Add tests for fdsrc seekability
18910 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18911 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
18912 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
18913 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
18914 * gst/elements/gstfdsrc.h:
18915 fdsrc should not be a 'live' source.
18916 Implement seeking on seekable fd's.
18918 * gst/gstquery.c: (gst_query_new_seeking),
18919 (gst_query_parse_seeking):
18921 Implement SEEKING query functions:
18922 *_new_seeking and *_parse_seeking
18924 2005-11-27 Stefan Kost <ensonic@users.sf.net>
18926 * gst/gstelement.c: (gst_element_dispose):
18929 * gst/gstiterator.c:
18930 * gst/gststructure.c:
18933 * libs/gst/controller/gstcontroller.c:
18934 (gst_controlled_property_set_interpolation_mode):
18935 * libs/gst/controller/gstcontroller.h:
18936 * libs/gst/controller/gstinterpolation.c:
18937 (interpolate_none_get_enum_value_array):
18938 support controlling enums
18940 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
18943 Improve documentation for gst_value_union().
18946 Change return value for union, intersect and subtract functions
18947 from gint to gboolean.
18949 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
18951 * gst/gstvalue.c: (gst_value_serialize_any_list),
18952 (gst_value_transform_any_list_string),
18953 (gst_value_deserialize_list), (gst_value_deserialize_array),
18954 (gst_value_set_int_range), (gst_value_deserialize_int_range),
18955 (gst_value_set_double_range), (gst_value_deserialize_double_range),
18956 (gst_value_set_fraction_range_full),
18957 (gst_value_deserialize_fraction_range),
18958 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
18959 (gst_value_deserialize_boolean),
18960 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
18961 (gst_value_serialize_float), (gst_value_deserialize_float),
18962 (gst_string_wrap), (gst_value_deserialize_string),
18963 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
18964 (gst_value_union_int_range_int_range),
18965 (gst_value_intersect_int_range_int_range),
18966 (gst_value_intersect_double_range_double_range),
18967 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
18968 (gst_value_subtract_int_range_int_range),
18969 (gst_value_subtract_double_double_range),
18970 (gst_value_subtract_double_range_double_range),
18971 (gst_value_deserialize_fraction):
18973 Use gint, gdouble and gchar in our API instead of int, double and
18974 char (and make usage in gstvalue.c more consistent).
18976 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
18978 * check/Makefile.am:
18979 * libs/gst/controller/Makefile.am:
18980 * libs/gst/dataprotocol/Makefile.am:
18981 fix up Makefile.am and remove GST_ENABLE_NEW
18983 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
18987 * gst/base/Makefile.am:
18988 * gst/check/Makefile.am:
18989 * gst/elements/Makefile.am:
18990 * gst/net/Makefile.am:
18991 update LDFLAGS use some more
18993 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
18995 * common/m4/gst-doc.m4:
18998 2005-11-26 Edward Hervey <edward@fluendo.com>
19000 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19001 This shouldn't issue a g_warning since it returns NULL if it
19002 couldn't find the plugin, and all functions using this behave
19003 properly on a NULL return. Switching to a GST_WARNING.
19005 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
19007 * gst/gstbin.c: (gst_bin_handle_message_func):
19008 Don't leak clock messages.
19010 2005-11-25 Wim Taymans <wim@fluendo.com>
19012 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19013 (gst_util_uint64_scale_int):
19014 Optimisations, remove unneeded vars.
19016 2005-11-25 Wim Taymans <wim@fluendo.com>
19018 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19019 Added more checks for the high precision uint64 cases.
19021 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19022 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19023 Implement high precision (guint64 * guint64) / guint64.
19025 2005-11-24 Wim Taymans <wim@fluendo.com>
19027 * gst/base/gstbasesrc.c: (gst_base_src_query):
19028 Fix wrong percentage query.
19030 * gst/gstutils.c: (gst_util_uint64_scale),
19031 (gst_util_uint64_scale_int):
19032 Add some more common cases that can be handled
19033 efficiently to _scale.
19035 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19037 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19038 (gst_mini_object_suite):
19039 don't use check calls from threads; check probably isn't
19040 threadsafe and using a lock to make it threadsafe would
19041 defeat the purpose of this check
19042 * gst/check/gstcheck.c:
19043 * gst/check/gstcheck.h:
19044 use GST_DEBUG some more
19046 2005-11-24 Wim Taymans <wim@fluendo.com>
19048 * gst/gstutils.c: (gst_util_uint64_scale),
19049 (gst_util_uint64_scale_int):
19050 Chain trivial case to _scale_int.
19052 2005-11-24 Wim Taymans <wim@fluendo.com>
19054 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19055 Added test for scaling.
19060 * gst/gstutils.c: (gst_util_uint64_scale_int):
19061 Implemented high precision scaling code.
19063 2005-11-24 Stefan Kost <ensonic@users.sf.net>
19066 do not crash on pad==NULL
19068 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19070 Patch by: Stefan Kost
19072 * common/gtk-doc.mak:
19073 * docs/gst/Makefile.am:
19074 * docs/libs/Makefile.am:
19075 Fix distcheck issues for the libraries docs build
19078 2005-11-24 Michael Smith <msmith@fluendo.com>
19080 * docs/manual/basics-helloworld.xml:
19081 Fix bug #315027: memory leak in example code in docs.
19083 2005-11-24 Michael Smith <msmith@fluendo.com>
19085 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19086 Unlock the PREROLL_LOCK in a failure case.
19088 2005-11-24 Wim Taymans <wim@fluendo.com>
19090 * docs/gst/gstreamer-sections.txt:
19091 * gst/base/gstadapter.h:
19092 * gst/base/gstbasesink.h:
19093 * gst/base/gstbasesrc.h:
19094 * gst/base/gstbasetransform.h:
19095 * gst/base/gstpushsrc.h:
19096 * gst/elements/gstfakesink.h:
19097 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
19098 * gst/elements/gstfakesrc.h:
19099 * gst/elements/gstfilesink.h:
19100 * gst/elements/gstfilesrc.h:
19103 * gst/gstbuffer.c: (_gst_buffer_copy):
19106 * gst/gstchildproxy.c:
19108 * gst/gstelement.c:
19109 * gst/gstelementfactory.c:
19110 * gst/gstelementfactory.h:
19112 * gst/gstghostpad.h:
19114 * gst/gstinterface.h:
19115 * gst/gstminiobject.c:
19116 * gst/gstminiobject.h:
19119 * gst/gstpadtemplate.h:
19120 * gst/gstpipeline.h:
19121 * gst/gstpluginfeature.h:
19124 * gst/gsttaglist.c:
19125 * gst/gsttaglist.h:
19126 * gst/gsttagsetter.c:
19127 * gst/gsttagsetter.h:
19130 * gst/gsttypefind.h:
19133 * gst/net/gstnetclientclock.c:
19134 * gst/net/gstnetclientclock.h:
19135 * gst/net/gstnettimepacket.c:
19136 * gst/net/gstnettimeprovider.c:
19137 * gst/net/gstnettimeprovider.h:
19140 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
19142 * configure.ac: back to HEAD
19144 === release 0.9.6 ===
19146 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
19149 releasing 0.9.6, "Always On Time"
19151 2005-11-23 Wim Taymans <wim@fluendo.com>
19153 * docs/gst/gstreamer-sections.txt:
19154 * gst/glib-compat.c:
19155 * gst/gsttagsetter.c:
19157 * gst/net/gstnetclientclock.c:
19158 * gst/net/gstnettimepacket.h:
19161 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
19163 * docs/faq/using.xml:
19164 * docs/libs/tmpl/gstcontrol.sgml:
19165 * docs/manual/advanced-dparams.xml:
19166 * docs/manual/appendix-checklist.xml:
19167 * docs/manual/basics-elements.xml:
19168 * docs/pwg/other-source.xml:
19169 * docs/random/moving-plugins:
19171 * tools/gst-launch.1.in:
19172 remove mentions of sinesrc
19174 2005-11-23 Michael Smith <msmith@fluendo.com>
19176 * docs/gst/gstreamer-sections.txt:
19177 Update for new API and API changes.
19179 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
19181 Documentation typo fix.
19182 * gst/net/gstnettimepacket.c:
19183 Documentation fixes for arguments.
19185 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
19187 * gst/gststructure.c: (gst_structure_get_fraction),
19188 (gst_structure_parse_value),
19189 (gst_structure_fixate_field_nearest_fraction):
19190 * gst/gststructure.h:
19191 * gst/gstutils.c: (gst_util_uint64_scale_int):
19193 * scripts/update-funcnames:
19195 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
19196 Make gst_structure_fixate_field_nearest_fraction take a numerator
19197 and denominator argument instead of a GValue
19198 add gst_structure_get_fraction helper function.
19200 2005-11-23 Wim Taymans <wim@fluendo.com>
19202 * docs/design/part-TODO.txt:
19205 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
19206 * gst/net/gstnetclientclock.h:
19207 Use parent fields for timeout and window_size.
19209 2005-11-23 Andy Wingo <wingo@pobox.com>
19211 * check/net/gstnetclientclock.c (test_functioning): Adjust to
19212 rate_num/rate_denom change.
19214 * gst/net/gstnetclientclock.c
19215 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
19216 OBJECT_LOCK. Don't call add_observation with the lock.
19218 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
19220 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
19222 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
19223 deal with rate as a fraction whose numerator and denominator are
19224 GstClockTime values.
19225 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
19226 master; the other fields are protected by the SLAVE_LOCK.
19227 (do_linear_regression): Note that this must be called with the
19229 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
19230 OBJECT_LOCK. Call set_calibration instead of touching the
19231 variables directly.
19232 (gst_clock_set_property, gst_clock_get_property): Protect
19233 master/slave parameters with the SLAVE_LOCK.
19235 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
19236 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
19237 note that all of the instance variables that add_observation and
19238 the set_master functions use are protected by that lock and not
19240 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
19242 * gst/gstclock.c (gst_clock_add_observation): No longer requires
19243 the caller to take the object lock.
19245 2005-11-23 Wim Taymans <wim@fluendo.com>
19247 * gst/gsterror.c: (_gst_core_errors_init):
19249 Add error for clock stuff.
19251 * gst/gstpipeline.c: (gst_pipeline_change_state),
19252 (gst_pipeline_set_clock):
19253 Post clock error when clock cannot be used in a pipeline.
19255 2005-11-23 Stefan Kost <ensonic@users.sf.net>
19257 * docs/gst/gstreamer-sections.txt:
19258 make two symbols from gstinfo private for the docs
19259 * gst/base/gstcollectpads.h:
19261 fix doc typos, update docs
19263 2005-11-22 Wim Taymans <wim@fluendo.com>
19265 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19266 (gst_base_sink_wait), (gst_base_sink_do_sync),
19267 (gst_base_sink_handle_event):
19268 * gst/base/gstbasesink.h:
19269 No need to store the clock, the parent element class already
19272 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
19273 Updates for clock_set returning a gboolean
19275 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
19276 (gst_clock_id_wait_async), (gst_clock_class_init),
19277 (gst_clock_init), (gst_clock_finalize),
19278 (gst_clock_get_internal_time), (gst_clock_get_time),
19279 (gst_clock_slave_callback), (gst_clock_set_master),
19280 (gst_clock_get_master), (do_linear_regression),
19281 (gst_clock_add_observation), (gst_clock_set_property),
19282 (gst_clock_get_property):
19284 Implement master/slave. When setting a clock as a slave, a
19285 periodic timeout is scheduled to sample master and slave times.
19286 Then the slave clock is recalibrated to match offset and rate
19287 of the master clock.
19288 Update logging a bit.
19289 Add flag so that a clock can state that is cannot be slaved to
19292 * gst/gstelement.c: (gst_element_set_clock):
19293 * gst/gstelement.h:
19294 The set clock returns a gboolean for when an element cannot
19295 deal with the selected clock in the pipeline.
19297 * gst/gstpipeline.c: (gst_pipeline_change_state),
19298 (gst_pipeline_set_clock):
19299 * gst/gstpipeline.h:
19300 Handle the case where the selected clock cannot be set on
19303 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
19304 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
19305 (gst_net_client_clock_set_property),
19306 (gst_net_client_clock_get_property),
19307 (gst_net_client_clock_observe_times):
19308 * gst/net/gstnetclientclock.h:
19309 Use regression code in GstClock parent, remove duplicated
19312 2005-11-22 Michael Smith <msmith@fluendo.com>
19314 * gst/gstutils.c: (gst_util_clock_time_scale):
19316 * docs/gst/gstreamer-sections.txt:
19317 Rename method to have extra underscore.
19319 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
19321 * gst/elements/Makefile.am:
19322 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
19323 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19324 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19325 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
19326 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
19327 * gst/elements/gstfakesrc.h:
19328 * gst/gstqueue.c: (queue_leaky_get_type):
19329 correctly fix GEnumValues so that nick is the short lowercase
19331 * tools/gst-inspect.c: (print_element_properties_info):
19332 also show the nick, since it's useful to use from parse_launch
19336 2005-11-22 Michael Smith <msmith@fluendo.com>
19338 * gst/gstutils.c: (gst_util_clocktime_scale):
19340 * docs/gst/gstreamer-sections.txt:
19341 Add util method for scaling a clocktime by a fraction. Useful
19342 implementation is left as an exercise for the reader.
19344 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
19346 * gst/gstvalue.c: (gst_value_collect_fraction_range):
19347 If needed, allocate storage in the destination value during
19350 2005-11-22 Edward Hervey <edward@fluendo.com>
19352 * docs/gst/gstreamer-sections.txt:
19355 * gst/gsturitype.c:
19356 * gst/gsturitype.h:
19357 * gst/gstutils.c: (gst_util_set_object_arg):
19358 * tools/gst-compprep.c: (main):
19359 * tools/gst-inspect.c: (print_element_properties_info):
19360 Removed GstURI, closes bug #321061
19362 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
19364 * check/gst/gststructure.c: (GST_START_TEST):
19365 * gst/gststructure.c: (gst_structure_parse_value):
19366 Oops, broke automatic string type parsing.
19367 Add a test to catch it in future.
19369 2005-11-22 Andy Wingo <wingo@pobox.com>
19371 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
19372 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
19373 Actually rename the function implementations. Grr.
19375 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
19377 * check/gst/capslist.h:
19379 * check/gst/gststructure.c: (GST_START_TEST),
19380 (gst_structure_suite):
19381 Test automatic value type detection in gst_structure_from_string.
19382 * gst/gststructure.c: (gst_structure_parse_value):
19383 Add fraction as a type we try and guess automatically in
19384 caps/structure strings.
19386 2005-11-22 Andy Wingo <wingo@pobox.com>
19388 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
19390 * gst/gsttagsetter.h:
19391 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
19392 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
19393 (gst_tag_setter_add_tag_valist)
19394 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
19395 _add_values, _add_valist, and _add_valist_values. Since this is an
19396 interface the function suffixes should be more explicit so
19397 language binding don't end up with element.add_valist ->
19398 gst_tag_setter_add_valist, for example. Fixes #322069.
19400 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
19402 * check/gst/gstcaps.c: (GST_START_TEST):
19403 Extend caps string tests to check that a caps to string
19404 conversion is reversible and produces the same caps.
19406 * gst/gststructure.c: (gst_structure_value_get_generic_type):
19407 Output "fraction" as the generic type fraction range, so caps
19408 serialisation and deserialisation works.
19409 * check/gst/capslist.h:
19410 * gst/gstvalue.c: (gst_value_deserialize_fraction):
19411 Support 'MIN' and 'MAX' for deserialising fractions.
19413 2005-11-22 Andy Wingo <wingo@pobox.com>
19415 * gst/gstevent.h (gst_event_new_new_segment)
19416 (gst_event_parse_new_segment, gst_event_new_buffer_size)
19417 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
19418 Renamed from *_newsegment, *_buffersize, *_notarget.
19420 * scripts/update-funcnames: New script, performs the changes
19423 2005-11-22 Wim Taymans <wim@fluendo.com>
19425 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19426 Make sure the GstFlowReturn is returned.
19428 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
19429 (gst_bus_add_signal_watch):
19431 add gst_bus_add_signal_watch_full.
19433 * gst/gstplugin.c: (gst_plugin_load_file):
19434 Small style cleanup.
19436 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
19438 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
19439 Block the fakesrc srcpad when we send an event, to avoid
19440 contention on the stream_lock causing random test failures.
19442 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
19444 * check/gst/gstvalue.c: (GST_START_TEST):
19445 * gst/gstvalue.c: (gst_value_fraction_subtract):
19448 2005-11-22 Stefan Kost <ensonic@users.sf.net>
19451 include "gstchildproxy.h"
19452 * gst/gstchildproxy.h:
19453 * libs/gst/controller/gstcontroller.h:
19454 use G_GNUC_NULL_TERMINATED
19456 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
19458 * check/gst/capslist.h:
19459 * check/gst/gstcaps.c: (GST_START_TEST):
19460 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19461 * gst/gststructure.c: (gst_structure_parse_range),
19462 (gst_structure_fixate_field_nearest_fraction):
19463 * gst/gststructure.h:
19464 * gst/gstvalue.c: (gst_value_init_fraction_range),
19465 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
19466 (gst_value_collect_fraction_range),
19467 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
19468 (gst_value_set_fraction_range_full),
19469 (gst_value_get_fraction_range_min),
19470 (gst_value_get_fraction_range_max),
19471 (gst_value_serialize_fraction_range),
19472 (gst_value_transform_fraction_range_string),
19473 (gst_value_compare_fraction_range),
19474 (gst_value_deserialize_fraction_range),
19475 (gst_value_intersect_fraction_fraction_range),
19476 (gst_value_intersect_fraction_range_fraction_range),
19477 (gst_value_subtract_fraction_fraction_range),
19478 (gst_value_subtract_fraction_range_fraction),
19479 (gst_value_subtract_fraction_range_fraction_range),
19480 (gst_value_collect_fraction), (gst_value_fraction_multiply),
19481 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
19482 (gst_value_transform_string_fraction), (_gst_value_initialize):
19484 Implement fraction ranges and extend GstFraction to support
19485 arithmetic subtraction, as well as deserialization from integer
19486 strings such as "100"
19487 Add a testsuite as for int and double range set operations
19489 2005-11-21 Andy Wingo <wingo@pobox.com>
19491 * gst/gsttaglist.h:
19493 * gst/gststructure.h: Add glib-compat.h.
19495 2005-11-21 Wim Taymans <wim@fluendo.com>
19497 * gst/gstbin.c: (gst_bin_change_state_func):
19500 2005-11-21 Wim Taymans <wim@fluendo.com>
19502 * gst/gstsegment.h:
19503 And add a nice define too.
19505 2005-11-21 Wim Taymans <wim@fluendo.com>
19507 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
19508 (gst_segment_new), (gst_segment_free), (gst_segment_init),
19509 (gst_segment_set_duration), (gst_segment_set_last_stop),
19510 (gst_segment_set_seek), (gst_segment_set_newsegment),
19511 (gst_segment_to_stream_time), (gst_segment_to_running_time),
19512 (gst_segment_clip):
19513 * gst/gstsegment.h:
19514 Make binding friendly.
19516 2005-11-21 Andy Wingo <wingo@pobox.com>
19518 * gst/gsttagsetter.h:
19519 * gst/gsttaglist.h:
19520 * gst/gststructure.h:
19522 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
19525 * gst/gsterror.c (_gst_core_errors_init):
19526 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
19529 * gst/Makefile.am (gst_headers): Add glib-compat.h.
19530 (noinst_HEADERS): noinst the -private.
19532 2005-11-21 Michael Smith <msmith@fluendo.com>
19535 * gst/gstregistry.h:
19536 Remove unimplemented declarations for which we can see no sensible
19539 2005-11-21 Andy Wingo <wingo@pobox.com>
19541 * gst/gst.h: Include glib-compat.h.
19543 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
19545 * gst/glib-compat.c: Include the public and the private header.
19547 * gst/glib-compat-private.h: Copied here from glib-compat.h.
19551 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
19553 * check/gst/gstevent.c (create_custom_events): Check that
19554 FLUSH_STOP is serialized.
19556 * check/elements/identity.c (event_func):
19557 * check/elements/fakesrc.c (event_func): No stream lock, the core
19560 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
19561 stream lock taking, yay.
19563 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
19564 ensure that core takes the stream lock.
19566 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
19569 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
19570 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
19571 it already. For the flush start we do take it though so we get the
19572 right preroll state change messages.
19574 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
19575 the stream lock here, the core does it for us.
19577 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
19578 GST_STREAM_GET_LOCK.
19579 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
19580 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
19581 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
19582 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
19583 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
19584 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
19586 * gst/gstpad.c: Update for stream lock name change.
19588 * gst/base/gstbasesink.c: Update for preroll lock name change.
19590 2005-11-21 Wim Taymans <wim@fluendo.com>
19592 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
19593 (gst_clock_get_master):
19595 * gst/gstsystemclock.c: (gst_system_clock_init):
19596 Convert Clock flags to object flags.
19597 Added methods to manage master/slave clocks.
19599 2005-11-21 Wim Taymans <wim@fluendo.com>
19601 * check/gst/gstsegment.c: (GST_START_TEST):
19602 * docs/design/part-TODO.txt:
19603 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19604 (gst_base_sink_event), (gst_base_sink_do_sync),
19605 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
19606 (gst_base_sink_query), (gst_base_sink_change_state):
19607 * gst/base/gstbasesink.h:
19608 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
19609 (gst_base_src_default_newsegment),
19610 (gst_base_src_configure_segment), (gst_base_src_do_seek),
19611 (gst_base_src_get_range), (gst_base_src_loop),
19612 (gst_base_src_change_state):
19613 * gst/base/gstbasesrc.h:
19614 * gst/base/gstbasetransform.c:
19615 (gst_base_transform_prepare_output_buf),
19616 (gst_base_transform_event), (gst_base_transform_change_state):
19617 * gst/base/gstbasetransform.h:
19618 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
19619 (gst_collect_pads_event):
19620 * gst/base/gstcollectpads.h:
19621 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
19622 (gst_fake_src_create):
19623 * gst/elements/gstfakesrc.h:
19624 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19625 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
19626 (gst_segment_set_last_stop), (gst_segment_set_seek),
19627 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
19628 (gst_segment_to_running_time), (gst_segment_clip):
19629 * gst/gstsegment.h:
19630 More segment updates, replace code in plugins with segment
19633 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
19635 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
19636 Don't ignore sscanf results
19638 2005-11-21 Andy Wingo <wingo@pobox.com>
19640 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
19643 * *.c: Ran scripts/update-macros. Oh yes.
19645 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
19646 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
19649 * scripts/update-macros: New script. Run it on your files to
19650 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
19653 2005-11-21 Stefan Kost <ensonic@users.sf.net>
19655 * docs/gst/Makefile.am:
19656 * docs/gst/gstreamer-docs.sgml:
19657 * docs/gst/gstreamer-sections.txt:
19658 * docs/gst/gstreamer.types:
19660 more docs fixes, add new api to the docs
19662 2005-11-21 Andy Wingo <wingo@pobox.com>
19664 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
19665 state_broadcast call.
19667 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
19669 2005-11-21 Julien MOUTTE <julien@moutte.net>
19671 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
19672 function calls for arrays.
19674 2005-11-21 Stefan Kost <ensonic@users.sf.net>
19676 * docs/random/ensonic/media-device-daemon.txt:
19677 wild idea, can this be done?
19678 * docs/gst/gstreamer-sections.txt:
19683 * gst/gstpluginfeature.c:
19687 doc fixes and additions
19689 2005-11-21 Andy Wingo <wingo@pobox.com>
19691 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
19692 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
19693 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
19694 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
19695 private to the basesrc implementation.
19697 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
19698 behalf of event function if necessary. It should no longer be
19699 necessary to take the stream lock in pad's event functions. Fixes
19702 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
19703 * docs/gst/gstreamer-sections.txt:
19704 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
19705 (gst_structure_fixate_field_nearest_double),
19706 (gst_structure_fixate_field_boolean):
19707 * gst/gststructure.h:
19708 * win32/common/libgstreamer.def:
19709 * win32/gstreamer.def:
19711 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
19714 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
19716 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
19717 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
19718 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
19719 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
19720 (gst_fdsrc_uri_handler_init):
19721 * gst/elements/gstfdsrc.h:
19722 Port fd:// URI handler from 0.8 to fdsrc
19724 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
19726 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
19727 (gst_value_serialize_fourcc):
19729 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
19730 consistent with our other format defines (#320324).
19732 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
19734 * gst/gstvalue.c: (gst_value_is_fixed):
19735 Revert previous commit. Value lists are by definition
19736 not fixed, as they are a list of possible values.
19738 2005-11-21 Andy Wingo <wingo@pobox.com>
19740 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
19741 during the stable series if we need it. Fixes #319178.
19743 * gst/gstevent.c (gst_event_new_filler): Removed.
19745 * check/gst/gstevent.c: Update comment about filler events.
19747 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
19749 * gst/gstvalue.c: (gst_value_is_fixed):
19750 Should handle both value arrays and value lists.
19752 2005-11-21 Andy Wingo <wingo@pobox.com>
19754 patch by: Alessandro Dessina <alessandro nnva org>
19756 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
19757 functions to access arrays. Fixes #321962.
19759 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
19761 * docs/gst/gstreamer.types:
19762 gst_collectpads_get_type => gst_collect_pads_get_type.
19764 * gst/base/gstbasetransform.c:
19765 Remove unused SIGNAL_HANDOFF enum.
19767 2005-11-21 Andy Wingo <wingo@pobox.com>
19769 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
19770 the event type (upstream, downstream, serialized). Renamed
19771 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
19772 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
19773 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
19775 * gst/gstevent.c: Update for new CUSTOM event names.
19777 * check/gst/gstevent.c: Update check for new CUSTOM event names.
19780 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
19783 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
19785 * docs/gst/gstreamer-sections.txt:
19786 * win32/common/libgstbase.def:
19787 * win32/libgstbase.def:
19788 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
19789 (gst_collect_pads_class_init), (gst_collect_pads_init),
19790 (gst_collect_pads_finalize), (gst_collect_pads_new),
19791 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
19792 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
19793 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
19794 (gst_collect_pads_start), (gst_collect_pads_stop),
19795 (gst_collect_pads_peek), (gst_collect_pads_pop),
19796 (gst_collect_pads_available), (gst_collect_pads_read),
19797 (gst_collect_pads_flush), (gst_collect_pads_event),
19798 (gst_collect_pads_chain):
19799 * gst/base/gstcollectpads.h:
19800 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
19801 unimplemented functions as unimplemented. Add padding to
19802 GstCollectData. (#320766, #320423)
19804 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
19806 * gst/gstmessage.c:
19807 Improve docs for DURATION message (usage of duration parameter)
19810 2005-11-20 Wim Taymans <wim@fluendo.com>
19812 * check/Makefile.am:
19813 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
19817 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
19818 (gst_segment_set_seek), (gst_segment_set_newsegment),
19819 (gst_segment_to_stream_time), (gst_segment_to_running_time),
19820 (gst_segment_clip):
19821 * gst/gstsegment.h:
19822 Added segment helper structure and methods. Not fully implemented
19824 Added segment check.
19826 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
19828 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19829 Add a deserialisation test for fractions
19830 * examples/metadata/read-metadata.c: (message_loop),
19831 (make_pipeline), (main):
19832 Fix up metadata reading sample.
19833 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19835 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19836 Don't try and fixate empty caps
19837 * gst/gst_private.h:
19838 Wrap in G_BEGIN_DECLS/G_END_DECLS
19839 * gst/gstvalue.c: (gst_value_collect_fraction),
19840 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
19841 (gst_value_transform_string_fraction),
19842 (gst_value_compare_fraction):
19843 Add some extra guards to ensure that we don't end up
19844 with an invalid denominator of 0 in a gstfraction and
19845 that fractions always get reduced.
19847 2005-11-20 Wim Taymans <wim@fluendo.com>
19849 * docs/gst/gstreamer-sections.txt:
19851 * gst/gstelement.c:
19860 2005-11-20 Wim Taymans <wim@fluendo.com>
19862 * docs/design/part-TODO.txt:
19864 Make a proper enum of the flag.
19866 2005-11-19 Wim Taymans <wim@fluendo.com>
19868 * docs/design/part-TODO.txt:
19869 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
19870 (gst_format_to_quark), (gst_format_register):
19872 * gst/gstquery.c: (_gst_query_initialize),
19873 (gst_query_type_get_name), (gst_query_type_to_quark),
19874 (gst_query_type_register):
19876 Add type to quark and type to string conversions.
19878 2005-11-19 Andy Wingo <wingo@pobox.com>
19880 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
19883 2005-11-19 Wim Taymans <wim@fluendo.com>
19885 * docs/design/part-TODO.txt:
19886 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
19887 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
19888 (gst_bin_handle_message_func):
19890 Make message handling overridable.
19892 2005-11-19 Andy Wingo <wingo@pobox.com>
19894 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
19897 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
19899 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
19900 is a GstClockTime. Fixes #321710.
19902 * gst/gstclock.h (GstClock): Remove offset property. Add
19903 internal_calibration and external_calibration. Fix padding. Pad
19904 also by GstClockTime so we don't run into problems.
19906 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
19907 (gst_clock_get_rate_offset): Remove.
19908 (gst_clock_set_time_adjust): Remove. Fixes #321712.
19911 * gst/gstutils.c (g_static_rec_cond_wait)
19912 (g_static_rec_cond_timed_wait): Removed, no longer needed.
19914 * gst/gstbin.c: Remove terrible continue_state prototype.
19916 * gst/gstelement.h (gst_element_continue_state): Make public.
19918 * gst/gstelement.h:
19919 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
19920 by continue_state. Fixes #319389.
19922 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
19923 Really fixes #168438. However I don't see anywhere where the
19924 filter function is called... stupid GStreamer...
19926 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
19927 don't have a dispose function, so it won't get called when the
19928 object is unreffed, but oh well!
19930 * gst/gstindex.c (gst_index_set_filter_full): New API function,
19931 allows a destroy function to be set so user_data can be freed.
19933 (gst_index_set_filter): Call gst_index_set_filter_full.
19935 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
19937 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
19938 string should produce an error, given the lack of a way to
19939 represent NULL strings. Fixes #165650.
19942 * gst/gstvalue.c (gst_value_array_append_value)
19943 (gst_value_array_prepend_value, gst_value_array_get_size)
19944 (gst_value_array_get_value): New API, copied from
19945 gst_value_list_*, only operates on arrays.
19946 (gst_value_list_append_value, gst_value_list_prepend_value)
19947 (gst_value_list_concat, gst_value_list_get_size)
19948 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
19950 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
19951 init_list, because it works on both.
19952 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
19953 (gst_value_copy_list_or_array): Renamed from copy_list.
19954 (gst_value_free_list_or_array): Renamed from free_list.
19955 (gst_value_collect_list_or_array): Renamed from collect_list.
19956 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
19957 (gst_value_list_or_array_peek_pointer): Renamed from
19959 (_gst_value_array_value_table, _gst_value_list_value_table):
19960 Update value table functions.
19961 (gst_value_compare_list_or_array): Renamed from compare_list.
19963 * gsttaglist.h: Whoops, foreach function returns void. Also fix
19966 * gst/gsttaglist.c:
19967 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
19968 GstTagList*. Fixes #143472.
19970 * gst/gststructure.h: Clarify what the foreach/map functions can
19971 or can't do to their arguments.
19973 2005-11-18 Wim Taymans <wim@fluendo.com>
19975 * gst/gstclock.c: (gst_clock_set_calibration),
19976 (gst_clock_get_calibration):
19978 Calibration can be set with internal time equal to current
19981 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
19987 2005-11-18 Andy Wingo <wingo@pobox.com>
19990 * pkgconfig/gstreamer-net.pc.in:
19991 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19992 * pkgconfig/Makefile.am: Add net pkgconfig files.
19994 2005-11-18 Stefan Kost <ensonic@users.sf.net>
19997 * gst/gstghostpad.c:
20003 2005-11-18 Andy Wingo <wingo@pobox.com>
20005 * gst/net/gstnetclientclock.c: Turn off debugging.
20007 * check/net/gstnetclientclock.c (test_functioning): Assert that the
20008 times connverge somewhat. Can't make a real test.
20010 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20011 integer arithmetic. Return the minimum of the domain, which can be
20012 set as "internal" for gst_clock_set_calibration.
20013 (gst_net_client_clock_observe_times): Call _set_calibration.
20014 (gst_net_client_clock_new): Call _set_calibration instead of
20017 * check/net/gstnetclientclock.c (test_functioning): Use the right
20021 * gst/gstclock.c (gst_clock_get_calibration)
20022 (gst_clock_set_calibration): New functions, obsolete the ones I
20023 added yesterday. Doh. Precision issues mean we have to extrapolate
20024 from a point in the more recent past than 1970.
20025 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20027 (gst_clock_adjust_unlocked): Use the right calibration data.
20029 2005-11-18 Edward Hervey <edward@fluendo.com>
20031 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20032 Also reset the ->current_* values in READY->PAUSED
20034 2005-11-18 Andy Wingo <wingo@pobox.com>
20036 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20037 Whoops, check the right fd. Also add some debugging.
20038 (gst_net_client_clock_observe_times): Adjust for int64 offset.
20039 (do_linear_regression): Add a crapload of debugging. Subtract off
20040 the minimum values from the input series to discard unneeded bits.
20041 Use only int arithmetic. There is still double arithmetic when
20042 calculating the intercept that needs fixing. Return boolean to
20043 indicate success; FALSE would mean the domain or range is too
20044 great. Still needs fixes.
20046 2005-11-18 Wim Taymans <wim@fluendo.com>
20048 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20049 For the current position in stream time, we need to subtract
20052 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20053 Release lock before calling the callback function of async
20056 2005-11-18 Andy Wingo <wingo@pobox.com>
20058 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20059 Port goes all the way to MAXUINT16.
20061 * gst/net/gstnettimeprovider.c: Make the port range the same as
20062 for the kernel: 0 assigns, otherwise ports are less than
20065 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20068 * check/net/gstnetclientclock.c (test_functioning): Add the start
20071 2005-11-18 Wim Taymans <wim@fluendo.com>
20073 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20074 (gst_bin_remove_func), (bin_bus_handler):
20076 Removing a clock provider from a bin, triggers a clock lost message
20077 so that a new clock will be selected.
20078 Adding a clock to a bin triggers a clock provider message.
20079 Make sure we reselect a clock when we received a clock lost message.
20080 Keep a reference to the element that provided the clock.
20082 2005-11-18 Andy Wingo <wingo@pobox.com>
20084 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20085 the clock initially so it produces values around the base time.
20086 (gst_net_client_clock_class_init): Typo fix.
20087 (gst_net_client_clock_thread): Add note on when the socket gets
20090 2005-11-17 Wim Taymans <wim@fluendo.com>
20092 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
20093 Free remote and local time arrays.
20095 2005-11-17 Wim Taymans <wim@fluendo.com>
20097 * gst/net/gstnetclientclock.c: (do_linear_regression),
20098 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
20099 Fix compilation, uninitialized vars and a forgotten continue.
20101 2005-11-17 Andy Wingo <wingo@pobox.com>
20103 * check/Makefile.am (check_PROGRAMS):
20104 * check/net/gstnetclientclock.c: Add a most minimal test for the
20105 net client clock. More to come later.
20107 * gst/net/gstnet.h:
20108 * gst/net/Makefile.am: Add netclientclock.
20110 * gst/net/gstnetclientclock.h:
20111 * gst/net/gstnetclientclock.c: New files, implement an untested
20112 GstClock that takes its time from a network time provider.
20113 Implements the algorithm in network-clock.scm.
20115 * tests/network-clock.scm (*window-size*): Rename from
20117 * tests/network-clock.scm (network-time):
20118 * tests/network-clock-utils.scm (q-push): Update callers.
20120 2005-11-17 Wim Taymans <wim@fluendo.com>
20122 * gst/gstbin.c: (gst_bin_provide_clock_func),
20123 (gst_bin_sort_iterator_new):
20124 And unref the child too..
20126 2005-11-17 Wim Taymans <wim@fluendo.com>
20128 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
20129 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
20130 Refactor the sort iterator so it can be used while holding the
20132 Make clock selection select a clock closest to the source.
20134 2005-11-17 Michael Smith <msmith@fluendo.com>
20136 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
20137 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
20139 Anonymous structs are a gcc (and some other compilers) extension, so
20140 don't use them. Since this is only for ABI-compatibility, and our
20141 API/ABI freeze is over in a few days, this whole thing will only
20142 last a few days, so don't bother trying to think up a meaningful
20143 name for the struct.
20145 2005-11-17 Andy Wingo <wingo@pobox.com>
20147 * gst/gstclock.h (GstClock): Add rate and offset properties,
20148 preserving ABI stability. Add rate/offset accessors. Will file bug
20149 for the freeze break.
20151 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
20152 and offset, trying to keep precision and avoiding
20153 underflow/overflow.
20154 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
20155 functions. Make gst_clock_set_time_adjust obsolete.
20156 (gst_clock_set_time_adjust): Note that this function is obsolete.
20157 Will file bug soon.
20159 * gst/base/gstbasetransform.h: Make the ABI-stability hack
20160 greppable by using GST_PADDING-1+1.
20162 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
20164 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
20166 * gst/gstmessage.c: (gst_message_parse_clock_lost):
20167 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
20169 * gst/gstpadtemplate.h:
20170 * gst/gstpluginfeature.h:
20171 Don't use c++ style comments in headers (#321638).
20173 2005-11-16 Andy Wingo <wingo@pobox.com>
20175 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
20178 * check/net/gstnettimeprovider.c: Check to see that the time
20179 provider actually provides times. Works, yo!
20181 2005-11-16 Wim Taymans <wim@fluendo.com>
20183 * check/Makefile.am:
20186 * check/elements/fakesrc.c: (GST_START_TEST):
20187 Set element to NULL before disposing it.
20189 2005-11-16 Andy Wingo <wingo@pobox.com>
20191 * gst/net/Makefile.am:
20192 * gst/net/gstnet.h:
20193 * gst/net/gstnettimeprovider.c:
20194 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
20195 provider, include it from gstnet.h, and add it to the build.
20197 * gst/net/gstnettimepacket.h:
20198 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
20199 sending and receiving.
20201 2005-11-16 Wim Taymans <wim@fluendo.com>
20203 * check/Makefile.am:
20204 Enable valgrind check.
20206 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
20207 (gst_fake_src_alloc_buffer):
20210 2005-11-16 Wim Taymans <wim@fluendo.com>
20212 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
20213 Call parent finalize too.
20215 2005-11-16 Wim Taymans <wim@fluendo.com>
20217 * check/Makefile.am:
20218 Enable valgrind check that should work fine now.
20220 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20221 * gst/gstqueue.c: (gst_queue_init):
20222 Fix memleaks in pad allocation.
20224 2005-11-16 Andy Wingo <wingo@pobox.com>
20226 * gst/net/Makefile.am:
20227 * gst/net/gstnet.h: New part of core to hold network elements and
20228 objects. Put in core because it exposes API that applications want
20229 to use. The library is named libgstnet-tempname right now because
20230 of the existing libgstnet in gst-plugins-base. Solution is
20231 probably to rename the one in plugins-base; will file a bug for
20234 * gst/net/gstnettimeprovider.c:
20235 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
20236 get_time call over the network.
20239 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
20241 * check/Makefile.am:
20242 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
20243 get additions shortly.
20245 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20247 * gst/gstpad.c: (gst_pad_new_from_static_template):
20249 add gst_pad_new_from_static_template functions
20250 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
20251 (gst_check_setup_sink_pad):
20252 * gst/elements/gsttee.c: (gst_tee_init):
20255 2005-11-16 Wim Taymans <wim@fluendo.com>
20257 * gst/gstpad.c: (gst_pad_pause_task):
20258 Removed warning, it's not really an error either.
20260 2005-11-16 Wim Taymans <wim@fluendo.com>
20262 * gst/base/gstbasetransform.c:
20263 (gst_base_transform_prepare_output_buf),
20264 (gst_base_transform_event):
20265 Check if the caps are NULL, this can happen if the element
20266 is shutting down and the pad caps are set to NULL.
20268 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20270 * gst/elements/gsttee.c: (gst_tee_init):
20271 fix pad template leak in tee
20273 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20275 * gst/glib-compat.c: (g_value_dup_gst_object):
20276 * gst/glib-compat.h:
20277 * gst/gstpad.c: (gst_pad_set_property):
20278 use gst_object_ref when setting the pad template; this will
20279 trigger the pad template leaks on GLib 2.6 and the slaves
20281 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20283 * gst/glib-compat.c: (gst_flags_get_first_value):
20284 * gst/glib-compat.h:
20285 * gst/gstregistryxml.c:
20286 remove functions copied from GLib 2.6
20288 2005-11-16 Michael Smith <msmith@fluendo.com>
20291 Don't link against VALGRIND_LIBS. That was always the wrong thing to
20292 do, but only breaks with newer valgrind versions. We're not a
20293 valgrind tool, we have no link-time dependencies on libcoregrind.
20295 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20297 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20299 * gst/gstmessage.h:
20302 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20304 * gst/base/gstbasesrc.c: (gst_base_src_init):
20305 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20306 * gst/gstqueue.c: (gst_queue_init):
20307 * gst/gstregistryxml.c: (load_feature):
20308 Revert all these unrefs, they don't even pass make check !
20310 2005-11-15 Johan Dahlin <johan@gnome.org>
20312 * gst/base/gstbasesrc.c: (gst_base_src_init):
20313 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20314 * gst/gstqueue.c: (gst_queue_init):
20315 Free pad templates, fixes a couple of leaks.
20317 2005-11-15 Daniel Fischer <dan at f3c dot com>
20319 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
20321 * gst/gstpad.c: (gst_pad_get_property):
20322 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
20323 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
20326 2005-11-15 Wim Taymans <wim@fluendo.com>
20331 2005-11-15 Andy Wingo <wingo@pobox.com>
20333 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
20335 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
20336 using GST_CLOCK_TIME_NONE to disable base time management.
20337 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
20338 time if it was NONE before.
20339 (gst_pipeline_change_state): Only munge the base time if
20340 stream_time != GST_CLOCK_TIME_NONE.
20342 * check/gst/gstpipeline.c (test_base_time): Punt around the
20343 problem of the probe not being called, because that's not the
20344 issue I'm looking at. Add a check that setting stream_time to NONE
20345 disables base time management.
20347 2005-11-15 Wim Taymans <wim@fluendo.com>
20349 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20350 segment_stop == -1 at startup.
20352 * gst/base/gstbasetransform.c: (gst_base_transform_event),
20353 (gst_base_transform_change_state):
20354 Init segment values at start.
20356 2005-11-15 Wim Taymans <wim@fluendo.com>
20358 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20359 0 segment values are 0 in any format.
20361 * gst/base/gstbasetransform.c: (gst_base_transform_event):
20362 * gst/base/gstbasetransform.h:
20363 Parse newsegment correctly in basetransform
20365 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20366 Sync to clock using updated segment values.
20368 2005-11-15 Andy Wingo <wingo@pobox.com>
20370 * check/gst/gstpipeline.c (test_base_time): Add check that the
20371 base time and stream time are reset correctly.
20373 2005-11-15 Wim Taymans <wim@fluendo.com>
20375 * docs/design/part-TODO.txt:
20376 Some more TODO items.
20378 2005-11-15 Andy Wingo <wingo@pobox.com>
20380 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
20381 error if the user selected "no clock" as the clocking method.
20383 * check/gst/gstpipeline.c (test_base_time): New test for buffer
20384 timestamps with live capture.
20386 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
20387 is 0 but we are a live source, timestamp the buffers using the
20390 2005-11-14 Stefan Kost <ensonic@users.sf.net>
20392 * docs/gst/gstreamer-sections.txt:
20394 * gst/gstghostpad.c:
20399 2005-11-14 Wim Taymans <wim@fluendo.com>
20402 add suppressions from Wim's Debian machine
20404 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
20407 add suppressions from Andy's AMD64 Ubuntu machine
20409 2005-11-14 Andy Wingo <wingo@pobox.com>
20411 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
20412 STATE_LOCK not necessary. Fixes #311489.
20414 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
20417 * gst/gstindex.c (gst_index_add_object): Note in the docs that
20418 this function is not implemented.
20420 2005-11-14 Julien MOUTTE <julien@moutte.net>
20422 * gst/base/gstbasetransform.c:
20423 (gst_base_transform_prepare_output_buf):
20424 Ref the source pad caps while we need them.
20427 2005-11-11 Wim Taymans <wim@fluendo.com>
20429 * docs/gst/gstreamer-sections.txt:
20430 Added some docs for GstCollectData.
20432 * gst/base/gstadapter.c:
20433 Some small code example fix.
20435 * gst/base/gstcollectpads.c:
20436 * gst/base/gstcollectpads.h:
20437 Document some more.
20439 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
20441 * configure.ac: back to HEAD
20443 === release 0.9.5 ===
20445 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
20448 releasing 0.9.5, "Bike Lunch Day"
20450 2005-11-11 Wim Taymans <wim@fluendo.com>
20452 * gst/gstbuffer.c: (_gst_buffer_copy):
20455 * gst/gstcaps.c: (gst_caps_is_equal):
20457 Make _is_equal fast in the trivial cases.
20459 * gst/gstminiobject.c:
20460 * gst/gstminiobject.h:
20461 More docs. Spifify .h file.
20466 2005-11-11 Wim Taymans <wim@fluendo.com>
20468 * gst/base/gstbasetransform.c:
20469 (gst_base_transform_prepare_output_buf),
20470 (gst_base_transform_handle_buffer):
20472 If we're processing a buffer and need to allocate an output
20473 buffer, we cannot accept a format change. If we did get a
20474 format change, we have to alloc a buffer ourselves of the
20477 2005-11-11 Wim Taymans <wim@fluendo.com>
20479 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
20480 While checking the flag for reentrancy in the gstcaps function
20481 is nice to detect recursive invocations, it also makes it
20482 impossible to call getcaps from multiple threads, which must be
20483 possible. So, checking for recursive calls has to go.
20485 2005-11-11 Michael Smith <msmith@fluendo.com>
20487 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20488 Don't sync on buffers that fall partially outside our current
20489 segment. Prevents an assertion failure/abort playing some files.
20491 2005-11-10 Andy Wingo <wingo@pobox.com>
20493 * check/gst/gstbin.c (test_message_state_changed_children): Style
20496 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
20497 gst_bus_poll with the signal watch. Ensures that poll and a signal
20498 watch see the same messages.
20500 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
20501 a poll and a watch at the same time get the same messages.
20503 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
20505 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
20506 * gst/gstcaps.c: (gst_caps_intersect):
20507 Don't call gst_caps_do_simplify - it doesn't respect order of caps
20508 and it's not needed.
20510 2005-11-10 Wim Taymans <wim@fluendo.com>
20512 * docs/design/part-TODO.txt:
20515 2005-11-10 Wim Taymans <wim@fluendo.com>
20517 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20518 * gst/base/gstbasesrc.c: (gst_base_src_wait),
20519 (gst_base_src_do_sync), (gst_base_src_get_range):
20520 Implement clock sync in base class.
20522 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
20524 patch by: Tim-Philipp Müller <tim at centricular dot net>
20526 * gst/gststructure.c: (gst_structure_parse_field),
20527 (gst_structure_from_string):
20528 Forward-port a 0.8 patch to handle escaped spaces in structure string,
20529 so that gst_parse_launch() can deal with spaces in filtered link
20530 caps (fixes #164479)
20531 * check/gst/capslist.h:
20532 * check/gst/gststructure.c: (GST_START_TEST):
20533 add unit tests for this change
20535 2005-11-10 Wim Taymans <wim@fluendo.com>
20537 * docs/gst/gstreamer-sections.txt:
20538 * gst/gstelement.c:
20539 * gst/gstelement.h:
20540 Fix docs, move some STATE macros to private.
20542 2005-11-10 Wim Taymans <wim@fluendo.com>
20544 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
20545 Added check for bug #317341
20549 Some more spiffifying.
20551 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
20552 Call peer linkfunction if we are a source pad. Totally fixes
20556 Update docs, source pads should call the peer linkfunction
20557 so they can atomically perform the pad link.
20559 2005-11-09 Wim Taymans <wim@fluendo.com>
20563 Uber-spiffy-spiffify some more.
20565 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
20567 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
20568 * gst/elements/gstfilesink.c: (gst_file_sink_init):
20569 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20570 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
20571 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
20572 * gst/gstpad.c: (gst_pad_init):
20573 Use GST_DEBUG_FUNCPTR() more extensively.
20575 2005-11-09 Wim Taymans <wim@fluendo.com>
20577 * gst/gstobject.c: (gst_object_class_init):
20579 Documentation fixes.
20581 2005-11-09 Edward Hervey <edward@fluendo.com>
20583 * gst/gsttypefindfactory.c:
20586 2005-11-09 Edward Hervey <edward@fluendo.com>
20588 * gst/base/gsttypefindhelper.c:
20589 * gst/gsttypefind.c:
20590 * gst/gsttypefind.h:
20593 2005-11-09 Wim Taymans <wim@fluendo.com>
20595 * gst/gstiterator.c:
20602 2005-11-09 Wim Taymans <wim@fluendo.com>
20608 2005-11-09 Wim Taymans <wim@fluendo.com>
20610 * docs/gst/gstreamer-sections.txt:
20611 Moved the message async delivery private lock and cond
20612 to the private section.
20614 * gst/gstmessage.c:
20615 * gst/gstmessage.h:
20618 2005-11-09 Edward Hervey <edward@fluendo.com>
20620 * docs/gst/gstreamer-sections.txt:
20623 Document GstURIHandler
20625 2005-11-09 Wim Taymans <wim@fluendo.com>
20627 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
20628 (gst_iterator_find_custom):
20629 * gst/gstiterator.h:
20632 2005-11-09 Wim Taymans <wim@fluendo.com>
20635 Document another field.
20637 * gst/gststructure.c:
20638 * gst/gststructure.h:
20641 2005-11-09 Wim Taymans <wim@fluendo.com>
20644 Documented structs.
20646 2005-11-09 Wim Taymans <wim@fluendo.com>
20648 * docs/gst/gstreamer-sections.txt:
20649 Added some new macros.
20656 2005-11-09 Wim Taymans <wim@fluendo.com>
20658 * docs/design/part-TODO.txt:
20659 Some more items for the TODO
20665 2005-11-09 Andy Wingo <wingo@pobox.com>
20667 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
20668 to work on something else now tho...
20670 * gst/base/gstadapter.c: More adapter docs.
20672 * gst/elements/gstfilesink.c (gst_file_sink_start)
20673 (gst_file_sink_stop): New functions, replace the state change
20675 (gst_file_sink_class_init): Hook up the start and stop functions.
20676 (gst_file_sink_base_init): Don't set the state change handler any
20677 more. It was a bit ugly too, being set from here...
20678 (gst_file_sink_get_property, gst_file_sink_set_property):
20680 (gst_file_sink_set_location): More robust check that doesn't call
20681 GST_STATE. Ugggggg.
20683 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
20685 * gst/base/gstbasetransform.c: (gst_base_transform_event):
20686 Hold STREAM_LOCK while pushing newsegment or tag events as well.
20688 2005-11-08 Wim Taymans <wim@fluendo.com>
20690 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20691 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
20692 (gst_base_sink_chain), (gst_base_sink_change_state):
20693 * gst/base/gstbasesink.h:
20694 * gst/base/gstbasesrc.h:
20695 * gst/gstelement.h:
20697 Avoid excessive typechecking in macros.
20699 * gst/gstminiobject.c: (gst_mini_object_get_type),
20700 (gst_mini_object_init), (gst_mini_object_new),
20701 (gst_mini_object_free):
20702 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20703 (gst_object_finalize):
20704 Remove cruft code, optimize alloc_trace.
20706 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
20708 * docs/faq/gst-uninstalled:
20709 fix up PS1 for systems that try to reset it
20711 2005-11-07 Wim Taymans <wim@fluendo.com>
20713 * gst/base/gstbasesrc.c: (gst_base_src_init),
20714 (gst_base_src_get_range):
20715 Set the segment_end to -1 initially. Fixed typefind.
20717 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
20719 * gst/base/gstadapter.c:
20720 Debug category should be 'adapter', not 'GstAdapter'.
20722 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
20723 (gst_collectpads_class_init), (gst_collectpads_init),
20724 (gst_collectpads_peek), (gst_collectpads_pop),
20725 (gst_collectpads_event), (gst_collectpads_chain):
20726 Add debug category and some debugging output. Use boilerplate
20727 macros. Remove some extraneous words from docs.
20729 2005-11-05 Andy Wingo <wingo@pobox.com>
20731 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
20734 2005-11-04 Stefan Kost <ensonic@users.sf.net>
20736 * docs/gst/gstreamer-sections.txt:
20739 * gst/gstminiobject.h:
20744 2005-11-04 Wim Taymans <wim@fluendo.com>
20746 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20747 Small update to stop at the configured segment_end
20750 2005-11-04 Stefan Kost <ensonic@users.sf.net>
20752 * gst/gstregistry.c:
20753 * gst/gstregistry.h:
20756 2005-11-04 Edward Hervey <edward@fluendo.com>
20758 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20759 Check if we are doing a segment seek and have arrived at the
20760 end of that segment.
20762 2005-11-04 Wim Taymans <wim@fluendo.com>
20764 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
20765 Don't leak a mutex unlock in case of an error.
20770 2005-11-04 Wim Taymans <wim@fluendo.com>
20772 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
20774 Get the context to wake up only once.
20776 2005-11-03 Wim Taymans <wim@fluendo.com>
20778 * check/states/sinks.c: (GST_START_TEST):
20779 Uncomment fixed check.
20781 * docs/design/part-TODO.txt:
20784 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20785 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
20786 (gst_base_sink_get_position):
20787 If we are going to PLAYING, post the right pending state
20788 when we post the intermediate paused message.
20790 * gst/gstelement.c: (gst_element_continue_state),
20791 (gst_element_set_state_func), (gst_element_change_state):
20792 Don't post state changes that were between the same state
20793 and were not ASYNC.
20795 2005-11-03 Stefan Kost <ensonic@users.sf.net>
20797 * docs/gst/gstreamer-sections.txt:
20800 * gst/gstminiobject.h:
20803 more docs and doc style fixes
20805 2005-11-03 Stefan Kost <ensonic@users.sf.net>
20807 * docs/gst/gstreamer-sections.txt:
20808 * gst/gstelement.c:
20809 * gst/gstminiobject.c:
20812 2005-11-03 Andy Wingo <wingo@pobox.com>
20814 * check/states/sinks.c (test_livesrc_sink): Add checks that the
20815 state-changed messages actually have the right order and the right
20818 2005-11-03 Wim Taymans <wim@fluendo.com>
20820 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
20821 Added some more checks. Specifically the case where NO_PREROLL
20822 elements are in the pipeline.
20824 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20825 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
20826 (gst_base_sink_get_position):
20827 Post READY->PAUSED state change messages too.
20828 Fix bug where VOID was posted as pending state...
20830 * gst/gstbin.c: (gst_bin_recalc_state):
20831 use _element_continue_state() to continue the state change.
20833 * gst/gstelement.c: (gst_element_continue_state),
20834 (gst_element_commit_state), (gst_element_set_state_func),
20835 (gst_element_change_state), (gst_element_change_state_func):
20836 Lots of state change cleanups, assign the STATE_RETURN in
20837 a new continue_state() function that also propagates the
20838 last return value from a state change to the app.
20839 Update some debug statements with proper category.
20841 2005-11-03 Wim Taymans <wim@fluendo.com>
20843 * docs/design/part-events.txt:
20844 * docs/design/part-gstpipeline.txt:
20845 * docs/design/part-messages.txt:
20846 * docs/design/part-overview.txt:
20847 * docs/design/part-seeking.txt:
20848 * docs/design/part-states.txt:
20849 * docs/design/part-trickmodes.txt:
20850 * docs/manual/advanced-position.xml:
20851 Small docs updates.
20854 People think !! is ugly, this looks better.
20856 * gst/gstpad.c: (gst_pad_set_blocked_async):
20857 Remove !! since it's fixed elsewhere now.
20859 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
20861 * gst/gstminiobject.h:
20863 Add !! to _FLAG_IS_SET macros to make the result boolean.
20865 2005-11-03 Edward Hervey <edward@fluendo.com>
20867 * gst/gstpad.c: (gst_pad_set_blocked_async):
20868 comparing a flag and a gboolean rarely returns coherent results...
20869 Added two characters (!!) to make that work correctly.
20871 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
20873 * gst/gstbus.c: (gst_bus_class_init):
20876 * gst/gstqueue.c: (gst_queue_loop):
20877 Don't assume a miniobject that isn't a buffer is an
20878 event (it could be that there is a refcounting
20879 problem somewhere and the pointer is stale and
20880 refers to an already destroyed miniobject).
20882 2005-11-03 Julien MOUTTE <julien@moutte.net>
20884 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
20886 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
20888 * docs/manual/advanced-position.xml:
20889 Update seek example and explanations to current 0.9 API.
20891 * gst/elements/gsttypefindelement.c:
20892 (gst_type_find_element_activate):
20893 Remove FIXME comment now that the found caps
20896 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
20898 * gst/gstregistryxml.c: (load_feature):
20899 Add another GST_STR_NULL instance
20901 2005-11-02 Edward Hervey <edward@fluendo.com>
20903 * gst/gstpad.c: (handle_pad_block):
20904 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
20906 2005-11-02 Wim Taymans <wim@fluendo.com>
20911 * gst/gstelement.c: (gst_element_commit_state):
20912 Remove unused value.
20914 * gst/gstiterator.c:
20915 Mention that the returned element is reffed in the docs.
20917 2005-11-02 Wim Taymans <wim@fluendo.com>
20919 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
20920 (gst_pad_push), (gst_pad_push_event):
20921 Unlock blocked pads when they are flushed.
20923 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
20926 * docs/gst/gstreamer-sections.txt:
20929 * gst/gstregistry.c: (gst_registry_scan_path_level):
20930 fix for a nasty little missed situation where an installed plug-in
20931 which was in the cache did not get overridden by an uninstalled one
20932 which was earlier in the plugin path because the newly created plugin
20933 for the uninstalled one (not in the registry) didn't get its
20934 ->registered set to TRUE
20936 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
20938 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
20939 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
20940 (gst_collectpads_is_active), (gst_collectpads_collect),
20941 (gst_collectpads_collect_range), (gst_collectpads_start),
20942 (gst_collectpads_stop), (gst_collectpads_peek),
20943 (gst_collectpads_pop), (gst_collectpads_available),
20944 (gst_collectpads_read), (gst_collectpads_flush):
20945 Guard public API with assertions.
20948 Fix docs for gst_pad_set_link_function().
20950 2005-11-02 Johan Dahlin <johan@gnome.org>
20952 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
20953 Unref found_caps after we used it.
20955 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
20957 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
20958 Don't try to ref NULL.
20960 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
20962 * win32/common/config.h.in:
20963 provide a GST_FUNCTION that just gives a string for now
20965 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
20967 * win32/common/gstenumtypes.c: (register_gst_object_flags),
20968 (gst_object_flags_get_type), (register_gst_bin_flags),
20969 (gst_bin_flags_get_type), (register_gst_buffer_flag),
20970 (gst_buffer_flag_get_type), (register_gst_bus_flags),
20971 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
20972 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
20973 (gst_clock_return_get_type), (register_gst_clock_entry_type),
20974 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
20975 (gst_clock_flags_get_type), (register_gst_state),
20976 (gst_state_get_type), (register_gst_state_change_return),
20977 (gst_state_change_return_get_type), (register_gst_state_change),
20978 (gst_state_change_get_type), (register_gst_element_flags),
20979 (gst_element_flags_get_type), (register_gst_core_error),
20980 (gst_core_error_get_type), (register_gst_library_error),
20981 (gst_library_error_get_type), (register_gst_resource_error),
20982 (gst_resource_error_get_type), (register_gst_stream_error),
20983 (gst_stream_error_get_type), (register_gst_event_type),
20984 (gst_event_type_get_type), (register_gst_seek_type),
20985 (gst_seek_type_get_type), (register_gst_seek_flags),
20986 (gst_seek_flags_get_type), (register_gst_format),
20987 (gst_format_get_type), (register_gst_index_certainty),
20988 (gst_index_certainty_get_type), (register_gst_index_entry_type),
20989 (gst_index_entry_type_get_type),
20990 (register_gst_index_lookup_method),
20991 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
20992 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
20993 (gst_index_resolver_method_get_type), (register_gst_index_flags),
20994 (gst_index_flags_get_type), (register_gst_debug_level),
20995 (gst_debug_level_get_type), (register_gst_debug_color_flags),
20996 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
20997 (gst_iterator_result_get_type), (register_gst_iterator_item),
20998 (gst_iterator_item_get_type), (register_gst_message_type),
20999 (gst_message_type_get_type), (register_gst_mini_object_flags),
21000 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21001 (gst_pad_link_return_get_type), (register_gst_flow_return),
21002 (gst_flow_return_get_type), (register_gst_activate_mode),
21003 (gst_activate_mode_get_type), (register_gst_pad_direction),
21004 (gst_pad_direction_get_type), (register_gst_pad_flags),
21005 (gst_pad_flags_get_type), (register_gst_pad_presence),
21006 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21007 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21008 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21009 (gst_plugin_error_get_type), (register_gst_plugin_flags),
21010 (gst_plugin_flags_get_type), (register_gst_rank),
21011 (gst_rank_get_type), (register_gst_query_type),
21012 (gst_query_type_get_type), (register_gst_tag_merge_mode),
21013 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21014 (gst_tag_flag_get_type), (register_gst_task_state),
21015 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21016 (gst_alloc_trace_flags_get_type),
21017 (register_gst_type_find_probability),
21018 (gst_type_find_probability_get_type), (register_gst_uri_type),
21019 (gst_uri_type_get_type), (register_gst_parse_error),
21020 (gst_parse_error_get_type):
21021 * win32/common/gstversion.h:
21022 update win32 copies
21024 2005-11-01 Luca Ognibene <luogni@tin.it>
21027 fix docs. popt is dead, long live GOption.
21029 2005-10-31 Wim Taymans <wim@fluendo.com>
21034 2005-10-31 Andy Wingo <wingo@pobox.com>
21038 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21040 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21041 need to serialize property notifications on GLib 2.8. GLib 2.6 has
21042 the possibility of deadlocks here if code calling notify() or
21043 set() has a lock that can be taken in another notify handler (ABBA
21044 with class lock and e.g. python GIL state lock).
21046 2005-10-28 Julien MOUTTE <julien@moutte.net>
21048 * gst/gstbus.c: Doc updates.
21050 2005-10-28 Wim Taymans <wim@fluendo.com>
21052 * docs/design/part-TODO.txt:
21053 * gst/gstiterator.c:
21054 * gst/gstsystemclock.c:
21055 * gst/gstsystemclock.h:
21058 2005-10-28 Edward Hervey <edward@fluendo.com>
21060 * docs/gst/gstreamer-docs.sgml:
21061 * docs/gst/gstreamer-sections.txt:
21062 the GstURIType documentation page is private, it only defines GstURIType
21063 which should be defined in the GstURIHandler page
21065 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
21067 * gst/gstbin.c: (gst_bin_class_init):
21070 Documentation updates.
21072 2005-10-28 Wim Taymans <wim@fluendo.com>
21074 * docs/gst/gstreamer-sections.txt:
21077 Documented the clocks.
21079 2005-10-28 Stefan Kost <ensonic@users.sf.net>
21081 * docs/gst/gstreamer-sections.txt:
21082 move some macros to private sections
21083 * gst/gstminiobject.c:
21084 * gst/gstminiobject.h:
21085 add descriptions provided by ds and some more
21087 mark macro as to be removed
21089 2005-10-28 Wim Taymans <wim@fluendo.com>
21091 * docs/design/part-TODO.txt:
21092 Add an item to TODO.
21094 * gst/gstiterator.c: (gst_iterator_fold),
21095 (gst_iterator_find_custom):
21096 * gst/gstiterator.h:
21099 2005-10-28 Wim Taymans <wim@fluendo.com>
21101 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21102 (gst_base_transform_init):
21105 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
21106 An EOS event marks the queue as completely filled.
21108 2005-10-27 Wim Taymans <wim@fluendo.com>
21110 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21111 (gst_base_sink_do_sync), (gst_base_sink_get_position):
21112 Some more debugging.
21114 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
21115 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
21116 (gst_base_transform_event), (gst_base_transform_getrange),
21117 (gst_base_transform_chain):
21118 * gst/base/gstbasetransform.h:
21120 Protect transform and concurrent buffer alloc with a new lock.
21121 Try not to break ABI/API.
21123 2005-10-27 Wim Taymans <wim@fluendo.com>
21125 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21126 (gst_base_src_init), (gst_base_src_query),
21127 (gst_base_src_default_newsegment),
21128 (gst_base_src_configure_segment), (gst_base_src_do_seek),
21129 (gst_base_src_send_event), (gst_base_src_event_handler),
21130 (gst_base_src_pad_get_range), (gst_base_src_loop),
21131 (gst_base_src_unlock), (gst_base_src_default_negotiate),
21132 (gst_base_src_start), (gst_base_src_deactivate),
21133 (gst_base_src_activate_push), (gst_base_src_change_state):
21134 Move some stuff around and cleanup things.
21136 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
21138 * gst/base/gstbasesrc.c: (gst_base_src_query):
21139 Add missing break statements.
21141 2005-10-27 Wim Taymans <wim@fluendo.com>
21143 * check/gst/gstbin.c: (GST_START_TEST):
21144 An extra refcount is taken in basesrc.
21146 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
21147 (gst_base_src_get_range), (gst_base_src_pad_get_range),
21148 (gst_base_src_loop):
21149 Small cleanups, check for flushing after being unlocked from the
21150 LIVE_LOCK. take refcounts correctly (not yet everywhere).
21151 Don't send out EOS when going to READY.
21153 2005-10-27 Wim Taymans <wim@fluendo.com>
21155 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21156 (gst_base_sink_get_position):
21159 * gst/gstbin.c: (message_check), (bin_replace_message),
21160 (bin_remove_messages), (is_eos), (gst_bin_add_func),
21161 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21162 (bin_query_duration_init), (bin_query_duration_fold),
21163 (bin_query_duration_done), (bin_query_generic_fold),
21165 * tools/gst-launch.c: (main):
21168 2005-10-26 Stefan Kost <ensonic@users.sf.net>
21170 * examples/controller/audio-example.c: (main):
21171 * examples/queue/queue.c: (event_loop):
21172 * gst/base/gstbasetransform.h:
21173 * gst/gstelement.c: (gst_element_send_event):
21175 * gst/gstpad.c: (gst_pad_send_event):
21178 changing log priority in error situations
21180 2005-10-25 Wim Taymans <wim@fluendo.com>
21182 * gst/gstbin.c: (message_check), (bin_replace_message),
21183 (bin_remove_messages), (is_eos), (gst_bin_add_func),
21184 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21185 (bin_query_duration_init), (bin_query_duration_fold),
21186 (bin_query_duration_done), (bin_query_generic_fold),
21188 Some doc and debug updates.
21189 Cache previously requested query DURATION for speed. invalidate
21190 cached duration if element posts a DURATION message.
21192 2005-10-25 Wim Taymans <wim@fluendo.com>
21194 * docs/design/part-TODO.txt:
21197 * gst/gstbin.c: (message_check), (bin_replace_message),
21198 (bin_remove_messages), (is_eos), (gst_bin_add_func),
21199 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21200 (bin_query_duration_init), (bin_query_duration_fold),
21201 (bin_query_duration_done), (bin_query_generic_fold),
21203 Handle SEGMENT_START/DONE messages correctly.
21204 More evolved query algorithm that handles duration queries
21207 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
21208 (gst_element_get_state_func), (gst_element_abort_state),
21209 (gst_element_commit_state), (gst_element_lost_state):
21210 Some more debugging.
21212 * gst/gstmessage.h:
21215 2005-10-25 Wim Taymans <wim@fluendo.com>
21217 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21218 Don't use invalid stream_time.
21220 * gst/gstevent.c: (gst_event_new_newsegment):
21221 stream_time in newsegment cannot be undefined.
21223 2005-10-24 Wim Taymans <wim@fluendo.com>
21228 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21230 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
21232 2005-10-24 Stefan Kost <ensonic@users.sf.net>
21234 * docs/libs/tmpl/gstdparam.sgml:
21235 * docs/libs/tmpl/gstdplinint.sgml:
21236 * docs/libs/tmpl/gstdpman.sgml:
21237 * docs/libs/tmpl/gstdpsmooth.sgml:
21238 * docs/libs/tmpl/gstunitconvert.sgml:
21241 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
21246 === release 0.9.4 ===
21248 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
21251 releasing 0.9.4, "Tyrannosaurus Rex"
21253 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
21255 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21256 (gst_file_sink_get_current_offset):
21257 Use fseeko() and ftello() if available. When falling back on
21258 lseek() to get the current offset, fflush() first to make sure
21259 everything is up-to-date and we get the right offset.
21261 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
21263 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21264 * gst/base/gstbasesrc.c: (gst_base_src_loop):
21265 * gst/gsterror.c: (_gst_stream_errors_init):
21267 * gst/gstqueue.c: (gst_queue_loop):
21269 remove prematurely added error category and clean up the instances
21271 2005-10-21 Wim Taymans <wim@fluendo.com>
21273 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21274 (gst_base_sink_get_position), (gst_base_sink_query),
21275 (gst_base_sink_change_state):
21276 Simply set the right flag when going to playing, that's all
21277 we need to do instead of calling a function inside the object
21278 lock (that could take the lock as well and deadlock)
21280 2005-10-21 Wim Taymans <wim@fluendo.com>
21282 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
21283 (gst_base_src_loop):
21284 Don't warn, the peer element knows what to do best when
21285 the seek failed, it might try something else.
21287 2005-10-21 Wim Taymans <wim@fluendo.com>
21289 * gst/base/gstbasesrc.c: (gst_base_src_init),
21290 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21293 2005-10-21 Wim Taymans <wim@fluendo.com>
21295 * docs/design/part-segments.txt:
21298 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
21299 Correctly set caps, even on the subbufer.
21301 2005-10-21 Wim Taymans <wim@fluendo.com>
21303 * docs/gst/gstreamer-docs.sgml:
21304 * docs/gst/gstreamer-sections.txt:
21305 * gst/gstelement.h:
21308 * gst/gstmessage.h:
21311 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
21315 And 2% more doc coverage.
21317 2005-10-21 Andy Wingo <wingo@pobox.com>
21319 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
21320 position reporting.
21322 2005-10-20 Wim Taymans <wim@fluendo.com>
21324 * gst/gsterror.c: (gst_error_get_message):
21327 * gst/gststructure.c:
21332 2005-10-20 Wim Taymans <wim@fluendo.com>
21337 Another 1% more coverage.
21339 2005-10-20 Wim Taymans <wim@fluendo.com>
21341 * docs/gst/gstreamer-sections.txt:
21342 * gst/gstelement.c: (gst_element_get_state_func),
21343 (gst_element_abort_state), (gst_element_commit_state),
21344 (gst_element_lost_state):
21346 * gst/gstquery.c: (gst_query_set_position),
21347 (gst_query_parse_position), (gst_query_set_duration),
21348 (gst_query_parse_duration), (gst_query_new_convert):
21350 Yay! 1% more docs coverage.
21352 2005-10-20 Wim Taymans <wim@fluendo.com>
21355 * gst/gstquery.c: (gst_query_set_position),
21356 (gst_query_parse_position), (gst_query_set_duration),
21357 (gst_query_parse_duration), (gst_query_new_convert):
21359 * gst/gstutils.c: (gst_element_query_convert):
21361 Docs and consistency fixes.
21363 2005-10-20 Wim Taymans <wim@fluendo.com>
21369 2005-10-20 Wim Taymans <wim@fluendo.com>
21371 * gst/gstbin.c: (message_check), (bin_replace_message),
21372 (bin_remove_messages), (is_eos), (gst_bin_add_func),
21373 (update_degree), (gst_bin_sort_iterator_next),
21374 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
21375 Reworked the message handling a bit, cache the messages instead of
21376 only the senders. alows us to do more in the future.
21378 2005-10-20 Wim Taymans <wim@fluendo.com>
21380 * docs/design/part-TODO.txt:
21383 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
21384 (gst_base_sink_query):
21385 Don't use clock time to report position when in EOS.
21387 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
21389 * tools/gst-inspect.c: (print_interfaces),
21390 (print_element_properties_info), (print_element_info):
21391 Fix interface output with gst-inspect -a; don't print
21392 newlines after double/float properties.
21394 2005-10-20 Wim Taymans <wim@fluendo.com>
21396 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
21397 (gst_base_sink_query):
21398 Speed up current position calculation.
21400 * gst/base/gstbasesrc.c: (gst_base_src_query),
21401 (gst_base_src_default_newsegment):
21402 Correctly set stream position in newsegment.
21404 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
21405 (update_degree), (gst_bin_sort_iterator_next),
21406 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
21407 * gst/gstmessage.c: (gst_message_new_custom):
21408 Clean up debugging info
21410 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21411 (gst_queue_loop), (gst_queue_handle_src_query):
21414 2005-10-19 Wim Taymans <wim@fluendo.com>
21416 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21417 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
21418 Fix query handling again.
21420 2005-10-19 Wim Taymans <wim@fluendo.com>
21422 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21423 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
21424 * gst/base/gstbasesrc.c: (gst_base_src_query):
21425 * gst/elements/gstfilesink.c: (gst_file_sink_query):
21426 * gst/elements/gsttypefindelement.c:
21427 (gst_type_find_handle_src_query), (find_element_get_length),
21428 (gst_type_find_element_activate):
21431 * gst/gstquery.c: (gst_query_new_position),
21432 (gst_query_set_position), (gst_query_parse_position),
21433 (gst_query_new_duration), (gst_query_set_duration),
21434 (gst_query_parse_duration), (gst_query_set_segment),
21435 (gst_query_parse_segment):
21437 Bundling query position/duration is not a good idea since duration
21438 does not change much and we don't want to recalculate it for every
21439 position query, so they are separated again..
21440 Base value in segment query is not needed.
21442 * gst/gstqueue.c: (gst_queue_handle_src_query):
21443 * gst/gstutils.c: (gst_element_query_position),
21444 (gst_element_query_duration), (gst_pad_query_position),
21445 (gst_pad_query_duration):
21447 Updates for query API change.
21448 Added some docs here and there.
21450 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
21452 * check/gst/gstbin.c: (GST_START_TEST):
21453 * check/gst/gstghostpad.c: (GST_START_TEST):
21454 * check/pipelines/cleanup.c: (GST_START_TEST):
21455 wait on thread to die so we can check refcount correctly
21457 2005-10-18 Wim Taymans <wim@fluendo.com>
21459 * check/pipelines/stress.c: (GST_START_TEST):
21460 Make check a little more time consuming.
21462 2005-10-18 Wim Taymans <wim@fluendo.com>
21464 * check/Makefile.am:
21465 * check/pipelines/stress.c: (GST_START_TEST),
21466 (simple_launch_lines_suite), (main):
21467 Small state change torture test.
21469 * docs/design/part-states.txt:
21470 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21471 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
21472 (gst_base_sink_change_state):
21473 Never take state lock from streaming thread, clean up ugly
21474 hacks. Unfortunatly core does not yet support nice ways to
21475 async commit state.
21477 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
21479 Start state recalc if a STATE_DIRTY message is posted, but only
21480 on the toplevel bin.
21482 * gst/gstelement.c: (gst_element_sync_state_with_parent),
21483 (gst_element_get_state_func), (gst_element_abort_state),
21484 (gst_element_commit_state), (gst_element_lost_state),
21485 (gst_element_set_state_func), (gst_element_change_state):
21486 * gst/gstelement.h:
21487 State variables are now protected with the LOCK, the state
21488 lock is only used to serialize _set_state().
21490 2005-10-18 Wim Taymans <wim@fluendo.com>
21492 * check/gst/gstbin.c: (GST_START_TEST):
21493 * check/gst/gstmessage.c: (GST_START_TEST):
21494 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21495 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
21497 * gst/gstelement.c: (gst_element_abort_state),
21498 (gst_element_commit_state), (gst_element_lost_state):
21499 * gst/gstmessage.c: (gst_message_new_state_changed),
21500 (gst_message_new_state_dirty), (gst_message_new_segment_start),
21501 (gst_message_new_segment_done), (gst_message_new_duration),
21502 (gst_message_parse_state_changed),
21503 (gst_message_parse_segment_start),
21504 (gst_message_parse_segment_done), (gst_message_parse_duration):
21505 * gst/gstmessage.h:
21506 * tools/gst-launch.c: (event_loop):
21507 Seriously, this is better than a previous commit as we only need
21508 to notify the fact that an element changed state in a streaming
21509 thread, marking the state of the parents dirty, hence the
21510 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
21513 2005-10-18 Wim Taymans <wim@fluendo.com>
21515 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
21516 (gst_bin_recalc_func):
21517 * gst/gstelement.c: (gst_element_set_clock),
21518 (gst_element_abort_state), (gst_element_lost_state):
21519 Cleanups, prepare for state change fixes.
21521 2005-10-18 Wim Taymans <wim@fluendo.com>
21524 * gst/gstelement.c: (gst_element_class_init),
21525 (gst_element_set_state), (gst_element_set_state_func):
21526 * gst/gstelement.h:
21527 Pending ABI changes.
21528 GThreadPool in GstBinClass to monitor async state changes.
21529 state_cookie in GstElement to detect concurrent gst/set state.
21530 set_state is now virtual too in case a very complicated element
21531 has to be constructed.
21533 2005-10-18 Wim Taymans <wim@fluendo.com>
21535 * check/gst/gstbin.c: (GST_START_TEST):
21536 * check/gst/gstmessage.c: (GST_START_TEST):
21537 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21538 * gst/gstbin.c: (bin_bus_handler):
21539 * gst/gstelement.c: (gst_element_commit_state),
21540 (gst_element_lost_state):
21541 * gst/gstmessage.c: (gst_message_new_state_changed),
21542 (gst_message_new_segment_start), (gst_message_new_segment_done),
21543 (gst_message_new_duration), (gst_message_parse_state_changed),
21544 (gst_message_parse_segment_start),
21545 (gst_message_parse_segment_done), (gst_message_parse_duration):
21546 * gst/gstmessage.h:
21547 * tools/gst-launch.c: (event_loop):
21548 Make messages future proof.
21549 state-change gets a flag if it was a message comming from the
21551 segment-start/stop can also be specified in other formats.
21552 A message to notify an app that a pipeline changed playback
21554 Also fix a GstMessage leak in -launch
21556 2005-10-18 Andy Wingo <wingo@pobox.com>
21558 * gst/gstelement.c (gst_element_dispose): More helpful message.
21560 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
21562 reviewed by: <delete if not using a buddy>
21564 * common/gtk-doc.mak:
21566 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
21568 * gst/gstregistry.c: (gst_registry_scan_path_level):
21569 unref a plug-in we get that was already initialized
21571 2005-10-18 Stefan Kost <ensonic@users.sf.net>
21573 * docs/gst/gstreamer-sections.txt:
21574 * docs/libs/gstreamer-libs-sections.txt:
21575 * gst/gstelement.h:
21576 add new api entries
21577 hide internal macro
21579 2005-10-17 Andy Wingo <wingo@pobox.com>
21581 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
21584 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
21586 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
21588 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
21589 (gst_element_get_state_func): Better debug message.
21590 (gst_element_commit_state): s/INFO/DEBUG/.
21591 (gst_element_lost_state, gst_element_change_state):
21593 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
21594 (gst_message_new_custom): s/INFO/LOG/.
21596 2005-10-17 Michael Smith <msmith@fluendo.com>
21598 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21599 Check if end time is valid using end time, not start time.
21601 2005-10-17 Stefan Kost <ensonic@users.sf.net>
21603 * check/gst-libs/controller.c: (GST_START_TEST),
21604 (gst_controller_suite):
21605 * libs/gst/controller/gstcontroller.c:
21606 (gst_controlled_property_set_interpolation_mode):
21607 * libs/gst/controller/gstcontroller.h:
21608 * libs/gst/controller/gstinterpolation.c:
21609 * testsuite/controller/.cvsignore:
21610 * testsuite/controller/Makefile.am:
21611 * testsuite/controller/interpolator.c:
21612 merge controller testsuites
21614 remove mem-chunk from docs
21616 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
21618 * gst/gstmemchunk.c:
21619 * gst/gstmemchunk.h:
21620 * gst/gsttrashstack.c:
21621 * gst/gsttrashstack.h:
21622 out. get out. you're fired. to the Attic !
21624 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
21626 * gst/gstcaps.c: (gst_caps_intersect):
21627 fix signedness issues in a (hopefully) correct way
21628 * gst/gstelement.c: (gst_element_pads_activate):
21630 * gst/gstobject.c: (gst_object_set_parent):
21633 2005-10-17 Julien MOUTTE <julien@moutte.net>
21635 * gst/gstvalue.h: Fix prototypes.
21637 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
21639 * docs/gst/gstreamer-sections.txt:
21640 * gst/gst.c: (gst_version_string):
21642 * gst/gstversion.h.in:
21643 * win32/common/libgstreamer.def:
21644 add gst_version_string ()
21646 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
21650 * gst/gst.c: (init_post):
21651 * win32/common/config.h.in:
21653 * gst/gstcaps.c: (gst_caps_intersect):
21654 use gint64, the range could be bigger than a guint
21656 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
21659 document potential problem in 2038
21661 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
21663 * gst/gstcaps.c: (gst_caps_intersect):
21664 Fix guint j diving under 0
21666 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
21669 * win32/common/config.h:
21670 * win32/common/config.h.in:
21671 check for process.h, declares getpid() on Windows
21673 include process.h if we have it
21674 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
21675 * gst/gstmemchunk.h:
21676 fix signedness issues
21677 * win32/common/libgstreamer.def:
21680 2005-10-16 Julien MOUTTE <julien@moutte.net>
21682 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
21683 fix. Because of unsigned ints, caps intersection was going nuts and
21684 trying to access structures with G_MAXUINT index. That fixes
21685 videotestsrc ! ffmpegcolorspace ! fakesink
21686 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
21689 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
21692 use the gettext macro
21693 * gst/elements/gstelements.c:
21695 * gst/indexers/gstindexers.c:
21696 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
21697 * win32/common/config.h:
21699 * win32/common/config.h.in:
21700 add the template to generate config.h
21701 * win32/common/gstenumtypes.c:
21702 * win32/common/gstversion.h:
21705 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
21707 * gst/gst.c: (gst_version):
21708 * gst/gstversion.h.in:
21711 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
21714 Oops, add missing closing bracket.
21716 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
21719 use common m4's for argument checking
21721 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
21723 * docs/gst/gstreamer-sections.txt:
21725 Add GST_EVENT_TYPE_NAME() macro.
21727 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
21730 * gst/gstpluginfeature.c:
21732 privatize more symbols
21734 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
21737 add srcdir, builddir includes to GST_ALL_CFLAGS, since
21738 everything that uses GStreamer API should have the includes
21740 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
21742 * docs/gst/gstreamer-sections.txt:
21743 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
21745 give each value a _get_type, removes the DATA exports
21747 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
21751 remove _gst_registry_auto_load, not used anymore
21752 * gst/gstbin.c: (gst_bin_get_type):
21754 * gst/gstelement.c: (gst_element_get_type):
21755 * gst/gstelement.h:
21756 * gst/gstobject.c: (gst_object_get_type):
21758 * gst/gstpad.c: (gst_pad_get_type):
21760 make _get_type functions similar, fixes data export from library
21762 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
21765 correctly make conditionals
21766 * gst/elements/Makefile.am:
21767 * gst/elements/gstelements.c:
21768 fix typo causing fdsrc not to build
21770 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
21772 * testsuite/Makefile.am:
21773 * testsuite/bytestream/.cvsignore:
21774 * testsuite/bytestream/Makefile.am:
21775 * testsuite/bytestream/filepadsink.c:
21776 * testsuite/bytestream/gstbstest.c:
21777 * testsuite/bytestream/test1.c:
21778 * testsuite/bytestream/testfile1:
21779 * testsuite/caps/normalisation.c:
21780 * testsuite/caps/random.c: (main):
21781 * testsuite/cleanup/.cvsignore:
21782 * testsuite/cleanup/Makefile.am:
21783 * testsuite/cleanup/cleanup1.c:
21784 * testsuite/cleanup/cleanup2.c:
21785 * testsuite/cleanup/cleanup3.c:
21786 * testsuite/cleanup/cleanup4.c:
21787 * testsuite/cleanup/cleanup5.c:
21788 * testsuite/controller/interpolator.c:
21789 * testsuite/debug/printf_extension.c: (main):
21790 * testsuite/elements/tee.c:
21791 * testsuite/negotiation/.cvsignore:
21792 * testsuite/negotiation/Makefile.am:
21793 * testsuite/negotiation/pad_link.c:
21794 * testsuite/pad/Makefile.am:
21795 * testsuite/pad/chainnopull.c:
21796 * testsuite/pad/getnopush.c:
21797 * testsuite/pad/link.c:
21798 * testsuite/refcounting/sched.c: (create_pipeline):
21799 * testsuite/registry/Makefile.am:
21800 * testsuite/registry/gst-print-formats.c:
21801 * testsuite/schedulers/.cvsignore:
21802 * testsuite/schedulers/142183-2.c:
21803 * testsuite/schedulers/142183.c:
21804 * testsuite/schedulers/143777-2.c:
21805 * testsuite/schedulers/143777.c:
21806 * testsuite/schedulers/147713.c:
21807 * testsuite/schedulers/147819.c:
21808 * testsuite/schedulers/147894-2.c:
21809 * testsuite/schedulers/147894.c:
21810 * testsuite/schedulers/Makefile.am:
21811 * testsuite/schedulers/group_link.c:
21812 * testsuite/schedulers/queue_link.c:
21813 * testsuite/schedulers/relink.c:
21814 * testsuite/schedulers/unlink.c:
21815 * testsuite/schedulers/unref.c:
21816 * testsuite/schedulers/useless_iteration.c:
21817 * testsuite/states/bin.c:
21818 clean out/remove some stuff from the testsuite directories
21820 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
21823 check for some headers
21824 * gst/elements/Makefile.am:
21825 * gst/elements/gstelements.c:
21826 don't compile fdsrc without sys/socket.h
21827 * gst/indexers/Makefile.am:
21828 * gst/indexers/gstindexers.c: (plugin_init):
21829 don't compile fileindex without mmap
21831 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
21838 * check/Makefile.am:
21839 * docs/gst/Makefile.am:
21840 * examples/helloworld/Makefile.am:
21842 * gst/base/Makefile.am:
21843 * gst/check/Makefile.am:
21844 * gst/elements/Makefile.am:
21845 * gst/indexers/Makefile.am:
21846 * gst/parse/Makefile.am:
21847 * libs/gst/controller/Makefile.am:
21848 * libs/gst/dataprotocol/Makefile.am:
21849 * examples/helloworld/helloworld.c: (event_loop):
21850 compile fixes, though it's not being compiled currently
21852 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
21854 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
21855 Add some simple tests for the new taglist date API.
21857 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
21859 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
21860 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
21861 Beautify 'last-message' output: print 'none' for buffer timestamps
21862 and durations if none is set; improve alignment with next messages.
21864 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
21866 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
21867 * gst/gstpluginfeature.h:
21868 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
21869 * gst/gstregistry.h:
21870 * docs/gst/gstreamer-sections.txt:
21871 Add new API to check plugin feature version requirements.
21873 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
21874 Some basic tests for the above.
21876 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
21878 * gst/gststructure.c: (gst_structure_to_string):
21879 guard against NULL printf - happens when for example
21880 a message structure with GstClock gets serialized
21882 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
21884 * gst/base/gstcollectpads.c: (gst_collectpads_event):
21885 Fix presumable copy'n'pasto.
21887 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
21889 * gst/elements/gstfakesrc.h:
21890 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
21891 * gst/elements/gsttypefindelement.c:
21892 fix some signedness
21893 * gst/elements/gstfilesink.c: (gst_file_sink_render):
21894 I wonder if this could actually write +2GB files before
21896 2005-10-13 Andy Wingo <wingo@pobox.com>
21898 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
21899 Fix Timmeke Waymans bug.
21900 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
21901 string of the proper length to gst_caps_from_string. There's a
21902 potential for, before this fix, that this could cause someone
21903 connecting over the network to cause a segfault if the payload is
21904 not NUL-terminated.
21906 2005-10-13 Stefan Kost <ensonic@users.sf.net>
21908 * docs/design/draft-push-pull.txt:
21909 * docs/design/part-overview.txt:
21910 * docs/random/TODO-pre-0.9:
21911 * docs/random/old/ChangeLog.gstreamer:
21912 * gst/base/gstpushsrc.c:
21916 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
21918 * gst/glib-compat.c: (gst_flags_get_first_value):
21919 * gst/glib-compat.h:
21920 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
21921 (gst_value_compare_double), (gst_value_serialize_flags):
21922 GLib 2.6 g_flags_get_first_value has a bug that triggers an
21925 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
21927 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21928 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21930 * tools/gst-launch.c: (event_loop):
21931 print out clock nicely
21933 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
21935 * docs/gst/gstreamer-sections.txt:
21936 * gst/gsttaglist.h:
21937 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
21938 (gst_tag_list_get_date_index):
21939 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
21940 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
21942 2005-10-13 Julien MOUTTE <julien@moutte.net>
21944 * gst/base/gstcollectpads.c: (gst_collectpads_event),
21945 (gst_collectpads_chain):
21946 * gst/base/gstcollectpads.h: Handle newsegment and store informations
21949 2005-10-13 Stefan Kost <ensonic@users.sf.net>
21951 * docs/gst/gstreamer-sections.txt:
21954 * tools/gst-inspect.c: (main):
21955 * tools/gst-launch.c: (main):
21956 * tools/gst-run.c: (main):
21957 * tools/gst-xmlinspect.c: (main):
21958 fix GOption context leaks
21961 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
21965 * win32/common/config.h:
21967 * win32/vs6/grammar.dsp:
21968 * win32/vs6/libgstelements.dsp:
21969 * win32/vs6/libgstreamer.dsp:
21972 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
21974 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21975 * gst/base/gstbasesrc.c: (gst_base_src_query):
21976 fix more guint64<->gdouble conversions
21978 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
21981 add win32-update target
21982 * win32/common/gstconfig.h:
21983 * win32/common/gstenumtypes.c:
21984 * win32/common/gstenumtypes.h:
21985 * win32/common/gstversion.h:
21986 add files that visual studio can't generate
21988 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
21991 add a win32-update target
21994 2005-10-12 Wim Taymans <wim@fluendo.com>
21996 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21997 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
21998 * gst/gstelement.c: (gst_element_commit_state),
21999 (gst_element_set_state):
22000 Protect flags with proper lock.
22001 unref provided cached clock in dispose.
22003 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22006 * gst/gstminiobject.h:
22008 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22009 removed unused flags from miniobject
22012 2005-10-12 Wim Taymans <wim@fluendo.com>
22014 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22015 (gst_file_sink_event), (gst_file_sink_render):
22016 Flush before seeking.
22018 2005-10-12 Andy Wingo <wingo@pobox.com>
22020 * gst/gst.c (gst_init_check): Ignore unknown options, as has
22021 always been the case.
22023 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22025 * check/gst/gstbin.c: (GST_START_TEST):
22026 * docs/gst/gstreamer-sections.txt:
22027 * gst/base/gstbasesink.c: (gst_base_sink_init):
22028 * gst/base/gstbasesrc.c: (gst_base_src_init),
22029 (gst_base_src_get_range), (gst_base_src_check_get_range),
22030 (gst_base_src_start), (gst_base_src_stop):
22031 * gst/base/gstbasesrc.h:
22032 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22033 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22034 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22038 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22040 * gst/gstelement.c: (gst_element_is_locked_state),
22041 (gst_element_set_locked_state), (gst_element_commit_state),
22042 (gst_element_set_state):
22043 * gst/gstelement.h:
22044 * gst/gstindex.c: (gst_index_init):
22046 * gst/gstminiobject.h:
22047 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22048 (gst_object_set_parent):
22050 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22051 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22053 * gst/gstpadtemplate.h:
22054 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22055 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22056 * gst/gstpipeline.h:
22057 * gst/indexers/gstfileindex.c: (gst_file_index_load),
22058 (gst_file_index_commit):
22059 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22060 * testsuite/pad/link.c: (gst_test_src_init),
22061 (gst_test_filter_init), (gst_test_sink_init):
22062 * testsuite/states/locked.c: (main):
22063 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22064 moved bitshift from macro to enum definition
22066 2005-10-12 Wim Taymans <wim@fluendo.com>
22068 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22069 * gst/elements/gstfilesink.c: (gst_file_sink_event),
22070 (gst_file_sink_render):
22071 Some more debugging info.
22073 2005-10-12 Wim Taymans <wim@fluendo.com>
22075 * docs/design/part-states.txt:
22076 * tools/gst-launch.c: (main):
22078 Revert non-intentional change.
22080 2005-10-12 Wim Taymans <wim@fluendo.com>
22082 * check/gst/gstbin.c: (GST_START_TEST):
22083 * check/gst/gstelement.c: (GST_START_TEST):
22084 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22085 * check/gst/gstghostpad.c: (GST_START_TEST):
22086 * check/gst/gstpipeline.c: (GST_START_TEST):
22087 * check/pipelines/simple_launch_lines.c: (run_pipeline):
22088 * check/states/sinks.c: (GST_START_TEST):
22089 * gst/elements/gsttypefindelement.c: (stop_typefinding):
22090 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22091 (gst_bin_remove_func), (gst_bin_get_state_func),
22092 (gst_bin_recalc_state), (gst_bin_change_state_func),
22094 * gst/gstelement.c: (gst_element_get_state_func),
22095 (gst_element_get_state), (gst_element_abort_state),
22096 (gst_element_commit_state), (gst_element_set_state),
22097 (gst_element_change_state), (gst_element_change_state_func):
22098 * gst/gstelement.h:
22099 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
22100 (gst_pipeline_provide_clock_func):
22101 * gst/gstutils.c: (gst_element_link_pads_filtered):
22102 * tools/gst-launch.c: (main):
22103 * tools/gst-typefind.c: (main):
22104 Use GstClockTime in _get_state() instead of GTimeVal.
22105 Remove old code in gstutils.c
22107 2005-10-12 Andy Wingo <wingo@pobox.com>
22109 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
22112 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
22113 there is no task. Shouldn't affect any code, as nothing in our
22114 plugins checks this return value.
22115 (gst_pad_stop_task): Also take the stream lock if the pad has no
22116 task. Docs updated.
22118 2005-10-12 Wim Taymans <wim@fluendo.com>
22120 * gst/gstpad.c: (pre_activate), (post_activate),
22121 (gst_pad_activate_pull), (gst_pad_activate_push):
22122 Cleanup activation code. Reset old state if
22125 2005-10-12 Wim Taymans <wim@fluendo.com>
22127 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22128 (gst_base_sink_change_state):
22129 No need to prerol after receiving EOS.
22131 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22132 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
22133 * gst/elements/gstidentity.c: (gst_identity_event):
22134 Print events more verbosely.
22136 2005-10-12 Wim Taymans <wim@fluendo.com>
22138 * check/Makefile.am:
22139 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22140 * check/states/sinks2.c:
22141 Moved sinks2 testcode in sinks check.
22143 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22144 (gst_bin_remove_func), (gst_bin_recalc_state),
22145 (gst_bin_change_state_func), (bin_bus_handler):
22146 Fix potential race condition when _get_state() iterated over an
22147 ASYNC element right before it posted a state completion.
22150 Do proper cast here.
22152 * gst/gstevent.c: (gst_event_new_newsegment),
22153 (gst_event_parse_newsegment):
22154 A playback rate of 0.0 is not allowed.
22156 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22158 * win32/common/config.h:
22159 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
22160 (_trewinddir), (_ttelldir), (_tseekdir):
22161 * win32/common/dirent.h:
22162 * win32/common/gtchar.h:
22163 * win32/common/libgstbase.def:
22164 * win32/common/libgstreamer.def:
22165 * win32/vs6/grammar.dsp:
22166 * win32/vs6/gst_inspect.dsp:
22167 * win32/vs6/gst_launch.dsp:
22168 * win32/vs6/gstreamer.dsw:
22169 * win32/vs6/libgstbase.dsp:
22170 * win32/vs6/libgstelements.dsp:
22171 * win32/vs6/libgstreamer.dsp:
22172 Visual Studio 6 project files, and a new common directory.
22175 2005-10-11 Wim Taymans <wim@fluendo.com>
22177 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22178 (gst_base_sink_do_sync), (gst_base_sink_query),
22179 (gst_base_sink_change_state):
22180 * gst/base/gstbasesink.h:
22181 Correctly parse newsegment info.
22183 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22185 * gst/gst.c: (init_post):
22186 split plugin paths correctly
22188 2005-10-11 Wim Taymans <wim@fluendo.com>
22190 * check/gst/gstevent.c: (GST_START_TEST):
22191 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22192 (gst_base_sink_change_state):
22193 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
22194 * gst/base/gstbasetransform.c: (gst_base_transform_event):
22195 * gst/elements/gstfilesink.c: (gst_file_sink_event):
22196 * gst/gstevent.c: (gst_event_new_newsegment),
22197 (gst_event_parse_newsegment):
22199 Added extra flag to newsegment for future API freeze.
22200 Updated check and base elements.
22202 2005-10-11 Julien MOUTTE <julien@moutte.net>
22204 * gst/base/gstcollectpads.c: (gst_collectpads_init),
22205 (gst_collectpads_add_pad), (gst_collectpads_pop),
22206 (gst_collectpads_event), (gst_collectpads_chain):
22207 * gst/base/gstcollectpads.h: Handle EOS correctly.
22209 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22211 * tools/gst-launch.c: (main):
22212 more null protecting
22214 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22216 * gst/gst-i18n-lib.h:
22217 check for ENABLE_NLS, not GETTEXT_PACKAGE
22218 * gst/gstregistry.c: (gst_registry_add_plugin),
22219 (gst_registry_scan_path_level),
22220 (_gst_registry_remove_cache_plugins):
22221 protect possibly NULL strings
22222 * gst/parse/types.h:
22223 config.h already included before
22224 * tools/gst-inspect.c: (main):
22225 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
22226 check for ENABLE_NLS, not GETTEXT_PACKAGE
22227 * tools/gst-launch.c: (main):
22228 check for ENABLE_NLS, not GETTEXT_PACKAGE
22230 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22233 if we don't have glib, fail before testing 2.8
22234 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
22235 fix a leak, should fix plugins-base testsuite
22237 2005-10-11 Andy Wingo <wingo@pobox.com>
22239 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
22240 take the mode we're going to as an arg. Go head and set the mode
22241 and flushing flags now, so that if the activate function starts a
22242 thread all the flags will be in the right state.
22243 (post_activate): Renamed also. Just handle making sure streaming
22244 finishes for the deactivation case, and setting the deactivated
22246 (gst_pad_set_active): Complain loudly if deactivation fails.
22247 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
22248 (gst_pad_activate_push): Adapt to pre/post_activate changes,
22249 remove the terrible hack.
22251 2005-10-11 Wim Taymans <wim@fluendo.com>
22253 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22254 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
22255 (gst_bin_recalc_state), (gst_bin_change_state_func),
22256 (gst_bin_dispose), (bin_bus_handler):
22258 Prepare to make current EOS message queue more generic.
22261 * gst/gstevent.c: (gst_event_new_newsegment),
22262 (gst_event_parse_newsegment):
22264 Rename base to stream_time.
22266 * gst/gstmessage.h:
22269 2005-10-11 Wim Taymans <wim@fluendo.com>
22271 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22272 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
22273 (gst_bin_change_state_func), (bin_bus_handler):
22275 Work on proper clock selection.
22277 2005-10-11 Edward Hervey <edward@fluendo.com>
22279 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
22280 * libs/gst/controller/gstcontroller.h:
22281 Added GList* version of _remove_properties() in order to be able to wrap
22284 2005-10-11 Wim Taymans <wim@fluendo.com>
22286 * docs/design/part-states.txt:
22289 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
22290 (gst_bin_change_state_func), (bin_bus_handler):
22291 Doc updates. Don't distribute the same clock over and over again.
22297 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
22298 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
22299 (gst_pad_send_event):
22301 Make probe emission threadsafe again.
22302 Register quarks and move _get_name() from utils.
22305 * gst/gstpipeline.c: (gst_pipeline_class_init),
22306 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
22307 Only redistribute the clock of it changed.
22309 * gst/gstsystemclock.h:
22314 Moved the _flow_get_name() to GstPad.
22316 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22318 * check/gst-libs/gdp.c: (GST_START_TEST):
22319 * check/gst/gstcaps.c: (GST_START_TEST):
22320 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
22321 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
22322 (gst_dp_packet_from_caps):
22323 fix more valgrind warnings before turning up the heat
22325 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22327 * gst/parse/grammar.y:
22328 some cleanup before the hacking
22330 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
22332 * gst/base/gstbasesrc.c: (gst_base_src_query):
22334 * gst/gstutils.c: (gst_guint64_to_gdouble),
22335 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
22337 externalize, basesrc uses it
22338 obviously the implementation needs testing
22340 2005-10-10 Wim Taymans <wim@fluendo.com>
22342 * tests/sched/Makefile.am:
22343 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
22344 (make_pipeline3), (make_pipeline4), (print_elem), (main):
22346 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
22348 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
22349 apparently converting from guint64 to double is not implemented
22352 2005-10-10 Wim Taymans <wim@fluendo.com>
22354 * check/Makefile.am:
22355 * check/generic/states.c: (GST_START_TEST):
22356 * check/gst/gstbin.c: (GST_START_TEST):
22357 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22358 * check/states/sinks.c: (GST_START_TEST):
22359 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
22361 Check fixes, use API as stated in design docs, remove hacks.
22363 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22364 (gst_base_sink_change_state):
22365 Catch stopping our task while we're shutting down.
22367 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
22368 (gst_bin_remove_func), (gst_bin_get_state_func),
22369 (gst_bin_recalc_state), (gst_bin_change_state_func),
22372 * gst/gstelement.c: (gst_element_init),
22373 (gst_element_get_state_func), (gst_element_abort_state),
22374 (gst_element_commit_state), (gst_element_lost_state),
22375 (gst_element_set_state), (gst_element_change_state),
22376 (gst_element_change_state_func):
22377 * gst/gstelement.h:
22378 New state change algorithm (see #318116)
22380 * gst/gstpipeline.c: (gst_pipeline_class_init),
22381 (gst_pipeline_init), (gst_pipeline_set_property),
22382 (gst_pipeline_get_property), (do_pipeline_seek),
22383 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
22384 * gst/gstpipeline.h:
22385 Remove crude state change hacks.
22388 Remove crude hacks.
22390 * tools/gst-launch.c: (main):
22391 Fixes for state change. Needs some more work to fully use the
22394 2005-10-10 Andy Wingo <wingo@pobox.com>
22396 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
22398 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
22399 this flag, but it's not even in GLib 2.6. Odd. Hack around the
22402 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
22404 * gst/gstiterator.c: (gst_iterator_new):
22405 Fix my previous commit: GTypes passed to gst_iterator_new()
22406 can be fundamental types.
22408 2005-10-10 Wim Taymans <wim@fluendo.com>
22410 * gst/gstelement.c: (gst_element_iterate_pad_list),
22411 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
22412 (gst_element_iterate_sink_pads):
22413 Use src/sink pads lists for the respective iterators instead
22416 2005-10-10 Andy Wingo <wingo@pobox.com>
22418 Merged in popt removal + GOption addition patch from Ronald, bug
22421 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
22422 GstElement macros around, remove popt-related symbols, add goption
22425 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
22427 * docs/gst/Makefile.am:
22428 * docs/libs/Makefile.am: No POPT_CFLAGS.
22430 * examples/manual/Makefile.am:
22431 * docs/manual/basics-init.xml: Doc updates with an example.
22433 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
22434 (gst_init), (parse_one_option), (parse_goption_arg):
22435 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
22436 bit of hand merging and debugging to get the GOption stuff working
22439 * tests/Makefile.am:
22440 * tools/Makefile.am:
22441 * tools/gst-inspect.c: (main):
22442 * tools/gst-launch.c: (main):
22443 * tools/gst-run.c: (main):
22444 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
22446 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
22448 * gst/gstiterator.c: (gst_iterator_new):
22449 Add assertions to make sure passed GType is likely to really
22450 be a GType (as the compiler won't catch it if the size and
22451 GType arguments get mixed up, see #318447).
22453 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
22455 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
22457 * gst/gstbin.c: (gst_bin_iterate_sorted):
22458 Pass GType and size arguments to gst_iterator_new() in the right
22459 order (maybe we should make _new() take the GType as first argument
22460 just like _new_list()?) (#318447).
22463 2005-10-10 Wim Taymans <wim@fluendo.com>
22465 * gst/gstelement.c: (gst_element_finalize):
22466 And free the GStaticRecMutex too
22468 2005-10-10 Andy Wingo <wingo@pobox.com>
22470 * gst/gstelement.c (gst_element_init, gst_element_finalize):
22471 Allocate and free the mutex properly.
22473 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
22475 (GstElement): The state_lock is now recursive. Rebuild your
22476 plugins, suckers. Old macros adapted.
22478 * docs/gst/gstreamer-sections.txt: Doc updates.
22481 * gst/gstutils.c (g_static_rec_cond_timed_wait)
22482 (g_static_rec_cond_wait): Ported from state changes patch, while
22483 we wait on bug #317802 to be solved in a well-distributed GLib.
22485 * gst/gstelement.c (gst_element_change_state_func): Renamed from
22486 gst_element_change_state, variable name changes.
22487 (gst_element_change_state): Split out of gst_element_set_state in
22488 preparation for the state change merge. Doesn't pay attention to
22489 the 'transition' argument.
22490 (gst_element_set_state): Updates, hopefully purely cosmetic.
22491 (gst_element_sync_state_with_parent): MT-safety. Ported from the
22492 state change patch.
22493 (gst_element_get_state_func): Renamed from get_state, cosmetic
22496 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
22498 * gst/elements/gstelements.c:
22499 * win32/GStreamer.vcproj:
22501 * win32/dirent.c: (_tseekdir):
22502 * win32/gst-inspect.vcproj:
22503 * win32/gst-launch.vcproj:
22504 * win32/gstconfig.h:
22505 * win32/gstelements.vcproj:
22506 * win32/gstenumtypes.c: (gst_object_flags_get_type):
22507 * win32/gstreamer.def:
22508 * win32/msvc71.sln:
22509 updates for the win32 build (patch from Sebastien Moutte)
22511 2005-10-10 Andy Wingo <wingo@pobox.com>
22513 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
22514 gst_bin_get_state, cleaned up (but no logic changes).
22515 (bin_element_is_sink): Comment updates.
22516 (sink_iterator_filter): Remove needless cast.
22517 (gst_bin_iterate_sinks): Doc update.
22518 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
22519 cleaned up (but no logic changes).
22521 * check/states/sinks.c (test_src_sink): Cleanups from the state
22523 (test_livesrc_sink): Sync on the state.
22525 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
22526 the state change patch.
22528 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
22531 * check/gst/gstbin.c: Merge in some style fixes and additional
22532 checks from Wim's state change patch.
22534 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
22536 * gst/base/gsttypefindhelper.c: (helper_find_peek),
22537 (gst_type_find_helper):
22538 Check whether we have the requested data already in our list of
22539 cached buffers before pulling a new buffer; also make the buffer
22540 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
22542 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
22547 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
22548 don't use long long, it's not portable. Replacing with
22549 gint64 seems to work; let's hope no skeletons fall out of the closet.
22551 2005-10-10 Andy Wingo <wingo@pobox.com>
22553 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
22555 2005-10-09 Stefan Kost <ensonic@users.sf.net>
22557 * docs/gst/gstreamer-sections.txt:
22562 * gst/gstmessage.c: (gst_message_parse_state_changed):
22565 more docs, fix compilation
22567 2005-10-09 Philippe Khalaf <burger@speedy.org>
22568 * gst/gstmessage.c:
22569 Fixed a few forgotten variables on previous commit
22571 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
22573 * gst/base/gsttypefindhelper.c: (helper_find_peek):
22574 Fix evil typefind crasher: getrange() might return a short
22575 buffer at the end of a file, but gst_type_find_peek() must
22576 either return the full data as requested or NULL, but
22577 never a short buffer.
22579 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
22581 * gst/gstmessage.c: (gst_message_new_state_changed),
22582 (gst_message_parse_state_changed):
22583 * gst/gstmessage.h:
22584 don't use "new", it's a C++ keyword
22586 2005-10-08 Wim Taymans <wim@fluendo.com>
22588 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
22589 * gst/gstelement.c: (gst_element_post_message):
22590 * gst/gstpipeline.c: (gst_pipeline_change_state):
22591 Small docs and debug updates.
22593 2005-10-08 Stefan Kost <ensonic@users.sf.net>
22595 * docs/gst/gstreamer-sections.txt:
22596 * gst/gstelementfactory.c:
22598 * gst/gsttaglist.c:
22601 2005-10-08 Wim Taymans <wim@fluendo.com>
22603 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
22604 (gst_bin_dispose), (bin_bus_handler):
22605 Fix typos, add comments.
22606 Clear EOS list when going to PAUSED from any direction and do it
22607 in a threadsafe way.
22608 Get base time in a threadsafe way too.
22609 Fix confusing debug in the change_state function.
22610 Various other small cleanups.
22612 * gst/gstelement.c: (gst_element_post_message):
22613 Fix very verbose bus posting code.
22615 * gst/gstpipeline.c: (gst_pipeline_class_init),
22616 (gst_pipeline_set_property), (gst_pipeline_get_property),
22617 (gst_pipeline_change_state):
22618 Small ARG_ -> PROP_ cleanup
22620 2005-10-08 Wim Taymans <wim@fluendo.com>
22622 * gst/gstbin.c: (is_eos), (bin_bus_handler):
22623 Do a less CPU demanding EOS check because we can.
22625 2005-10-08 Wim Taymans <wim@fluendo.com>
22627 * libs/gst/dataprotocol/dataprotocol.c:
22628 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
22629 (gst_dp_packet_from_event):
22630 * libs/gst/dataprotocol/dataprotocol.h:
22631 * libs/gst/dataprotocol/dp-private.h:
22632 It's about time we bump the version number.
22633 Since event types don't fit in the guint8 anymore describing
22634 the payload type, make payload type 16 bits wide.
22636 2005-10-08 Wim Taymans <wim@fluendo.com>
22638 * docs/design/part-TODO.txt:
22639 * docs/design/part-clocks.txt:
22640 * docs/design/part-events.txt:
22641 * docs/design/part-gstbin.txt:
22642 * docs/design/part-gstelement.txt:
22643 * docs/design/part-gstpipeline.txt:
22644 * docs/design/part-live-source.txt:
22645 * docs/design/part-messages.txt:
22646 * docs/design/part-overview.txt:
22647 * docs/design/part-states.txt:
22650 2005-10-08 Wim Taymans <wim@fluendo.com>
22654 Fix event quark registration.
22655 Add some space between events so we can insert them in the
22658 2005-10-08 Wim Taymans <wim@fluendo.com>
22660 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22661 (gst_base_sink_handle_buffer):
22662 Better log message.
22665 * gst/gstelement.h:
22668 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22669 (gst_queue_set_property), (gst_queue_get_property):
22671 Remove old unused properties.
22673 2005-10-08 Stefan Kost <ensonic@users.sf.net>
22674 * docs/gst/gstreamer-sections.txt:
22675 * gst/gstmessage.c:
22676 * gst/gstmessage.h:
22677 * gst/gstminiobject.c:
22678 * gst/gstminiobject.h:
22682 lots of new docs and doc fixes
22684 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
22686 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
22688 * gst/gstregistry.c: (gst_registry_lookup_locked),
22689 (gst_registry_scan_path_level):
22690 * gst/gstregistryxml.c: (load_plugin):
22691 Only ever load one plugin for a given plugin basename.
22692 This ensures correct overriding of GST_PLUGIN_PATH over
22693 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
22694 system installed plugins.
22696 2005-10-08 Wim Taymans <wim@fluendo.com>
22698 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22699 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
22700 Prepare for doing QOS.
22702 2005-10-08 Wim Taymans <wim@fluendo.com>
22704 * check/gst/gstbin.c: (GST_START_TEST):
22705 * check/pipelines/cleanup.c: (GST_START_TEST):
22706 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22707 Allow new clock message too.
22709 2005-10-08 Wim Taymans <wim@fluendo.com>
22711 * gst/gstmessage.c: (gst_message_new_error),
22712 (gst_message_new_warning), (gst_message_new_tag),
22713 (gst_message_new_state_changed), (gst_message_new_clock_provide),
22714 (gst_message_new_clock_lost), (gst_message_new_new_clock),
22715 (gst_message_new_segment_start), (gst_message_new_segment_done),
22716 (gst_message_parse_state_changed),
22717 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
22718 (gst_message_parse_new_clock):
22719 * gst/gstmessage.h:
22720 Also carry the clock in question.
22722 2005-10-08 Wim Taymans <wim@fluendo.com>
22724 * gst/gstmessage.c: (gst_message_new_custom),
22725 (gst_message_new_eos), (gst_message_new_error),
22726 (gst_message_new_warning), (gst_message_new_tag),
22727 (gst_message_new_state_changed), (gst_message_new_clock_provide),
22728 (gst_message_new_new_clock), (gst_message_new_segment_start),
22729 (gst_message_new_segment_done), (gst_message_parse_state_changed),
22730 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
22731 * gst/gstmessage.h:
22733 Added clock related messages.
22735 * gst/gstpipeline.c: (gst_pipeline_change_state):
22736 Post message when the clock changed.
22738 * tools/gst-launch.c: (event_loop):
22741 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
22743 * tools/gst-inspect.c: (print_element_properties_info):
22744 Can't pass NULL strings to g_print() on windows.
22746 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
22748 * docs/Makefile.am:
22749 * docs/gst/Makefile.am:
22750 * docs/gst/gstreamer-docs.sgml:
22751 * docs/gst/running.xml:
22752 * docs/version.entities.in:
22753 add a chapter on running GStreamer.
22754 document GST_DEBUG and GST_PLUGIN* env vars
22756 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
22761 remove PLUGINS_BUILDDIR stuff
22762 * gst/gst.c: (init_post):
22763 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
22765 remove, it was condescending and not needed
22767 2005-10-08 Wim Taymans <wim@fluendo.com>
22769 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
22770 (gst_base_sink_handle_object), (gst_base_sink_event),
22771 (gst_base_sink_wait), (gst_base_sink_handle_event),
22772 (gst_base_sink_change_state):
22773 * gst/base/gstbasesink.h:
22774 Repost EOS message while going to PLAYING if still EOS.
22775 Make sure that when receiving a FLUSH_START we don't attempt
22776 to sync on the clock anymore.
22778 2005-10-08 Wim Taymans <wim@fluendo.com>
22780 * tools/gst-launch.c: (event_loop):
22781 Better message printout.
22783 2005-10-08 Wim Taymans <wim@fluendo.com>
22785 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
22786 (gst_bin_child_proxy_get_children_count):
22787 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22788 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
22789 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
22790 (gst_child_proxy_set_valist):
22791 * gst/parse/grammar.y:
22792 Make ChildProxy threadsafe and fix mem leaks.
22794 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
22796 * gst/gst.c: (init_post):
22797 debug the GST_PLUGIN_ env vars
22799 2005-10-08 Wim Taymans <wim@fluendo.com>
22801 * check/gst/gstbin.c: (GST_START_TEST):
22802 * check/gst/gstmessage.c: (GST_START_TEST):
22803 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22804 * gst/gstelement.c: (gst_element_commit_state),
22805 (gst_element_lost_state):
22806 * gst/gstmessage.c: (gst_message_new_state_changed),
22807 (gst_message_parse_state_changed):
22808 * gst/gstmessage.h:
22809 * tools/gst-launch.c: (event_loop):
22810 Added extra field to STATE_CHANGE message with the pending
22811 state, which will be different from the new state soon.
22813 2005-10-08 Wim Taymans <wim@fluendo.com>
22815 * gst/gstbus.c: (gst_bus_pop):
22817 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
22818 Small cleanups and doc updates.
22820 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
22822 * gst/gst.c: (init_pre):
22823 * gst/gstbin.c: (gst_bin_add_func):
22824 log distributing clocks and base time
22825 * gst/gstregistry.c: (gst_registry_add_plugin),
22826 (gst_registry_scan_path_level), (gst_registry_scan_path):
22827 clean up the debugging output a little
22828 * gst/gstutils.c: (gst_element_state_get_name):
22829 warn about a memleak (I've actually seen this be used, though
22830 it was probably a bug)
22832 2005-10-07 Wim Taymans <wim@fluendo.com>
22834 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22835 (gst_base_src_init), (gst_base_src_default_newsegment),
22836 (gst_base_src_newsegment), (gst_base_src_do_seek),
22837 (gst_base_src_loop), (gst_base_src_start):
22838 * gst/base/gstbasesrc.h:
22839 Make the newsegment event customizable by subclasses.
22841 2005-10-07 Wim Taymans <wim@fluendo.com>
22843 * gst/gstevent.c: (gst_event_new_buffersize),
22844 (gst_event_parse_buffersize):
22846 New event for future idea.
22848 2005-10-07 Andy Wingo <wingo@pobox.com>
22850 * gst/gstelement.c (gst_element_post_message): Doc update.
22852 * docs/gst/gstreamer-sections.txt: Update.
22854 * gst/gstmessage.c (gst_message_new_application): Made into a
22855 function like honest API calls.
22856 (gst_message_new_element): New message type.
22858 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
22860 * check/elements/fakesrc.c (test_no_preroll): New check, checks
22861 that setting a live fakesrc to PAUSED returns NO_PREROLL both
22864 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
22865 NO_PREROLL from gst_element_change_state to fall through.
22867 2005-10-07 Wim Taymans <wim@fluendo.com>
22869 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
22870 (gst_ghost_pad_do_activate_push):
22871 Activating a ghostpad with no internal pad in push mode
22874 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
22877 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
22878 Fixes compilation on Windows.
22880 2005-10-07 Michael Smith <msmith@fluendo.com>
22882 * tools/gst-inspect.c:
22883 Print out feature and plugin count at the end when printing out
22886 2005-10-04 Michael Smith <msmith@fluendo.com>
22888 * gst/gsterror.c: (_gst_stream_errors_init):
22889 Add another error string used in a few existing plugins.
22892 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
22893 * tools/gst-inspect.c: (print_element_info):
22894 When a feature disappears from a plugin (and the feature exists in
22895 the cached registry file), things went horribly wrong. This isn't a
22896 complete fix, we should actually be removing the 'missing' features
22897 from the features list when we load the actual plugin. That's not
22900 2005-10-04 Johan Dahlin <johan@gnome.org>
22902 * check/gst/gstiterator.c: (GST_START_TEST):
22903 * gst/gstbin.c: (gst_bin_iterate_elements),
22904 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
22905 * gst/gstelement.c: (gst_element_iterate_pads):
22906 * gst/gstformat.c: (gst_format_iterate_definitions):
22907 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22908 (gst_iterator_new_list), (gst_iterator_filter):
22909 * gst/gstiterator.h:
22910 * gst/gstquery.c: (gst_query_type_iterate_definitions):
22911 Add a GType to GstIterator, update callsites and tests.
22913 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
22915 * gst/gstpad.c: (gst_pad_event_default_dispatch):
22916 give events a chance to be handled by event probes when the pad
22919 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
22921 * gst/gstevent.c: (gst_event_type_get_name),
22922 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
22924 add string representations for event types
22926 2005-10-06 Wim Taymans <wim@fluendo.com>
22928 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
22929 Don't use NULL pointers.
22931 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
22933 * gst/gst_private.h:
22935 * gst/gstelement.c:
22937 * gst/gstpluginfeature.c:
22938 widen the debug category in output to fit the biggest one we have
22939 add a bus category and use it
22940 play with the colors
22941 fix up some categories
22943 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
22945 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
22946 add push activation of sink ghost pads.
22947 Andye, please verify
22949 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
22951 * gst/gstutils.c: (gst_element_link_pads):
22952 fix a bug in the case where neither element has a pad
22953 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22954 add a test for that case
22956 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
22958 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
22959 emit have-data before checking for peers. This allows
22960 for probe handlers to connect elements. This helps autopluggers.
22961 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
22963 add six checks, linked/unlinked with no/true/false probe
22965 2005-10-04 Wim Taymans <wim@fluendo.com>
22967 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
22968 (gst_fake_sink_event), (gst_fake_sink_preroll),
22969 (gst_fake_sink_render), (gst_fake_sink_change_state):
22970 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
22971 (gst_fake_src_get_property), (gst_fake_src_create),
22972 (gst_fake_src_stop):
22973 * gst/elements/gstidentity.c: (gst_identity_stop):
22974 Protect last_message with lock.
22976 2005-10-04 Edward Hervey <edward@fluendo.com>
22979 Added precision in the comments for GST_FORMAT_DEFAULT
22981 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
22983 * tools/gst-launch.c: (main):
22984 Don't try to run erroneous pipelines.
22986 2005-10-04 Julien MOUTTE <julien@moutte.net>
22988 * gst/gstbus.c: We don't need this header.
22990 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
22993 back to development
22995 === release 0.9.3 ===
22997 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23001 Releasing 0.9.3, "Unregistered"
23003 2005-10-03 Andy Wingo <wingo@pobox.com>
23005 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23006 whereby calling a pad's activatepush() function can start a thread
23007 that starts to push or pull before the pad gets the FLUSHING flag
23008 unset. Hack around it by holding the stream lock until the flag is
23009 set. Need to replace this with a proper solution. Together with
23010 the ghost pad fixes, this fixes mp3 playing/tagreading.
23012 * docs/design/part-gstghostpad.txt: Add a note about activation of
23013 proxy pads outside of ghost pads.
23015 * gst/gstghostpad.c: Implement the ghost pad activation design.
23017 2005-10-02 Andy Wingo <wingo@pobox.com>
23019 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23020 It is volatile, after all.
23022 * docs/design/part-gstghostpad.txt: Flesh out activation with
23025 * gst/base/gstbasesrc.c (gst_base_src_init): Use
23028 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
23031 Fix (unused) AM_CONDITIONAL tests.
23033 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
23035 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23037 * gst/gstutils.c: (gst_pad_query_convert):
23038 Add assertion that makes sure src_val is >=0, just like
23039 gst_query_new_convert() has. (#315895)
23041 2005-09-30 Edward Hervey <edward@fluendo.com>
23043 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23044 Let's not iterate pads we're not interested in, it avoids getting
23045 sky-high refcounts on sinkpad.
23047 2005-09-30 Wim Taymans <wim@fluendo.com>
23049 * gst/gstelement.c: (gst_element_set_state),
23050 (gst_element_change_state):
23051 Small tweak, element in ASYNC remains ASYNC.
23053 2005-09-30 Wim Taymans <wim@fluendo.com>
23055 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23056 Only error is an error.
23058 * gst/gstbin.c: (gst_bin_change_state):
23061 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23062 Also call pad_block in pad alloc.
23064 * gst/gstutils.c: (gst_flow_get_name):
23067 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23069 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23070 (gst_base_src_get_range):
23071 Fix documentation typos. Add some more debug info.
23073 2005-09-29 David Schleef <ds@schleef.org>
23075 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23076 more end-user friendly.
23077 * tools/gst-inspect.c: (main): Check if command-line argument is
23078 a file and attempt to load that file as a plugin.
23080 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23082 * check/gst/gstbin.c:
23083 * check/states/sinks.c:
23084 fix tests for the new warning
23085 * check/gst/gstpipeline.c:
23086 add a test for pipeline and bus interaction
23087 * gst/gstelement.c:
23088 elements should be NULL if they get disposed; add a warning if not
23090 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23093 for 2.6 refcounting, make debug log more correct by printing
23094 the actual refcounts at the time of swap (Wim)
23096 2005-09-29 Andy Wingo <wingo@pobox.com>
23098 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
23099 removes signal watches previously added via
23100 gst_bus_add_signal_watch.
23101 (gst_bus_add_signal_watch): Don't return the source id, just store
23102 it on the bus if there wasn't an id already.
23104 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
23105 add_signal_watch and remove_signal_watch.
23107 2005-09-29 Edward Hervey <edward@fluendo.com>
23109 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
23110 Better if we actually iterate the list :)
23112 2005-09-29 Wim Taymans <wim@fluendo.com>
23114 * check/gst/gstbin.c: (GST_START_TEST):
23115 Change for new bus API.
23117 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23118 (send_messages), (GST_START_TEST), (gstbus_suite):
23119 Change for new bus signal API.
23121 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
23122 (gst_bus_source_prepare), (gst_bus_source_check),
23123 (gst_bus_create_watch), (gst_bus_add_watch_full),
23124 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
23125 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
23127 Remove support for multiple GSources operating on different
23128 message types as it is too complex and unneeded when using
23130 Added support for receiving signals from the bus.
23132 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23134 * docs/libs/tmpl/gstdataprotocol.sgml:
23135 * docs/manual/advanced-dataaccess.xml:
23136 * gst/elements/gstcapsfilter.c:
23138 rename filter-caps to caps property
23140 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23142 * gst/gstvalue.c: (gst_value_deserialize_fraction):
23143 More robust fraction string parsing.
23145 * docs/pwg/appendix-porting.xml:
23146 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
23148 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23150 * gst/gstcaps.c: (gst_caps_do_simplify):
23151 Thou shalt not free a structure and then continue using it
23152 in the next loop iteration.
23154 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
23156 Add test case for caps simplification.
23158 2005-09-29 Wim Taymans <wim@fluendo.com>
23160 * check/gst/gstbin.c: (GST_START_TEST):
23163 2005-09-29 Wim Taymans <wim@fluendo.com>
23165 * check/gst/gstbin.c: (GST_START_TEST):
23168 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
23169 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23170 (find_element), (gst_bin_sort_iterator_next),
23171 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23172 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23173 (gst_bin_change_state), (gst_bin_dispose):
23174 A bin does not have a bus, it gets the bus from the parent.
23176 * gst/gstelement.c: (gst_element_requires_clock),
23177 (gst_element_provides_clock), (gst_element_is_indexable),
23178 (gst_element_is_locked_state), (gst_element_change_state),
23179 (gst_element_set_bus_func):
23182 * gst/gstpipeline.c: (gst_pipeline_class_init),
23183 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
23184 The pipeline provides a bus.
23186 2005-09-28 Johan Dahlin <johan@gnome.org>
23188 * gst/gstmessage.c (gst_message_parse_state_changed): Use
23189 gst_structure_get_enum instead of gst_structure_get_int
23191 * gst/gststructure.c (gst_structure_get_enum): Impl.
23193 * gst/gststructure.h (gst_structure_get_enum): Add
23195 * docs/gst/gstreamer-sections.txt: Ditto
23197 * gst/gstmessage.c (gst_message_new_state_changed): Use
23198 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
23199 which does introspection.
23200 Reviewed by Christian Schaller
23202 2005-09-28 Stefan Kost <ensonic@users.sf.net>
23204 * gst/gstinfo.c: (gst_debug_log_default):
23205 don't do dummy g_strdup()s
23206 * libs/gst/controller/gstcontroller.c:
23207 (on_object_controlled_property_changed),
23208 (gst_controlled_property_new), (gst_controller_new_valist),
23209 (gst_controller_new_list),
23210 (gst_controller_remove_properties_valist), (gst_controller_set),
23211 (gst_controller_get), (gst_controller_sync_values),
23212 (gst_controller_get_value_array), (_gst_controller_class_init),
23213 (gst_controller_get_type):
23214 * libs/gst/controller/gstcontroller.h:
23215 * libs/gst/controller/gstinterpolation.c:
23216 (gst_controlled_property_find_timed_value_node):
23217 convert // to /**/ comments
23219 2005-09-28 Wim Taymans <wim@fluendo.com>
23221 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
23222 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
23223 (gst_bus_sync_signal_handler):
23225 Added async-message and sync-message signals to the bus.
23226 Added helper BusFunc to emit signals for all posted messages.
23228 * gst/gstmessage.c: (gst_message_type_get_name),
23229 (gst_message_type_to_quark), (gst_message_get_type):
23230 * gst/gstmessage.h:
23231 Register quarks for message names.
23233 2005-09-28 Stefan Kost <ensonic@users.sf.net>
23235 * docs/libs/gstreamer-libs-sections.txt:
23236 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
23237 (gst_controller_new_list):
23238 * libs/gst/controller/gstcontroller.h:
23239 added another constructor for language bindings
23241 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
23243 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23247 * gst/gstinfo.c: (_gst_debug_init):
23248 slightly more readable color for refcount debugging
23250 2005-09-28 Wim Taymans <wim@fluendo.com>
23252 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
23253 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23254 (find_element), (gst_bin_sort_iterator_next),
23255 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23256 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23257 (gst_bin_change_state), (gst_bin_dispose):
23258 Small doc fixes. get_clock -> provide_clock.
23260 * gst/gstelement.c: (gst_element_class_init),
23261 (gst_element_provides_clock), (gst_element_provide_clock),
23262 (gst_element_get_clock), (gst_element_commit_state),
23263 (gst_element_lost_state):
23264 * gst/gstelement.h:
23265 Make get/set_clock() symetric. Add provide_clock vmethod since
23266 that is actually what this function does.
23268 * gst/gstpipeline.c: (gst_pipeline_class_init),
23269 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
23270 (gst_pipeline_get_clock):
23271 get_clock -> provide_clock.
23273 2005-09-28 Andy Wingo <wingo@pobox.com>
23275 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
23276 lieu of real docs...
23278 * gst/elements/gstfdsrc.c: Cleaned up a bit.
23280 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
23282 * gst/elements/gstcapsfilter.c:
23283 * gst/elements/gstfakesink.c:
23284 * gst/elements/gstfakesrc.c:
23285 * gst/elements/gstfdsink.c:
23286 * gst/elements/gstfdsrc.c:
23287 * gst/elements/gstfilesink.c:
23288 * gst/elements/gstfilesrc.c:
23289 * gst/elements/gstidentity.c:
23290 * gst/elements/gsttee.c:
23291 * gst/elements/gsttypefindelement.c:
23292 Make element details static.
23294 2005-09-28 Wim Taymans <wim@fluendo.com>
23296 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23297 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23298 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23299 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23300 (gst_bin_change_state), (gst_bin_dispose):
23301 Some documentation updates.
23302 Clean up dispose handlers.
23304 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
23305 * gst/gstpad.c: (gst_pad_dispose):
23306 Clean up dispose handler.
23308 * gst/gstpipeline.c: (gst_pipeline_change_state):
23309 Removed spurious UNLOCK.
23311 2005-09-27 Stefan Kost <ensonic@users.sf.net>
23313 * docs/gst/gstreamer-sections.txt:
23314 * gst/base/gstbasesrc.h:
23315 * gst/gstelement.h:
23319 * gst/gstpipeline.c:
23320 * gst/gstpipeline.h:
23323 added two new functions to the docs
23324 documents all undocumented GstXXXFlags
23325 completed some incomplete docs
23327 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
23329 * gst/gstbin.c: (gst_bin_dispose):
23330 * gst/gstelement.c: (gst_element_dispose):
23331 remove now useless and leaky resurrection code in dispose
23332 * gst/base/gstbasesrc.c: (gst_base_src_init):
23333 * gst/gstelementfactory.c: (gst_element_factory_create):
23334 * gst/gstobject.c: (gst_object_set_parent):
23337 2005-09-27 Wim Taymans <wim@fluendo.com>
23339 * docs/design/part-TODO.txt:
23342 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23343 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23344 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23345 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23346 (gst_bin_change_state):
23347 * gst/gstelement.h:
23348 Remove element variable, we keep element info in the iterator now.
23350 2005-09-27 Andy Wingo <wingo@pobox.com>
23352 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
23355 2005-09-27 Wim Taymans <wim@fluendo.com>
23357 * check/gst/gstbin.c: (GST_START_TEST):
23358 Enable check that works now.
23360 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23361 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23362 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23363 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23364 (gst_bin_change_state):
23366 Redid the state change algorithm using a topological sort algo.
23367 Handles all cases correctly.
23368 Exposed iterator for state change order.
23370 * gst/gstelement.h:
23371 Temp storage for state changes. Need to get rid of this soon.
23373 2005-09-27 Wim Taymans <wim@fluendo.com>
23375 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
23376 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
23377 (link_fold_func), (gst_pad_proxy_setcaps):
23378 Leak fixes, the fold functions need to unref the passed object and
23379 _get_parent_*() returns ref to parent.
23381 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
23383 * check/gst/gstbuffer.c: (test_make_writable):
23384 Plug leak in test case and fix 'make check-valgrind'
23386 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
23388 * gst/gstbuffer.c: (gst_subbuffer_init):
23389 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
23390 works correctly in all circumstances (we could have just copied
23391 the parent buffer's readonly flag, but conceptually it seems
23392 cleaner to mark all subbuffers as read-only). (based on patch
23393 by Alessandro Decina, #314710).
23395 * check/gst/gstbuffer.c: (create_read_only_buffer),
23396 (test_make_writable), (test_subbuffer_make_writable),
23398 Add some tests for gst_buffer_make_writable().
23400 2005-09-27 Wim Taymans <wim@fluendo.com>
23402 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
23403 use gst_object_has_ancestor().
23405 * gst/gstobject.c: (gst_object_has_ancestor):
23407 gst_object_has_ancestor() copied from gstbin.c as it is a
23410 * tests/instantiate/create.c: (create_all_elements):
23411 * tests/lat.c: (handoff_src), (handoff_sink):
23412 * tests/sched/runxml.c: (main):
23413 * tests/seeking/seeking1.c: (main):
23414 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23416 Fix compilation of some tests.
23418 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
23421 Remove comment. GST_TYPE_G_ERROR is here to stay,
23422 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
23423 (#316961, #300610).
23425 2005-09-26 Wim Taymans <wim@fluendo.com>
23427 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23428 Added check that shows error in state change order.
23430 2005-09-26 Wim Taymans <wim@fluendo.com>
23432 * gst/gstbin.c: (gst_bin_change_state):
23433 Make state change function use 3 queues again, we were
23434 adding elements in the wrong order.
23436 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
23439 * gst/gstpad.c: (gst_pad_dispose):
23440 Added some debug info first.
23442 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
23444 * docs/design/draft-push-pull.txt:
23445 * docs/design/part-events.txt:
23446 * docs/design/part-overview.txt:
23447 * docs/design/part-scheduling.txt:
23448 Replace all _pull_region() with _pull_range()
23450 2005-09-26 Andy Wingo <wingo@pobox.com>
23452 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
23454 * check/gst-libs/controller.c: Update for controller api change.
23457 * tests/Makefile.am:
23458 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
23459 over by GLib bug 118439.
23461 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
23462 routines to a function.
23464 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
23466 * libs/gst/controller/gsthelper.c:
23467 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
23468 (gst_object_sync_values): Renamed from sink_values. Ugh.
23470 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
23472 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
23473 Renamed from controller_key, as it is exported.
23475 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
23477 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
23482 * gst/gstpadtemplate.h:
23485 * gst/gstqueryutils.c:
23486 * gst/gstqueryutils.h:
23487 remove queryutils headers after moving the two used functions
23488 to gstquery. also fixes build problem for gstsiddec
23490 2005-09-26 Michael Smith <msmith@fluendo.com>
23492 * tools/gst-launch.1.in:
23493 Correct documentation in manpage of debug syntax
23495 2005-09-26 Wim Taymans <wim@fluendo.com>
23497 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
23498 (gst_base_src_is_seekable), (gst_base_src_change_state):
23499 Some more debugging info.
23501 2005-09-25 Stefan Kost <ensonic@users.sf.net>
23503 * docs/gst/gstreamer-sections.txt:
23504 * gst/base/gstbasetransform.h:
23508 2005-09-25 Stefan Kost <ensonic@users.sf.net>
23510 * docs/gst/.cvsignore:
23511 * docs/gst/tmpl/.cvsignore:
23512 * docs/gst/tmpl/gstpipeline.sgml:
23513 * docs/gst/tmpl/gstplugin.sgml:
23514 * gst/gstpipeline.c:
23517 inlined the last two docs files
23518 removed the tmpl directory from cvs (no more conflicts here!)
23520 2005-09-25 Stefan Kost <ensonic@users.sf.net>
23522 * docs/gst/gstreamer-sections.txt:
23523 * docs/gst/tmpl/.cvsignore:
23524 * docs/gst/tmpl/gstpad.sgml:
23525 * docs/gst/tmpl/gstpadtemplate.sgml:
23527 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
23528 (gst_pad_finalize), (gst_pad_set_pad_template):
23530 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
23531 (gst_pad_template_class_init), (gst_pad_template_init),
23532 (gst_pad_template_dispose), (name_is_valid),
23533 (gst_static_pad_template_get), (gst_pad_template_new),
23534 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
23535 (gst_pad_template_pad_created):
23536 * gst/gstpadtemplate.h:
23537 inlined two more docs
23538 factored gstpadtemplate out of gstpad
23540 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
23542 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
23543 (test_children_state_change_order_semi_sink):
23544 Fix test case: we can't rely on a fixed state change order when
23545 going from READY => PAUSED because the sink might commit its
23546 new state first when the first buffer created by the source
23547 reaches the sink before the source has finished its change state.
23548 (Test case still fails at times, see #316856, comment 5 onwards)
23550 2005-09-24 Wim Taymans <wim@fluendo.com>
23552 * docs/design/part-events.txt:
23553 * docs/design/part-gstbus.txt:
23554 * docs/design/part-gstpipeline.txt:
23555 * docs/design/part-messages.txt:
23556 * docs/design/part-overview.txt:
23557 * docs/design/part-segments.txt:
23561 * gst/gstelement.c:
23564 * gst/gstiterator.c:
23565 Various documentation updates.
23567 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
23570 Well, that's embarassing. Luckily we weren't using
23571 GST_CLOCK_DIFF anywhere.
23573 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
23575 * common/gtk-doc.mak:
23576 don't fail on building XML, FC4 slave shows a bunch of doc
23577 missing bits that I don't get
23579 * gst/gstpipeline.c:
23580 * gst/gststructure.c:
23583 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
23585 * docs/design/part-gstbin.txt:
23586 * docs/design/part-gstbus.txt:
23588 Add blurb about how the bus goes into flushing mode and
23589 drops all messages when its bin goes from READY into NULL
23592 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
23594 * docs/gst/gstreamer-sections.txt:
23595 * gst/gststructure.c: (gst_structure_get_clock_time):
23596 * gst/gststructure.h:
23597 add a method to get a GstClockTime out of a structure
23599 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
23601 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
23602 (test_children_state_change_order_semi_sink), (gst_bin_suite):
23603 Added test to check state change order in bins (can still be made
23604 to fail here under heavy disk load; bails out with 'Push on pad
23605 fakesink:sink0, but it was not activated in push mode').
23607 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
23608 Fix state change order when there is only a semi sink (#316856)
23610 * gst/gstbus.c: (gst_bus_class_init):
23611 Use _class_peek_parent(), not _class_ref(); fix docs to say
23612 'default main context' instead of 'mainloop' where that is
23615 * gst/gstelement.c: (gst_element_commit_state),
23616 (gst_element_set_state):
23617 Fix typos in debug messages
23619 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
23622 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
23623 * gst/gstpluginfeature.c:
23625 various doc updates
23626 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23627 change an assert into an error until it gets fixed properly
23629 2005-09-23 Stefan Kost <ensonic@users.sf.net>
23631 * docs/gst/gstreamer-sections.txt:
23632 * docs/gst/tmpl/.cvsignore:
23633 * docs/gst/tmpl/gstelement.sgml:
23634 * docs/gst/tmpl/gstinfo.sgml:
23635 * docs/gst/tmpl/gstobject.sgml:
23636 * gst/gstelement.c:
23637 * gst/gstelement.h:
23640 * gst/gstobject.c: (gst_object_class_init):
23642 inlined 3 more biiiig doc files and added some missing docs on the fly
23644 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
23646 * check/gst/.cvsignore:
23647 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
23648 * gst/gstregistryxml.c: (load_plugin),
23649 (gst_registry_xml_save_plugin):
23650 put back source in registry. add checks for find_plugin.
23651 * testsuite/states/bin.c: (assert_state), (empty_bin),
23652 (test_adding_one_element), (main):
23653 * testsuite/states/locked.c: (main):
23654 some compile/run fixes
23656 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
23658 * check/gst/gstvalue.c: (GST_START_TEST):
23659 fix leaks in the test itself
23661 2005-09-22 Wim Taymans <wim@fluendo.com>
23663 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23664 (gst_base_sink_send_event), (gst_base_sink_peer_query),
23665 (gst_base_sink_query):
23666 Prepare for more accurate position reporting and query
23669 * gst/gstelement.c: (gst_element_send_event),
23670 (gst_element_set_state):
23673 2005-09-22 Wim Taymans <wim@fluendo.com>
23675 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
23676 (gst_query_parse_segment):
23678 More documentation.
23679 Add segment query for future use.
23681 2005-09-22 Wim Taymans <wim@fluendo.com>
23683 * gst/gstbin.c: (gst_bin_add_func):
23684 Some more debug info.
23686 * gst/gstelement.c: (gst_element_send_event):
23687 Simplify send_event
23689 * gst/gstelement.h:
23690 Don't know how flags got broken.
23695 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
23697 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
23698 Add simplistic test suite for GST_TYPE_DATE serialisation and
23701 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
23703 * docs/gst/gstreamer-sections.txt:
23704 * gst/gststructure.c: (gst_structure_set_valist),
23705 (gst_structure_get_date):
23706 * gst/gststructure.h:
23707 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
23708 (gst_date_copy), (gst_value_compare_date),
23709 (gst_value_serialize_date), (gst_value_deserialize_date),
23710 (gst_value_transform_date_string),
23711 (gst_value_transform_string_date), (_gst_value_initialize):
23713 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
23714 bunch of utility functions along with a hack that checks that
23715 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
23716 is required. Part of the grand scheme in #170777.
23718 2005-09-22 Andy Wingo <wingo@pobox.com>
23720 * gst/gstconfig.h.in: Psych out gtk-doc.
23722 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
23724 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
23726 * tools/gst-inspect.c (print_element_list): Plug some
23727 inconsequential leaks.
23729 * gst/gstregistry.c (gst_registry_get_default): Doc.
23731 * check/gst/gstplugin.c:
23732 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
23733 * gst/gstelementfactory.c (gst_element_factory_create):
23734 * gst/gstindexfactory.c (gst_index_factory_create): Update for
23737 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
23738 (gst_plugin_feature_load): Doc, don't eat refs.
23740 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
23741 (gst_plugin_list_free): Doc.
23742 (gst_plugin_load_file): Doc updates.
23744 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
23745 accessors returning refcounted objects, return a ref.
23747 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
23748 accessor for caps. IDEMPOTENCE. Oh yes.
23750 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
23752 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23754 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
23755 (_gst_debug_register_funcptr):
23756 Add mutex to serialise access to the hash table with
23757 the function pointer => function name string mapping;
23758 make that hash table static scope (#316809).
23760 * gst/registries/.cvsignore:
23761 Remove left-over file.
23763 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
23765 * docs/pwg/appendix-porting.xml:
23766 And something about newsegment events and caps-on-buffers to
23767 the porting guide (feel free to improve).
23769 2005-09-21 Andy Wingo <wingo@pobox.com>
23771 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
23772 data and event probes on the same pad.
23773 (test_buffer_probe_once): Test that removing probes from within
23774 the probe functions works.
23776 2005-09-21 Andy Wingo <wingo@pobox.com>
23778 * check/gst/gstutils.c: New file.
23779 (test_buffer_probe_n_times): A simple buffer probe test. More to
23782 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
23783 have-data::buffer, not have-data.
23784 (gst_pad_add_event_probe): Likewise for have-data::event.
23785 (gst_pad_add_data_probe): More docs. The part about 'resolving the
23786 peer' isn't quite right yet though.
23787 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
23788 (gst_pad_remove_data_probe): Change to take the guint handler_id
23789 as their arg, not the function+data, which is more glib-like.
23791 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
23792 the signal emission to indicate if the data is a buffer or an
23794 (gst_pad_get_type): Initialize buffer and event quarks.
23795 (gst_pad_class_init): have-data is now a detailed signal, yes it
23798 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
23800 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
23801 * gst/gstutils.c: (gst_util_set_value_from_string),
23802 (gst_util_set_object_arg):
23803 Don't put functional code in g_return_if_fail() or
23804 g_return_val_if_fail() statements, otherwise things will
23805 break when G_DISABLE_CHECKS is defined during compilation.
23807 2005-09-21 Stefan Kost <ensonic@users.sf.net>
23809 * docs/gst/tmpl/.cvsignore:
23810 * docs/gst/tmpl/gstvalue.sgml:
23813 inlied another one and added some obvious docs
23815 2005-09-21 Wim Taymans <wim@fluendo.com>
23817 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
23818 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
23819 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
23820 (gst_fdsrc_get_property), (gst_fdsrc_create):
23821 * gst/elements/gstfdsrc.h:
23822 Properly implement fdsrc. Removed signal and timeout,
23823 better implemented somewhere else.
23825 2005-09-21 Stefan Kost <ensonic@users.sf.net>
23827 * docs/gst/tmpl/.cvsignore:
23828 * docs/gst/tmpl/gstimplementsinterface.sgml:
23829 * gst/gstinterface.c:
23832 2005-09-21 Stefan Kost <ensonic@users.sf.net>
23834 * docs/gst/gstreamer-sections.txt:
23835 * docs/gst/tmpl/.cvsignore:
23836 * docs/gst/tmpl/gstenumtypes.sgml:
23837 remove obsolete doc file
23839 2005-09-21 David Schleef <ds@schleef.org>
23841 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
23842 little beer, fix a little leak.
23844 2005-09-21 Stefan Kost <ensonic@users.sf.net>
23846 * docs/gst/gstreamer-docs.sgml:
23847 * docs/gst/gstreamer-sections.txt:
23848 * docs/gst/tmpl/.cvsignore:
23852 * gst/gstelement.h:
23853 * gst/gstindex.c: (gst_index_class_init):
23855 * gst/gstindexfactory.c: (gst_index_factory_get_type),
23856 (gst_index_factory_class_init), (gst_index_factory_init),
23857 (gst_index_factory_finalize), (gst_index_factory_new),
23858 (gst_index_factory_destroy), (gst_index_factory_find),
23859 (gst_index_factory_create), (gst_index_factory_make):
23860 * gst/gstindexfactory.h:
23861 * gst/gstpluginfeature.c:
23862 * gst/gstpluginfeature.h:
23863 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23864 more docs inlined, splitted gstindex.{c,h}
23866 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
23868 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23871 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
23873 * gst/elements/gstfilesink.c: (gst_file_sink_init):
23874 Set sync to FALSE by default.
23876 2005-09-20 Wim Taymans <wim@fluendo.com>
23878 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23879 (gst_base_sink_init):
23880 Make sync property settable from subclass.
23882 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
23883 (gst_fake_sink_change_state):
23884 Set sync to FALSE by default.
23886 2005-09-20 Wim Taymans <wim@fluendo.com>
23888 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
23889 * tools/gst-launch.c: (main):
23890 The timeout handler should have lower priority than the source
23891 so we don't timeout before popping a message with 0 timeout.
23892 Dump error messages after failed state change.
23894 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
23896 * tools/gst-inspect.c: (print_element_properties_info):
23899 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
23901 * check/gst/gstevent.c:
23902 * gst/elements/gstfakesink.c:
23903 * gst/elements/gstfakesink.h:
23904 remove the sync property from fakesink.
23905 has the side effect of setting sync TRUE
23906 for fakesink, which is a change. Anyone who knows how
23907 to fix this nicely in a GObject-y way, feel free.
23909 2005-09-20 Stefan Kost <ensonic@users.sf.net>
23911 * docs/gst/gstreamer-docs.sgml:
23912 remove probe refsection
23914 2005-09-20 Stefan Kost <ensonic@users.sf.net>
23916 * check/Makefile.am:
23917 disable valgrinding the controller test again
23918 * docs/gst/gstreamer-sections.txt:
23919 update for api-changes
23921 2005-09-20 Wim Taymans <wim@fluendo.com>
23923 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23924 (gst_base_sink_set_property), (gst_base_sink_get_property),
23925 (gst_base_sink_do_sync):
23926 * gst/base/gstbasesink.h:
23927 Added sync property to basesink to disable clock sync.
23929 2005-09-20 Andy Wingo <wingo@pobox.com>
23931 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
23932 eating the caller's refcount.
23934 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
23935 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
23938 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
23939 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
23940 of GLib 2.8 public, so we can know which refcount to check in
23943 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
23944 (gst_object_init): Only set the gst refcount if we're going ahead
23945 with the refcount hack.
23947 2005-09-20 Stefan Kost <ensonic@users.sf.net>
23949 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23950 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23951 more leaks plumbed, added more debug-logging
23955 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
23957 * gst/gstmessage.c:
23958 remove include of gstmemchunk.h
23960 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
23962 * gst/gstclock.c: (_gst_clock_id_free):
23963 Commit from the Political Party For More Atomic CVS Commits,
23964 so that people don't waste too much of their day fishing
23965 out obvious leaks out of massive commits.
23966 Oh, and fix a pretty damn obvious leak in the memchunk
23969 2005-09-20 Stefan Kost <ensonic@users.sf.net>
23971 * check/Makefile.am:
23972 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23973 plug mem-leak, re-add to valgrindable tests
23975 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
23978 unbreak the build for those who have chronic arthritis
23979 and typing "make check" is just too taxing on the hands
23981 2005-09-20 Andy Wingo <wingo@pobox.com>
23983 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
23984 really want it out, you should fix plugins at the same time.
23986 2005-09-19 Stefan Kost <ensonic@users.sf.net>
23989 * docs/gst/gstreamer-sections.txt:
23991 added missing symbols to api docs
23992 disable ref-count hack if we have glib >= 2.8
23994 2005-09-19 David Schleef <ds@schleef.org>
23996 * docs/gst/Makefile.am: Ignore a few more internal headers
23997 * docs/gst/gstreamer-docs.sgml: Remove old sections
23998 * docs/gst/gstreamer-sections.txt: Remove old sections
23999 * docs/gst/tmpl/gstobject.sgml: update
24000 * docs/gst/tmpl/gstplugin.sgml: update
24001 * docs/gst/tmpl/gstpluginfeature.sgml: update
24002 * docs/random/ds/0.9-suggested-changes: update.
24003 * gst/Makefile.am: remove memchunk and trashstack, since they're
24005 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24006 * gst/gst.h: don't include some headers
24007 * gst/gstchildproxy.c: add gstmarshal.h
24008 * gst/gstclock.c: Don't use memchunks
24009 * gst/gstminiobject.c: Add some docs
24010 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24011 * gst/gstobject.h: same
24012 * gst/gstplugin.c: include gstmacros.h
24013 * gst/gstplugin.h: don't include gstmacros.h, since it's private
24014 * gst/gstquery.c: don't use memchunks
24015 * gst/gstregistry.c: rename gst_registry_deinit()
24016 * gst/gstregistry.h: same
24018 2005-09-19 David Schleef <ds@schleef.org>
24020 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24021 * docs/libs/gstreamer-libs-sections.txt:
24022 * docs/libs/tmpl/gstgetbits.sgml:
24023 * docs/libs/tmpl/gstputbits.sgml:
24025 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
24027 * win32/gstenumtypes.c:
24028 * win32/gstenumtypes.h:
24031 2005-09-19 Wim Taymans <wim@fluendo.com>
24033 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24034 Automatically PAUSE and RESUME a pipeline when a flushing seek
24037 2005-09-19 Andy Wingo <wingo@pobox.com>
24039 * gst/gstregistry.h: Spacing fixen.
24041 2005-09-19 Wim Taymans <wim@fluendo.com>
24043 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24044 Handle state change failure more correctly.
24046 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24048 * check/Makefile.am:
24049 * check/pipelines/cleanup.c: (run_pipeline):
24050 * check/pipelines/simple_launch_lines.c: (run_pipeline),
24052 enable cleanup again after fixing the leak
24054 some more info on docs
24056 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24058 * check/Makefile.am:
24059 re-enable tests now that leaks are plugged
24061 * check/gst/gstbin.c:
24062 * check/gst/gstpipeline.c:
24063 add some more tests while fixing leaks
24064 * common/check.mak:
24065 make sure binaries are uptodate when valgrinding/gdbing
24067 * gst/gstelementfactory.c:
24068 remove a ref too many, and add a FIXME for when we get
24069 round to disposing of classes
24071 fix the refcounting when loading a plugin from a file and
24072 the code pretends that the pointer is the same even though
24073 of course it can change
24074 * gst/gstpluginfeature.c:
24075 unref plugins marked cached (a bit confusing as a name)
24076 as the docs state should be done
24077 various doc additions to explain refcounting
24078 * gst/gstregistry.c:
24079 * gst/gstregistryxml.c:
24082 2005-09-19 Wim Taymans <wim@fluendo.com>
24084 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24085 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24086 (send_messages), (GST_START_TEST), (gstbus_suite):
24087 * check/gst/gstpipeline.c: (GST_START_TEST):
24088 * check/pipelines/cleanup.c: (run_pipeline):
24089 * check/pipelines/simple_launch_lines.c: (run_pipeline),
24091 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
24092 (gst_bus_source_check), (gst_bus_source_dispatch),
24093 (gst_bus_create_watch), (gst_bus_add_watch_full),
24094 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
24096 * tools/gst-launch.c: (event_loop):
24097 * tools/gst-md5sum.c: (event_loop):
24098 GstBusHandler -> GstBusFunc, return value has the same meaning as
24099 any other GSource (FALSE == remove source).
24100 _add_watch() and _add_watch_full() now take a MessageType mask to
24101 only handle specific types of messages.
24102 _poll() returns the GstMessage instead of the message type to avoid
24104 _have_pending() takes a MessageType mask now too.
24105 Added testsuite for multiple bus watches.
24106 Fix testsuites and applications for new bus API.
24108 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24110 * check/Makefile.am:
24111 mark a bunch of the tests as to fix until we fix them
24113 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24115 * common/check.mak:
24116 use GST_PLUGIN settings for valgrind tests as well, so we're
24117 valgrinding the correct thing
24118 * gst/gst.c: (init_post):
24121 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24123 * gst/gst.c: (init_post), (gst_deinit):
24124 * gst/gstelementfactory.c: (gst_element_factory_class_init),
24125 (gst_element_factory_finalize), (gst_element_factory_cleanup):
24126 * gst/gstindex.c: (gst_index_factory_class_init),
24127 (gst_index_factory_finalize):
24128 * gst/gstobject.c: (gst_object_dispose):
24129 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
24130 (gst_plugin_load_file), (gst_plugin_desc_free):
24131 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
24132 (gst_plugin_feature_finalize):
24133 * gst/gstregistry.c: (gst_registry_class_init),
24134 (gst_registry_init), (gst_registry_finalize),
24135 (gst_registry_get_default), (gst_registry_deinit):
24136 * gst/gstregistry.h:
24137 * gst/gstregistryxml.c: (load_feature), (load_plugin):
24138 various cleanups and memleak plugging. make valgrind is happy now.
24140 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24142 * common/check.mak:
24143 add a check-valgrind target
24145 2005-09-18 David Schleef <ds@schleef.org>
24147 * tools/gst-inspect.c: Revert the GOption code.
24149 2005-09-17 David Schleef <ds@schleef.org>
24151 * check/Makefile.am: Fix environment variables.
24152 * check/gst/gstplugin.c: Fix for API changes.
24153 * tools/gst-inspect.c: Fix for API changes.
24154 * tools/gst-xmlinspect.c: Fix for API changes.
24155 * gst/gstelementfactory.c:
24158 * gst/gstpluginfeature.c:
24159 * gst/gstpluginfeature.h:
24160 * gst/gstregistry.c:
24161 * gst/gstregistry.h:
24162 * gst/gstregistryxml.c:
24163 * gst/gsttypefind.c:
24164 * gst/gsttypefindfactory.c:
24165 * gst/indexers/gstfileindex.c:
24166 * gst/indexers/gstmemindex.c:
24167 * gst/schedulers/Makefile.am:
24168 Change registry to keep track of both plugins and features,
24169 removing the feature tracking from plugins themselves.
24171 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
24173 * check/Makefile.am:
24174 * tools/gst-register.1.in:
24175 remove gst-register
24177 2005-09-15 David Schleef <ds@schleef.org>
24179 * check/gst/gstplugin.c:
24180 * gst/gstelementfactory.c:
24182 * gst/gstpluginfeature.c:
24183 * gst/gstregistry.c:
24184 Getting tired of debugging. Disabled all the unreffing of
24185 plugins and features, which fixes the segfaults, but of
24186 course leaks like crazy. At least playbin works.
24188 2005-09-15 David Schleef <ds@schleef.org>
24190 * check/gst/gstplugin.c: (register_check_elements),
24191 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
24193 * gst/elements/gsttypefindelement.c: Fix refcounting.
24194 * gst/gsttypefind.c:
24195 * gst/gsttypefindfactory.c:
24196 * gst/gsttypefindfactory.h:
24198 2005-09-15 David Schleef <ds@schleef.org>
24200 * gst/gstindex.c: get refcounting correct.
24201 * gst/gstregistry.c: Handle the case where a feature/plugin is
24204 2005-09-15 David Schleef <ds@schleef.org>
24206 * check/Makefile.am:
24207 * check/gst/gstplugin.c: Add test
24208 * gst/gstplugin.c: Fix problems noticed by testsuite
24210 * gst/gstregistry.c:
24211 * gst/gstregistry.h:
24213 2005-09-15 David Schleef <ds@schleef.org>
24215 * gst/gstplugin.c: Implement semi-decent recounting and locking
24216 in plugins and plugin features.
24218 * gst/gstpluginfeature.c:
24219 * gst/gstpluginfeature.h:
24220 * gst/gstregistry.c:
24222 2005-09-15 Michael Smith <msmith@fluendo.com>
24224 * gst/gstregistry.c: (gst_registry_get_feature_list):
24225 Implement this. Makes oggdemux work; decodebin still broken.
24227 2005-09-14 David Schleef <ds@schleef.org>
24229 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
24231 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
24232 * gst/check/Makefile.am:
24233 * libs/gst/controller/Makefile.am:
24234 * libs/gst/dataprotocol/Makefile.am:
24236 2005-09-14 David Schleef <ds@schleef.org>
24238 * configure.ac: Remove getbits library. Nothing uses it, and
24239 it should be in something like liboil if someone did want
24241 * libs/gst/Makefile.am:
24242 * libs/gst/getbits/Makefile.am:
24243 * libs/gst/getbits/gbtest.c:
24244 * libs/gst/getbits/getbits.c:
24245 * libs/gst/getbits/getbits.h:
24246 * libs/gst/getbits/gstgetbits_generic.c:
24247 * libs/gst/getbits/gstgetbits_i386.s:
24248 * libs/gst/getbits/gstgetbits_inl.h:
24250 2005-09-14 David Schleef <ds@schleef.org>
24252 * gst/Makefile.am: Dist glib-compat.h
24254 2005-09-14 David Schleef <ds@schleef.org>
24256 * configure.ac: Remove gst/registries, since it's no longer used.
24257 * gst/registries/Makefile.am:
24258 * gst/registries/gstlibxmlregistry.c:
24259 * gst/registries/gstlibxmlregistry.h:
24260 * gst/registries/gstxmlregistry.c:
24261 * gst/registries/gstxmlregistry.h:
24262 * gst/registries/registrytest.c:
24264 2005-09-14 David Schleef <ds@schleef.org>
24266 * gst/glib-compat.h:
24267 * gst/gstregistryxml.c:
24268 Convergence is near. Seriously.
24270 2005-09-14 David Schleef <ds@schleef.org>
24272 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24273 * gst/glib-compat.h:
24274 Attempt #4 to appease the buildbots.
24276 2005-09-14 David Schleef <ds@schleef.org>
24278 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24281 2005-09-14 David Schleef <ds@schleef.org>
24283 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24286 2005-09-14 David Schleef <ds@schleef.org>
24288 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
24291 2005-09-14 David Schleef <ds@schleef.org>
24293 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24294 * gst/glib-compat.h: Add some functions that are in newer versions
24295 of glib than we care to require.
24296 * gst/gstregistryxml.c: Use them.
24298 2005-09-14 David Schleef <ds@schleef.org>
24300 * po/POTFILES.in: remove gst-register.c
24302 2005-09-14 David Schleef <ds@schleef.org>
24304 * docs/gst/gstreamer-docs.sgml:
24305 * docs/gst/gstreamer-sections.txt:
24306 * docs/gst/gstreamer.types:
24307 * docs/gst/tmpl/gstelement.sgml:
24308 * docs/gst/tmpl/gstplugin.sgml:
24309 * docs/gst/tmpl/gstpluginfeature.sgml:
24310 Documentation updates for registry changes.
24312 2005-09-14 David Schleef <ds@schleef.org>
24314 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
24315 because we don't require glib-2.8.
24317 2005-09-14 David Schleef <ds@schleef.org>
24319 * gst/gstregistryxml.c: Added. Essentially moved out of the
24320 registries directory.
24322 2005-09-14 David Schleef <ds@schleef.org>
24324 * check/Makefile.am:
24325 * check/generic/states.c:
24329 * gst/gst_private.h:
24330 * gst/gstelementfactory.c:
24335 * gst/gstpluginfeature.c:
24336 * gst/gstpluginfeature.h:
24337 * gst/gstregistry.c:
24338 * gst/gstregistry.h:
24339 * gst/gstregistrypool.c: remove
24340 * gst/gstregistrypool.h: remove
24341 * gst/gsttypefind.c:
24342 * gst/gsttypefindfactory.c:
24344 * tools/Makefile.am:
24345 * tools/gst-compprep.c:
24346 * tools/gst-inspect.c:
24347 * tools/gst-register.c: remove
24348 * tools/gst-xmlinspect.c:
24349 Registry rewrite. Changes registry from being a file created
24350 by a tool into a simple cache file created automatically by
24351 libgstreamer. Removed gst-register (because it's no longer
24352 needed). Remove registry pools, because we only have one
24353 registry implementation (XML). Fix up other subsystems as
24356 2005-09-13 Michael Smith <msmith@fluendo.com>
24358 * gst/gstconfig.h.in:
24359 Don't Use windows linking attributes for MinGW. Fixes #316157
24361 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
24363 * gst/gstutils.c: (set_state_async_thread_func),
24364 (gst_element_set_state_async):
24365 Apparently people think it's better if this function doesn't
24366 try to set the state to whatever state was asked for on the first
24367 call to this function for any object. Seriously.
24369 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
24371 * check/gst/gstpipeline.c: (GST_START_TEST):
24372 * docs/gst/gstreamer-sections.txt:
24373 * gst/gstutils.c: (set_state_async_thread_func),
24374 (gst_element_set_state_async):
24376 add a "gst_element_set_state_async" method that
24377 sets the state and starts a thread to make sure the state
24378 change completes as best as it can
24380 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
24382 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24383 codify design+behaviour in testsuite after discussion
24385 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
24387 * docs/gst/tmpl/gstelement.sgml:
24388 * docs/manual/appendix-quotes.xml:
24390 * gst/gstelement.c: (gst_element_set_state):
24393 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
24395 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
24396 (gst_base_transform_prepare_output_buf),
24397 (gst_base_transform_handle_buffer):
24398 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
24399 (gst_capsfilter_prepare_buf):
24400 Remove the requirement for sub-classes to call the parent
24401 implementation of prepare_output_buffer with a wrapper function.
24403 * gst/gsttaglist.h:
24404 * gst/gsttagsetter.h:
24405 Fix #define wrapper
24407 2005-09-11 Stefan Kost <ensonic@users.sf.net>
24409 * docs/gst/gstreamer-sections.txt:
24412 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
24414 * docs/gst/gstreamer-sections.txt:
24415 * docs/gst/tmpl/gstelement.sgml:
24416 * docs/gst/tmpl/gstplugin.sgml:
24417 * gst/gstminiobject.c:
24419 docs now stop throwing warnings
24421 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
24423 * docs/gst/gstreamer-sections.txt:
24424 * docs/gst/gstreamer.types:
24425 * docs/gst/tmpl/gstpad.sgml:
24426 * docs/gst/tmpl/gsttypes.sgml:
24427 * gst/base/gstadapter.h:
24428 * gst/base/gstbasesink.h:
24429 * gst/base/gstbasesrc.h:
24435 * gst/gstelement.h:
24437 * gst/gstmessage.h:
24439 * gst/gststructure.c:
24440 * gst/registries/gstlibxmlregistry.h:
24441 various documentation fixes
24443 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
24445 * docs/gst/gstreamer-sections.txt:
24446 * docs/gst/tmpl/gstvalue.sgml:
24447 rearrange gstvalue section
24448 * gst/gstutils.c: (gst_element_state_get_name):
24450 * gst/gstvalue.c: (_gst_value_initialize):
24454 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
24456 * check/gst-libs/controller.c:
24457 Header include fix.
24458 * gst/base/gstbasetransform.c:
24459 (gst_base_transform_default_prepare_buf),
24460 (gst_base_transform_handle_buffer):
24461 * gst/base/gstbasetransform.h:
24462 Some more basetransform changes and fixes to enable sub-classes
24463 that modify buffer metadata only.
24464 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
24465 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
24466 (gst_capsfilter_prepare_buf):
24467 If the output pad has fixed allowed caps and input buffers
24468 don't have any, set the fixed caps on outgoing buffers.
24470 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
24471 * check/elements/identity.c: (GST_START_TEST):
24472 Make the error a little clearer when the test fails because
24473 identity made a copy of the buffer.
24474 * docs/gst/gstreamer-sections.txt:
24475 New symbols in gstbasetransform.h
24476 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
24477 (gst_base_transform_init), (gst_base_transform_transform_size),
24478 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24479 (gst_base_transform_default_prepare_buf),
24480 (gst_base_transform_get_unit_size),
24481 (gst_base_transform_buffer_alloc),
24482 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
24483 (gst_base_transform_change_state),
24484 (gst_base_transform_set_passthrough),
24485 (gst_base_transform_set_in_place),
24486 (gst_base_transform_is_in_place):
24487 * gst/base/gstbasetransform.h:
24488 Change BaseTransform to separate in_place operate from same_caps
24489 output. in_place implies that the element can perform the transform
24490 on incoming buffers in-place, even if the caps on the output are
24492 Sub-class elements can now implement special buffer allocation
24493 methods for outgoing buffers if they wish to.
24494 Big documentation addition.
24495 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
24496 * gst/elements/gstelements.c:
24497 Changes for basetransform modifications.
24498 * gst/elements/Makefile.am:
24499 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
24500 Compile fix. Extra debug output.
24502 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
24504 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
24506 add tests for valid pad naming
24507 * gst/check/gstcheck.c: (gst_check_log_message_func),
24508 (gst_check_log_critical_func):
24510 remove printing of code, it is fragile when the code contains
24511 % and the line number is enough info
24512 * gst/check/gstcheck.h:
24513 * gst/gstpad.c: (gst_pad_template_new):
24516 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
24519 say what CHECK flags we use
24520 * docs/libs/gstreamer-libs.types:
24521 * libs/gst/controller/Makefile.am:
24522 * libs/gst/controller/gst-controller.c:
24523 * libs/gst/controller/gst-controller.h:
24524 * libs/gst/controller/gst-helper.c:
24525 * libs/gst/controller/gst-interpolation.c:
24526 * libs/gst/controller/gstcontroller.c:
24527 * libs/gst/controller/gsthelper.c:
24528 * libs/gst/controller/gstinterpolation.c:
24529 * tools/gst-inspect.c: (print_plugin_info):
24530 we don't use dashes in header names
24532 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
24534 * check/Makefile.am:
24535 * check/gst/.cvsignore:
24536 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
24537 (gst_pipeline_suite), (main):
24538 adding a test for pipelines and state changes
24539 * gst/gstutils.c: (get_state_func):
24541 * gstreamer.spec.in:
24544 2005-09-08 Michael Smith <msmith@fluendo.com>
24546 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
24547 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
24548 (gst_file_src_is_seekable), (gst_file_src_get_size),
24549 (gst_file_src_start):
24550 * gst/elements/gstfilesrc.h:
24551 Various fixes for unseekable, unmmapable, and non-normal files, so
24552 that fallback to read() rather than mmap() works.
24553 * gst/gstevent.c: (gst_event_new_newsegment):
24554 Allow newsegment events with segment_start == segment_end, as will
24555 correctly happen if you use filesrc on a zero-size file, for
24558 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
24560 * gst/gstplugin.c: (gst_plugin_load_file):
24561 Call g_module_close when we don't load the module
24563 * gst/registries/gstlibxmlregistry.c:
24564 (gst_xml_registry_get_property):
24565 Port leak fix from 0.8
24567 2005-09-07 Stefan Kost <ensonic@users.sf.net>
24569 * docs/gst/gstreamer-docs.sgml:
24570 * docs/gst/tmpl/.cvsignore:
24571 * docs/gst/tmpl/gsttrace.sgml:
24572 * docs/gst/tmpl/gsttrashstack.sgml:
24575 * gst/gstelement.h:
24577 * gst/gstmessage.c:
24578 * gst/gstmessage.h:
24581 * gst/gsttaginterface.c:
24582 * gst/gsttaginterface.h:
24583 * gst/gsttaglist.c:
24584 * gst/gsttaglist.h:
24585 * gst/gsttagsetter.c:
24586 * gst/gsttagsetter.h:
24589 * gst/gsttrashstack.c:
24590 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
24591 inlined docs for gsttrace, gsttrashstack
24593 2005-09-07 Stefan Kost <ensonic@users.sf.net>
24596 * gst/elements/gstbufferstore.h:
24597 * gst/elements/gsttypefindelement.c:
24598 * gst/elements/gsttypefindelement.h:
24600 * gst/gsttypefind.c:
24601 * gst/gsttypefind.h:
24602 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
24603 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
24604 (gst_type_find_factory_dispose),
24605 (gst_type_find_factory_unload_thyself),
24606 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
24607 (gst_type_find_factory_get_caps),
24608 (gst_type_find_factory_get_extensions),
24609 (gst_type_find_factory_call_function):
24610 * gst/gsttypefindfactory.h:
24611 * gst/registries/gstlibxmlregistry.c:
24612 * gst/registries/gstxmlregistry.c:
24613 splitted gsttypefind into gsttypefind, gsttypefindfactory
24615 2005-09-07 Andy Wingo <wingo@pobox.com>
24617 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
24618 condition whereby the pad's task function is entered before the
24619 pad_mode variable was set.
24621 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
24623 * gst/gstpad.c: (gst_pad_alloc_buffer):
24624 Catch misbehaving pad_alloc functions that don't
24625 set up caps and do it for them.
24627 2005-09-07 Stefan Kost <ensonic@users.sf.net>
24629 * check/pipelines/simple_launch_lines.c: (run_pipeline):
24630 test for pipe!=NULL
24631 * docs/gst/tmpl/.cvsignore:
24632 * docs/gst/tmpl/gstmemchunk.sgml:
24633 * docs/gst/tmpl/gstparse.sgml:
24634 * docs/gst/tmpl/gsttaglist.sgml:
24635 * docs/gst/tmpl/gsttagsetter.sgml:
24636 * docs/gst/tmpl/gsttypefind.sgml:
24637 * docs/gst/tmpl/gsttypefindfactory.sgml:
24638 * gst/gstmemchunk.c:
24641 * gst/gsttaginterface.c:
24642 * gst/gsttypefind.c:
24643 * gst/gsttypefind.h:
24646 === release 0.9.2 ===
24648 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
24653 releasing 0.9.2, "South"
24655 2005-09-05 Andy Wingo <wingo@pobox.com>
24657 * gst/registries/gstxmlregistry.h:
24658 * gst/registries/gstxmlregistry.c: Um... resurrect...
24660 * gst/registries/gstxmlregistry.h:
24661 * gst/registries/gstxmlregistry.c: and update to newer API.
24662 Incidentally they should be a bit faster now that they don't have
24665 2005-09-05 Andy Wingo <wingo@pobox.com>
24667 * gst/registries/gstxmlregistry.h:
24668 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
24669 replaced by the libxml registry a while back
24671 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
24673 * docs/gst/tmpl/gstplugin.sgml:
24674 * gst/elements/gstelements.c:
24676 * gst/gstplugin.c: (gst_plugin_register_func),
24677 (gst_plugin_desc_copy), (gst_plugin_desc_free),
24678 (gst_plugin_get_source):
24680 * gst/registries/gstlibxmlregistry.c: (load_plugin),
24681 (gst_xml_registry_save_plugin):
24682 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
24683 (gst_xml_registry_save_plugin):
24684 * tools/gst-inspect.c: (print_plugin_info):
24685 add a "source" plugin description field, to represent the source
24686 module this plugin is a part of. By default GST_PLUGIN_DEFINE
24687 will set it to PACKAGE, which is automake's idea of the name of
24688 the source project.
24690 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
24695 * docs/Makefile.am:
24696 * docs/faq/Makefile.am:
24697 * docs/gst/tmpl/gstelement.sgml:
24698 * docs/gst/tmpl/gsttypes.sgml:
24699 * docs/htmlinstall.mak:
24700 * docs/manual/Makefile.am:
24701 * docs/pwg/Makefile.am:
24702 reorganize doc build a little
24703 split out docbook and gtk-doc stuff
24704 have two separate --enable's and enable them through autogen
24705 but disable by default in configure (to be similar to other
24707 * gstreamer.spec.in:
24708 clean up docs install
24726 translation updates
24728 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
24730 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
24733 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24734 (gst_fake_sink_change_state):
24735 Make state change function thread-safe.
24737 * gst/gstpad.c: (gst_pad_alloc_buffer):
24738 Set offset on generic buffer allocated by fallback.
24740 2005-09-03 Stefan Kost <ensonic@users.sf.net>
24742 * docs/gst/gstreamer-sections.txt:
24743 * docs/gst/tmpl/gstelement.sgml:
24745 * libs/gst/controller/gst-controller.c:
24746 (gst_controlled_property_set_interpolation_mode),
24747 (gst_controlled_property_new),
24748 (gst_controller_find_controlled_property):
24749 run the wingo-magic script against the docs
24751 2005-09-02 Stefan Kost <ensonic@users.sf.net>
24753 * docs/gst/gstreamer-docs.sgml:
24754 * docs/gst/gstreamer-sections.txt:
24755 * docs/gst/tmpl/.cvsignore:
24756 * docs/gst/tmpl/gstelementdetails.sgml:
24757 * docs/gst/tmpl/gstelementfactory.sgml:
24760 * gst/gstelementfactory.c:
24761 * gst/gstelementfactory.h:
24762 merged elementdetails docs into elementfactory docs
24765 2005-09-02 Andy Wingo <wingo@pobox.com>
24767 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
24768 consider this enum an enum and not a flags.
24770 2005-09-02 Stefan Kost <ensonic@users.sf.net>
24772 * docs/gst/gstreamer-docs.sgml:
24773 * docs/gst/tmpl/.cvsignore:
24774 * docs/gst/tmpl/gstghostpad.sgml:
24775 * docs/gst/tmpl/gstiterator.sgml:
24776 * docs/gst/tmpl/gstmacros.sgml:
24777 * docs/gst/tmpl/gstrealpad.sgml:
24778 * docs/gst/tmpl/gstregistry.sgml:
24779 * docs/gst/tmpl/gstregistrypool.sgml:
24780 * docs/gst/tmpl/gststructure.sgml:
24781 * docs/gst/tmpl/gstsystemclock.sgml:
24782 * docs/gst/tmpl/gsttrace.sgml:
24783 * gst/gstghostpad.c:
24785 * gst/gstmemchunk.c:
24786 * gst/gstmemchunk.h:
24788 * gst/gstregistry.c:
24789 * gst/gstregistrypool.c:
24790 * gst/gststructure.c:
24791 * gst/gstsystemclock.c:
24794 2005-09-02 Andy Wingo <wingo@pobox.com>
24796 * gst/gstelement.h (GstState): Renamed from GstElementState,
24797 changed to be a normal enum instead of flags.
24798 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
24799 munged to be GST_STATE_CHANGE_*.
24800 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
24801 work with the new state representation.
24802 (GstStateChange): New enumeration of possible state transitions.
24803 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
24804 (GstElementClass::change_state): Pass the GstStateChange along as
24805 an argument. Helps language bindings, so they don't have to use
24806 tricky lock-needing macros like GST_STATE_CHANGE ().
24808 * scripts/update-states (file): New script. Run it on a file to
24809 update it for state naming and API changes. Updates files in
24812 * All files updated for the new API.
24814 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
24816 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
24817 * gst/gstutils.c: (gst_util_set_value_from_string),
24818 (gst_util_set_object_arg):
24819 fix a bunch of unchecked return values
24820 * tools/gst-complete.c: (main):
24821 * gstreamer.spec.in:
24824 2005-09-01 Wim Taymans <wim@fluendo.com>
24826 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24827 (gst_base_sink_event), (gst_base_sink_do_sync),
24828 (gst_base_sink_handle_event):
24829 * gst/base/gstbasesink.h:
24830 Handle newsegments more correctly.
24835 * gst/gstevent.c: (gst_event_new_newsegment):
24836 A newsegment cannot have a start_time of -1
24838 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
24840 * win32/gstenumtypes.c:
24841 * win32/gstenumtypes.h:
24844 2005-08-31 Stefan Kost <ensonic@users.sf.net>
24846 * libs/gst/controller/gst-controller.c:
24847 (gst_controlled_property_set_interpolation_mode),
24848 (gst_controlled_property_new):
24849 fixed boolean again
24851 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
24853 * docs/faq/gst-uninstalled:
24858 * gst/gstutils.c: (gst_element_link_filtered):
24860 add gst_element_link_filtered
24862 2005-08-31 Stefan Kost <ensonic@users.sf.net>
24864 * docs/gst/gstreamer-docs.sgml:
24865 * docs/gst/gstreamer-sections.txt:
24866 * docs/gst/tmpl/.cvsignore:
24867 * docs/gst/tmpl/gsterror.sgml:
24868 * docs/gst/tmpl/gstfilter.sgml:
24869 * docs/gst/tmpl/gsturihandler.sgml:
24870 * docs/gst/tmpl/gsturitype.sgml:
24871 * docs/gst/tmpl/gstutils.sgml:
24872 * docs/gst/tmpl/gstxml.sgml:
24877 * gst/gsturitype.c:
24880 inlined more docs, fixed double id-ref
24882 2005-08-31 Wim Taymans <wim@fluendo.com>
24884 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24885 (gst_base_transform_handle_buffer):
24886 Passthrough elements don't need the caps as they don't care.
24888 2005-08-31 Wim Taymans <wim@fluendo.com>
24890 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24891 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
24892 Don't leak refcounts on buffers.
24894 2005-08-31 Wim Taymans <wim@fluendo.com>
24896 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
24897 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
24898 (gst_base_transform_chain), (gst_base_transform_change_state):
24899 * gst/base/gstbasetransform.h:
24900 Handle the case where we are not negotiated more gracefully.
24902 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
24904 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
24905 (gst_file_src_map_region):
24906 Set READONLY flag on mmap'ed buffers, otherwise
24907 gst_buffer_make_writable() won't work properly (#314708).
24909 2005-08-31 Wim Taymans <wim@fluendo.com>
24911 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
24912 passthrough elements can even do inplace on non writable
24913 buffers (as they don't touch them).
24915 2005-08-31 Stefan Kost <ensonic@users.sf.net>
24917 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
24918 (gst_test_mono_source_set_property),
24919 (gst_test_mono_source_class_init), (GST_START_TEST),
24920 (gst_controller_suite):
24921 more tests (hehe I have the most)
24923 describe popping messages whenusing mulltiple sources
24924 * libs/gst/controller/gst-controller.c:
24925 (gst_controlled_property_set_interpolation_mode),
24926 (gst_controlled_property_new):
24927 * libs/gst/controller/gst-controller.h:
24928 * libs/gst/controller/gst-interpolation.c:
24929 implement boolean properties
24931 2005-08-31 Wim Taymans <wim@fluendo.com>
24933 * gst/gstminiobject.c: (gst_mini_object_ref):
24934 Cannot assert that the refcount has to be positive
24935 since a disposed object can be resurrected.
24937 2005-08-31 Wim Taymans <wim@fluendo.com>
24939 * gst/gstpad.c: (gst_pad_init):
24940 Revert change, need to first fix badly behaving
24943 2005-08-30 Wim Taymans <wim@fluendo.com>
24945 * check/elements/fakesrc.c: (setup_fakesrc):
24946 * check/elements/identity.c: (setup_identity):
24947 Activate pads before using them.
24949 2005-08-30 Wim Taymans <wim@fluendo.com>
24951 * gst/base/gstadapter.c: (gst_adapter_flush):
24952 Flushing out 0 bytes is ok for this function.
24954 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24955 no newsegment gives a warning and sets the start/stop to
24958 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
24959 (gst_base_transform_set_passthrough):
24962 * gst/gstminiobject.c: (gst_mini_object_ref):
24963 Check refcount here too.
24965 * gst/gstpad.c: (gst_pad_init):
24966 Pads are initially flushing and refusing data.
24968 * gst/gstutils.c: (gst_element_link_pads_filtered):
24969 When adding a capsfilter element make sure it has the
24970 same state as the parent bin.
24972 2005-08-30 Stefan Kost <ensonic@users.sf.net>
24974 * docs/gst/tmpl/.cvsignore:
24975 * docs/gst/tmpl/gstformat.sgml:
24976 * docs/gst/tmpl/gstversion.sgml:
24980 * gst/gstversion.h.in:
24981 more docs and two more inlined
24983 2005-08-30 Wim Taymans <wim@fluendo.com>
24985 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
24986 Don't sync to clock.
24988 2005-08-30 Stefan Kost <ensonic@users.sf.net>
24990 * docs/gst/gstreamer-sections.txt:
24991 ultral33t func10ns deserve to appear in the docs actually
24992 * docs/gst/tmpl/.cvsignore:
24993 * docs/gst/tmpl/gstcompat.sgml:
24994 * docs/gst/tmpl/gstconfig.sgml:
24995 * gst/check/gstcheck.c:
24997 * gst/gstconfig.h.in:
25000 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25002 * docs/gst/tmpl/.cvsignore:
25003 * docs/gst/tmpl/gstquery.sgml:
25004 * docs/gst/tmpl/gstutils.sgml:
25007 inlined and extended docs
25009 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25011 * check/gst-libs/controller.c: (GST_START_TEST),
25012 (gst_controller_suite):
25014 * docs/gst/tmpl/gstutils.sgml:
25015 * docs/libs/gstreamer-libs-sections.txt:
25016 * docs/libs/tmpl/gstdataprotocol.sgml:
25018 * examples/controller/audio-example.c: (main):
25019 controller example works now
25022 * tools/gst-inspect.c: (print_element_properties_info):
25023 show param spec flags
25025 2005-08-29 Andy Wingo <wingo@pobox.com>
25027 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25029 2005-08-28 Andy Wingo <wingo@pobox.com>
25031 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25032 as having two arguments instead of just one. Allows superclasses
25033 to access information on subclasses -- see the terrible for() loop
25034 in gtype.c:g_type_create_instance for the reason why. All callers
25037 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25039 * docs/design/part-messages.txt:
25041 * docs/gst/tmpl/.cvsignore:
25042 * docs/gst/tmpl/gstcaps.sgml:
25043 * docs/gst/tmpl/gstclock.sgml:
25049 * gst/gstmessage.c:
25050 added descriptions for bus and message
25051 inline caps and clock docs
25053 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25055 * gst/gstmessage.c:
25056 * gst/gstmessage.h:
25059 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25061 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25064 2005-08-26 Andy Wingo <wingo@pobox.com>
25066 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25067 element_set_state's return val.
25068 (test_2_elements): Add test that's been disabled for months.
25070 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25071 can-activate-pull properties.
25073 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25074 can-activate-pull properties. Implement is_seekable so fakesrc can
25075 operate in pull mode.
25077 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25079 (gst_base_sink_activate, gst_base_sink_activate_pull)
25080 (gst_base_sink_activate_push): Make activation mode choosing work.
25082 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25083 is right. Make pull mode work. Post an eos before pausing in pull
25085 (gst_base_sink_change_state): Pay attention to the core's
25086 change_state() return val.
25088 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
25089 has-getrange properties. Cleanups.
25091 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
25092 has_getrange and replace with can_activate_pull and
25095 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
25096 locking comments. Remove has_loop, has_chain and replace with
25097 can_activate_pull and can_activate_push.
25099 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
25102 * examples/Makefile.am:
25103 * examples/metadata/Makefile.am:
25104 * examples/metadata/read-metadata.c: (message_loop),
25105 (have_pad_handler), (make_pipeline), (print_tag), (main):
25106 Add metadata reading example that loops over a list of filenames,
25107 dumping any tags found.
25109 * gst/gstbus.c: (gst_bus_dispose):
25110 * gst/gstelement.c: (gst_element_dispose):
25111 Release a few potentially-held references in dispose.
25113 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25115 * docs/gst/tmpl/gstminiobject.sgml:
25116 do *not* add tmpl/*.sgml files to CVS!
25118 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25120 * libs/gst/bytestream/.cvsignore:
25121 * libs/gst/bytestream/Makefile.am:
25122 * libs/gst/bytestream/adapter.c:
25123 * libs/gst/bytestream/adapter.h:
25124 * libs/gst/bytestream/bytestream.c:
25125 * libs/gst/bytestream/bytestream.h:
25126 * libs/gst/bytestream/filepad.c:
25127 * libs/gst/bytestream/filepad.h:
25128 removing obsolete files
25130 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25132 * docs/gst/gstreamer-docs.sgml:
25133 * docs/libs/gstreamer-libs-docs.sgml:
25134 disabed additional index entries again, as this makes docs-gen just
25135 slow and they aren't useful yet
25136 * docs/libs/gstreamer-libs-sections.txt:
25137 little -section.txt cleanup for libs
25139 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
25141 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25142 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
25143 fix up some debugging
25144 (gst_base_transform_get_unit_size),
25145 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25146 (gst_base_transform_handle_buffer):
25147 * gst/base/gstbasetransform.h:
25148 handle and store timed NEWSEGMENT events so that subclasses that
25149 calculate time by counting samples have a segment_start time they
25150 need to add to their timestamps - see audioresample
25152 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25155 removed ';' from the end of macro defs
25156 * docs/gst/gstreamer-docs.sgml:
25157 * docs/gst/gstreamer-sections.txt:
25158 * docs/gst/tmpl/.cvsignore:
25160 * gst/gstelement.c: (gst_element_class_init),
25161 (gst_element_set_state), (activate_pads),
25162 (gst_element_save_thyself):
25163 * gst/gstevent.c: (gst_event_new_newsegment):
25165 * gst/gstiterator.c:
25166 * gst/gstiterator.h:
25169 * gst/gstutils.c: (gst_pad_query_convert):
25171 fixed parameter name mismatches between source, header and docs
25172 added some more docs, resolved the last batch of unused elements in
25173 docs (now someone needs to doc them)
25175 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
25177 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
25178 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
25179 don't walk through the plugins backwards. Where is all this
25180 reversed logic coming from ?
25182 2005-08-25 Wim Taymans <wim@fluendo.com>
25184 * gst/base/gstbasetransform.c: (gst_base_transform_init),
25185 (gst_base_transform_transform_size),
25186 (gst_base_transform_configure_caps),
25187 (gst_base_transform_get_unit_size),
25188 (gst_base_transform_buffer_alloc),
25189 (gst_base_transform_change_state):
25190 * gst/base/gstbasetransform.h:
25191 Cache caps unit_size.
25192 Make sure we cannot negotiate up and downstream at the
25195 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
25197 * gst/gst.c: (init_pre), (init_post):
25198 register the installed plugin path after the env var
25199 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
25200 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
25201 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
25202 directories, so the tests can prefer uninstalled over installed
25204 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
25206 * gst/base/gstbasetransform.h:
25211 2005-08-25 Wim Taymans <wim@fluendo.com>
25213 * gst/gstbin.c: (bin_bus_handler):
25214 Be a bit more conservative about the posted message.
25216 * gst/gstbus.c: (gst_bus_post):
25217 Some cleanups, warn wrong return values.
25219 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
25221 * check/gst/gstbin.c: (GST_START_TEST):
25222 * gst/gstbin.c: (bin_bus_handler):
25223 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
25224 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
25225 (gst_message_new_warning), (gst_message_new_tag),
25226 (gst_message_new_state_changed), (gst_message_new_segment_start),
25227 (gst_message_new_segment_done), (gst_message_new_custom):
25228 * gst/gstmessage.h:
25229 * tools/gst-launch.c: (event_loop):
25230 * tools/gst-md5sum.c: (event_loop):
25231 Revert unpopular change for GST_MESSAGE_SRC to GObject.
25233 2005-08-25 Wim Taymans <wim@fluendo.com>
25235 * check/generic/states.c: (GST_START_TEST):
25236 Cleanup can be done at the end.
25238 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
25239 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25240 (gst_task_get_state), (gst_task_start), (gst_task_pause):
25241 Oh boy.. Thanks for finding this, Thomas.
25243 2005-08-25 Stefan Kost <ensonic@users.sf.net>
25245 * docs/gst/gstreamer.types:
25246 added missing types
25248 2005-08-25 Stefan Kost <ensonic@users.sf.net>
25250 * docs/gst/gstreamer-docs.sgml:
25251 * docs/gst/gstreamer-sections.txt:
25252 * docs/gst/tmpl/.cvsignore:
25254 * gst/gstiterator.c:
25256 * gst/registries/gstxmlregistry.h:
25257 added missing classes and symbols (123 more to go)
25258 removed removed symbols from section file
25259 fixed many doc-comments
25261 2005-08-24 Wim Taymans <wim@fluendo.com>
25263 * check/generic/states.c: (GST_START_TEST):
25264 Make sure all tasks are stopped.
25266 * check/gst/gstbin.c: (GST_START_TEST):
25267 Unref after usage for proper valgrinding.
25269 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
25270 Really wait for the task to stop before destroying the
25273 * gst/gstqueue.c: (gst_queue_sink_activate_push),
25274 (gst_queue_src_activate_push):
25275 Small cleanups. Don't stop the task when we did not start
25278 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
25279 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25280 (gst_task_get_state), (gst_task_start), (gst_task_pause),
25283 Protect the stream lock with the object lock.
25284 Disallow setting the stream lock when running.
25285 Add cleanup_all to wait for the threadpool to finish.
25286 Remove code to autoallocate a mutex if none was provided.
25287 Add _join() to wait for a task to stop.
25288 Protect the thread pool with a global lock.
25290 2005-08-24 Wim Taymans <wim@fluendo.com>
25292 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25293 (gst_base_sink_get_times), (gst_base_sink_do_sync),
25294 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
25295 * gst/base/gstbasesink.h:
25296 Handle newsegment events correctly.
25297 Drop buffers out of the segment range.
25299 2005-08-22 Andy Wingo <wingo@pobox.com>
25301 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
25302 macro, implements an interface and gstimplementsinterface for a
25305 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
25307 * check/Makefile.am:
25308 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
25309 add a test that does a bunch of state changes on elements
25310 needs some fixing for valgrind
25311 * check/states/sinks.c: (gst_object_suite):
25314 add prototype for gst_caps_is_equal_fixed
25316 * gst/gstregistrypool.c:
25319 2005-08-24 Andy Wingo <wingo@pobox.com>
25321 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
25322 convert a negative value. Doesn't make much sense. Mostly this is
25323 here to force callers to ensure -1 maps to -1.
25325 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
25327 * docs/pwg/advanced-types.xml:
25328 Well done to Michael for catching my deliberate introduction
25329 of this spelling mistake.
25330 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
25331 * gst/gstelement.h:
25332 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
25333 unlink pads before removing the element from the bin.
25335 2005-08-24 Andy Wingo <wingo@pobox.com>
25337 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
25338 the same thing as GST_DEBUG=*:4.
25339 (parse_debug_level, parse_debug_category): New helper parsers.
25341 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
25343 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25344 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
25345 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
25346 (gst_base_transform_buffer_alloc),
25347 (gst_base_transform_handle_buffer):
25348 use gboolean return values and pointers to size so we can use the
25349 full GST_BUFFER_SIZE range (guint) for buffer sizes
25350 use GstPadDirection for transform_caps
25351 * gst/base/gstbasetransform.h:
25352 rename get_size to get_unit_size since that's what it is
25353 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
25354 use GstPadDirection for transform_caps
25355 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25357 cleanup and debugging
25359 2005-08-24 Stefan Kost <ensonic@users.sf.net>
25361 * gst/gstelement.c: (gst_element_class_init),
25362 (gst_element_set_state), (activate_pads),
25363 (gst_element_save_thyself):
25364 * tools/gst-compprep.c: (main):
25365 * tools/gst-inspect.c: (print_element_properties_info):
25366 * tools/gst-xmlinspect.c: (print_element_properties):
25367 Fixed long standing mem-leak
25369 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
25371 * check/gst/gstbin.c: (GST_START_TEST):
25372 * gst/gstbin.c: (bin_bus_handler):
25373 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
25374 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
25375 (gst_message_new_warning), (gst_message_new_tag),
25376 (gst_message_new_state_changed), (gst_message_new_segment_start),
25377 (gst_message_new_segment_done), (gst_message_new_custom):
25378 * gst/gstmessage.h:
25379 * tools/gst-launch.c: (event_loop):
25380 * tools/gst-md5sum.c: (event_loop):
25381 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
25382 that applications can sensibly post custom messages with references
25383 to their own objects.
25385 2005-08-24 Andy Wingo <wingo@pobox.com>
25387 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
25390 2005-08-24 Wim Taymans <wim@fluendo.com>
25392 * gst/base/gstbasetransform.c: (gst_base_transform_init),
25393 (gst_base_transform_transform_caps),
25394 (gst_base_transform_transform_size),
25395 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25396 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25397 (gst_base_transform_handle_buffer):
25398 * gst/base/gstbasetransform.h:
25399 Many fixes and new features added by Thomas. Can now also do
25400 transforms with variable sizes and a custom fixate_caps function.
25402 2005-08-24 Wim Taymans <wim@fluendo.com>
25404 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25408 Cast to ClockTime before formatting to time.
25413 2005-08-24 Stefan Kost <ensonic@users.sf.net>
25415 * check/gst-libs/controller.c: (GST_START_TEST),
25416 (gst_controller_suite):
25417 * docs/gst/tmpl/gstcaps.sgml:
25418 * docs/gst/tmpl/gstghostpad.sgml:
25419 * docs/gst/tmpl/gstquery.sgml:
25420 * docs/gst/tmpl/gstutils.sgml:
25421 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
25422 (gst_object_sink_values), (gst_object_get_value_arrays),
25423 (gst_object_get_value_array):
25424 gracefully handle helper method calls to objects that are not beeing
25425 controlled, added test case for that
25427 2005-08-23 Wim Taymans <wim@fluendo.com>
25429 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
25430 (gst_event_new_newsegment), (gst_event_parse_newsegment),
25431 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
25432 (gst_event_parse_qos), (gst_event_new_seek),
25433 (gst_event_parse_seek):
25435 Some more debugging output and doc cleanups.
25437 * gst/gstqueue.c: (gst_queue_handle_sink_event):
25438 Fix possible deadlock.
25440 2005-08-23 Stefan Kost <ensonic@users.sf.net>
25442 * docs/gst/gstreamer-docs.sgml:
25443 * docs/gst/gstreamer-sections.txt:
25444 * docs/gst/gstreamer.types:
25445 * docs/gst/tmpl/.cvsignore:
25448 * gst/gstelement.c:
25450 added 100 symbols from gstreamer-unused.txt to the right sections
25451 fixed more broken comments
25452 added GstBus to docs
25454 2005-08-23 Stefan Kost <ensonic@users.sf.net>
25456 * docs/gst/gstreamer-sections.txt:
25457 * docs/gst/tmpl/.cvsignore:
25458 * docs/gst/tmpl/gstbin.sgml:
25459 * docs/gst/tmpl/gstbuffer.sgml:
25460 * gst/base/gstbasesrc.c:
25461 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
25464 * tools/gst-launch.1.in:
25465 inlined more doc comments, added missing comments and fixed comments
25468 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
25470 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25474 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
25476 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
25477 * gst/gststructure.h:
25478 add a fixate function for booleans; add a FIXME that these func
25479 names should probably be gst_structure_fixate_*
25481 2005-08-23 Stefan Kost <ensonic@users.sf.net>
25483 * docs/gst/gstreamer-docs.sgml:
25484 * docs/gst/gstreamer-sections.txt:
25486 * gst/gstbin.c: (gst_bin_get_type),
25487 (gst_bin_child_proxy_get_child_by_index),
25488 (gst_bin_child_proxy_get_children_count),
25489 (gst_bin_child_proxy_init):
25490 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
25491 (gst_child_proxy_get_child_by_index),
25492 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
25493 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
25494 (gst_child_proxy_get), (gst_child_proxy_set_property),
25495 (gst_child_proxy_set_valist), (gst_child_proxy_set),
25496 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
25497 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
25498 * gst/gstchildproxy.h:
25499 * gst/parse/grammar.y:
25500 * tools/gst-inspect.c: (print_interfaces),
25501 (print_element_properties_info), (print_element_info):
25502 ported gstchildproxy over from 0.8
25503 ported gst-inspect fixes and enhancements over from 0.8
25505 2005-08-22 Wim Taymans <wim@fluendo.com>
25507 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25508 (gst_base_transform_handle_buffer):
25509 Also call the transform function if we have ANY caps.
25511 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
25514 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
25516 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
25517 Don't pretend to handle seek events if the source is not seekable
25519 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
25521 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25522 Remove extra parameter to debug output
25524 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25525 (gst_base_src_do_seek), (gst_base_src_activate_push):
25526 Fix seek event handling.
25528 * gst/gstpipeline.c: (gst_pipeline_change_state):
25529 * gst/gstqueue.c: (gst_queue_handle_sink_event),
25530 (gst_queue_src_activate_push):
25531 Don't start the src pad task on FLUSH_STOP if the pad
25535 2005-08-22 Wim Taymans <wim@fluendo.com>
25537 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
25538 Added check for gst_static_caps_get() refcounting.
25540 2005-08-22 Wim Taymans <wim@fluendo.com>
25542 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
25543 Make _static_caps_get() refcounting sane.
25545 * gst/gstelement.c: (gst_element_set_state):
25546 Add g_return_val_if_fail() to protect against segfaults.
25548 2005-08-22 Stefan Kost <ensonic@users.sf.net>
25550 * docs/gst/tmpl/gstevent.sgml:
25553 inlined remaining docs, added missing doc comments
25555 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
25557 * check/gst/gstbin.c: (GST_START_TEST):
25558 since we don't know when preroll is done, use refcount range
25560 * gst/check/gstcheck.h:
25561 add macro for checking refcount range
25563 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
25565 * check/Makefile.am:
25566 clean up environment for when registry gets built versus
25567 when actual tests are run; valgrind seems to not report
25568 leaks if GST_PLUGIN_PATH is set to some specific values
25569 * check/gst/gstbin.c: (GST_START_TEST):
25570 add more refcounting checks; maybe this exposes a
25572 * common/check.mak:
25573 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25574 * gst/check/gstcheck.h:
25575 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
25576 (gst_bin_change_state):
25577 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
25578 add/fix debugging/whitespace
25580 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
25582 * check/gst/gstevent.c: (event_probe), (test_event),
25584 Er, don't call gst_bin_watch_for_state_change you idiot.
25586 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
25588 * check/Makefile.am:
25589 Use CHECK_CFLAGS and CHECK_LIBS
25590 * check/gst/gstevent.c: (event_probe), (test_event),
25593 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25594 (gst_base_src_start), (gst_base_src_stop),
25595 (gst_base_src_activate_push), (gst_base_src_activate_pull),
25596 (gst_base_src_change_state):
25597 Sprinkle gst_base_src_stop liberally around error paths to fix
25598 problems reusing a source after failed state changes.
25599 * gst/base/gsttypefindhelper.c: (helper_find_peek),
25600 (helper_find_suggest), (gst_type_find_helper):
25601 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
25603 * docs/gst/tmpl/gstevent.sgml:
25604 Migrate part of the docs from the SGML file. Wait for ensonic to
25605 tell me how I did it wrong ;)
25606 * tools/gst-typefind.c: (main):
25607 Extra robustness to state changes between files.
25609 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
25611 * check/Makefile.am:
25612 don't valgrind the controller test - it's leaking - Stefan, HELP
25613 * gst/check/gstcheck.c: (gst_check_message_error),
25614 (gst_check_chain_func), (gst_check_setup_element),
25615 (gst_check_teardown_element), (gst_check_setup_src_pad),
25616 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
25617 (gst_check_teardown_sink_pad):
25618 * gst/check/gstcheck.h:
25619 add a bunch of methods to set up elements, and src and sink pads
25620 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
25621 * check/elements/identity.c: (setup_identity), (cleanup_identity),
25624 * gst/gstmessage.c:
25626 whitespace/doc fixes
25628 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
25630 * gst/gstelement.h:
25631 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
25632 be handled by the application and not always printed as well
25634 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
25636 * check/Makefile.am:
25638 * gst/check/gstcheck.c: (gst_check_message_error):
25639 * gst/check/gstcheck.h:
25640 add a fail_unless_equals_int
25641 add fail_unless for error messages
25643 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
25645 * check/Makefile.am:
25647 * common/Makefile.am:
25648 * common/check.mak:
25650 factor out some of the common stuff so we can use it
25652 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
25654 * check/Makefile.am:
25655 * check/gst/gstiterator.c: (GST_START_TEST):
25656 * check/gst/gstsystemclock.c: (GST_START_TEST),
25657 (gst_systemclock_suite):
25658 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
25660 valgrind more tests
25662 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
25664 * check/elements/.cvsignore:
25665 * check/elements/gstfakesrc.c:
25666 rename to name of element
25667 * check/elements/identity.c: (chain_func), (event_func),
25668 (setup_identity), (cleanup_identity), (GST_START_TEST),
25669 (identity_suite), (main):
25670 add a test for identity
25671 * check/Makefile.am:
25672 * pkgconfig/Makefile.am:
25673 * pkgconfig/gstreamer-check.pc.in:
25674 * pkgconfig/gstreamer-check-uninstalled.pc.in:
25678 move the check stuff to a library that gets installed
25679 * check/gst-libs/controller.c: (GST_START_TEST):
25680 * check/gst-libs/gdp.c:
25681 * check/gst/gst.c: (GST_START_TEST):
25682 * check/gst/gstbin.c:
25683 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25684 * check/gst/gstbus.c:
25685 * check/gst/gstcaps.c: (GST_START_TEST):
25686 * check/gst/gstelement.c:
25687 * check/gst/gstghostpad.c:
25688 * check/gst/gstiterator.c:
25689 * check/gst/gstmessage.c:
25690 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
25691 * check/gst/gstobject.c:
25692 * check/gst/gstpad.c: (GST_START_TEST):
25693 * check/gst/gststructure.c: (GST_START_TEST):
25694 * check/gst/gstsystemclock.c: (GST_START_TEST),
25695 (gst_systemclock_suite):
25696 * check/gst/gsttag.c: (gst_tag_suite):
25697 * check/gst/gstvalue.c:
25698 * check/pipelines/cleanup.c:
25699 * check/pipelines/simple_launch_lines.c:
25700 * check/states/sinks.c:
25701 change include statement
25703 * docs/gst/gstreamer-sections.txt:
25704 * docs/gst/tmpl/gstpad.sgml:
25705 document more pad stuff
25706 * gst/gstminiobject.c: (gst_mini_object_ref),
25707 (gst_mini_object_unref):
25710 2005-08-19 Stefan Kost <ensonic@users.sf.net>
25712 * docs/gst/tmpl/gst.sgml:
25714 eliminate another tmpl file, fix spelling in the long-description
25716 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
25718 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25719 (test_event), (timediff), (gstevents_suite):
25720 Should fix build on 64-bit arch's
25722 2005-08-18 Andy Wingo <wingo@pobox.com>
25724 Make sure that when a pipeline goes to PLAYING, that data has
25725 actually hit the sink.
25727 * check/states/sinks.c (test_sink): A sink that doesn't get any
25728 data shouldn't return SUCCESS for going to either PLAYING or
25729 PAUSED. Test also the return values on the way back down.
25731 * gst/gstelement.c (gst_element_set_state): When changing the
25732 state of an element currently changing state asynchronously, go to
25733 lost-state after commiting the pending state. Makes future calls
25734 to get_state continue to return ASYNC.
25736 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
25737 ASYNC when going to PLAYING if we still don't have preroll, as can
25738 happen with live sources.
25740 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
25742 * docs/pwg/advanced-types.xml:
25743 Hack long paragraph into 2 chunks as a workaround for buggy
25744 jadetex version in sid and breezy that loops infinitely and
25747 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
25749 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25750 (test_event), (timediff), (gstevents_suite):
25751 Provide more error margin in clock measurements to allow for
25752 g_get_current_time inaccuracies.
25754 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
25756 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25757 (test_event), (timediff), (gstevents_suite):
25758 Fix error message output so I might be able to tell why the
25759 test works here but fails on the build farm.
25761 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
25763 * check/Makefile.am:
25764 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25765 (test_event), (timediff), (gstevents_suite), (main):
25768 * docs/design/part-seeking.txt:
25769 Spelling correction
25771 * docs/gst/tmpl/gstevent.sgml:
25772 * docs/gst/tmpl/gstfakesrc.sgml:
25775 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25776 Treat a buffer-without-newsegment the same as a receiving
25777 a newsegment not in time format, and disable syncing to the clock
25780 * gst/gstbus.c: (gst_bus_set_sync_handler):
25781 Assert if anyone tries to replace the existing sync_handler for bus,
25782 as only the owner should be setting it.
25785 Have a fixed set of custom event enums with events identified by
25786 their structure name (as in 0.8), rather than a free-for-all
25787 allowing collisions between enum values from different plugins.
25789 * gst/gstpad.c: (gst_pad_class_init):
25792 * gst/gstqueue.c: (gst_queue_handle_sink_event):
25793 Handle out-of-band downstream events from the sending thread.
25795 2005-08-17 Andy Wingo <wingo@pobox.com>
25797 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
25798 play-timeout==0 to mean no timeout at all. In that case, don't
25799 bother with a get_state or a warning, just return directly, even
25802 * gst/base/gstbasetransform.c: Debug changes.
25805 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
25806 ensure bins post state change messages. A bit of a hack but I can't
25807 think of a way to avoid it.
25809 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
25811 2005-08-16 Andy Wingo <wingo@pobox.com>
25813 * gst/base/gstadapter.h:
25814 * gst/base/gstadapter.c (gst_adapter_take): New function, like
25815 peek() but you own the data. Not terribly efficient atm.
25817 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25819 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
25820 (gst_element_found_tags):
25822 Add two utility functions for tag handling.
25824 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25826 * docs/manual/advanced-dataaccess.xml:
25827 * docs/manual/basics-helloworld.xml:
25828 Fix docs to use _bin_add() before _link(), which fixes the examples
25829 with recent core versions (reported by Madhan Raj M
25830 <raj_madan@rediffmail.com>, #313199).
25832 2005-08-16 Wim Taymans <wim@fluendo.com>
25834 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
25835 Added subtract checks.
25837 * docs/design/part-events.txt:
25838 Some more docs about newsegment
25840 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
25843 * gst/gstcaps.c: (gst_caps_to_string):
25844 Add comments, cleanups.
25846 * gst/gstelement.c: (gst_element_save_thyself):
25849 * gst/gstvalue.c: (gst_value_collect_int_range),
25850 (gst_string_unwrap), (gst_value_union_int_int_range),
25851 (gst_value_union_int_range_int_range),
25852 (gst_value_intersect_int_int_range),
25853 (gst_value_intersect_int_range_int_range),
25854 (gst_value_intersect_double_double_range),
25855 (gst_value_intersect_double_range_double_range),
25856 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
25857 (gst_value_subtract_int_range_int),
25858 (gst_value_subtract_double_range_double),
25859 (gst_value_subtract_double_range_double_range),
25860 (gst_value_subtract_from_list), (gst_value_subtract_list),
25861 (gst_value_can_compare), (gst_value_compare_fraction):
25862 Cleanups, add comments, remove unneeded asserts.
25864 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
25866 * tools/gst-launch.c: (event_loop):
25867 don't convert NULL structures to strings
25869 2005-08-15 Stefan Kost <ensonic@users.sf.net>
25871 * docs/gst/gstreamer-sections.txt:
25872 made some defines private
25873 * docs/gst/tmpl/gstconfig.sgml:
25874 * docs/gst/tmpl/gstqueue.sgml:
25875 * docs/gst/tmpl/gsttaglist.sgml:
25876 * docs/gst/tmpl/gsttypes.sgml:
25877 * docs/gst/tmpl/gstutils.sgml:
25878 * docs/pwg/appendix-porting.xml:
25879 * gst/base/gstbasesink.h:
25880 * gst/base/gstbasesrc.c:
25881 * gst/base/gstbasesrc.h:
25882 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
25883 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
25884 * gst/gstelement.c: (gst_element_class_init):
25885 * gst/gstpad.c: (gst_pad_class_init):
25886 * gst/gstqueue.c: (gst_queue_class_init):
25887 * gst/gstxml.c: (gst_xml_class_init):
25888 documented all undocumented signal inline
25889 * libs/gst/controller/gst-controller.h:
25892 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25894 * docs/pwg/appendix-porting.xml:
25895 Document _set_link_function -> _set_setcaps_function.
25897 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
25899 * check/Makefile.am:
25900 add a .check target for running the check
25901 * check/gst-libs/controller.c: (GST_START_TEST):
25903 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25904 complete checks for gstbuffer; would be nice if I could get the
25905 gcov stuff to work so I can see if I actually completed gstbuffer.c
25906 * check/gstcheck.h:
25907 add ASSERT_BUFFER_REFCOUNT
25909 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
25911 * docs/gst/gstreamer-sections.txt:
25912 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
25914 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
25915 spew out a warning if a tag that is already registered
25916 is re-registered, unless it is re-registered with a
25917 different type (#308438).
25919 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
25921 * docs/pwg/appendix-porting.xml:
25922 * docs/pwg/building-state.xml:
25923 Add some paragraphs about state changes in 0.9 to the PWG
25924 and the porting guide, in particular about the new meaning
25925 of GST_STATE_PAUSED and how to write state change functions
25926 with concurrent access by multiple threads in mind.
25928 2005-08-11 Stefan Kost <ensonic@users.sf.net>
25930 * docs/gst/gstreamer-docs.sgml:
25931 * docs/libs/gstreamer-libs-docs.sgml:
25932 added deprecation and since indexes
25933 * libs/gst/controller/gst-controller.c:
25934 * libs/gst/controller/gst-helper.c:
25938 2005-08-11 Wim Taymans <wim@fluendo.com>
25940 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
25941 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
25942 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
25943 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
25944 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
25945 (gst_ghost_pad_set_target):
25946 Actually implement (re)setting the target on a ghostpad
25947 as described in the docs.
25949 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
25951 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
25952 Check whether GST_DEBUG_NO_COLOR environment variable is
25953 set and disable coloured debug output if that is the case.
25955 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
25957 * gst/base/gsttypefindhelper.c: (helper_find_peek),
25958 (gst_type_find_helper):
25959 The memory returned by gst_type_find_peek() needs to
25960 stay valid until the end of a typefind function, and
25961 typefind functions may keep results from different
25962 offsets around, so we can't just unref the buffer from
25963 the previous _peek(), but have to save all buffers
25964 returned by _peek() until typefinding is done and only
25967 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
25969 * docs/gst/gstreamer-sections.txt:
25971 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
25973 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25975 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
25976 Fix a pretty good memleak.
25978 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
25980 * gst/gstiterator.h:
25981 Fix wrong include and 'make distcheck'.
25983 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25985 * gst/gstbin.c: (bin_bus_handler):
25986 Use gst_element_post_message() instead.
25988 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
25990 * gst/base/gstadapter.h:
25991 * gst/base/gstbasesink.h:
25992 * gst/base/gstbasesrc.h:
25993 * gst/base/gstbasetransform.h:
25994 * gst/base/gstcollectpads.h:
25995 * gst/base/gstpushsrc.h:
25996 * gst/gstiterator.h:
25997 Add padding to our base elements' class and instance structs and
25998 to GstIterator (you will need to rebuild all plugins and apps!)
26000 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26002 * gst/gstbin.c: (bin_bus_handler):
26003 Make default message forwarding from child->bus to bin->bus
26004 threadsafe and make it not emit warnings if the parent has no bus.
26006 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26008 * gst/gstelement.c: (activate_pads):
26009 On paused->ready, set pad->caps to NULL, as is the documented
26010 behaviour in this state change. Fixes playback of series of
26011 media files when visualization is enabled in Totem.
26013 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26015 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26016 Allow NULL as filter-caps (which means "any").
26018 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26020 * docs/libs/gstreamer-libs-sections.txt:
26021 * libs/gst/controller/gst-controller.c:
26022 * libs/gst/controller/gst-controller.h:
26023 * libs/gst/controller/gst-helper.c:
26024 adding more entries to the docs and fix small doc-bugs
26026 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26028 * docs/gst/gstreamer-docs.sgml:
26029 * docs/gst/gstreamer-sections.txt:
26030 * docs/gst/gstreamer.types:
26031 * docs/gst/tmpl/gstbasesink.sgml:
26032 * docs/gst/tmpl/gstbasesrc.sgml:
26033 * docs/gst/tmpl/gstbasetransform.sgml:
26034 * docs/gst/tmpl/gstfakesrc.sgml:
26035 * gst/base/gstcollectpads.c:
26036 * gst/base/gstcollectpads.h:
26037 * libs/gst/controller/gst-controller.c:
26038 * libs/gst/controller/gst-controller.h:
26039 * libs/gst/controller/gst-helper.c:
26040 * libs/gst/controller/gst-interpolation.c:
26041 * libs/gst/controller/lib.c:
26042 added long/short desc for controller docs
26043 added collectpads base class docs
26044 added correct includes to base-class docs
26046 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26048 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26049 (gst_test_mono_source_set_property),
26050 (gst_test_mono_source_class_init), (GST_START_TEST),
26051 (gst_controller_suite):
26052 * docs/gst/gstreamer-docs.sgml:
26053 * docs/gst/gstreamer-sections.txt:
26054 * docs/gst/gstreamer.types:
26055 * docs/libs/gstreamer-libs-docs.sgml:
26056 * docs/libs/gstreamer-libs-sections.txt:
26057 * gst/base/gstadapter.c:
26058 * libs/gst/controller/gst-controller.c:
26059 (gst_controlled_property_new), (gst_controlled_property_free),
26060 (gst_controller_new_valist),
26061 (gst_controller_remove_properties_valist),
26062 (gst_controller_sink_values), (_gst_controller_finalize):
26063 * libs/gst/controller/gst-controller.h:
26064 * libs/gst/controller/gst-helper.c:
26065 (gst_object_control_properties), (gst_object_uncontrol_properties),
26066 (gst_object_get_controller), (gst_object_set_controller),
26067 (gst_object_sink_values), (gst_object_get_value_arrays),
26068 (gst_object_get_value_array):
26069 more tests (and fixes) for the controller
26070 more docs for the controller
26071 integrated companies docs for the adapter
26073 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
26075 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26076 (GST_START_TEST), (fakesrc_suite):
26077 add tests for sizetype
26079 2005-08-04 Andy Wingo <wingo@pobox.com>
26081 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26082 fixes buffer_alloc proxying among other things.
26084 * gst/base/gstbasetransform.c:
26085 * gst/base/gstbasetransform.h:
26086 Revert patch to gstbasetransform from 7-28 removing
26089 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
26090 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
26091 Semantics changed, should return not the size of the output buffer
26092 but the byte size of a buffer with a given caps.
26094 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
26096 (gst_base_transform_configure_caps): Don't set out_size here: (in,
26097 out) are not the pad caps until setcaps finishes.
26098 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
26099 not-in-place case as well. Deal with changing from in-place to
26100 not-in-place within calling pad_alloc_buffer. Still a bit
26101 concerned about the overhead here...
26103 2005-08-03 Andy Wingo <wingo@pobox.com>
26105 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
26106 fixating is an error.
26108 2005-08-04 Edward Hervey <edward@fluendo.com>
26110 * gst/base/gstadapter.h:
26111 Added gst_adapter_get_type() to the header
26113 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26115 * check/Makefile.am:
26116 * check/gst-libs/controller.c:
26117 * libs/gst/controller/gst-controller.c:
26118 (gst_controller_new_valist):
26119 added check test suite for the controller
26120 * gst/base/gstpushsrc.c:
26123 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26125 * docs/gst/Makefile.am:
26126 * docs/gst/gstreamer-docs.sgml:
26127 * docs/gst/gstreamer-sections.txt:
26128 * docs/gst/gstreamer.types:
26129 * docs/gst/tmpl/gstfakesrc.sgml:
26131 * gst/base/gstbasesink.c:
26132 * gst/base/gstbasesink.h:
26133 * gst/base/gstbasesrc.c:
26134 * gst/base/gstbasesrc.h:
26135 * gst/base/gstbasetransform.c:
26136 * gst/base/gstpushsrc.c:
26137 * gst/base/gstpushsrc.h:
26138 add short/long description docs to base classes
26139 add pushsrc to the docs
26140 remove consolidated doc fragments
26142 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26145 * docs/libs/Makefile.am:
26146 * docs/libs/gstreamer-libs-docs.sgml:
26147 * docs/libs/gstreamer-libs-sections.txt:
26148 * docs/libs/gstreamer-libs.types:
26149 * examples/Makefile.am:
26150 * examples/controller/.cvsignore:
26151 * examples/controller/Makefile.am:
26152 * examples/controller/audio-example.c: (main):
26153 * libs/gst/Makefile.am:
26154 * libs/gst/controller/.cvsignore:
26155 * libs/gst/controller/Makefile.am:
26156 * libs/gst/controller/gst-controller.c:
26157 (on_object_controlled_property_changed), (gst_timed_value_compare),
26158 (gst_timed_value_find),
26159 (gst_controlled_property_set_interpolation_mode),
26160 (gst_controlled_property_new), (gst_controlled_property_free),
26161 (gst_controller_find_controlled_property),
26162 (gst_controller_new_valist), (gst_controller_new),
26163 (gst_controller_remove_properties_valist),
26164 (gst_controller_remove_properties), (gst_controller_set),
26165 (gst_controller_set_from_list), (gst_controller_unset),
26166 (gst_controller_get), (gst_controller_get_all),
26167 (gst_controller_sink_values), (gst_controller_get_value_arrays),
26168 (gst_controller_get_value_array),
26169 (gst_controller_set_interpolation_mode),
26170 (_gst_controller_finalize), (_gst_controller_init),
26171 (_gst_controller_class_init), (gst_controller_get_type):
26172 * libs/gst/controller/gst-controller.h:
26173 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
26174 (g_object_uncontrol_properties), (g_object_get_controller),
26175 (g_object_set_controller), (g_object_sink_values),
26176 (g_object_get_value_arrays), (g_object_get_value_array):
26177 * libs/gst/controller/gst-interpolation.c:
26178 (gst_controlled_property_find_timed_value_node),
26179 (interpolate_none_get), (interpolate_trigger_get),
26180 (interpolate_trigger_get_value_array):
26181 * libs/gst/controller/lib.c: (gst_controller_init):
26182 * pkgconfig/Makefile.am:
26183 * pkgconfig/gstreamer-control-uninstalled.pc.in:
26184 * pkgconfig/gstreamer-control.pc.in:
26185 * testsuite/Makefile.am:
26186 * testsuite/controller/.cvsignore:
26187 * testsuite/controller/Makefile.am:
26188 * testsuite/controller/interpolator.c: (main):
26189 added controller code
26190 removed dparam pc files
26192 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
26193 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
26194 (gst_collectpads_stop):
26195 Broadcast the condition when shutting down, to make sure we wake all
26196 threads up. Shut down pads on finalize, for safety.
26198 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
26199 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26200 (gst_base_transform_handle_buffer),
26201 (gst_base_transform_change_state):
26202 Handle PAUSED->READY->PAUSED transition after negotiation
26204 * gst/gstmessage.c: (gst_message_init):
26205 Extra piece of debug for new messages.
26207 2005-08-01 Stefan Kost <ensonic@users.sf.net>
26210 * docs/gst/tmpl/gstbasesrc.sgml:
26211 * docs/gst/tmpl/gstelement.sgml:
26212 * docs/gst/tmpl/gstevent.sgml:
26213 * docs/gst/tmpl/gstfakesrc.sgml:
26214 * docs/gst/tmpl/gstformat.sgml:
26215 * docs/gst/tmpl/gstghostpad.sgml:
26216 * docs/gst/tmpl/gstpad.sgml:
26217 * docs/gst/tmpl/gstquery.sgml:
26218 * docs/gst/tmpl/gststructure.sgml:
26219 * docs/gst/tmpl/gsttaglist.sgml:
26220 * docs/gst/tmpl/gstvalue.sgml:
26221 * docs/libs/gstreamer-libs-docs.sgml:
26222 * docs/libs/gstreamer-libs-sections.txt:
26223 * docs/libs/gstreamer-libs.types:
26224 * libs/gst/Makefile.am:
26225 * libs/gst/control/.cvsignore:
26226 * libs/gst/control/Makefile.am:
26227 * libs/gst/control/control.c:
26228 * libs/gst/control/control.h:
26229 * libs/gst/control/dparam.c:
26230 * libs/gst/control/dparam.h:
26231 * libs/gst/control/dparam_smooth.c:
26232 * libs/gst/control/dparam_smooth.h:
26233 * libs/gst/control/dparamcommon.h:
26234 * libs/gst/control/dparammanager.c:
26235 * libs/gst/control/dparammanager.h:
26236 * libs/gst/control/dplinearinterp.c:
26237 * libs/gst/control/dplinearinterp.h:
26238 * libs/gst/control/unitconvert.c:
26239 * libs/gst/control/unitconvert.h:
26240 * testsuite/Makefile.am:
26241 * testsuite/dynparams/.cvsignore:
26242 * testsuite/dynparams/Makefile.am:
26243 * testsuite/dynparams/dparamstest.c:
26244 * tools/Makefile.am:
26245 * tools/gst-inspect.c: (print_element_info), (main):
26246 * tools/gst-xmlinspect.c: (print_element_info), (main):
26247 deactivate and remove dparams (libgstcontrol)
26249 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
26251 * gst/elements/gsttypefindelement.c:
26252 (gst_type_find_element_have_type), (gst_type_find_element_init),
26253 (stop_typefinding), (gst_type_find_element_handle_event),
26254 (gst_type_find_element_chain), (gst_type_find_element_getrange):
26255 * gst/elements/gsttypefindelement.h:
26256 Set caps on all outgoing buffers, not just the first one.
26258 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
26260 * gst/elements/gsttypefindelement.c:
26261 (gst_type_find_element_have_type),
26262 (gst_type_find_element_check_set_buffer_caps),
26263 (gst_type_find_element_init), (stop_typefinding),
26264 (gst_type_find_element_handle_event),
26265 (gst_type_find_element_chain), (gst_type_find_element_getrange):
26266 * gst/elements/gsttypefindelement.h:
26267 Set caps on first outgoing buffer when we've found the type.
26269 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
26271 * docs/gst/gstreamer-docs.sgml:
26272 * docs/gst/gstreamer-sections.txt:
26273 * docs/gst/tmpl/gstscheduler.sgml:
26274 * docs/gst/tmpl/gstschedulerfactory.sgml:
26275 Remove some old cruft from docs.
26277 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
26280 Fix inline docs for GstPadLinkReturn.
26282 * gst/gststructure.c: (gst_structure_has_name):
26283 * gst/gststructure.h:
26284 * docs/gst/gstreamer-sections.txt:
26285 New API: gst_structure_has_name().
26287 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
26290 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
26291 and _LARGEFILE_SOURCE in config.h as required. Do not
26292 export those flags in our .pc files any longer (#142209).
26294 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
26296 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
26297 (gst_file_sink_do_seek), (gst_file_sink_event),
26298 (gst_file_sink_get_current_offset), (gst_file_sink_render):
26299 Redo seek/tell calls with large file support in mind; add some
26300 debugging messages; add log message that tells us when large
26301 file support is unavailable or not enabled for some reason.
26303 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
26304 Add log message that tells us when large file support
26305 is unavailable or not enabled for some reason.
26307 2005-07-29 Wim Taymans <wim@fluendo.com>
26309 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
26310 Added test for removing an element with ghostpad from a bin.
26311 Fixed test as current implementation does the right thing.
26313 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
26314 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
26315 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
26316 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
26317 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
26318 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
26319 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
26320 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
26321 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
26322 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
26323 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
26324 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
26325 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
26326 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
26327 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
26328 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
26329 * gst/gstghostpad.h:
26330 Clean up ghostpads, remove properties for internal stuff.
26333 Prepare for switching targets, not all use cases work yet.
26335 2005-07-29 Wim Taymans <wim@fluendo.com>
26337 * docs/design/part-gstghostpad.txt:
26340 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
26341 (gst_bin_remove_func):
26342 Unlinking pads while holding the bin LOCK is not a good
26345 * gst/gstpad.c: (gst_pad_class_init),
26346 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
26347 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
26348 No prob setting template after creating the pad.
26350 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
26352 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
26353 (gst_bus_peek), (gst_bus_source_dispatch),
26354 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
26355 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
26356 gst_bus_poll may be called from other threads. Handle
26357 this nicely by not making poll_data disappear off the
26358 stack once gst_bus_poll returns.
26359 gst_bus_peek now increments the refcount on the returned
26362 2005-07-29 Wim Taymans <wim@fluendo.com>
26364 * docs/design/part-gstghostpad.txt:
26365 Overview of current GhostPad datastructures and use
26366 cases for changing the target.
26368 2005-07-28 Wim Taymans <wim@fluendo.com>
26370 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
26371 Added checks for hierarchy consistency whan adding linked
26374 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
26375 Added check to test element scheduling without bin/pipeline.
26377 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
26378 First add elements to bin, then link.
26380 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
26381 (gst_bin_remove_func):
26382 Unlink pads from elements added/removed from bin to maintain
26383 hierarchy consistency.
26385 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26387 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26388 (gst_base_transform_handle_buffer):
26389 * gst/base/gstbasetransform.h:
26390 Remove broken delay_configure (fixes renegotiation of software
26391 scaling pipelines); remove some leftover printf()s.
26393 2005-07-28 Wim Taymans <wim@fluendo.com>
26395 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
26396 Added some more tests for wrong hierarchy
26398 * docs/design/part-overview.txt:
26401 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
26404 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
26405 (gst_element_dispose):
26406 Some more cleanups.
26408 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
26409 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
26410 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26411 (gst_pad_set_caps), (gst_pad_send_event):
26412 Check for correct hierarchy when linking pads. Moving to
26413 strict requirement for ghostpads when linking elements in
26417 Clean ups. Added WRONG_HIERARCHY return value.
26419 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26421 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
26422 Better debug if no transform is possible.
26424 2005-07-27 Wim Taymans <wim@fluendo.com>
26426 * docs/random/wtay/network-transp:
26427 Some old doc I had.
26429 2005-07-27 Wim Taymans <wim@fluendo.com>
26431 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26432 (gst_dp_event_from_packet):
26433 Fix serialization of seek events.
26435 2005-07-27 Wim Taymans <wim@fluendo.com>
26437 * check/gst-libs/gdp.c: (GST_START_TEST):
26438 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
26439 Fix compilation and fix event serialization.
26441 2005-07-27 Wim Taymans <wim@fluendo.com>
26444 * docs/design/part-TODO.txt:
26445 * docs/design/part-events.txt:
26448 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26449 (gst_base_sink_event), (gst_base_sink_do_sync),
26450 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
26451 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26452 (gst_base_src_do_seek), (gst_base_src_event_handler),
26453 (gst_base_src_loop):
26454 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26455 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26456 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26457 (gst_base_transform_event), (gst_base_transform_handle_buffer),
26458 (gst_base_transform_set_passthrough),
26459 (gst_base_transform_is_passthrough):
26460 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
26461 * gst/elements/gstfilesink.c: (gst_file_sink_event):
26467 * gst/gstelement.c: (gst_element_seek):
26468 * gst/gstelement.h:
26469 Update gst_element_seek.
26471 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
26472 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
26473 (gst_event_new_flush_start), (gst_event_new_flush_stop),
26474 (gst_event_new_eos), (gst_event_new_newsegment),
26475 (gst_event_parse_newsegment), (gst_event_new_tag),
26476 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
26477 (gst_event_parse_qos), (gst_event_new_seek),
26478 (gst_event_parse_seek), (gst_event_new_navigation):
26480 Make GstEvent use GstStructure. Add parsing code, make sure the
26481 API is sufficiently generic.
26482 Mark possible directions of events and serialization.
26484 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
26485 (_gst_message_copy), (gst_message_new_segment_start),
26486 (gst_message_new_segment_done), (gst_message_new_custom),
26487 (gst_message_parse_segment_start),
26488 (gst_message_parse_segment_done):
26491 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26492 (gst_pad_set_caps), (gst_pad_send_event):
26493 Update for new events.
26494 Catch events sent in wrong directions.
26496 * gst/gstqueue.c: (gst_queue_link_src),
26497 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
26498 (gst_queue_handle_src_query):
26503 Remove event code from this file.
26505 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26506 (gst_dp_event_from_packet):
26509 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26511 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
26512 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26513 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
26514 Make debugging actually useful.
26516 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26518 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
26519 (gst_pad_fixate_caps):
26520 Implement default fixation once again, so that gst_pad_fixate()
26521 actually does anything at all. This probably needs to be some
26522 sort of a last resort, and use profile-based fixation first, but
26523 since that doesn't exist yet, this is the best we have. Fixes
26524 visualization in Totem.
26526 2005-07-22 Wim Taymans <wim@fluendo.com>
26528 * docs/design/part-events.txt:
26531 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26532 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
26533 (gst_base_sink_activate_pull):
26534 Some more comments.
26536 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
26537 (gst_fake_src_create):
26538 Fix handoff marshall.
26540 * gst/elements/gstidentity.c: (gst_identity_class_init),
26541 (gst_identity_transform_ip):
26542 We're a real inplace element.
26544 * gst/gstbus.c: (gst_bus_post):
26545 Added some comments.
26547 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
26548 * tests/muxing/case1.c: (main):
26549 * tests/sched/dynamic-pipeline.c: (main):
26550 * tests/sched/interrupt1.c: (main):
26551 * tests/sched/interrupt2.c: (main):
26552 * tests/sched/interrupt3.c: (main):
26553 * tests/sched/runxml.c: (main):
26554 * tests/sched/sched-stress.c: (main):
26555 * tests/seeking/seeking1.c: (event_received), (main):
26556 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
26558 * tests/threadstate/threadstate3.c: (main):
26559 * tests/threadstate/threadstate4.c: (main):
26560 * tests/threadstate/threadstate5.c: (main):
26563 2005-07-21 Wim Taymans <wim@fluendo.com>
26565 * docs/design/part-seeking.txt:
26566 Some small additions.
26568 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26569 (gst_base_sink_get_times), (gst_base_sink_do_sync),
26570 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
26571 * gst/base/gstbasesink.h:
26572 discont values are gint64, handle the math correctly.
26574 * gst/base/gstbasesrc.c: (gst_base_src_loop):
26575 Make the basesrc report error if the source pad is not linked.
26577 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
26578 (gst_queue_loop), (gst_queue_handle_src_query),
26579 (gst_queue_src_activate_push):
26580 Make queue collect data even if the srcpad is not linked.
26581 Start pushing out data as soon as it is linked.
26583 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
26585 Added gst_flow_get_name() to ease error reporting.
26587 2005-07-20 Wim Taymans <wim@fluendo.com>
26589 * gst/gstmessage.c: (gst_message_new_segment_start),
26590 (gst_message_new_segment_done), (gst_message_parse_segment_start),
26591 (gst_message_parse_segment_done):
26592 * gst/gstmessage.h:
26593 Added a bunch of messages for advanced seeking.
26595 * gst/parse/grammar.y:
26596 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
26597 (gst_dpman_state_changed):
26598 Fix some new-pad -> pad-added signals
26600 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26602 * docs/manual/appendix-porting.xml:
26603 * docs/pwg/appendix-porting.xml:
26604 Document new-pad/state-change signal renames and the FixedList
26607 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26609 * docs/manual/advanced-autoplugging.xml:
26610 * docs/manual/basics-helloworld.xml:
26611 * docs/manual/basics-pads.xml:
26612 * docs/random/ds/0.9-suggested-changes:
26613 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
26614 * gst/gstelement.h:
26618 * gst/gststructure.c: (gst_structure_value_get_generic_type),
26619 (gst_structure_parse_array), (gst_structure_parse_value):
26620 * gst/gstvalue.c: (gst_type_is_fixed),
26621 (gst_value_list_prepend_value), (gst_value_list_append_value),
26622 (gst_value_list_get_size), (gst_value_list_get_value),
26623 (gst_value_transform_array_string), (gst_value_serialize_array),
26624 (gst_value_deserialize_array), (gst_value_intersect_array),
26625 (gst_value_is_fixed), (_gst_value_initialize):
26627 GstElement::new-pad -> pad-added, GstElement::state-change ->
26628 state-changed, GstValueFixedList -> GstValueArray, add format and
26629 flags as their own arguments in gst_element_seek() (should improve
26630 "bindeability"), remove function generators since they don't work
26631 under a whole bunch of compilers (they were deprecated already
26634 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26636 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
26637 (_gst_debug_register_funcptr):
26639 Fix illegal cast on some platforms (#309253).
26641 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26643 * gst/gstmessage.c: (gst_message_new_custom):
26644 * gst/gstmessage.h:
26645 Add _new_custom, make _new_application a macro to _new_custom.
26647 2005-07-20 Wim Taymans <wim@fluendo.com>
26649 * gst/base/gstbasesrc.c: (gst_base_src_init),
26650 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
26651 * gst/base/gstbasesrc.h:
26652 Add a gboolean to decide when to push out a discont.
26654 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26655 (gst_queue_loop), (gst_queue_handle_src_query),
26656 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
26657 (gst_queue_set_property), (gst_queue_get_property):
26660 * tests/threadstate/threadstate1.c: (main):
26661 Make a thread test compile and run... very silly..
26664 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26666 * docs/manual/appendix-porting.xml:
26667 Mention removal of libgstgconf-0.9.la and existence of gconf
26670 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26672 * docs/pwg/advanced-clock.xml:
26673 * docs/pwg/appendix-porting.xml:
26674 * docs/pwg/intro-preface.xml:
26675 * docs/pwg/other-base.xml:
26676 * docs/pwg/other-manager.xml:
26677 * docs/pwg/other-nton.xml:
26678 * docs/pwg/other-ntoone.xml:
26679 * docs/pwg/other-oneton.xml:
26680 * docs/pwg/pwg.xml:
26681 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
26682 demuxer), remove n-to-n (was never written), fix some code examples
26683 and links and update the porting section to include all this.
26685 2005-07-19 Wim Taymans <wim@fluendo.com>
26687 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
26688 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
26689 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
26690 (gst_queue_src_activate_push), (gst_queue_change_state),
26691 (gst_queue_get_property):
26693 Propagate GstFlowReturn more intelligently upstream and output
26694 an ERROR/EOS when streaming stopped due to fatal error.
26696 2005-07-19 Wim Taymans <wim@fluendo.com>
26698 * tools/gst-launch.c: (check_intr), (event_loop), (main):
26699 Don't block forever for the state change to complete, the
26700 pipeline already did with a sensible timeout.
26702 2005-07-19 Wim Taymans <wim@fluendo.com>
26704 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
26705 Make sure we never call the create function is we
26708 2005-07-19 Andy Wingo <wingo@pobox.com>
26710 * gst/parse/parse.l: Attempt to solve bug #172815.
26712 2005-07-19 Wim Taymans <wim@fluendo.com>
26714 * docs/design/part-clocks.txt:
26715 * docs/design/part-events.txt:
26716 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
26717 Small docs updates.
26718 Only update the seeking values when we are not
26721 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
26723 * gst/base/gstbasesrc.c: (gst_base_src_loop):
26724 Oops, ignore the result of gst_pad_push_event here.
26726 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
26728 * gst/base/gstbasesrc.c: (gst_base_src_loop),
26729 (gst_base_src_activate_push):
26730 Send discont event from the loop function, as pads
26731 aren't activated yet in the activate_push handler.
26733 * gst/gstbin.c: (bin_bus_handler):
26734 Don't leak element name.
26736 2005-07-18 Andy Wingo <wingo@pobox.com>
26738 * configure.ac: Use AS_LIBTOOL_TAGS.
26740 2005-07-18 Wim Taymans <wim@fluendo.com>
26742 * docs/gst/gstreamer.types:
26743 Remove deleted types.
26745 2005-07-18 Wim Taymans <wim@fluendo.com>
26747 * check/elements/gstfakesrc.c: (GST_START_TEST):
26750 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
26751 (init_popt_callback):
26753 * gst/gst_private.h:
26754 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
26755 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
26758 * gst/gstconfig.h.in:
26759 * gst/gstelement.c: (gst_element_class_init),
26760 (gst_element_set_base_time), (gst_element_get_base_time),
26761 (iterator_fold_with_resync), (gst_element_change_state),
26762 (gst_element_dispose), (gst_element_get_bus):
26763 * gst/gstelement.h:
26764 * gst/gstelementfactory.h:
26765 * gst/gsterror.c: (_gst_core_errors_init):
26768 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
26770 * gst/gstinfo.c: (_gst_debug_init):
26771 * gst/gstmessage.c: (_gst_message_copy):
26772 * gst/gstmessage.h:
26773 * gst/gstminiobject.h:
26776 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26777 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
26780 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
26781 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
26782 (gst_pipeline_get_last_stream_time):
26783 * gst/gstpipeline.h:
26784 * gst/gstpluginfeature.h:
26786 * gst/gstscheduler.c:
26787 * gst/gstscheduler.h:
26788 * gst/gststructure.h:
26789 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
26790 (gst_task_finalize), (gst_task_func), (gst_task_create),
26791 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
26792 (gst_task_stop), (gst_task_pause):
26794 * gst/gsttypefind.h:
26796 * gst/registries/gstlibxmlregistry.c: (load_feature),
26797 (gst_xml_registry_load), (gst_xml_registry_save_feature):
26798 * gst/registries/gstxmlregistry.c:
26799 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
26800 * gst/schedulers/threadscheduler.c:
26801 * libs/gst/control/dparammanager.h:
26802 * tools/gst-inspect.c: (print_element_list),
26803 (print_plugin_features), (print_element_features):
26804 * tools/gst-xmlinspect.c: (print_element_list),
26805 (print_plugin_info), (main):
26806 Removed plugable schedulers.
26807 Removed Scheduler/Manager from elements.
26808 Removed gsttypes.h, rearranged includes.
26809 Removed dependency pad<->element, element<>pipeline, and
26810 various others, fix includes.
26811 implement gst_pad_get_parent() with gst_object_get_parent()
26812 Make GstTask sefcontained.
26813 Fix _get_state() on GstBin, it did not return ASYNC with a 0
26815 Fix endless loop in iterator_fold_with_resync.
26818 2005-07-18 Wim Taymans <wim@fluendo.com>
26824 2005-07-18 Wim Taymans <wim@fluendo.com>
26827 No more cothreads.h
26829 2005-07-18 Wim Taymans <wim@fluendo.com>
26833 Let's remove these.
26835 2005-07-18 Wim Taymans <wim@fluendo.com>
26837 * docs/design/part-dynamic.txt:
26838 * docs/design/part-events.txt:
26839 * docs/design/part-seeking.txt:
26840 Some more docs in the works.
26842 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26843 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
26844 (gst_base_transform_setcaps), (gst_base_transform_get_size),
26845 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26846 (gst_base_transform_handle_buffer),
26847 (gst_base_transform_sink_activate_push),
26848 (gst_base_transform_src_activate_pull),
26849 (gst_base_transform_set_passthrough),
26850 (gst_base_transform_is_passthrough):
26853 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
26856 * gst/gstevent.c: (gst_event_finalize):
26859 * gst/gstutils.c: (gst_element_unlink),
26860 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
26861 (gst_pad_proxy_setcaps):
26863 Add _get_parent_element() to get a pads parent as an element.
26865 2005-07-18 Wim Taymans <wim@fluendo.com>
26867 * check/gst/gstbin.c: (GST_START_TEST):
26870 2005-07-18 Wim Taymans <wim@fluendo.com>
26872 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
26873 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
26874 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
26875 (gst_base_sink_event), (gst_base_sink_do_sync),
26876 (gst_base_sink_chain), (gst_base_sink_loop),
26877 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
26878 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
26880 Fix logic for returning ASYNC when not prerolled.
26882 2005-07-18 Wim Taymans <wim@fluendo.com>
26884 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26885 Fix nasty refcount bug.
26887 2005-07-16 Philippe Khalaf <burger@speedy.org>
26889 * gst/elements/gstfdsrc.c:
26890 * gst/elements/gstfdsrc.h:
26891 * gst/elements/gstelements.c:
26892 * gst/elements/Makefile.am:
26893 Ported fdsrc to 0.9.
26895 2005-07-16 Wim Taymans <wim@fluendo.com>
26897 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26898 (gst_base_sink_do_sync):
26901 2005-07-16 Wim Taymans <wim@fluendo.com>
26903 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26904 (gst_base_sink_event), (gst_base_sink_get_times),
26905 (gst_base_sink_do_sync), (gst_base_sink_change_state):
26906 * gst/base/gstbasesink.h:
26907 Store and use discont values when syncing buffers as described
26910 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26911 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
26912 (gst_base_src_activate_push):
26913 Push discont event when starting.
26915 * gst/elements/gstidentity.c: (gst_identity_transform):
26918 * gst/gstbin.c: (gst_bin_change_state):
26919 Small cleanups in base_time distribution.
26921 * gst/gstelement.c: (gst_element_set_base_time),
26922 (gst_element_get_base_time), (gst_element_change_state):
26923 * gst/gstelement.h:
26924 Added methods for the base_time of the element.
26927 * gst/gstpipeline.c: (gst_pipeline_send_event),
26928 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
26929 (gst_pipeline_get_last_stream_time):
26930 * gst/gstpipeline.h:
26932 Handle seeking as described in design doc, remove stream_time
26934 Cleanups clock and stream_time selection code. Added accessors
26935 for the stream_time.
26938 2005-07-16 Andy Wingo <wingo@pobox.com>
26940 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
26943 2005-07-16 Wim Taymans <wim@fluendo.com>
26945 * check/gst/gstbin.c: (GST_START_TEST):
26946 Make elements silent as the deep_notify refs the
26947 parent, which might make the test fail.
26949 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
26950 Don't hold the lock for too long.
26952 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
26954 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
26955 Don't unref the caps we passed to gst_caps_make_writable() after
26956 passing them. gst_caps_make_writable() will do that for us.
26958 2005-07-15 Andy Wingo <wingo@pobox.com>
26960 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
26963 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
26964 own marshalling function for the handoff signal. Properly type the
26965 buffer as a buffer. Fixes some warnings. Should do a more general
26967 (gst_identity_class_init): Plug into the right marshaller.
26969 2005-07-15 Wim Taymans <wim@fluendo.com>
26971 * docs/design/part-TODO.txt:
26972 * docs/design/part-clocks.txt:
26973 * docs/design/part-element-sink.txt:
26974 * docs/design/part-events.txt:
26975 * docs/design/part-gstpipeline.txt:
26976 Updated docs, mostly DISCONT related.
26978 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
26980 * docs/pwg/building-pads.xml:
26981 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
26983 2005-07-15 Andy Wingo <wingo@pobox.com>
26985 * tools/gst-typefind.c: Update, add copyright block.
26987 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
26988 Normalize and truncate caps before fixation.
26991 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
26992 discards all but the first structure from its argument.
26994 2005-07-15 Wim Taymans <wim@fluendo.com>
26996 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26997 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
26998 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26999 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27000 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27001 (gst_base_transform_chain), (gst_base_transform_change_state),
27002 (gst_base_transform_set_passthrough),
27003 (gst_base_transform_is_passthrough):
27004 * gst/base/gstbasetransform.h:
27005 Make passthrough work using the bufferpools.
27006 Changed API a bit, subclasses have to write into a buffer
27007 provided by the base class.
27008 More debug info in nego functions.
27010 * gst/elements/gstidentity.c: (gst_identity_init),
27011 (gst_identity_transform):
27012 Port to new base class.
27014 2005-07-15 Wim Taymans <wim@fluendo.com>
27016 * gst/gstmessage.c: (gst_message_new_state_changed):
27017 * tools/gst-launch.c: (event_loop), (main):
27018 Totally dump messages in -launch with the -m option.
27019 Fix message name for State messages,
27021 2005-07-14 Wim Taymans <wim@fluendo.com>
27023 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27024 Post error messages on errors.
27026 2005-07-14 Wim Taymans <wim@fluendo.com>
27028 * gst/gstcaps.c: (gst_caps_do_simplify):
27032 Define error for stream stopped.
27034 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27035 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27036 Do proper return values.
27038 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27039 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27040 (gst_pad_get_range):
27041 Better return values.
27044 Reorganise return values, add macro to check for fatal errors.
27046 * gst/gstqueue.c: (gst_queue_chain):
27047 Return proper GstFlowReturn values,
27049 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
27051 * docs/gst/gstreamer-sections.txt:
27052 * docs/gst/gstreamer.types:
27053 * docs/gst/tmpl/gst.sgml:
27054 * docs/gst/tmpl/gstbasesink.sgml:
27055 * docs/gst/tmpl/gstbasesrc.sgml:
27056 * docs/gst/tmpl/gstbasetransform.sgml:
27057 * docs/gst/tmpl/gstbin.sgml:
27058 * docs/gst/tmpl/gstbuffer.sgml:
27059 * docs/gst/tmpl/gstcaps.sgml:
27060 * docs/gst/tmpl/gstclock.sgml:
27061 * docs/gst/tmpl/gstcompat.sgml:
27062 * docs/gst/tmpl/gstconfig.sgml:
27063 * docs/gst/tmpl/gstelement.sgml:
27064 * docs/gst/tmpl/gstelementdetails.sgml:
27065 * docs/gst/tmpl/gstelementfactory.sgml:
27066 * docs/gst/tmpl/gstenumtypes.sgml:
27067 * docs/gst/tmpl/gsterror.sgml:
27068 * docs/gst/tmpl/gstevent.sgml:
27069 * docs/gst/tmpl/gstfakesink.sgml:
27070 * docs/gst/tmpl/gstfakesrc.sgml:
27071 * docs/gst/tmpl/gstfilesink.sgml:
27072 * docs/gst/tmpl/gstfilesrc.sgml:
27073 * docs/gst/tmpl/gstfilter.sgml:
27074 * docs/gst/tmpl/gstformat.sgml:
27075 * docs/gst/tmpl/gstghostpad.sgml:
27076 * docs/gst/tmpl/gstimplementsinterface.sgml:
27077 * docs/gst/tmpl/gstindex.sgml:
27078 * docs/gst/tmpl/gstindexfactory.sgml:
27079 * docs/gst/tmpl/gstinfo.sgml:
27080 * docs/gst/tmpl/gstiterator.sgml:
27081 * docs/gst/tmpl/gstmacros.sgml:
27082 * docs/gst/tmpl/gstmemchunk.sgml:
27083 * docs/gst/tmpl/gstminiobject.sgml:
27084 * docs/gst/tmpl/gstobject.sgml:
27085 * docs/gst/tmpl/gstpad.sgml:
27086 * docs/gst/tmpl/gstpadtemplate.sgml:
27087 * docs/gst/tmpl/gstparse.sgml:
27088 * docs/gst/tmpl/gstpipeline.sgml:
27089 * docs/gst/tmpl/gstplugin.sgml:
27090 * docs/gst/tmpl/gstpluginfeature.sgml:
27091 * docs/gst/tmpl/gstquery.sgml:
27092 * docs/gst/tmpl/gstqueue.sgml:
27093 * docs/gst/tmpl/gstregistry.sgml:
27094 * docs/gst/tmpl/gstregistrypool.sgml:
27095 * docs/gst/tmpl/gstscheduler.sgml:
27096 * docs/gst/tmpl/gstschedulerfactory.sgml:
27097 * docs/gst/tmpl/gststructure.sgml:
27098 * docs/gst/tmpl/gstsystemclock.sgml:
27099 * docs/gst/tmpl/gsttaglist.sgml:
27100 * docs/gst/tmpl/gsttagsetter.sgml:
27101 * docs/gst/tmpl/gsttrace.sgml:
27102 * docs/gst/tmpl/gsttrashstack.sgml:
27103 * docs/gst/tmpl/gsttypefind.sgml:
27104 * docs/gst/tmpl/gsttypefindfactory.sgml:
27105 * docs/gst/tmpl/gsttypes.sgml:
27106 * docs/gst/tmpl/gsturihandler.sgml:
27107 * docs/gst/tmpl/gsturitype.sgml:
27108 * docs/gst/tmpl/gstutils.sgml:
27109 * docs/gst/tmpl/gstvalue.sgml:
27110 * docs/gst/tmpl/gstversion.sgml:
27111 * docs/gst/tmpl/gstxml.sgml:
27112 * docs/libs/tmpl/gstcontrol.sgml:
27113 * docs/libs/tmpl/gstdataprotocol.sgml:
27114 * docs/libs/tmpl/gstdparam.sgml:
27115 * docs/libs/tmpl/gstdplinint.sgml:
27116 * docs/libs/tmpl/gstdpman.sgml:
27117 * docs/libs/tmpl/gstdpsmooth.sgml:
27118 * docs/libs/tmpl/gstgetbits.sgml:
27119 * docs/libs/tmpl/gstunitconvert.sgml:
27120 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
27121 (gst_push_src_base_init), (gst_push_src_class_init),
27122 (gst_push_src_init), (gst_push_src_create):
27123 * gst/base/gstpushsrc.h:
27124 * gst/elements/gstelements.c:
27125 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
27126 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
27127 (gst_fake_sink_init), (gst_fake_sink_set_property),
27128 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
27129 (gst_fake_sink_event), (gst_fake_sink_preroll),
27130 (gst_fake_sink_render), (gst_fake_sink_change_state):
27131 * gst/elements/gstfakesink.h:
27132 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
27133 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
27134 (gst_fake_src_base_init), (gst_fake_src_class_init),
27135 (gst_fake_src_init), (gst_fake_src_event_handler),
27136 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
27137 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
27138 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
27139 (gst_fake_src_create_buffer), (gst_fake_src_create),
27140 (gst_fake_src_start), (gst_fake_src_stop):
27141 * gst/elements/gstfakesrc.h:
27142 * gst/elements/gstfilesink.c: (_do_init),
27143 (gst_file_sink_base_init), (gst_file_sink_class_init),
27144 (gst_file_sink_init), (gst_file_sink_dispose),
27145 (gst_file_sink_set_location), (gst_file_sink_set_property),
27146 (gst_file_sink_get_property), (gst_file_sink_open_file),
27147 (gst_file_sink_close_file), (gst_file_sink_query),
27148 (gst_file_sink_event), (gst_file_sink_render),
27149 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
27150 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
27151 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
27152 * gst/elements/gstfilesink.h:
27153 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
27154 (gst_file_src_class_init), (gst_file_src_init),
27155 (gst_file_src_finalize), (gst_file_src_set_location),
27156 (gst_file_src_set_property), (gst_file_src_get_property),
27157 (gst_file_src_map_region), (gst_file_src_map_small_region),
27158 (gst_file_src_create_mmap), (gst_file_src_create_read),
27159 (gst_file_src_create), (gst_file_src_is_seekable),
27160 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
27161 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
27162 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
27163 (gst_file_src_uri_handler_init):
27164 * gst/elements/gstfilesrc.h:
27165 more autistic cleanliness in functions/names/defines
27167 2005-07-13 Andy Wingo <wingo@pobox.com>
27169 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
27170 source couldn't negotiate.
27172 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
27176 * gst/gstutils.c (gst_element_link_pads_filtered): New old
27177 function. I am channeling Hades. Put your boots on suckers!!!
27179 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
27181 * testsuite/caps/Makefile.am:
27182 * testsuite/caps/value_compare.c:
27183 * testsuite/caps/value_intersect.c:
27184 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27185 move two testsuite apps over to the check dir
27187 2005-07-12 Wim Taymans <wim@fluendo.com>
27189 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27190 Added more debug info in the negotiate process.
27192 * gst/gstmessage.h:
27193 Prepare for segment playback.
27195 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
27201 * tools/gst-launch.c: (main):
27202 NULL pipeline on errors.
27204 2005-07-12 Andy Wingo <wingo@pobox.com>
27206 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
27207 not it comes from a malloc region. Make sure our copy gets freed.
27209 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
27211 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27212 * check/gst/gstmessage.c: (GST_START_TEST):
27213 * check/gst/gststructure.c: (GST_START_TEST),
27214 (gst_structure_suite), (main):
27216 * gst/gstelement.c: (gst_element_message_full):
27217 clean up GError and debug string now that they get copied
27218 * gst/gstmessage.c: (gst_message_new_error),
27219 (gst_message_new_warning), (gst_message_parse_error),
27220 (gst_message_parse_warning):
27221 use GST_TYPE_G_ERROR for structure_new, and take copies of
27222 arguments, so that we don't mess up refcounting
27224 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
27226 * check/Makefile.am:
27227 add per-test valgrind targets
27228 * check/gst-libs/gdp.c: (GST_START_TEST),
27229 (gst_data_protocol_suite), (main):
27232 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
27234 * check/Makefile.am:
27235 instate more valgrindable tests
27236 * check/elements/gstfakesrc.c: (chain_func), (event_func),
27237 (GST_START_TEST), (fakesrc_suite):
27238 * check/gst/gstpad.c: (GST_START_TEST):
27239 * check/gst/gststructure.c: (GST_START_TEST):
27241 * docs/gst/tmpl/gstminiobject.sgml:
27242 * gst/gstpad.c: (gst_pad_finalize):
27243 fix the static mutex leak
27245 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
27247 * check/Makefile.am:
27248 add two more tests for valgrinding
27249 * check/gst/gstvalue.c: (GST_START_TEST):
27250 test refcount of deserialized buffer, found a leak
27251 * docs/gst/gstreamer-docs.sgml:
27252 * docs/gst/gstreamer-sections.txt:
27253 * docs/gst/gstreamer.types:
27254 * docs/gst/tmpl/gstminiobject.sgml:
27255 add miniobject to docs
27256 * gst/gstminiobject.c:
27258 * gst/gstvalue.c: (gst_value_deserialize_buffer),
27259 (gst_string_unwrap):
27260 fix a hard-to-find invalid write for one of the tests
27261 fix a leak for deserialized buffers
27263 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27265 * docs/pwg/advanced-events.xml:
27266 * docs/pwg/advanced-request.xml:
27267 * docs/pwg/advanced-scheduling.xml:
27268 * docs/pwg/appendix-porting.xml:
27269 * docs/pwg/building-boiler.xml:
27270 * docs/pwg/intro-preface.xml:
27271 * docs/pwg/other-ntoone.xml:
27272 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
27273 of example code and explanation for pad activation, loop() and
27274 getrange() functions and a bit more. Remove old comments pointing
27276 * examples/pwg/Makefile.am:
27277 Add loop/getrange examples.
27279 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
27282 check for valgrind binary + some fixes
27284 valgrind suppressions for the tests
27285 * check/Makefile.am:
27286 add a valgrind: target that valgrinds the unit tests
27287 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
27288 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
27289 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27290 * check/gst/gstghostpad.c:
27292 * check/gst/gstdata.c:
27294 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
27295 (thread_unref), (gst_mini_object_suite), (main):
27297 * gst/gst.c: (gst_deinit):
27299 add a method to clean up.
27300 * gst/gstsystemclock.c: (gst_system_clock_dispose),
27301 (gst_system_clock_obtain):
27302 allow for disposing the system clock.
27303 * tools/gst-launch.c: (main):
27306 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
27308 * docs/gst/tmpl/gstbasesrc.sgml:
27309 * docs/gst/tmpl/gstfakesrc.sgml:
27310 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27311 (gst_base_src_init), (gst_base_src_set_property),
27312 (gst_base_src_get_property), (gst_base_src_get_range),
27313 (gst_base_src_start):
27314 * gst/base/gstbasesrc.h:
27315 add num-buffers property
27316 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27317 (gst_fakesrc_init), (gst_fakesrc_set_property),
27318 (gst_fakesrc_get_property), (gst_fakesrc_create),
27319 (gst_fakesrc_start):
27320 remove num-buffers property
27322 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
27324 * docs/gst/gstreamer-sections.txt:
27325 * docs/gst/tmpl/gstbasesink.sgml:
27326 * docs/gst/tmpl/gstbasesrc.sgml:
27327 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27328 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27329 (gst_base_sink_finalize), (gst_base_sink_set_clock),
27330 (gst_base_sink_set_property), (gst_base_sink_get_property),
27331 (gst_base_sink_handle_object), (gst_base_sink_event),
27332 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
27333 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
27334 (gst_base_sink_loop), (gst_base_sink_deactivate),
27335 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
27336 (gst_base_sink_change_state):
27337 * gst/base/gstbasesink.h:
27338 * gst/base/gstbasesrc.h:
27339 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
27340 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
27341 (gst_filesink_init):
27342 more macro splitting
27344 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
27346 * gst/gstelement.c: (gst_element_get_bus):
27348 * tools/gst-launch.c: (check_intr), (event_loop):
27351 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
27353 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
27356 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
27358 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27359 (gst_base_src_finalize):
27360 add finalize method and clean up properly
27361 * gst/gstpipeline.c: (gst_pipeline_dispose):
27364 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
27366 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
27368 add more things to check
27369 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
27370 * gst/gstelement.c:
27373 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
27375 * check/elements/gstfakesrc.c: (chain_func), (event_func),
27376 (GST_START_TEST), (fakesrc_suite):
27377 * check/gst-libs/gdp.c: (GST_START_TEST):
27378 * check/gst/gst.c: (GST_START_TEST):
27379 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27380 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27381 * check/gst/gstbus.c: (GST_START_TEST):
27382 * check/gst/gstcaps.c: (GST_START_TEST):
27383 * check/gst/gstdata.c: (GST_START_TEST):
27384 * check/gst/gstelement.c: (GST_START_TEST):
27385 * check/gst/gstghostpad.c: (GST_START_TEST):
27386 * check/gst/gstiterator.c: (GST_START_TEST):
27387 * check/gst/gstmessage.c: (GST_START_TEST):
27388 * check/gst/gstobject.c: (GST_START_TEST):
27389 * check/gst/gstpad.c: (GST_START_TEST):
27390 * check/gst/gststructure.c: (GST_START_TEST):
27391 * check/gst/gstsystemclock.c: (GST_START_TEST),
27392 (gst_systemclock_suite):
27393 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
27394 * check/gst/gstvalue.c: (GST_START_TEST):
27395 * check/pipelines/cleanup.c: (GST_START_TEST):
27396 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27397 * check/states/sinks.c: (GST_START_TEST):
27398 * check/gstcheck.c: (gst_check_init):
27399 * check/gstcheck.h:
27400 add debugging category
27401 use GST_START_TEST now, so we add a debug line
27403 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
27405 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
27406 add test for state change message on a bin
27407 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
27409 * gst/gstbin.c: (gst_bin_init):
27410 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
27411 * gst/gstelement.c: (gst_element_post_message),
27412 (gst_element_set_state):
27413 * gst/gstelementfactory.c: (gst_element_factory_create):
27414 * gst/gstmessage.c: (gst_message_new):
27415 * gst/gstscheduler.c:
27416 various debugging additions and cleanups
27418 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
27420 * check/Makefile.am:
27421 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
27423 adding tests for elements
27424 * gst/gstelement.c: (gst_element_dispose):
27426 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
27428 * gst/registries/gstlibxmlregistry.c: (load_feature):
27429 plug more leaks. A simple gst_init() now is leakfree, yay.
27431 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
27433 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
27434 (gst_xml_registry_load):
27435 plug another memleak
27437 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
27440 use GST_SET_ERROR_CFLAGS
27441 * docs/faq/cvs.xml:
27442 change to ERROR_CFLAGS
27444 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
27447 make GST_ERROR_CFLAGS overridable and re-enable Werror
27448 * docs/faq/cvs.xml:
27449 add a note about error CFLAGS
27450 * docs/gst/tmpl/gstfakesrc.sgml:
27451 * gst/elements/gstfakesrc.c:
27452 comment out some unused code
27453 * gst/gst.c: (split_and_iterate):
27454 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
27458 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
27460 * common/Makefile.am:
27461 * common/gtk-doc.mak:
27462 * docs/gst/Makefile.am:
27463 factor out gtk-doc.mak
27465 2005-07-07 Wim Taymans <wim@fluendo.com>
27467 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
27468 (gst_thread_scheduler_dispose):
27469 Unlock the STREAM_LOCK completely.
27471 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
27473 * check/Makefile.am:
27474 * check/elements/.cvsignore:
27475 * check/elements/gstfakesrc.c: (chain_func), (event_func),
27476 (START_TEST), (fakesrc_suite), (main):
27477 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27478 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27479 (gst_fakesrc_create), (gst_fakesrc_start):
27480 * gst/elements/gstfakesrc.h:
27481 adding a first element test
27483 2005-07-07 Andy Wingo <wingo@pobox.com>
27485 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
27488 2005-07-07 Wim Taymans <wim@fluendo.com>
27494 2005-07-07 Wim Taymans <wim@fluendo.com>
27496 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
27497 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
27498 Allow subclasses to implement their own negotiation.
27500 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
27502 * docs/design/part-gstbin.txt:
27503 * docs/design/part-gstpipeline.txt:
27504 Update design notes to reflect the movement of
27505 responsibility for bus handling from GstPipeline to
27508 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
27511 Remove unnecessary queue2/3/4 examples.
27513 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
27515 * examples/Makefile.am:
27516 * examples/helloworld/helloworld.c: (event_loop), (main):
27517 * examples/queue/queue.c: (event_loop), (main):
27518 * examples/queue2/queue2.c: (main):
27519 Update a couple of the examples to work again.
27521 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27522 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
27523 Spelling corrections and extra debug.
27525 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
27526 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
27527 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
27529 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27530 (gst_pipeline_change_state):
27531 * gst/gstpipeline.h:
27532 Move the bus handler for children to the GstBin, and create a
27533 separate bus for receiving messages from children to the one the
27534 bus sends 'upwards' on.
27536 2005-07-06 Wim Taymans <wim@fluendo.com>
27539 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27540 (gst_base_sink_handle_object), (gst_base_sink_loop),
27541 (gst_base_sink_change_state):
27542 * gst/base/gstbasesink.h:
27543 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27544 (gst_base_src_init), (gst_base_src_setcaps),
27545 (gst_base_src_getcaps), (gst_base_src_loop),
27546 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
27547 (gst_base_src_start), (gst_base_src_change_state):
27548 * gst/base/gstbasesrc.h:
27549 Make basesrc negotiate.
27550 Handle the case where preroll fails in basesink.
27553 2005-07-06 Wim Taymans <wim@fluendo.com>
27555 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
27556 Implement the fixate function.
27557 Clean up acceptcaps.
27559 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27561 * docs/pwg/building-filterfactory.xml:
27562 * docs/pwg/pwg.xml:
27563 Remove never-written filter-factory chapter; I'll add the various
27564 base classes to part 4 ("other element types") later on.
27566 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27568 * docs/pwg/advanced-negotiation.xml:
27569 * docs/pwg/building-boiler.xml:
27570 * docs/pwg/building-pads.xml:
27571 * docs/pwg/pwg.xml:
27572 * examples/pwg/Makefile.am:
27573 Add a chapter on caps negotiation, simplify the original code
27574 samples a bit w.r.t. caps negotiation, add link to the advanced
27575 section. Add a bunch of examples showing different use cases of
27576 different types of caps negotiation. Upstream renegotiation isn't
27577 fully documented yet since nobody knows how that works.
27579 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
27581 * check/gst/gstpad.c:
27582 * check/gstcheck.c:
27583 * gst/gstpad.c: (gst_pad_get_internal_links_default):
27584 if pad has no parent, return NULL as list of internal links
27586 2005-07-05 Andy Wingo <wingo@pobox.com>
27588 * gst/elements/gstfilesrc.c:
27589 * gst/elements/gstfakesrc.c:
27590 * gst/base/gstpushsrc.c:
27591 * gst/base/gstbasesrc.h:
27592 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
27594 2005-07-05 Stefan Kost <ensonic@users.sf.net>
27597 better report generation target (lcov needs a patch)
27599 2005-07-05 Andy Wingo <wingo@pobox.com>
27601 * gst/elements, testsuite: Null if we got it...
27603 2005-07-05 Wim Taymans <wim@fluendo.com>
27606 * libs/gst/dataprotocol/Makefile.am:
27607 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
27608 * libs/gst/dataprotocol/dataprotocol.h:
27609 * pkgconfig/Makefile.am:
27610 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
27611 * pkgconfig/gstreamer-dataprotocol.pc.in:
27612 Ported dataprotol to 0.9.
27613 Added pkgconfig files.
27615 2005-07-05 Andy Wingo <wingo@pobox.com>
27617 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
27618 Default to returning TRUE for the case when tranform_caps returns
27619 a fixed caps, like for identity or volume.
27621 * check/gst/gstbus.c (pound_bus_with_messages):
27622 * check/gst/gstmessage.c (START_TEST):
27623 * check/pipelines/simple_launch_lines.c (got_handoff): Application
27624 message API change.
27626 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
27627 logic weaks here: always run transform_caps, trying passthrough
27628 operation only if the original caps intersects with the transform.
27630 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
27631 source and sink caps.
27633 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
27634 Intersect the peer caps with the pad template before going into
27636 (gst_base_transform_transform_caps): More debugging.
27638 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
27641 2005-07-04 Edward Hervey <edward@fluendo.com>
27645 (gst_pad_add_*_probe): now returns the signal id for better wrapping
27648 2005-07-04 Andy Wingo <wingo@pobox.com>
27650 * check/gst/gstpad.c: Only set explicit caps on pads.
27652 2005-07-01 Andy Wingo <wingo@pobox.com>
27654 * tests/network-clock.scm: Commentary update.
27656 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
27657 Didn't really make sense, not implementable with basetransform,
27659 (gst_identity_transform): Unref inbuf via make_writable. Feeble
27660 attempt at implementing the sync property, needs an unlock method.
27662 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
27663 New func, by default returns the same caps (the identity
27665 (gst_base_transform_getcaps): Uses transform_caps to return
27666 something sensible.
27667 (gst_base_transform_setcaps): Complicated logic to get caps on
27668 both pads, even if they are different, and to call set_caps once
27669 for every time both pads get their caps set.
27670 (gst_base_transform_handle_buffer): Give the ref to the transform
27671 function. Allows in-place modification of the buffer.
27673 * gst/base/gstbasetransform.h (transform_caps): New class method.
27674 Given caps on one side, what can I do on the other.
27675 (set_caps): Take two caps, one for each side of the element.
27678 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
27679 caps in place. This is safe because we can check the mutability of
27680 the caps, and a good idea because fixate functions are just called
27681 as a matter of last resort. (Not actually implemented.)
27682 (gst_pad_set_caps): If the caps we're setting is actually the same
27683 as the existing pad caps, just update the pointer without calling
27684 setcaps. Assert that caps is either NULL or fixed, as per the
27687 * gst/gstghostpad.c: Update for fixate changes.
27689 2005-07-02 Andy Wingo <wingo@pobox.com>
27692 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
27693 two refcounts makes it immutable, which is enough. Doc more.
27695 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
27697 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
27698 Put the mini_object into GValue as a mini_object,
27699 not a gpointer, since that's how we declared
27702 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27704 * examples/pwg/Makefile.am:
27705 Fix buildbot again.
27707 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27709 * docs/pwg/building-testapp.xml:
27711 * examples/pwg/Makefile.am:
27714 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27717 * examples/Makefile.am:
27718 * examples/pwg/Makefile.am:
27719 * examples/pwg/extract.pl:
27720 Enable building the PWG examples.
27721 * docs/pwg/advanced-interfaces.xml:
27722 Add URI interface stub.
27723 * docs/pwg/advanced-types.xml:
27724 * docs/pwg/other-autoplugger.xml:
27725 * docs/pwg/appendix-porting.xml:
27726 * docs/pwg/pwg.xml:
27727 Add porting guide (mostly stubs), remove autoplugging (see ADM).
27728 * docs/pwg/building-boiler.xml:
27729 * docs/pwg/building-chainfn.xml:
27730 * docs/pwg/building-pads.xml:
27731 * docs/pwg/building-props.xml:
27732 * docs/pwg/building-state.xml:
27733 * docs/pwg/building-testapp.xml:
27734 Update the building-*.xml parts for 0.9 changes. All examples
27735 code blocks compile in examples/pwg/*.
27737 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27739 * docs/manual/advanced-autoplugging.xml:
27740 * docs/manual/appendix-checklist.xml:
27741 * docs/manual/appendix-integration.xml:
27742 * docs/manual/highlevel-components.xml:
27743 Fix playbin/decodebin examples, update docs a bit, mention bus
27744 instead of signals in various places, mention kmplayer and
27745 kaffeine since they have a working GStreamer backend in the KDE
27748 2005-06-30 Wim Taymans <wim@fluendo.com>
27751 * docs/design/draft-ghostpads.txt:
27752 * docs/design/draft-push-pull.txt:
27753 * docs/design/draft-query.txt:
27754 * docs/design/part-TODO.txt:
27755 * docs/design/part-query.txt:
27756 Added CHANGES-0.9 doc, updated status of other docs.
27761 2005-06-30 Wim Taymans <wim@fluendo.com>
27763 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27764 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27765 (gst_base_sink_change_state):
27766 * gst/base/gstbasesink.h:
27767 Some tweaks, only EOS and a buffer complete a preroll.
27769 2005-06-30 Andy Wingo <wingo@pobox.com>
27771 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
27772 activate_push down to the internal pad as well.
27774 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
27776 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27778 * gst/gsttaginterface.c:
27779 Some documentation fixes (#307394 and #307397).
27781 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
27783 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27785 * gst/gstvalue.c: (gst_value_intersect_list):
27786 Fix memleak (#309125).
27788 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27790 * docs/manual/advanced-dataaccess.xml:
27791 Fix fakesrc example to compile; doesn't work, bug somewhere...?
27792 * docs/manual/basics-pads.xml:
27793 Add reference for filtered caps to above chapter.
27795 2005-06-30 Wim Taymans <wim@fluendo.com>
27797 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
27798 (gst_bin_change_state):
27800 Lame attempt at making the state change function a bit
27803 2005-06-30 Wim Taymans <wim@fluendo.com>
27805 * docs/design/part-clocks.txt:
27806 * docs/design/part-element-sink.txt:
27807 * docs/design/part-events.txt:
27808 * docs/design/part-preroll.txt:
27809 * docs/design/part-states.txt:
27810 Some more tweeks and additions to the docs.
27812 2005-06-30 Wim Taymans <wim@fluendo.com>
27814 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27815 (default_have_data), (gst_pad_class_init), (gst_pad_init),
27816 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
27817 (gst_pad_check_pull_range), (gst_pad_get_range),
27818 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
27820 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
27821 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
27822 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
27823 (gst_pad_remove_buffer_probe):
27824 Removed atomic operations, use existing LOCK.
27825 Move exception handling out of main code path.
27827 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27829 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27830 (silly_return_true_function), (gst_pad_class_init),
27831 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
27832 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
27833 (gst_pad_send_event):
27834 Fix accumulator, add default value by using _emitv() instead
27835 of _emit() for signal emission.
27837 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27839 * docs/manual/advanced-dataaccess.xml:
27840 * examples/manual/Makefile.am:
27842 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
27845 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
27847 * gst/elements/gstfilesink.c: (gst_filesink_render):
27848 Simplify code so that we don't have to handle short
27849 writes and return GST_FLOW_ERROR if an error occured.
27851 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27853 * docs/gst/gstreamer-docs.sgml:
27854 Remove probes more.
27856 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27858 * docs/gst/gstreamer-sections.txt:
27859 * docs/gst/tmpl/gstpad.sgml:
27860 * docs/gst/tmpl/gstprobe.sgml:
27862 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27863 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
27864 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
27865 (gst_pad_push_event), (gst_pad_send_event):
27867 * gst/gstutils.c: (gst_pad_add_data_probe),
27868 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
27869 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
27870 (gst_pad_remove_buffer_probe):
27872 Remove old probes, add new g-signal-based probes and some utility
27875 2005-06-29 Edward Hervey <edward@fluendo.com>
27877 * gst/gstelementfactory.c:
27880 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
27881 the definition to the header file.
27883 2005-06-29 Andy Wingo <wingo@pobox.com>
27885 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
27886 plugins from the source directory.
27888 2005-06-29 Wim Taymans <wim@fluendo.com>
27890 * docs/gst/tmpl/gstbuffer.sgml:
27891 * docs/gst/tmpl/gstclock.sgml:
27892 Some fixings for blantently wrong text.
27894 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
27896 * check/Makefile.am:
27897 * gst/gst.c: (add_path_func), (init_pre):
27898 * gst/gstregistry.c: (gst_registry_add_path):
27899 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
27900 only scan the GST_PLUGIN_PATH locations, and not add
27903 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
27905 * docs/gst/gstreamer-sections.txt:
27906 * docs/gst/tmpl/gstbasesrc.sgml:
27907 * gst/gstelement.c:
27908 * gst/gstelement.h:
27913 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27915 * docs/manual/advanced-autoplugging.xml:
27916 Fix autoplugging example.
27918 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27920 * docs/manual/advanced-autoplugging.xml:
27921 * docs/manual/mime-world.fig:
27922 Try to get autoplugging working, fix type detection. Fix text
27923 in hello-world image.
27925 2005-06-29 Wim Taymans <wim@fluendo.com>
27927 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27928 (gst_base_sink_change_state):
27932 map SIGNAL and BROADCAST to the right function.
27935 Remove redundant braces.
27937 * gst/gstpad.c: (gst_pad_set_caps):
27938 Don't call setcaps function when reseting caps to NULL.
27940 * gst/gstsystemclock.c: (gst_system_clock_dispose),
27941 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
27942 (gst_system_clock_id_unschedule):
27943 Use BROADCAST as this is what we do.
27945 2005-06-29 Wim Taymans <wim@fluendo.com>
27947 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
27948 We are actually prerolling before commiting the state
27951 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27953 * docs/manual/advanced-clocks.xml:
27954 * docs/manual/advanced-interfaces.xml:
27955 * docs/manual/advanced-metadata.xml:
27956 * docs/manual/advanced-position.xml:
27957 * docs/manual/advanced-schedulers.xml:
27958 * docs/manual/advanced-threads.xml:
27959 * docs/manual/appendix-porting.xml:
27960 * docs/manual/basics-bins.xml:
27961 * docs/manual/basics-bus.xml:
27962 * docs/manual/basics-elements.xml:
27963 * docs/manual/basics-helloworld.xml:
27964 * docs/manual/basics-pads.xml:
27965 * docs/manual/highlevel-components.xml:
27966 * docs/manual/manual.xml:
27967 * docs/manual/thread.fig:
27968 Update (until threads/scheduling) Application Development Manual;
27969 remove GstThread, add GstBus, add simple porting checklist, add
27970 documentation for tag writing, clocks, make all examples until this
27971 part compile and run.
27972 * examples/manual/Makefile.am:
27973 Update from changes to Application Development Manual; add bus
27974 example, remove thread example.
27976 2005-06-28 Wim Taymans <wim@fluendo.com>
27978 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
27979 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
27980 (gst_bus_source_dispatch):
27981 Add debugging messages.
27982 Make internal methods static.
27983 Handle the case where the bus is flushed in the handler.
27985 * gst/gstelement.c: (gst_element_get_bus):
27986 Fix refcount in _get_bus();
27988 * gst/gstpipeline.c: (gst_pipeline_change_state),
27989 (gst_pipeline_get_clock_func):
27990 Clock refcounting fixes.
27991 Handle the case where preroll timed out more gracefully.
27993 * gst/gstsystemclock.c: (gst_system_clock_dispose):
27994 Clean up the internal thread in dispose. This is needed
27995 for subclasses that actually get disposed.
27997 * gst/schedulers/threadscheduler.c:
27998 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27999 (gst_thread_scheduler_dispose):
28000 Free thread pool in dispose.
28002 2005-06-28 Andy Wingo <wingo@pobox.com>
28004 * tests/network-clock-utils.scm (debug, print-event): New utils.
28006 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28007 (*packet-loss*): Unified loss probability.
28008 (network-time): Report out-of-band events.
28010 * tests/plot-data: Add support for out-of-band events. Hack it
28011 into this script instead of passing it down the pipe; should fix
28014 2005-06-28 Wim Taymans <wim@fluendo.com>
28016 * docs/gst/gstreamer.types:
28017 * docs/gst/tmpl/gstbasesrc.sgml:
28018 * docs/gst/tmpl/gstpad.sgml:
28021 2005-06-28 Wim Taymans <wim@fluendo.com>
28023 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28024 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28025 (gst_proxy_pad_do_fixatecaps):
28026 Correctly proxy the check_pull_range function.
28028 2005-06-28 Andy Wingo <wingo@pobox.com>
28030 * tests/network-clock.scm: Removed need for slib.
28032 2005-06-28 Wim Taymans <wim@fluendo.com>
28034 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28035 (gst_basesink_preroll_queue_flush):
28036 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28037 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28038 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28039 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28040 (gst_proxy_pad_set_property):
28043 * gst/gstqueue.c: (gst_queue_init):
28044 The deprecated pad loop function is removed now.
28046 2005-06-28 Andy Wingo <wingo@pobox.com>
28048 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28049 New parameters, simulate network packet loss.
28051 * tests/network-clock-utils.scm: Initialize the RNG.
28053 2005-06-28 Wim Taymans <wim@fluendo.com>
28055 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28056 (gst_basesink_event), (gst_basesink_deactivate):
28057 Flushing the preroll queue always needs to unlock the waiters.
28059 2005-06-28 Edward Hervey <edward@fluendo.com>
28061 * gst/gstpipeline.c: (gst_pipeline_send_event):
28062 Wheen a seek was successful on a pipeline, set the stream_time to the
28063 seek offset in order to have a synchronized stream_time.
28065 2005-06-28 Wim Taymans <wim@fluendo.com>
28067 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28068 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28069 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28070 (gst_proxy_pad_do_fixatecaps):
28071 Call wrapper function instead of just calling the function
28072 pointers. This takes care of any locking and whatmore.
28074 2005-06-28 Wim Taymans <wim@fluendo.com>
28076 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28077 (gst_pad_pull_range):
28079 CONNECTED -> LINKED.
28081 2005-06-28 Andy Wingo <wingo@pobox.com>
28083 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28084 source-munging commit!!!
28086 * gst/gstobject.c (gst_object_unref, gst_object_ref)
28087 (gst_object_sink): Take gpointer arguments, not GstObject --
28088 avoids casts. Like GLib.
28090 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
28093 2005-06-27 Andy Wingo <wingo@pobox.com>
28095 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
28098 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
28099 returns a sorted copy of the trace list.
28100 (gst_alloc_trace_print_live): New API, only prints traces with
28101 live objects. Sort the list.
28102 (gst_alloc_trace_print_all): Sort the list.
28103 (gst_alloc_trace_print): Align columns.
28105 * gst/elements/gstttypefindelement.c:
28106 * gst/elements/gsttee.c:
28107 * gst/base/gstbasesrc.c:
28108 * gst/base/gstbasesink.c:
28109 * gst/base/gstbasetransform.c:
28110 * gst/gstqueue.c: Adapt for pad activation changes.
28112 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
28114 (gst_pipeline_dispose): Drop ref on sched.
28116 * gst/gstpad.c (gst_pad_init): Set the default activate func.
28117 (gst_pad_activate_default): Push mode by default.
28118 (pre_activate_switch, post_activate_switch): New stubs, things to
28119 do before and after switching activation modes on pads.
28120 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
28121 the pad's activate function to choose which mode to activate.
28122 Shortcut on deactivation and call the right function directly.
28123 (gst_pad_activate_pull): New API, (de)activates a pad in pull
28125 (gst_pad_activate_push): New API, same for push mode.
28126 (gst_pad_set_activate_function)
28127 (gst_pad_set_activatepull_function)
28128 (gst_pad_set_activatepush_function): Setters for new API.
28130 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
28131 Trace all miniobjects.
28132 (gst_mini_object_make_writable): Unref the arg if we copy, like
28133 gst_caps_make_writable.
28135 * gst/gstmessage.c (_gst_message_initialize): No trace init.
28137 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
28138 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
28139 Adapt for new pad API.
28141 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
28143 * gst/gstelement.h:
28144 * gst/gstelement.c (gst_element_iterate_src_pads)
28145 (gst_element_iterate_sink_pads): New API functions.
28147 * gst/gstelement.c (iterator_fold_with_resync): New utility,
28148 should fold into gstiterator.c in some form.
28149 (gst_element_pads_activate): Simplified via use of fold and
28150 delegation of decisions to gstpad->activate.
28152 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
28155 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
28156 class once in init, like gstmessage. Didn't run into this issue
28157 but it seems correct. Don't initialize a trace, gstminiobject does
28160 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
28161 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
28163 (assert_live_count): New util function, uses alloc traces to check
28166 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
28167 To be modified when unlink drops the internal pad.
28169 2005-06-27 Wim Taymans <wim@fluendo.com>
28171 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
28172 (gst_bin_change_state):
28173 Cleanup the get_state() function a little, make sure it
28174 iterates the same set of elements.
28175 Added stub iterate_state_order().
28177 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
28179 * docs/gst/gstreamer-docs.sgml:
28180 * docs/gst/gstreamer-sections.txt:
28181 * docs/gst/gstreamer.types:
28182 * docs/gst/tmpl/gstbasesink.sgml:
28183 * docs/gst/tmpl/gstbasesrc.sgml:
28184 * docs/gst/tmpl/gstbasetransform.sgml:
28185 * docs/gst/tmpl/gstelement.sgml:
28186 * docs/gst/tmpl/gstiterator.sgml:
28187 * gst/base/gstbasesrc.c:
28188 * gst/base/gstbasesrc.h:
28189 * gst/base/gstbasetransform.h:
28190 * gst/gstelement.c:
28191 * gst/gstiterator.h:
28192 adding basetransform and iterator docs
28194 2005-06-27 Andy Wingo <wingo@pobox.com>
28196 * docs/design/part-activation.txt: Notes on how activation should
28197 work -- not quite implemented yet.
28199 2005-06-25 Wim Taymans <wim@fluendo.com>
28201 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
28202 At least get the chain function correct, needs more
28205 2005-06-25 Wim Taymans <wim@fluendo.com>
28207 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28208 (gst_basesink_handle_object), (gst_basesink_event),
28209 (gst_basesink_do_sync), (gst_basesink_handle_event),
28210 (gst_basesink_change_state):
28212 Right, two problems here: ghostpads don't take locks and
28213 glib _rec_mutex_lock_full() with depth==0 still locks.
28214 Catch illegal locking and g_warn them.
28216 2005-06-25 Wim Taymans <wim@fluendo.com>
28218 * check/states/sinks.c: (START_TEST), (gst_object_suite):
28219 Have to check for completion now...
28221 2005-06-25 Wim Taymans <wim@fluendo.com>
28223 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28224 (gst_basesink_handle_object), (gst_basesink_event),
28225 (gst_basesink_do_sync), (gst_basesink_handle_event),
28226 (gst_basesink_change_state):
28228 Unlock STREAM_LOCK whatever the recursion was.
28230 2005-06-25 Wim Taymans <wim@fluendo.com>
28232 * gst/base/gstbasesink.c: (gst_basesink_set_property),
28233 (gst_basesink_preroll_queue_empty),
28234 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
28235 (gst_basesink_event), (gst_basesink_do_sync),
28236 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
28237 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
28238 (gst_basesink_change_state):
28239 Reworked the base sink, handle event and buffer serialisation
28240 correctly and removed possible deadlock.
28241 Handle EOS correctly.
28243 2005-06-25 Wim Taymans <wim@fluendo.com>
28245 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
28246 (gst_pipeline_change_state):
28247 * tools/gst-launch.c: (check_intr), (event_loop), (main):
28248 Allow elements to post EOS in the state change function.
28249 Fix up -launch, make it exit the poll loop when the
28250 pipeline actually changed state.
28251 Fix up warning parsing in -launch.
28253 2005-06-25 Wim Taymans <wim@fluendo.com>
28255 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
28256 (gst_tee_sink_activate):
28257 Core takes STREAM_LOCK for us now.
28259 2005-06-25 Wim Taymans <wim@fluendo.com>
28261 * gst/gstelement.c: (gst_element_get_state_func),
28262 (gst_element_set_state):
28263 * gst/gstelement.h:
28264 * gst/gstmessage.c: (gst_message_parse_error),
28265 (gst_message_parse_warning):
28266 Keep track of current target state while performing a state
28267 change so that subclasses can do something interesting.
28268 Fix parsing of warning/error messages when GError is NULL.
28270 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
28272 * docs/gst/Makefile.am:
28273 * docs/gst/gstreamer-docs.sgml:
28274 * docs/gst/gstreamer-sections.txt:
28275 * docs/gst/gstreamer.types:
28276 * docs/gst/tmpl/gstbasesink.sgml:
28277 * docs/gst/tmpl/gstbasesrc.sgml:
28278 * docs/gst/tmpl/gstbin.sgml:
28279 * docs/gst/tmpl/gstcompat.sgml:
28280 * docs/gst/tmpl/gstfakesink.sgml:
28281 * docs/gst/tmpl/gstfakesrc.sgml:
28282 * docs/gst/tmpl/gstfilesink.sgml:
28283 * docs/gst/tmpl/gstfilesrc.sgml:
28284 * docs/gst/tmpl/gstindex.sgml:
28285 * docs/manual/appendix-quotes.xml:
28286 * gst/base/gstbasesrc.h:
28287 * gst/elements/gstfakesrc.h:
28288 * gst/gstmessage.h:
28289 start pulling in base classes and elements in our docs
28291 2005-06-24 Stefan Kost <ensonic@users.sf.net>
28293 * docs/gst/Makefile.am:
28294 * docs/libs/Makefile.am:
28295 fixed make distcheck with gtk-doc 1.3
28297 2005-06-23 Wim Taymans <wim@fluendo.com>
28299 * gst/gstelement.c: (gst_element_get_state_func),
28300 (gst_element_set_state), (gst_element_change_state):
28301 When the state did not change, also report NO_PREROLL
28304 2005-06-23 Wim Taymans <wim@fluendo.com>
28306 * gst/gstpad.c: (gst_pad_event_default):
28307 * gst/gstqueue.c: (gst_queue_loop):
28308 No unsafe task pausing please.
28310 2005-06-23 Wim Taymans <wim@fluendo.com>
28312 * gst/schedulers/threadscheduler.c:
28313 (gst_thread_scheduler_task_start),
28314 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
28315 Ref the task before pushing it on the threadpool. This
28316 makes sure that we have a ref when the threadfunction is
28319 2005-06-23 Andy Wingo <wingo@pobox.com>
28321 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
28322 offset is greater than the file's size.
28324 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
28325 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
28326 * gst/gstobject.c (gst_object_class_init): Make the class lock
28327 recursive. Wim won't let me drop deep_notify. Decodebin works
28328 again, whoopdy doo.
28330 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
28331 internal pad, and hacks accordingly. Doesn't do it on the target
28332 pad because we change its caps. Probably catches all cases of
28334 (gst_ghost_pad_set_property): Connect to notify::caps as
28337 * tests/network-clock.scm (plot-simulation): Pipe data to the
28338 elite python skript.
28340 * tests/network-clock-utils.scm (define-parameter): New macro,
28341 defines a parameter that can be set via the command line.
28342 (set-parameter!, parse-parameter-arguments): Command line args
28345 * tests/plot-data: Simple matplotlib-based plotter, takes input on
28348 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
28350 * gst/elements/gsttypefindelement.c:
28351 (gst_type_find_element_handle_event):
28352 Don't restart typefinding on a discont.
28353 * gst/gstelement.c: (gst_element_set_state):
28354 Debug spelling fix.
28355 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
28356 Allow changing mode of an active pad.
28357 Debug output fixes.
28358 * gst/registries/gstlibxmlregistry.c: (load_feature):
28359 Don't cast a static pad template to a normal pad template.
28361 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
28363 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28364 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
28365 remove gst_strtoll completely, since it didn't actually do
28366 anything more than what g_ascii_strtoull already does.
28367 check for range errors when deserializing
28368 do a cast for the unsigned cases; but further fixing needs
28369 a decision on what the interpretation of "(int)" and
28370 deserialization should be for values that fall outside the
28371 type's boundaries (ie, refuse, or interpret as casting)
28373 2005-06-23 Wim Taymans <wim@fluendo.com>
28375 * check/Makefile.am:
28376 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
28377 * docs/design/part-live-source.txt:
28378 * docs/design/part-states.txt:
28379 * gst/base/gstbasesrc.c: (gst_basesrc_init),
28380 (gst_basesrc_set_live), (gst_basesrc_is_live),
28381 (gst_basesrc_get_range), (gst_basesrc_activate),
28382 (gst_basesrc_change_state):
28383 * gst/base/gstbasesrc.h:
28384 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28385 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
28386 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
28387 * gst/gstelement.c: (gst_element_get_state_func),
28388 (gst_element_set_state):
28389 * gst/gstelement.h:
28391 * tools/gst-launch.c: (event_loop), (main):
28392 Added support for live sources and other elements that
28394 Updated design docs, added live-source design doc.
28395 Implemented live source functionality in basesrc
28396 Fix error condition in _bin_get_state()
28397 Implement live source handling in -launch.
28398 Added check for live sources.
28399 Fixed case in GstBin where elements were changed state
28403 2005-06-23 Andy Wingo <wingo@pobox.com>
28405 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
28406 borken refcounting.
28408 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
28409 gst_caps_replace takes care of this for us.
28411 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
28412 gst_pad_set_caps on the target, not just its setcaps() function.
28414 * tests/network-clock.scm:
28415 * tests/network-clock-utils.scm: A network clock simulator.
28416 Something of an algorithmic testbed before doing something in C.
28418 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
28420 * check/Makefile.am:
28421 * check/gst/capslist.h:
28422 copy over from 0.8, and add two with bitmasks specified with
28424 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
28425 add test to parse everything from capslist.h
28426 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
28428 add test for structure deserialization
28429 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28430 add tests for deserialization of strings to int types
28431 * gst/gststructure.c: (gst_structure_nth_field_name):
28432 * gst/gststructure.h:
28433 add a way to get the name of a field referenced by index
28434 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
28435 instead of checking if the resulting long long lies between
28436 min and max, we check if the long long would fit into
28437 a number of bytes for the final type.
28438 This fixes cases where a string represents 2^32 - 1, which
28439 when cast to int would be the (valid) -1, but is bigger than
28442 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
28444 * gst/parse/grammar.y:
28445 add a log line for type deserialization
28447 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
28449 * check/gst/gstvalue.c: (START_TEST):
28450 * gst/gstvalue.c: (gst_value_deserialize):
28451 return long long, not int, so gint64 deserialization actually
28452 works. Is there any flag that makes the compiler check this ?
28455 2005-06-22 Wim Taymans <wim@fluendo.com>
28458 Added convenience macros for setting buffers in GValue.
28460 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
28462 * check/gst/.cvsignore:
28463 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28464 add a test deserializing int64, and comment part out because
28467 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
28469 * check/Makefile.am:
28470 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
28471 * testsuite/Makefile.am:
28472 * testsuite/caps/Makefile.am:
28473 * testsuite/caps/value_serialize.c:
28474 * testsuite/test_gst_init.c:
28475 move a value_serialize test over
28477 2005-06-20 Wim Taymans <wim@fluendo.com>
28482 * gst/gstvalue.c: (gst_value_compare_buffer),
28483 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
28484 (gst_value_compare_flags), (gst_value_serialize_flags),
28485 (gst_value_deserialize_flags), (_gst_value_initialize):
28486 Fix serialisation of buffers, they are not boxed types anymore
28488 2005-06-20 Wim Taymans <wim@fluendo.com>
28490 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
28491 Testcase to show error in buffer-on-caps serialisation.
28493 2005-06-20 Andy Wingo <wingo@pobox.com>
28495 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
28496 will be adding to later.
28498 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
28499 if its socks fill with rocks.
28500 (gst_system_clock_obtain): Set the name on object construction.
28501 Avoid double-checked locking.
28503 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
28505 * gst/gsturi.c: (gst_element_make_from_uri):
28506 Fix potential endless loop.
28508 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
28510 * check/Makefile.am:
28512 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
28514 move over from testsuite dir and clean up
28517 * testsuite/Makefile.am:
28518 * testsuite/tags/.cvsignore:
28519 * testsuite/tags/Makefile.am:
28520 * testsuite/tags/merge.c:
28521 remove testsuite/tags
28523 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
28525 * docs/gst/gstreamer-sections.txt:
28526 * docs/gst/tmpl/gstenumtypes.sgml:
28527 * win32/gstenumtypes.c:
28528 clean up documentation build a little
28530 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
28532 * check/gstcheck.h:
28533 add macros for checking refcounts on objects and caps
28534 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
28535 add some more unit tests
28536 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
28537 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
28538 fix leaked refcounts (I hope :)) so unittest works
28542 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
28544 * configure.ac: back to HEAD
28546 === release 0.9.1 ===
28548 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
28554 2005-06-17 Andy Wingo <wingo@pobox.com>
28556 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
28557 assert; it's always possible that the pad gets deactivated in
28558 between the checks in gstpad.c and the implementation. Rely on
28559 finish_preroll() to return a FLUSHING or similar instead of on the
28562 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
28563 clock and post an EOS message if we come out of finish_preroll in
28566 2005-06-16 David Schleef <ds@schleef.org>
28568 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
28569 (gst_capsfilter_set_property): Allow NULL as possible value
28570 for filter_caps property, indicating GST_CAPS_ANY.
28572 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
28574 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
28576 * gst/schedulers/Makefile.am:
28578 * gstreamer.spec.in:
28581 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
28583 * gstreamer.spec.in:
28586 2005-06-08 Andy Wingo <wingo@pobox.com>
28588 * gst/gstutils.c: RPAD fixes all around.
28589 (gst_element_link_pads): Refcounting fixes.
28591 * tools/gst-inspect.c:
28592 * tools/gst-xmlinspect.c:
28594 * gst/base/gsttypefindhelper.c:
28595 * gst/base/gstbasesink.c:
28596 * gst/gstqueue.c: RPAD fixes.
28598 * gst/gstghostpad.h:
28599 * gst/gstghostpad.c: New ghost pad implementation as full proxy
28600 pads. The tricky thing is they provide both source and sink
28601 interfaces, since they proxy the internal pad for the external
28602 pad, and vice versa. Implement with lower-level ProxyPad objects,
28603 with the interior proxy pad as a child of the exterior ghost pad.
28604 Should write a doc on this.
28606 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
28607 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
28610 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
28611 pads are real pads. No ghost pads in this file. Not documenting
28612 the myriad s/RPAD/PAD/ and REALIZE fixes.
28613 (gst_pad_class_init): Add properties for "direction" and
28614 "template". Both are construct-only, so they can't change during
28615 the life of the pad. Fixes properly deriving from GstPad.
28616 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
28617 derived objects, just set properties when creating the objects via
28619 (gst_pad_get_parent): Implement as a function, return NULL if the
28620 parent is not an element.
28621 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
28622 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
28624 * gst/gstobject.c (gst_object_class_init): Make name a construct
28625 property. Don't set it in the object init.
28627 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
28628 with UNKNOWN direction.
28629 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
28630 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
28631 (gst_element_remove_pad): Remove ghost-pad special cases.
28632 (gst_element_pads_activate): Remove rpad cruft.
28634 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
28635 catch the pad's-parent-not-an-element case.
28637 * gst/gst.h: Include gstghostpad.h.
28639 * gst/gst.c (init_post): No more real, ghost pads.
28641 * gst/Makefile.am: Add gstghostpad.[ch].
28643 * check/Makefile.am:
28644 * check/gst/gstbin.c:
28645 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
28646 into a bin creates ghost pads, and that the refcounts are right.
28647 Partly moved from gstbin.c.
28649 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
28651 * check/gst-libs/.cvsignore:
28652 * check/gst/.cvsignore:
28653 * check/pipelines/.cvsignore:
28655 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
28656 (START_TEST), (cleanup_suite), (main):
28657 add some tests related to cleanup after running pipelines
28659 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
28661 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
28662 add a testsuite for GstBuffer
28664 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
28666 * gst/gstminiobject.h:
28667 add defines for accessing the refcount
28669 2005-06-03 Stefan Kost <ensonic@users.sf.net>
28671 * Makefile.am: added support for html unit test coverage reports
28673 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
28675 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
28676 Free existing caps if the capsfilter changes. Add a FIXME about
28677 setting those caps on the pads.
28679 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
28680 Before adding a ghost pad to a parent bin, check that there isn't
28681 already one for the element on the bin. Prevents infinite recursion
28682 when using decodebin in parse pipelines. Andy says he'll rewrite the
28683 way this works anyway, so ignore the hack.
28685 2005-06-02 Andy Wingo <wingo@pobox.com>
28687 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
28688 file size, pass it on to the type find helper.
28690 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
28691 segment_start and segment_end properly according to the seek
28692 method. Segment_end is still a bit flaky because offset can be
28693 negative for CUR and END cases, but it takes -1 as an "unset"
28696 2005-06-02 Wim Taymans <wim@fluendo.com>
28698 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
28699 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
28700 (gst_basesink_activate):
28701 * gst/base/gstbasesink.h:
28702 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28703 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
28704 (gst_pad_query), (gst_pad_start_task):
28706 * gst/gstqueue.c: (gst_queue_bufferalloc),
28707 (gst_queue_handle_sink_event), (gst_queue_chain):
28708 Bufferalloc: return GstFlowReturn to more accuratly report
28709 why allocation failed.
28711 2005-06-02 Wim Taymans <wim@fluendo.com>
28713 * gst/gstpipeline.c: (gst_pipeline_send_event):
28714 Take snapshot of state without blocking.
28716 2005-06-02 Wim Taymans <wim@fluendo.com>
28718 * docs/design/part-TODO.txt:
28719 * docs/design/part-caps.txt:
28720 * docs/design/part-clocks.txt:
28721 * docs/design/part-negotiation.txt:
28722 * docs/design/part-preroll.txt:
28725 2005-05-30 Wim Taymans <wim@fluendo.com>
28727 * gst/elements/gstidentity.c: (gst_identity_event),
28728 (gst_identity_transform), (gst_identity_get_property):
28729 Protect last_message property as it is accessed from
28732 2005-05-30 Wim Taymans <wim@fluendo.com>
28734 * gst/gstelement.c: (gst_element_init),
28735 (gst_element_pads_activate), (gst_element_change_state):
28736 Slicker pad activation code.
28738 2005-05-30 Wim Taymans <wim@fluendo.com>
28741 * gst/gstelement.h:
28742 * gst/gstelementfactory.h:
28744 Move elementfactory methods to separate .h file.
28746 2005-05-30 Wim Taymans <wim@fluendo.com>
28748 * docs/design/part-overview.txt:
28749 * gst/gstsystemclock.h:
28750 Small typo fixes, doc updates.
28752 2005-05-30 Wim Taymans <wim@fluendo.com>
28754 * gst/gst.c: (gst_init_get_popt_table), (init_post),
28755 (init_popt_callback):
28756 Remove cpu-opt flag.
28758 2005-05-30 Wim Taymans <wim@fluendo.com>
28760 * gst/gstbuffer.c: (gst_subbuffer_finalize),
28761 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
28763 Avoid typechecking in places where not needed.
28764 Added accessor for malloc_data.
28766 2005-05-30 Wim Taymans <wim@fluendo.com>
28768 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
28769 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
28770 (gst_pad_configure_sink), (gst_pad_configure_src),
28771 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
28772 (gst_pad_start_task):
28773 Propagate errors from _set_caps() in configure_src/sink
28774 functions instead of returning TRUE.
28775 FLUSH events can travel up and downstream
28778 2005-05-30 Wim Taymans <wim@fluendo.com>
28780 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
28781 (gst_basesink_activate):
28782 Handle EOS in preroll.
28784 2005-05-30 Wim Taymans <wim@fluendo.com>
28786 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
28787 (gst_queue_loop), (gst_queue_handle_src_event):
28788 Remove old pieces of code
28789 Flushing the queue in an upstream event is a very bad idea.
28791 2005-05-26 Andy Wingo <wingo@pobox.com>
28793 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
28794 gst_value_set_mini_object so as to add a ref on the object (which
28795 will be removed when the value is unset).
28797 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
28798 arg type in ::handoff.
28800 * gst/gstelement.c (gst_element_change_state): Also deactivate
28801 pads in READY->NULL, just in case the element didn't make it to
28802 PAUSED. Wingo tested, Wim approved.
28804 2005-05-26 Wim Taymans <wim@fluendo.com>
28806 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28807 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
28808 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
28809 A flushing pad cannot be used to alloc_buffer from.
28811 2005-05-26 Wim Taymans <wim@fluendo.com>
28813 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
28814 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
28815 (gst_bus_source_dispatch), (gst_bus_source_finalize),
28816 (gst_bus_create_watch), (gst_bus_add_watch_full):
28818 Implement a real GSource and use g_main_context_wakeup() to
28819 signal new messages instead of the socketpair.
28821 2005-05-25 Wim Taymans <wim@fluendo.com>
28823 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
28824 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
28825 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28826 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
28827 (gst_pad_send_event), (gst_pad_start_task):
28828 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
28829 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
28830 (gst_queue_sink_activate), (gst_queue_src_activate),
28831 (gst_queue_change_state):
28833 Fix state changes for non sinks. We now change sinks, then elements
28834 with unconnected srcpads, then the rest.
28835 More efficient queue unlocking in flush and state changes.
28836 Set the pad activate mode even if it does not have an activate
28839 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28841 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
28842 Don't go in pull mode for non-seekable sources.
28843 * gst/elements/gsttypefindelement.h:
28844 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
28845 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
28846 (free_entry), (stop_typefinding),
28847 (gst_type_find_element_handle_event), (find_peek),
28848 (gst_type_find_element_chain), (do_pull_typefind),
28849 (gst_type_find_element_change_state):
28850 Allow typefinding (w/o seeking) in push-mode, simplified version
28851 of what was in 0.8.
28852 * gst/gstutils.c: (gst_buffer_join):
28854 gst_buffer_join() from 0.8.
28856 2005-05-25 Wim Taymans <wim@fluendo.com>
28858 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28859 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
28860 (gst_pad_send_event), (gst_pad_start_task):
28861 Disable attempt at mode switching until it is figured out.
28863 2005-05-25 Wim Taymans <wim@fluendo.com>
28865 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
28866 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
28867 (gst_basesink_finish_preroll), (gst_basesink_chain),
28868 (gst_basesink_loop), (gst_basesink_activate),
28869 (gst_basesink_change_state):
28870 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
28871 (gst_basesrc_get_range), (gst_basesrc_loop),
28872 (gst_basesrc_activate):
28873 * gst/elements/gsttee.c: (gst_tee_sink_activate):
28874 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28875 (gst_real_pad_init), (gst_real_pad_set_property),
28876 (gst_real_pad_get_property), (gst_pad_set_active),
28877 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
28878 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
28879 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
28880 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
28881 (gst_pad_event_default_dispatch), (gst_pad_event_default),
28882 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
28883 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
28884 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28885 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
28886 (gst_pad_stop_task):
28888 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
28889 (gst_queue_loop), (gst_queue_src_activate):
28890 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
28891 (gst_task_get_state):
28893 * gst/schedulers/threadscheduler.c:
28894 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
28895 Implement gst_pad_pause/start/stop_task(), take STREAM lock
28897 Remove ACTIVE pad flag, use FLUSHING everywhere
28898 Added _pad_chain(), _pad_get_range() to call chain/getrange
28900 Add locks around IS_FLUSHING when reading.
28901 Take STREAM lock in chain(), get_range() functions so plugins
28902 don't need to take it anymore.
28906 2005-05-25 Wim Taymans <wim@fluendo.com>
28908 * tools/gst-launch.c: (event_loop):
28909 Unref message after using its contents instead of
28912 2005-05-24 Wim Taymans <wim@fluendo.com>
28914 * docs/design/draft-ghostpads.txt:
28915 * docs/design/draft-push-pull.txt:
28916 * docs/design/draft-query.txt:
28917 * docs/design/part-overview.txt:
28918 Docs updates, added general overview doc.
28920 2005-05-21 David Schleef <ds@schleef.org>
28922 * docs/gst/tmpl/old/GstBin.sgml:
28923 * docs/gst/tmpl/old/GstBuffer.sgml:
28924 * docs/gst/tmpl/old/GstCaps.sgml:
28925 * docs/gst/tmpl/old/GstClock.sgml:
28926 * docs/gst/tmpl/old/GstCompat.sgml:
28927 * docs/gst/tmpl/old/GstData.sgml:
28928 * docs/gst/tmpl/old/GstElement.sgml:
28929 * docs/gst/tmpl/old/GstEvent.sgml:
28930 * docs/gst/tmpl/old/GstIndex.sgml:
28931 * docs/gst/tmpl/old/GstStructure.sgml:
28932 * docs/gst/tmpl/old/GstTag.sgml:
28933 * docs/gst/tmpl/old/cothreads.sgml:
28934 * docs/gst/tmpl/old/cothreads_compat.sgml:
28935 * docs/gst/tmpl/old/gettext.sgml:
28936 * docs/gst/tmpl/old/gobject2gtk.sgml:
28937 * docs/gst/tmpl/old/grammar.tab.sgml:
28938 * docs/gst/tmpl/old/gst-i18n-app.sgml:
28939 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
28940 * docs/gst/tmpl/old/gst_private.sgml:
28941 * docs/gst/tmpl/old/gstaggregator.sgml:
28942 * docs/gst/tmpl/old/gstarch.sgml:
28943 * docs/gst/tmpl/old/gstatomic_impl.sgml:
28944 * docs/gst/tmpl/old/gstbufferstore.sgml:
28945 * docs/gst/tmpl/old/gstdata_private.sgml:
28946 * docs/gst/tmpl/old/gstdisksink.sgml:
28947 * docs/gst/tmpl/old/gstdisksrc.sgml:
28948 * docs/gst/tmpl/old/gstelementfactory.sgml:
28949 * docs/gst/tmpl/old/gstextratypes.sgml:
28950 * docs/gst/tmpl/old/gstfakesink.sgml:
28951 * docs/gst/tmpl/old/gstfakesrc.sgml:
28952 * docs/gst/tmpl/old/gstfdsink.sgml:
28953 * docs/gst/tmpl/old/gstfdsrc.sgml:
28954 * docs/gst/tmpl/old/gstfilesink.sgml:
28955 * docs/gst/tmpl/old/gstfilesrc.sgml:
28956 * docs/gst/tmpl/old/gsthttpsrc.sgml:
28957 * docs/gst/tmpl/old/gstidentity.sgml:
28958 * docs/gst/tmpl/old/gstindexfactory.sgml:
28959 * docs/gst/tmpl/old/gstmarshal.sgml:
28960 * docs/gst/tmpl/old/gstmd5sink.sgml:
28961 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
28962 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
28963 * docs/gst/tmpl/old/gstpadtemplate.sgml:
28964 * docs/gst/tmpl/old/gstpipefilter.sgml:
28965 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
28966 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
28967 * docs/gst/tmpl/old/gstshaper.sgml:
28968 * docs/gst/tmpl/old/gstspider.sgml:
28969 * docs/gst/tmpl/old/gstspideridentity.sgml:
28970 * docs/gst/tmpl/old/gststatistics.sgml:
28971 * docs/gst/tmpl/old/gsttee.sgml:
28972 * docs/gst/tmpl/old/gsttimecache.sgml:
28973 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
28974 * docs/gst/tmpl/old/gstxmlregistry.sgml:
28975 * docs/gst/tmpl/old/gthread-cothreads.sgml:
28976 * docs/gst/tmpl/old/types.sgml:
28977 I didn't intend to add these or check them in.
28979 2005-05-19 David Schleef <ds@schleef.org>
28981 * configure.ac: Use -no-common everywhere. In a sane world, it
28982 would be the default in libtool, because without it, you can't
28983 build DLLs on Windows.
28984 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
28985 * docs/gst/gstreamer-sections.txt:
28986 * docs/gst/tmpl/gstcpu.sgml:
28987 * docs/gst/tmpl/gstdata.sgml:
28988 * docs/gst/tmpl/gstthread.sgml:
28990 2005-05-19 David Schleef <ds@schleef.org>
28992 * gst/gstminiobject.c: (gst_value_set_mini_object),
28993 (gst_value_take_mini_object), (gst_value_get_mini_object):
28994 * gst/gstminiobject.h: Add GValue set/get functions.
28996 2005-05-19 Wim Taymans <wim@fluendo.com>
28998 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
28999 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29000 (gst_subbuffer_init), (gst_buffer_is_span_fast):
29002 * gst/gstbus.c: (gst_bus_post):
29003 * gst/gstelement.c: (gst_element_get_random_pad):
29004 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29005 Make subbufer unref the parent in finalize.
29006 some more debugging info.
29009 2005-05-19 Wim Taymans <wim@fluendo.com>
29011 * gst/base/gstbasesink.c: (gst_basesink_class_init),
29012 (gst_basesink_init), (gst_basesink_finalize),
29013 (gst_basesink_activate), (gst_basesink_change_state):
29014 Don't free preroll queue too early.
29016 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29020 Hi, I'm outdated. Please shoot me.
29022 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29024 * gst/gstpipeline.c: (gst_pipeline_send_event):
29025 Do not access variables after they have been deleted.
29027 2005-05-19 Wim Taymans <wim@fluendo.com>
29029 * tools/gst-inspect.c: (print_plugin_features):
29030 A plugin feature does unfortunatly not use the
29033 2005-05-18 Wim Taymans <wim@fluendo.com>
29035 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29036 Port _span() functions to new subbuffers.
29038 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29040 * gst/gstbin.c: (gst_bin_add_func):
29041 Fix clock settery in bins when adding kids after the clock has
29044 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29046 * gst/elements/gstidentity.c: (gst_identity_class_init):
29047 Workaround until signals support GstMiniObject.
29049 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
29052 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29054 2005-05-18 Wim Taymans <wim@fluendo.com>
29056 * gst/base/Makefile.am:
29057 * gst/base/gstadapter.c: (gst_adapter_base_init),
29058 (gst_adapter_class_init), (gst_adapter_init),
29059 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29060 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29061 (gst_adapter_flush), (gst_adapter_available),
29062 (gst_adapter_available_fast):
29063 * gst/base/gstadapter.h:
29064 Ported and added adapter to the base classes.
29066 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
29069 * gst/gstmessage.c:
29070 Make sure the class is reffed/unreffed once before threads can be
29071 used. Fixes #304551.
29073 2005-05-17 Wim Taymans <wim@fluendo.com>
29075 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29076 (gst_basesink_chain_unlocked), (gst_basesink_activate):
29077 * gst/gstminiobject.c: (gst_mini_object_get_type),
29078 (gst_mini_object_free):
29079 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29080 (gst_pad_push), (gst_pad_push_event):
29081 * gst/gstqueue.c: (gst_queue_change_state):
29082 Don't queue buffers in basesink when we are flushing.
29083 Unref buffer when flushing in basesink.
29084 Flush queue when going to READY
29085 Unref buffer when _push() returns an error.
29086 Don't free MiniObject instance when refcount is incremented
29087 in _finalize() so that we can recover objects.
29089 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
29091 * docs/manual/advanced-schedulers.xml:
29092 * docs/manual/appendix-checklist.xml:
29093 * docs/pwg/advanced-clock.xml:
29094 * docs/pwg/advanced-interfaces.xml:
29095 * docs/pwg/advanced-request.xml:
29096 * docs/pwg/advanced-types.xml:
29097 * docs/pwg/intro-preface.xml:
29098 * examples/plugins/example.c: (gst_example_get_type),
29099 (gst_example_class_init), (gst_example_chain),
29100 (gst_example_set_property), (gst_example_get_property),
29101 (gst_example_change_state), (plugin_init):
29102 * examples/plugins/example.h:
29105 2005-05-17 Wim Taymans <wim@fluendo.com>
29107 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
29108 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
29109 * gst/gstqueue.c: (gst_queue_change_state):
29110 Clear queue when going to READY.
29111 Remove IN_SETCAPS flag too.
29113 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
29115 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
29116 Remove implicit cast from gboolean to GstElementStateReturn;
29117 make sure we still return failure in paused => ready case if
29118 the parent class fails to change state and our own stop
29121 2005-05-17 Wim Taymans <wim@fluendo.com>
29123 * tools/gst-launch.c: (event_loop):
29124 Message was unreffed too soon.
29126 2005-05-16 Andy Wingo <wingo@pobox.com>
29128 * gst/gstbin.c (sink_iterator_filter): Err... um...
29130 * check/gst/gstbin.c (test_ghost_pads): New test for the
29131 ghosting-if-elements-not-in-same-bin behavior.
29133 2005-05-16 David Schleef <ds@schleef.org>
29135 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
29136 accessing refcount directly.
29138 2005-05-15 David Schleef <ds@schleef.org>
29140 * check/Makefile.am: remove GstData checks
29141 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
29142 * gst/Makefile.am: add miniobject, remove data
29143 * gst/gst.h: add miniobject, remove data
29144 * gst/gstdata.c: remove
29145 * gst/gstdata.h: remove
29146 * gst/gstdata_private.h: remove
29147 * gst/gsttypes.h: remove GstEvent and GstMessage
29148 * gst/gstelement.c: (gst_element_post_message): fix for API changes
29149 * gst/gstmarshal.list: change BOXED -> OBJECT
29151 Implement GstMiniObject.
29152 * gst/gstminiobject.c:
29153 * gst/gstminiobject.h:
29155 Modify to be subclasses of GstMiniObject.
29156 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
29157 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
29158 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
29159 (gst_subbuffer_get_type), (gst_subbuffer_init),
29160 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
29163 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
29164 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
29165 (_gst_event_copy), (gst_event_new):
29167 * gst/gstmessage.c: (_gst_message_initialize),
29168 (gst_message_get_type), (gst_message_class_init),
29169 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
29170 (gst_message_new), (gst_message_new_error),
29171 (gst_message_new_warning), (gst_message_new_tag),
29172 (gst_message_new_state_changed), (gst_message_new_application):
29173 * gst/gstmessage.h:
29174 * gst/gstprobe.c: (gst_probe_perform),
29175 (gst_probe_dispatcher_dispatch):
29177 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
29178 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
29179 (_gst_query_copy), (gst_query_new):
29181 Update elements for GstData -> GstMiniObject changes
29183 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
29184 (gst_queue_chain), (gst_queue_loop):
29185 * gst/elements/gstbufferstore.c:
29186 (gst_buffer_store_add_buffer_func),
29187 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
29188 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29189 (gst_fakesink_render):
29190 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29191 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
29192 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
29193 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
29194 (gst_filesrc_create_read):
29195 * gst/elements/gstidentity.c: (gst_identity_class_init):
29196 * gst/elements/gsttypefindelement.c:
29197 (gst_type_find_element_src_event), (free_entry_buffers),
29198 (gst_type_find_element_handle_event):
29199 * libs/gst/dataprotocol/dataprotocol.c:
29200 (gst_dp_header_from_buffer):
29201 * libs/gst/dataprotocol/dataprotocol.h:
29202 * libs/gst/dataprotocol/dp-private.h:
29204 2005-05-15 David Schleef <ds@schleef.org>
29206 * gst/elements/gstelements.c: Don't include headers that were
29209 2005-05-15 David Schleef <ds@schleef.org>
29211 * gst/elements/Makefile.am: Remove some elements that don't
29212 need to be in the core (or even exist at all).
29213 * gst/elements/gstaggregator.c:
29214 * gst/elements/gstaggregator.h:
29215 * gst/elements/gstmd5sink.c:
29216 * gst/elements/gstmd5sink.h:
29217 * gst/elements/gstmultifilesrc.c:
29218 * gst/elements/gstmultifilesrc.h:
29219 * gst/elements/gstpipefilter.c:
29220 * gst/elements/gstpipefilter.h:
29221 * gst/elements/gstshaper.c:
29222 * gst/elements/gstshaper.h:
29223 * gst/elements/gststatistics.c:
29224 * gst/elements/gststatistics.h:
29225 * po/POTFILES.in: Remove above files.
29227 2005-05-14 Andy Wingo <wingo@pobox.com>
29229 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
29230 so as to get the refs right.
29231 (sink_iterator_filter): New function, wraps bin_element_is_sink,
29232 unreffing objects that don't pass the filter.
29234 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
29235 gst_element_set_bus.
29236 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
29237 normal cases, this will destroy the bus.
29239 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
29242 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
29245 2005-05-13 Andy Wingo <wingo@pobox.com>
29247 * gst/gstutils.c (gst_element_link_pads): Instead of calling
29248 gst_pad_link, call pad_link_maybe_ghosting,
29249 (pad_link_maybe_ghosting): Links pads, making sure that the
29250 elements being linked are in the same bin.
29251 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
29252 Helpers for pad_link_maybe_ghosting.
29254 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
29257 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
29259 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
29261 * docs/design/part-element-source.txt:
29264 2005-05-12 Wim Taymans <wim@fluendo.com>
29266 * gst/base/gstbasesink.c: (gst_basesink_init),
29267 (gst_basesink_activate):
29268 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
29269 (gst_basesrc_is_seekable):
29270 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
29271 (bin_element_is_sink), (gst_bin_change_state):
29272 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
29273 * gst/gstelement.h:
29274 Identify sinks by their flag to avoid overly complicated
29276 Do state changes even for elements not reachable from the
29278 BaseSink is a sink now :)
29279 Some more debugging info in the basesrc.
29282 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29284 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
29285 Implement _query on a bin, similar to _send_event.
29287 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
29289 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
29290 Discont event offset format should be GST_FORMAT_BYTES,
29291 not GST_FORMAT_TIME.
29293 2005-05-12 Wim Taymans <wim@fluendo.com>
29295 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
29296 Same fix as Ronald's but without the signal.
29298 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29300 * gst/gstutils.c: (gst_element_query_position):
29301 No, an element is not a pad.
29303 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29305 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
29306 (gst_bin_get_state):
29307 If a child is removed from a bin while we remove the child from
29308 the bin and while we're retrieving its state, signal this to the
29309 get_state function so we abort the wait (instead of waiting for
29310 a timeout) and can immediately re-iterate over all other elements.
29312 2005-05-12 Wim Taymans <wim@fluendo.com>
29314 * gst/base/Makefile.am:
29315 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
29316 (gst_basesrc_start):
29317 * gst/base/gstbasesrc.h:
29318 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
29319 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
29320 (gst_pushsrc_init), (gst_pushsrc_create):
29321 * gst/base/gstpushsrc.h:
29322 Added is_seekable to BaseSrc
29323 Added simple PushSrc.
29325 2005-05-11 Wim Taymans <wim@fluendo.com>
29327 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
29328 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29329 (gst_element_link_pads), (gst_element_query_position),
29330 (gst_element_query_convert), (intersect_caps_func),
29331 (gst_pad_query_position), (gst_pad_query_convert):
29332 Fix refcounting in utils function.
29333 No point in trying to activate a pad when it's added, it could
29334 be added from the state change function and then we deadlock, the
29335 element has to decide what to do.
29337 2005-05-10 Andy Wingo <wingo@pobox.com>
29339 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
29340 *all* the arguments.
29342 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
29343 stream lock if it's a FLUSH_DONE; normal flushes don't get the
29344 lock (according to the docs -- if this is wrong change the docs).
29346 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
29347 flush messages in the NULL state.
29349 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
29350 message immediately and return.
29351 (gst_bus_set_flushing): New function. If a bus is flushing, it
29352 flushes out any queued messages and immediately unrefs new
29353 messages. This is so when an element goes to NULL, all of the
29354 unhandled messages coming from it can be freed, and their
29355 references to the element dropped. In other words: message source
29356 ref considered harmful :P
29358 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
29359 we're finished with it.
29361 * gst/gstmessage.c (gst_message_new_state_changed):
29363 2005-05-10 Wim Taymans <wim@fluendo.com>
29365 * gst/gstvalue.c: (gst_value_compare_flags),
29366 (gst_value_serialize_flags), (gst_value_deserialize_flags),
29367 (_gst_value_initialize):
29368 Added flags serialize/deserialize/compare code.
29370 2005-05-09 Andy Wingo <wingo@pobox.com>
29372 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
29373 Intersect the peer's caps with our caps.
29375 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29377 * gst/base/gsttypefindhelper.c: (helper_find_peek):
29378 * gst/elements/gsttypefindelement.c: (find_peek):
29379 Handle negative offsets better. Fixes decodebin.
29381 2005-05-09 Wim Taymans <wim@fluendo.com>
29383 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
29384 (gst_base_transform_event):
29385 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
29386 Implement accept_caps.
29387 Fix silly lock/unlock mismatch in base class.
29389 2005-05-09 Wim Taymans <wim@fluendo.com>
29391 * docs/design/draft-push-pull.txt:
29392 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
29393 * gst/elements/gstfilesink.c: (gst_filesink_init),
29394 (gst_filesink_query):
29395 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29396 (gst_type_find_handle_src_query), (find_element_get_length):
29397 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
29398 * gst/gstelement.h:
29399 * gst/gstmessage.c:
29400 * gst/gstmessage.h:
29401 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
29402 (gst_real_pad_get_caps_unlocked),
29403 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
29404 (gst_pad_event_default_dispatch), (gst_pad_event_default),
29405 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
29406 (gst_real_pad_dispose), (gst_real_pad_finalize),
29407 (gst_pad_load_and_link), (gst_pad_save_thyself),
29408 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
29409 (gst_pad_check_pull_range), (gst_pad_pull_range),
29410 (gst_pad_template_get_type), (gst_pad_template_class_init),
29411 (gst_pad_template_init), (gst_pad_template_dispose),
29412 (name_is_valid), (gst_static_pad_template_get),
29413 (gst_pad_template_new), (gst_static_pad_template_get_caps),
29414 (gst_pad_template_get_caps), (gst_pad_set_element_private),
29415 (gst_pad_get_element_private), (gst_pad_start_task),
29416 (gst_pad_pause_task), (gst_pad_stop_task),
29417 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
29418 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
29419 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
29420 (gst_ghost_pad_new):
29422 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
29423 (gst_query_new_position), (gst_query_set_position),
29424 (gst_query_parse_position), (gst_query_new_convert),
29425 (gst_query_set_convert), (gst_query_parse_convert):
29427 * gst/gstqueryutils.c:
29428 * gst/gstqueryutils.h:
29429 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
29430 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
29431 (gst_queue_handle_src_query):
29432 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29433 (gst_element_query_position), (gst_element_query_convert),
29434 (intersect_caps_func), (gst_pad_query_position),
29435 (gst_pad_query_convert):
29437 * tools/gst-inspect.c: (print_pad_info):
29438 * tools/gst-xmlinspect.c: (print_element_info):
29439 Remove old query functions. Ported old code.
29440 Added position/convert helper functions to gstutils.
29441 Reordered gstpad.c code, grouping relevant things.
29442 Remove gst_message_new(), always need to speficy a specific
29446 2005-05-09 Andy Wingo <wingo@pobox.com>
29448 * gst/gstiterator.h: Add some includes.
29450 * gst/gstqueryutils.h: Include more headers.
29453 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
29454 some uses of gst_pad_query.
29456 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
29457 NULL out parameters.
29458 (gst_query_new_position): New proc, allocates a new position
29461 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
29462 gstqueryutils.c to the build.
29464 * gst/gststructure.c (gst_structure_set_valist): Implement with
29465 the generic G_VALUE_COLLECT.
29467 2005-05-08 Edward Hervey <bilboed@bilboed.com>
29469 * gst/Makefile.am: (gst_headers):
29470 Added gstqueryutils.h to the list of headers to install, that was
29471 a 'nachty' move wingo :)
29473 2005-05-06 Andy Wingo <wingo@pobox.com>
29476 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
29477 GstData, init a memchunk.
29478 (standard_definitions): Add a few query types, deprecate a few.
29479 (gst_query_get_type): New proc.
29480 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
29482 (gst_query_new_application, gst_query_get_structure): New public
29485 * docs/design/draft-query.txt: Removed LINKS from the query types,
29486 because all the rest can be dispatched to other pads -- seemed
29487 ugly to have a query that couldn't be dispatched. internal_links
29488 is fine as a pad method.
29490 * gst/gstpad.h: Add query2 as a pad method, add the new functions
29491 in gstpad.c, but maintain binary compatibility for the moment.
29492 Will fix before 0.9 is out.
29494 * gst/gstqueryutils.c:
29495 * gst/gstqueryutils.h: New files, implement 3 methods for each
29496 query type: parse_query, parse_response, and set. Probably need an
29499 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
29501 * gst/elements/gstfilesink.c (gst_filesink_query2):
29502 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
29503 query_types, and formats methods.
29505 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
29506 (gst_pad_set_query2_function): New functions.
29507 (gst_real_pad_init): Set query2_default as the default query2
29508 function. Basically just dispatches to internally linked pads.
29512 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
29513 without using the atomic operations. Only one thread can possibly
29514 be accessing the data at this point. Changed so as to avoid
29515 gst_atomic operations.
29517 2005-05-06 Wim Taymans <wim@fluendo.com>
29519 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
29520 Also set caps if we use the fallback buffer alloc.
29522 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
29524 * docs/gst/Makefile.am:
29525 * docs/gst/gstreamer-docs.sgml:
29526 * docs/gst/gstreamer-sections.txt:
29527 * docs/gst/tmpl/gstatomic.sgml:
29528 * docs/gst/tmpl/gstmemchunk.sgml:
29529 * testsuite/elements/struct_i386.h:
29530 * win32/GStreamer.vcproj:
29532 Purge GstAtomic stuff from docs and win32 makefiles as well
29534 2005-05-06 Wim Taymans <wim@fluendo.com>
29536 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
29537 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
29538 * gst/gstpad.c: (gst_pad_peer_get_caps):
29539 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
29540 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
29541 (gst_queue_src_activate), (gst_queue_change_state):
29543 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29544 (intersect_caps_func):
29545 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
29546 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
29547 Some fixes for the peer_get_caps() change.
29549 2005-05-06 Wim Taymans <wim@fluendo.com>
29551 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29552 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
29553 (gst_basesink_activate):
29554 Actually do something with error codes returned from the push
29557 2005-05-06 Wim Taymans <wim@fluendo.com>
29559 * docs/design/part-element-sink.txt:
29560 * docs/design/part-element-source.txt:
29561 * gst/base/gstbasesink.c: (gst_basesink_class_init),
29562 (gst_basesink_event), (gst_basesink_activate):
29563 * gst/base/gstbasesink.h:
29564 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
29565 (gst_basesrc_activate):
29566 * gst/base/gstbasesrc.h:
29567 * gst/gstelement.c: (gst_element_pads_activate):
29568 Some more documentation.
29569 Fixed scheduling decision in _pads_activate().
29571 2005-05-05 Andy Wingo <wingo@pobox.com>
29573 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
29576 2005-05-05 Wim Taymans <wim@fluendo.com>
29578 * gst/base/Makefile.am:
29579 * gst/base/gstbasesink.h:
29580 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29581 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
29582 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
29583 (gst_collectpads_class_init), (gst_collectpads_init),
29584 (gst_collectpads_finalize), (gst_collectpads_new),
29585 (gst_collectpads_set_function), (gst_collectpads_add_pad),
29586 (find_pad), (gst_collectpads_remove_pad),
29587 (gst_collectpads_is_active), (gst_collectpads_collect),
29588 (gst_collectpads_collect_range), (gst_collectpads_start),
29589 (gst_collectpads_stop), (gst_collectpads_peek),
29590 (gst_collectpads_pop), (gst_collectpads_available),
29591 (gst_collectpads_read), (gst_collectpads_flush),
29592 (gst_collectpads_chain):
29593 * gst/base/gstcollectpads.h:
29594 * gst/elements/Makefile.am:
29595 * gst/elements/gstelements.c:
29596 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29597 (gst_fakesink_get_times), (gst_fakesink_event),
29598 (gst_fakesink_preroll), (gst_fakesink_render):
29599 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
29600 (gst_filesink_init), (gst_filesink_set_location),
29601 (gst_filesink_open_file), (gst_filesink_close_file),
29602 (gst_filesink_pad_query), (gst_filesink_event),
29603 (gst_filesink_render), (gst_filesink_change_state):
29604 * gst/elements/gstfilesink.h:
29605 Added object to help in making collect pad based elements.
29607 Make event function in sink baseclass return gboolean.
29609 2005-05-05 Wim Taymans <wim@fluendo.com>
29611 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
29612 (gst_bin_get_by_name):
29614 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
29615 (gst_clock_finalize):
29616 * gst/gstdata.c: (gst_data_replace):
29618 * gst/gstelement.c: (gst_element_request_pad),
29619 (gst_element_pads_activate):
29620 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
29621 (gst_object_unref):
29622 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29623 (gst_pad_set_checkgetrange_function),
29624 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
29625 (gst_pad_check_pull_range), (gst_pad_pull_range),
29626 (gst_static_pad_template_get_caps), (gst_pad_start_task),
29627 (gst_pad_pause_task), (gst_pad_stop_task):
29628 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29629 (gst_element_request_pad), (gst_pad_proxy_getcaps):
29630 Fix name lookup in GstBin.
29631 Added _data_replace() function and _buffer_replace()
29632 Use finalize method to clean up clock.
29633 Fix refcounting on request pads.
29634 Fix pad schedule mode error.
29635 Some more object refcounting debug info,
29638 2005-05-04 Andy Wingo <wingo@pobox.com>
29640 * check/Makefile.am:
29641 * docs/gst/tmpl/gstatomic.sgml:
29642 * docs/gst/tmpl/gstplugin.sgml:
29643 * gst/base/gstbasesink.c: (gst_basesink_activate):
29644 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
29645 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
29646 (gst_basesrc_query), (gst_basesrc_set_property),
29647 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
29648 (gst_basesrc_activate):
29649 * gst/base/gstbasesrc.h:
29650 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
29651 (gst_base_transform_src_activate):
29652 * gst/elements/gstelements.c:
29653 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29654 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29655 * gst/elements/gsttee.c: (gst_tee_sink_activate):
29656 * gst/elements/gsttypefindelement.c: (find_element_get_length),
29657 (gst_type_find_element_checkgetrange),
29658 (gst_type_find_element_activate):
29659 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
29660 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
29661 (gst_caps_load_thyself):
29662 * gst/gstelement.c: (gst_element_pads_activate),
29663 (gst_element_save_thyself), (gst_element_restore_thyself):
29664 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
29665 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
29667 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
29668 (gst_xml_parse_file), (gst_xml_parse_memory),
29669 (gst_xml_get_element), (gst_xml_make_element):
29670 * gst/indexers/gstfileindex.c: (gst_file_index_load),
29671 (_file_index_id_save_xml), (gst_file_index_commit):
29672 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
29673 (read_enum), (load_pad_template), (load_feature), (load_plugin),
29675 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
29676 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
29677 * tools/gst-complete.c: (main):
29678 * tools/gst-compprep.c: (main):
29679 * tools/gst-inspect.c: (print_element_properties_info):
29680 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
29681 * tools/gst-xmlinspect.c: (print_element_properties):
29684 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
29686 * gst/gstplugin.c: (gst_plugin_check_module),
29687 (gst_plugin_check_file), (gst_plugin_load_file):
29688 apply patch from #172526 to make register work on MacOSX
29690 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
29692 * docs/gst/tmpl/gstconfig.sgml:
29693 * gst/gstconfig.h.in:
29694 move documentation for some symbols. Add doc for GST_PTR_FORMAT
29695 * testsuite/debug/printf_extension.c: (main):
29696 Do not use GST_PTR_FORMAT on pointers to types with
29697 sizeof < sizeof(gpointer). Fixes test on 64-bit
29698 * testsuite/elements/property.h:
29699 use correct printf format
29701 2005-05-02 Wim Taymans <wim@fluendo.com>
29703 * docs/design/draft-push-pull.txt:
29704 * docs/design/draft-query.txt:
29705 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
29706 (gst_basesrc_start):
29707 Added draft for new query API.
29708 Added draft for better selecting scheduling methods.
29709 Make basesrc ignore length if the subclass does not support
29712 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
29715 possible fixes for automake-1.5 - _LIBADD is reserved
29717 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
29719 * docs/faq/Makefile.am:
29720 * docs/manual/Makefile.am:
29721 * docs/manuals.mak:
29722 * docs/pwg/Makefile.am:
29724 possible fixes for automake-1.5
29726 2005-04-28 Wim Taymans <wim@fluendo.com>
29728 * gst/base/gstbasesink.c: (gst_basesink_base_init),
29729 (gst_basesink_pad_getcaps), (gst_basesink_init),
29730 (gst_basesink_do_sync):
29731 * gst/gstclock.c: (gst_clock_entry_new):
29732 * gst/gstevent.c: (gst_event_discont_get_value):
29733 * gst/gstpipeline.c: (pipeline_bus_handler),
29734 (gst_pipeline_change_state):
29735 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
29736 Better debugging of clocking info.
29737 Allow NULL values when getting discont values.
29739 2005-04-27 Wim Taymans <wim@fluendo.com>
29741 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
29742 * check/gst/gstpad.c: (gst_pad_suite):
29743 Increase timeout for checks.
29745 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
29747 * check/Makefile.am:
29748 fix the broken rule for cleanup. Apparently this rule is
29749 only needed on FC2, so maybe this warrants further autotool
29752 2005-04-26 Wim Taymans <wim@fluendo.com>
29754 * gst/gsttrashstack.h:
29755 Ooohh. a nasty one! After having a failed pop() from the stack,
29756 it's possible that the stack is empty. In that case, don't
29757 follow the NULL pointer.
29759 2005-04-25 Wim Taymans <wim@fluendo.com>
29761 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29762 (gst_pad_set_checkgetrange_function),
29763 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
29764 (gst_pad_check_pull_range), (gst_pad_pull_range),
29765 (gst_static_pad_template_get_caps), (gst_pad_start_task),
29766 (gst_pad_pause_task), (gst_pad_stop_task):
29767 * gst/gstplugin.c: (gst_plugin_load):
29769 Remove gst_library_load as it does more harm than good with
29770 the new g_module flags.
29771 Revert bogus caps template check in pad linking, pad caps
29772 are important when linking not the template, which is more
29773 general than the current caps.
29775 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29777 * gst/autoplug/.cvsignore:
29778 * gst/autoplug/Makefile.am:
29779 * gst/autoplug/gstsearchfuncs.c:
29780 * gst/autoplug/gstsearchfuncs.h:
29781 * gst/autoplug/gstspider.c:
29782 * gst/autoplug/gstspider.h:
29783 * gst/autoplug/gstspideridentity.c:
29784 * gst/autoplug/gstspideridentity.h:
29785 * gst/autoplug/spidertest.c:
29788 2005-04-25 Wim Taymans <wim@fluendo.com>
29790 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29791 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
29792 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
29793 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
29795 Added stubs for unimplemented functions.
29797 2005-04-24 David Schleef <ds@schleef.org>
29799 * gst/gstpad.h: Disable some unimplemented functions. Wim,
29802 2005-04-24 David Schleef <ds@schleef.org>
29804 Convert everything from GstAtomicInt to g_atomic_int_*, and
29809 * gst/gstatomic_impl.h:
29817 * gst/gstdata_private.h:
29821 * gst/gstmessage.c:
29824 * gst/gststructure.c:
29825 * gst/gststructure.h:
29826 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
29829 2005-04-24 David Schleef <ds@schleef.org>
29831 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
29832 make the regressions tests work. Remove some code that is no
29834 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
29835 Disable warning for pads without templates.
29837 2005-04-24 David Schleef <ds@schleef.org>
29839 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
29840 functions that handle filtered links.
29841 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
29843 * gst/gstutils.c: Fix/remove utility functions that handle
29846 * gst/gstvalue.c: Add serialization/deserialization of caps
29847 * gst/parse/grammar.y: Ignore filtered caps when linking. This
29848 requires fixing so that the filter caps notation creates
29849 a capsfilter element and sets the filter_caps property. I
29850 think everyone probably wants to keep the shorthand notation.
29851 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
29852 * docs/gst/tmpl/gstpad.sgml:
29854 * gst/elements/gstelements.c: Register capsfilter element.
29855 * gst/Makefile.am: fix spacing
29856 * docs/random/ds/0.9-suggested-changes: random
29858 2005-04-23 David Schleef <ds@schleef.org>
29860 * gst/elements/Makefile.am:
29861 * gst/elements/gstcapsfilter.c: New element that acts like an
29862 identity, but filters caps. Will eventually replace filtered
29863 caps in pad linking.
29864 * gst/gstutils.c: (gst_element_create_all_pads): New function
29865 to create all the ALWAYS pads that are registered with an
29866 element class. This functionality should eventually be
29867 merged in with GstElement initialization.
29869 * testsuite/trigger/README: part of trigger test code that should
29870 have been checked in a long time ago.
29872 2005-04-23 David Schleef <ds@schleef.org>
29874 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
29875 needed with new versions of libtool (nobody will confirm this),
29876 and hard to carry around.
29877 * gst/autoplug/Makefile.am:
29878 * gst/base/Makefile.am:
29879 * gst/elements/Makefile.am:
29880 * gst/indexers/Makefile.am:
29881 * gst/schedulers/Makefile.am:
29882 * libs/gst/bytestream/Makefile.am:
29883 * libs/gst/control/Makefile.am:
29884 * libs/gst/dataprotocol/Makefile.am:
29885 * libs/gst/getbits/Makefile.am:
29887 2005-04-21 Wim Taymans <wim@fluendo.com>
29889 * docs/design/draft-push-pull.txt:
29890 * docs/design/part-MT-refcounting.txt:
29891 * docs/design/part-TODO.txt:
29892 * docs/design/part-caps.txt:
29893 * docs/design/part-events.txt:
29894 * docs/design/part-gstbus.txt:
29895 * docs/design/part-gstpipeline.txt:
29896 * docs/design/part-messages.txt:
29897 * docs/design/part-push-pull.txt:
29898 * docs/design/part-query.txt:
29901 2005-04-21 Wim Taymans <wim@fluendo.com>
29903 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
29904 (gst_message_new), (gst_message_new_error),
29905 (gst_message_new_warning), (gst_message_new_tag),
29906 (gst_message_new_state_changed), (gst_message_new_application),
29907 (gst_message_get_structure):
29908 * gst/gstmessage.h:
29909 * gst/gststructure.c: (gst_structure_set_parent_refcount),
29910 (gst_structure_copy_conditional):
29911 Use parent refcount in GstMessage to ensure GstStructure
29913 Cleaned up headers a bit.
29916 2005-04-20 Wim Taymans <wim@fluendo.com>
29918 * gst/base/gstbasesink.c: (gst_basesink_base_init),
29919 (gst_basesink_pad_getcaps), (gst_basesink_init),
29920 (gst_basesink_chain_unlocked):
29921 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
29922 (gst_type_find_helper):
29923 * gst/elements/gsttypefindelement.c:
29924 (gst_type_find_element_have_type), (gst_type_find_element_init),
29925 (stop_typefinding), (gst_type_find_element_handle_event),
29926 (find_suggest), (gst_type_find_element_chain),
29927 (gst_type_find_element_checkgetrange),
29928 (gst_type_find_element_getrange), (do_typefind),
29929 (gst_type_find_element_activate):
29930 * gst/gstbuffer.c: (_gst_buffer_sub_free),
29931 (gst_buffer_default_free), (gst_buffer_default_copy),
29932 (gst_buffer_set_caps):
29933 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
29934 (gst_caps_replace):
29935 * gst/gstmessage.c: (gst_message_new),
29936 (gst_message_new_state_changed):
29937 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29938 (gst_pad_set_checkgetrange_function),
29939 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
29940 (gst_pad_set_caps), (gst_pad_check_pull_range),
29941 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
29943 * gst/gsttypefind.c: (gst_type_find_register):
29944 Make gst_caps_replace() work like other _replace() functions.
29945 Use _caps_replace() where possible.
29946 Make sure _message_new() initialises its field.
29947 Add gst_static_pad_template_get_caps()
29950 2005-04-18 Andy Wingo <wingo@pobox.com>
29952 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
29953 on the peer, not the pad. I think that was a typo. Pass an extra
29954 arg to see if random access is possible. Activate the pads as
29955 PULL_RANGE if possible.
29957 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
29959 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
29960 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
29963 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29965 * docs/faq/using.xml:
29966 Add note on gstreamer-properties (#154996).
29968 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29970 * docs/random/bbb/optional-properties:
29971 Some analysis on optional properties.
29973 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29975 * docs/gst/tmpl/gstelementfactory.sgml:
29976 * gst/gstelement.h:
29977 * gst/gstelementfactory.c: (gst_element_factory_init),
29978 (gst_element_factory_cleanup), (gst_element_register),
29979 (__gst_element_factory_add_static_pad_template),
29980 (gst_element_factory_get_static_pad_templates),
29981 (gst_element_factory_can_src_caps),
29982 (gst_element_factory_can_sink_caps):
29983 * gst/registries/Makefile.am:
29984 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
29985 (gst_xml_registry_class_init), (gst_xml_registry_init),
29986 (gst_xml_registry_new), (gst_xml_registry_set_property),
29987 (gst_xml_registry_get_property), (get_time), (make_dir),
29988 (gst_xml_registry_get_perms_func),
29989 (plugin_times_older_than_recurse), (plugin_times_older_than),
29990 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
29991 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
29992 (add_to_char_array), (read_string), (read_uint), (read_enum),
29993 (load_pad_template), (load_feature), (load_plugin), (load_paths),
29994 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
29995 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
29996 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
29997 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
29998 (gst_xml_registry_rebuild):
29999 * gst/registries/gstlibxmlregistry.h:
30000 * tools/gst-compprep.c: (main):
30001 * tools/gst-inspect.c: (print_pad_templates_info):
30002 * tools/gst-xmlinspect.c: (print_element_info):
30003 Use libxml2 for registry parsing, use staticpadtemplates in
30004 elementfactories. Makes gst_init() +/- 10x faster.
30006 2005-04-12 Wim Taymans <wim@fluendo.com>
30008 * gst/base/Makefile.am:
30009 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30010 (gst_basesink_pad_getcaps), (gst_basesink_init),
30011 (gst_basesink_event), (gst_basesink_change_state):
30012 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30013 (gst_basesrc_init), (gst_basesrc_query),
30014 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30015 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30016 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30017 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30018 (gst_basesrc_stop), (gst_basesrc_activate),
30019 (gst_basesrc_change_state):
30020 * gst/base/gsttypefindhelper.c: (helper_find_peek),
30021 (helper_find_suggest), (gst_type_find_helper):
30022 * gst/base/gsttypefindhelper.h:
30023 * gst/elements/Makefile.am:
30024 * gst/elements/gstelements.c:
30025 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30026 (gst_fakesink_get_times), (gst_fakesink_event),
30027 (gst_fakesink_preroll), (gst_fakesink_render):
30028 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30029 (gst_fakesrc_init), (gst_fakesrc_event_handler),
30030 (gst_fakesrc_get_property), (gst_fakesrc_create),
30031 (gst_fakesrc_start), (gst_fakesrc_stop):
30032 * gst/elements/gstfakesrc.h:
30033 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30034 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30035 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30036 (gst_filesrc_create_read), (gst_filesrc_create),
30037 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30038 (gst_filesrc_start):
30039 * gst/elements/gsttypefindelement.c:
30040 (gst_type_find_element_have_type), (gst_type_find_element_init),
30041 (start_typefinding), (stop_typefinding), (push_buffer_store),
30042 (gst_type_find_element_handle_event),
30043 (gst_type_find_element_chain),
30044 (gst_type_find_element_checkgetrange),
30045 (gst_type_find_element_getrange), (do_typefind),
30046 (gst_type_find_element_activate),
30047 (gst_type_find_element_change_state):
30048 * gst/elements/gsttypefindelement.h:
30049 * gst/gstpipeline.c: (pipeline_bus_handler):
30050 Added typefind helper.
30051 Small preroll fix in the base sink.
30052 Disable typefind code in basesrc.
30053 Crude port of typefindelement.
30057 2005-04-11 Wim Taymans <wim@fluendo.com>
30059 * check/gst/gstbus.c: (gstbus_suite):
30060 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30061 * check/gstcheck.h:
30062 Fix up the timeout so that the test does not fail.
30064 2005-04-06 Wim Taymans <wim@fluendo.com>
30067 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30068 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30069 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30070 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30071 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30072 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30073 (gst_basesrc_stop), (gst_basesrc_activate),
30074 (gst_basesrc_change_state), (basesrc_find_peek),
30075 (basesrc_find_suggest), (gst_basesrc_type_find):
30076 * gst/base/gstbasesrc.h:
30077 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30078 (gst_filesrc_class_init), (gst_filesrc_init),
30079 (gst_filesrc_finalize), (gst_filesrc_set_location),
30080 (gst_filesrc_set_property), (gst_filesrc_get_property),
30081 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30082 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30083 (gst_filesrc_create_read), (gst_filesrc_create),
30084 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30085 * gst/elements/gstfilesrc.h:
30086 * gst/gstelement.c: (gst_element_get_state_func),
30087 (gst_element_lost_state), (gst_element_pads_activate):
30088 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30089 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30090 (gst_pad_pull_range):
30092 More work on the generic source base class, implement seeking,
30094 Make filesrc extend the base source class.
30095 Added gst_pad_set_checkgetrange_function to GstPad.
30097 2005-04-06 Andy Wingo <wingo@pobox.com>
30099 * pkgconfig/gstreamer-base.pc.in:
30100 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
30102 * pkgconfig/Makefile.am:
30103 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
30105 2005-04-04 Wim Taymans <wim@fluendo.com>
30107 * gst/base/Makefile.am:
30109 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30110 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30111 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30112 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
30113 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30114 (gst_basesrc_base_init), (gst_basesrc_class_init),
30115 (gst_basesrc_init), (gst_basesrc_get_formats),
30116 (gst_basesrc_get_query_types), (gst_basesrc_query),
30117 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
30118 (gst_basesrc_set_property), (gst_basesrc_get_property),
30119 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
30120 (gst_basesrc_loop), (gst_basesrc_activate),
30121 (gst_basesrc_change_state):
30122 * gst/base/gstbasesrc.h:
30123 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
30124 (gst_fakesrc_class_init), (gst_fakesrc_init),
30125 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
30126 (gst_fakesrc_get_property), (gst_fakesrc_create):
30127 * gst/elements/gstfakesrc.h:
30128 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
30129 (gst_filesrc_open_file), (gst_filesrc_loop),
30130 (gst_filesrc_activate), (filesrc_find_peek),
30131 (gst_filesrc_type_find):
30132 Made base source class, make fakesrc extend it.
30133 Add comments to basesink class.
30134 Some filesrc cleanup.
30136 2005-03-31 David Schleef <ds@schleef.org>
30138 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
30139 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
30140 expected to link against libgstreamer.
30141 * gst/base/Makefile.am: link against libgstreamer
30142 * gst/elements/Makefile.am: same
30144 2005-03-31 Andy Wingo <wingo@pobox.com>
30146 * tests/instantiate/Makefile.am:
30147 * tests/instantiate/caps.c: Add test to test speed of caps copy
30150 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
30151 GMemChunk to be fair.
30153 * gst/gsttrashstack.h: Remove warning about using the fallback
30154 trash stack implementation, it's still faster than malloc.
30156 2005-03-30 Andy Wingo <wingo@pobox.com>
30158 * tests/complexity.c: Add a copyright.
30160 2005-03-31 Wim Taymans <wim@fluendo.com>
30162 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
30163 (gst_base_transform_class_init), (gst_base_transform_init),
30164 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
30165 (gst_base_transform_get_property),
30166 (gst_base_transform_sink_activate),
30167 (gst_base_transform_src_activate),
30168 (gst_base_transform_change_state):
30169 * gst/base/gstbasetransform.h:
30170 * gst/elements/gstidentity.c: (gst_identity_class_init),
30171 (gst_identity_event), (gst_identity_check_perfect),
30172 (gst_identity_transform), (gst_identity_start),
30173 (gst_identity_stop):
30174 Added start/stop methods to transform base class so subclasses
30175 don't need to deal with state changes even.
30177 2005-03-31 Wim Taymans <wim@fluendo.com>
30179 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
30180 (gst_event_new_discontinuous), (gst_event_discont_get_value):
30182 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30183 (gst_pad_pull_range):
30184 Added rate to the discont event to prepare for variable speed
30185 and reverse playback.
30187 2005-03-29 David Schleef <ds@schleef.org>
30190 * testsuite/trigger/Makefile.am:
30191 * testsuite/trigger/trigger.c: A little example program to show
30192 how trigger-based elements can work.
30194 2005-03-29 Wim Taymans <wim@fluendo.com>
30196 * gst/base/Makefile.am:
30198 * gst/base/gstbasesink.c: (gst_basesink_get_type),
30199 (gst_basesink_base_init), (gst_basesink_class_init),
30200 (gst_basesink_pad_getcaps), (gst_basesink_init),
30201 (gst_basesink_activate), (gst_basesink_change_state):
30202 * gst/base/gstbasesink.h:
30203 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
30204 (gst_base_transform_base_init), (gst_base_transform_finalize),
30205 (gst_base_transform_class_init), (gst_base_transform_init),
30206 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
30207 (gst_base_transform_event), (gst_base_transform_getrange),
30208 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
30209 (gst_base_transform_set_property),
30210 (gst_base_transform_get_property),
30211 (gst_base_transform_sink_activate),
30212 (gst_base_transform_src_activate),
30213 (gst_base_transform_change_state):
30214 * gst/base/gstbasetransform.h:
30215 * gst/elements/gstidentity.c: (gst_identity_finalize),
30216 (gst_identity_class_init), (gst_identity_init),
30217 (gst_identity_event), (gst_identity_check_perfect),
30218 (gst_identity_transform), (gst_identity_set_property),
30219 (gst_identity_get_property), (gst_identity_change_state):
30220 * gst/elements/gstidentity.h:
30221 * gst/gstelement.c: (gst_element_get_state_func),
30222 (gst_element_lost_state), (gst_element_pads_activate):
30223 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30224 (gst_pad_check_pull_range), (gst_pad_pull_range):
30226 Simplify pad activation.
30227 Added function to check if pull_range can be performed.
30228 Error out when pulling inactive or flushing pads.
30229 Removed const from refcounted types as it does not make sense.
30230 Simplify pad templates in basesink
30231 Added base class for simple 1-to-1 transforms.
30232 Make identity subclass the base transform.
30234 2005-03-29 Andy Wingo <wingo@pobox.com>
30236 * docs/libs/gstreamer-libs-overrides.txt:
30237 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
30238 really don't understand what's going on, but like whatever. I want
30241 * docs/gst/Makefile.am:
30242 * docs/libs/Makefile.am: Dist the overrides files.
30244 * check/Makefile.am (clean-local): Remove .libs directories.
30246 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
30247 elements to EXTRA_DIST, so po/ files are happy.
30249 * po/POTFILES.in: Er, remove it here.
30251 * po/POTFILES: Remove gstspider.c.
30253 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
30255 * docs/libs/gstreamer-libs-docs.sgml:
30256 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
30259 * tests/complexity.c (main): Set the length of the preroll queue
30260 on the sinks to prevent a lockup.
30262 * libs/gst/dataprotocol/Makefile.am:
30263 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
30264 the same as the one in check/gst-libs/gdp.c.
30266 * po/, docs/gst/: Commit automatic changes to docs and po files.
30268 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
30269 the versioned libgstbase.
30271 * check/Makefile.am: Depend on an unversioned gst-register, seems
30272 to make autoconf happier.
30274 * gst/base/Makefile.am: Make libgstbase a versioned lib.
30276 2005-03-28 Wim Taymans <wim@fluendo.com>
30279 * docs/design/part-gstelement.txt:
30280 * docs/design/part-negotiation.txt:
30281 * docs/design/part-preroll.txt:
30282 * docs/design/part-scheduling.txt:
30283 * docs/design/part-states.txt:
30285 * gst/base/Makefile.am:
30287 * gst/base/gstbasesink.c: (gst_basesink_get_template),
30288 (gst_basesink_base_init), (gst_basesink_class_init),
30289 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30290 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30291 (gst_basesink_set_pad_functions),
30292 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
30293 (gst_basesink_set_property), (gst_basesink_get_property),
30294 (gst_base_sink_get_template), (gst_base_sink_get_caps),
30295 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
30296 (gst_basesink_preroll_queue_push),
30297 (gst_basesink_preroll_queue_empty),
30298 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
30299 (gst_basesink_event), (gst_basesink_get_times),
30300 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
30301 (gst_basesink_chain_unlocked), (gst_basesink_chain),
30302 (gst_basesink_loop), (gst_basesink_activate),
30303 (gst_basesink_change_state):
30304 * gst/base/gstbasesink.h:
30305 * gst/elements/Makefile.am:
30306 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
30307 (gst_fakesink_class_init), (gst_fakesink_init),
30308 (gst_fakesink_set_property), (gst_fakesink_get_property),
30309 (gst_fakesink_get_times), (gst_fakesink_event),
30310 (gst_fakesink_preroll), (gst_fakesink_render),
30311 (gst_fakesink_change_state):
30312 * gst/elements/gstfakesink.h:
30313 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
30314 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
30315 * gst/gstelement.c: (gst_element_add_pad),
30316 (gst_element_get_state_func), (gst_element_abort_state),
30317 (gst_element_commit_state), (gst_element_lost_state),
30318 (gst_element_set_state), (gst_element_pads_activate):
30319 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
30320 * gst/gstpipeline.c: (gst_pipeline_send_event),
30321 (gst_pipeline_change_state):
30322 Added state change code.
30323 Added/updated docs.
30324 Added sink base class, make fakesink extend the base class.
30325 Small cleanups in GstPipeline.
30327 2005-03-26 David Schleef <ds@schleef.org>
30329 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
30330 is broken and should be implemented in a different library.
30331 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
30332 * gst/gst.h: remove gstcpu.h
30333 * gst/gstcpu.c: remove
30334 * gst/gstcpu.h: remove
30335 * gst/Makefile.am.future: Remove this file. It's ancient.
30337 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30339 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
30340 (gst_bin_send_event):
30341 Add default event/set_manager handlers. The set_manager handler
30342 takes care that the manager is distributed over kids that were
30343 already in the bin before the manager was set. The event handler
30344 is a utility virtual function that sends the event over all sinks,
30345 so that gst_element_send_event (bin, event); has the expected
30347 * gst/gstpad.c: (gst_pad_event_default):
30348 Re-install default event handling for discontinuities, so that
30349 seeking works without requiring hacks in applications or extra
30351 * gst/gstpipeline.c: (gst_pipeline_class_init),
30352 (gst_pipeline_send_event):
30353 Half hack, half utility: set a pipeline to PAUSED for seek events,
30354 since that is the only way we can guarantee a/v sync. Means that
30355 you can do gst_element_seek (pipeline, method, pos); on a pipeline
30356 and it "just works".
30358 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30360 * gst/gstpipeline.c: (gst_pipeline_use_clock):
30361 Lock/unlock mismatch.
30363 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
30365 * docs/faq/gst-uninstalled:
30366 add gst-plugins-base
30367 * docs/gst/Makefile.am:
30368 don't error out until docs are fixed
30369 * docs/gst/gstreamer.types:
30372 2005-03-22 Wim Taymans <wim@fluendo.com>
30374 * check/Makefile.am:
30375 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
30376 * gst/gststructure.c: (gst_structure_set_valist),
30377 (gst_structure_copy_conditional):
30378 Activated more tests.
30379 Added message test.
30380 Added G_TYPE_POINTER to GstStructure.
30383 2005-03-22 Wim Taymans <wim@fluendo.com>
30385 * docs/design/part-TODO.txt:
30386 * docs/design/part-events.txt:
30387 * docs/design/part-gstbin.txt:
30388 * docs/design/part-gstbus.txt:
30389 * docs/design/part-gstpipeline.txt:
30390 * docs/design/part-messages.txt:
30392 * gst/gstmessage.c:
30395 2005-03-21 Wim Taymans <wim@fluendo.com>
30397 * gst/gstbus.c: (gst_bus_post):
30398 Fix copy-and-paste error.
30400 2005-03-21 Wim Taymans <wim@fluendo.com>
30402 * check/Makefile.am:
30404 * gst/elements/Makefile.am:
30405 * gst/elements/gstelements.c:
30406 * gst/elements/gstfakesink.c: (gst_fakesink_init),
30407 (gst_fakesink_event), (gst_fakesink_chain):
30408 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30409 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
30410 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
30411 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
30412 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
30413 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
30414 (gst_fakesrc_loop), (gst_fakesrc_activate),
30415 (gst_fakesrc_change_state):
30416 * gst/elements/gstfakesrc.h:
30417 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
30418 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
30419 (gst_filesrc_open_file), (gst_filesrc_loop),
30420 (gst_filesrc_activate), (gst_filesrc_change_state),
30421 (filesrc_find_peek), (filesrc_find_suggest),
30422 (gst_filesrc_type_find):
30423 * gst/elements/gstidentity.c: (gst_identity_finalize),
30424 (gst_identity_class_init), (gst_identity_init),
30425 (gst_identity_proxy_getcaps), (identity_queue_push),
30426 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
30427 (gst_identity_getrange), (gst_identity_chain),
30428 (gst_identity_sink_loop), (gst_identity_src_loop),
30429 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
30430 (gst_identity_set_property), (gst_identity_get_property),
30431 (gst_identity_change_state):
30432 * gst/elements/gstidentity.h:
30433 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
30434 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
30435 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
30436 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
30437 (gst_tee_sink_activate):
30438 * gst/elements/gsttee.h:
30439 * gst/gst.c: (gst_register_core_elements), (init_post):
30441 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
30442 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
30443 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
30444 (gst_bin_change_state):
30446 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
30447 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
30448 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
30449 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
30450 (gst_bus_set_sync_handler), (gst_bus_create_watch),
30451 (bus_watch_callback), (bus_watch_destroy),
30452 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
30453 (poll_timeout), (gst_bus_poll):
30457 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
30458 (gst_element_post_message), (gst_element_message_full),
30459 (gst_element_get_state_func), (gst_element_get_state),
30460 (gst_element_abort_state), (gst_element_commit_state),
30461 (gst_element_lost_state), (gst_element_set_state),
30462 (gst_element_pads_activate), (gst_element_change_state),
30463 (gst_element_dispose), (gst_element_set_manager_func),
30464 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
30465 (gst_element_set_manager), (gst_element_get_manager),
30466 (gst_element_set_bus), (gst_element_get_bus),
30467 (gst_element_set_scheduler), (gst_element_get_scheduler):
30468 * gst/gstelement.h:
30469 * gst/gstevent.c: (gst_event_new_segment_seek),
30470 (gst_event_new_flush):
30472 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
30473 (_gst_message_free), (gst_message_get_type), (gst_message_new),
30474 (gst_message_new_eos), (gst_message_new_error),
30475 (gst_message_new_warning), (gst_message_new_tag),
30476 (gst_message_new_state_changed), (gst_message_new_application),
30477 (gst_message_get_structure), (gst_message_parse_tag),
30478 (gst_message_parse_state_changed), (gst_message_parse_error),
30479 (gst_message_parse_warning):
30480 * gst/gstmessage.h:
30481 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
30482 (gst_real_pad_set_property), (gst_pad_set_active),
30483 (gst_pad_is_active), (gst_pad_set_blocked_async),
30484 (gst_pad_set_blocked), (gst_pad_is_blocked),
30485 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
30486 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
30487 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
30488 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
30489 (gst_pad_link_filtered), (gst_pad_relink_filtered),
30490 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
30491 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
30492 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
30493 (gst_pad_set_caps), (gst_pad_configure_sink),
30494 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
30495 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
30496 (gst_real_pad_dispose), (gst_real_pad_finalize),
30497 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
30498 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30499 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
30501 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
30502 (pipeline_bus_handler), (gst_pipeline_change_state),
30503 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
30504 * gst/gstpipeline.h:
30506 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
30507 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
30508 (gst_queue_link_src), (gst_queue_bufferalloc),
30509 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
30510 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
30511 (gst_queue_loop), (gst_queue_handle_src_event),
30512 (gst_queue_handle_src_query), (gst_queue_src_activate),
30513 (gst_queue_change_state):
30515 * gst/gstscheduler.c: (gst_scheduler_init),
30516 (gst_scheduler_dispose), (gst_scheduler_create_task),
30517 (gst_scheduler_factory_create):
30518 * gst/gstscheduler.h:
30519 * gst/gststructure.c: (gst_structure_get_type),
30520 (gst_structure_copy_conditional):
30521 * gst/gststructure.h:
30522 * gst/gsttaginterface.h:
30523 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
30524 (gst_task_init), (gst_task_dispose), (gst_task_create),
30525 (gst_task_get_state), (gst_task_start), (gst_task_stop),
30531 * gst/schedulers/Makefile.am:
30532 * gst/schedulers/cothreads_compat.h:
30533 * gst/schedulers/entryscheduler.c:
30534 * gst/schedulers/faircothreads.c:
30535 * gst/schedulers/faircothreads.h:
30536 * gst/schedulers/fairscheduler.c:
30537 * gst/schedulers/gstbasicscheduler.c:
30538 * gst/schedulers/gstoptimalscheduler.c:
30539 * gst/schedulers/gthread-cothreads.h:
30540 * gst/schedulers/threadscheduler.c:
30541 (gst_thread_scheduler_task_get_type),
30542 (gst_thread_scheduler_task_class_init),
30543 (gst_thread_scheduler_task_init),
30544 (gst_thread_scheduler_task_start),
30545 (gst_thread_scheduler_task_stop),
30546 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
30547 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
30548 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
30549 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
30551 * libs/gst/Makefile.am:
30552 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
30553 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
30554 (gst_file_pad_parent_set):
30555 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
30556 (gst_dp_event_from_packet):
30557 * tests/complexity.c: (main):
30558 * tests/mass_elements.c: (main):
30559 * testsuite/states/locked.c: (message_received), (main):
30560 * testsuite/states/parent.c: (main):
30561 * tools/gst-inspect.c: (print_element_flag_info),
30562 (print_implementation_info), (print_pad_info):
30563 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
30565 * tools/gst-md5sum.c: (event_loop), (main):
30566 * tools/gst-typefind.c: (main):
30567 * tools/gst-xmlinspect.c: (print_element_info):
30569 Added GstBus for mainloop integration.
30570 Added GstMessage for sending notifications on the bus.
30571 Added GstTask as an abstraction for pipeline entry points.
30573 Removed Schedulers.
30574 Simplified GstQueue for multithreaded core.
30575 Made _link threadsafe, removed old capsnego.
30576 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
30577 Added pad blocking functions.
30578 Reworked scheduling functions in GstPad to prepare for
30579 scheduling updates soon.
30580 Moved events out of data stream.
30581 Simplified GstEvent types.
30582 Added return values to push/pull.
30583 Removed clocking from GstElement.
30584 Added prototypes for state change function for next merge.
30585 Removed iterate from bins and state change management.
30586 Fixed some elements, disabled others for now.
30587 Fixed -inspect and -launch.
30588 Added check for GstBus.
30590 2005-03-10 Wim Taymans <wim@fluendo.com>
30592 * docs/design/part-MT-refcounting.txt:
30593 * docs/design/part-clocks.txt:
30594 * docs/design/part-gstelement.txt:
30595 * docs/design/part-gstobject.txt:
30596 * docs/design/part-standards.txt:
30597 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30598 (gst_bin_remove_func), (gst_bin_remove):
30602 * testsuite/clock/clock1.c: (main):
30603 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
30605 * testsuite/dlopen/loadgst.c: (do_test):
30606 * testsuite/refcounting/bin.c: (add_remove_test1),
30607 (add_remove_test2), (main):
30608 * testsuite/refcounting/element.c: (main):
30609 * testsuite/refcounting/element_pad.c: (main):
30610 * testsuite/refcounting/pad.c: (main):
30611 * tools/gst-launch.c: (sigint_handler_sighandler):
30612 * tools/gst-typefind.c: (main):
30614 Added doc about clock.
30615 removed gst_bin_iterate_recurse_up(), marked methods
30617 Fix more testsuites.
30619 2005-03-09 Wim Taymans <wim@fluendo.com>
30621 * gst/gstpad.c: (gst_pad_get_direction),
30622 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
30623 (gst_pad_collect_valist):
30624 * testsuite/bins/interface.c: (main):
30625 * testsuite/caps/audioscale.c: (test_caps):
30626 * testsuite/caps/caps.c: (test1), (test2), (test3):
30627 * testsuite/caps/deserialize.c: (main):
30628 * testsuite/caps/enumcaps.c: (main):
30629 * testsuite/caps/filtercaps.c: (main):
30630 * testsuite/caps/intersect2.c: (main):
30631 * testsuite/caps/random.c: (main):
30632 * testsuite/caps/renegotiate.c: (my_fixate), (main):
30633 * testsuite/caps/sets.c: (check_caps):
30634 * testsuite/caps/simplify.c: (check_caps), (main):
30635 * testsuite/caps/subtract.c: (check_caps):
30636 Fix _pad_get_direction wrt ghostpads.
30637 Fix caps testsuite.
30639 2005-03-09 Wim Taymans <wim@fluendo.com>
30641 * check/Makefile.am:
30642 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
30643 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
30644 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
30645 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
30646 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
30647 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
30648 (gst_bin_remove), (gst_bin_iterate_recurse_up),
30649 (bin_element_is_sink), (gst_bin_iterate_sinks),
30650 (gst_bin_iterate_all_by_interface):
30652 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
30653 (gst_element_change_state), (gst_element_dispose),
30654 (gst_element_finalize), (gst_element_set_loop_function):
30655 * gst/gstelement.h:
30656 * gst/gstiterator.c: (find_custom_fold_func):
30657 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
30658 (gst_pad_collectv), (gst_pad_collect_valist),
30659 (gst_pad_template_new):
30660 * gst/gstpipeline.c: (gst_pipeline_class_init),
30661 (gst_pipeline_dispose), (gst_pipeline_set_property),
30662 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
30663 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
30664 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
30666 * gst/schedulers/entryscheduler.c:
30667 * gst/schedulers/gstbasicscheduler.c:
30668 (gst_basic_scheduler_cothreaded_chain),
30669 (gst_basic_scheduler_chain_add_element):
30670 * testsuite/bins/interface.c: (main):
30672 Added GstSystemClock test.
30673 Implemented clock distribution code in GstBin.
30674 Implemented iterate sinks method for future use.
30675 Rearranged gstelement.h
30676 Fix GstIterator comparison bug.
30677 Moved some code to GstPipeline, mostly clocking related.
30679 2005-03-09 Wim Taymans <wim@fluendo.com>
30682 * gst/gst_private.h:
30683 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30684 (gst_bin_remove_func), (gst_bin_remove),
30685 (gst_bin_get_by_name_recurse_up):
30686 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
30687 (gst_clock_id_compare_func), (gst_clock_id_wait),
30688 (gst_clock_id_wait_async), (gst_clock_init),
30689 (gst_clock_adjust_unlocked), (gst_clock_get_time):
30690 * gst/gstelement.h:
30691 * gst/gstinfo.c: (_gst_debug_init):
30693 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
30694 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
30696 Bump version number, we're now 0.9.0
30697 Add future debugging category.
30698 Fix NULL _unref() in _get_by_name_recurse_up
30699 Rearrange gstpad.h.
30702 2005-03-08 Wim Taymans <wim@fluendo.com>
30704 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
30705 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
30706 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30707 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
30708 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
30709 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
30710 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
30711 * gst/elements/gstidentity.c: (gst_identity_class_init):
30712 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
30713 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
30714 * gst/elements/gstshaper.c: (gst_shaper_class_init):
30715 * gst/elements/gststatistics.c: (gst_statistics_class_init):
30716 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
30718 * gst/gstelement.c: (gst_element_class_init),
30719 (gst_element_base_class_init), (gst_element_init),
30720 (gst_element_get_random_pad), (gst_element_wait_state_change),
30721 (gst_element_change_state), (gst_element_dispose),
30722 (gst_element_finalize), (gst_element_set_loop_function):
30723 * gst/gstelement.h:
30724 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
30725 * gst/gstthread.c: (gst_thread_class_init),
30726 (gst_thread_release_children_locks), (gst_thread_change_state):
30727 * gst/schedulers/gstbasicscheduler.c:
30728 (gst_basic_scheduler_loopfunc_wrapper),
30729 (gst_basic_scheduler_chain_wrapper),
30730 (gst_basic_scheduler_src_wrapper),
30731 (gst_basic_scheduler_remove_element):
30732 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
30733 Remove threadsafe properties. Fix elements because GObject
30734 complains when installing a property before declaring a
30735 set/get_property handler.
30736 Rearrange gstelement.h file, use STATE macros for state locks.
30737 Free mutexes in the finalize method instead of dispose.
30739 2005-03-08 Wim Taymans <wim@fluendo.com>
30741 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30742 * gst/gstthread.c: (gst_thread_release_children_locks):
30743 Added parentage check.
30744 Fix build og GstThread again.
30746 2005-03-08 Wim Taymans <wim@fluendo.com>
30748 * docs/design/part-MT-refcounting.txt:
30749 * docs/design/part-conventions.txt:
30750 * docs/design/part-gstobject.txt:
30751 * docs/design/part-relations.txt:
30752 * docs/design/part-standards.txt:
30753 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30754 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
30755 (gst_bin_get_by_name), (gst_bin_get_by_interface),
30756 (gst_bin_iterate_all_by_interface):
30759 * gst/gstelement.c: (gst_element_class_init),
30760 (gst_element_change_state), (gst_element_set_loop_function):
30761 * gst/gstelement.h:
30762 * gst/gstiterator.c:
30763 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
30764 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
30765 (gst_object_dispatch_properties_changed), (gst_object_set_name),
30766 (gst_object_set_parent), (gst_object_unparent),
30767 (gst_object_check_uniqueness):
30769 Docs updates, clean up some headers.
30771 2005-03-07 Wim Taymans <wim@fluendo.com>
30773 * check/.cvsignore:
30774 * check/Makefile.am:
30775 * check/gst-libs/.cvsignore:
30776 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
30777 * check/gst/.cvsignore:
30778 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
30779 (START_TEST), (gstbus_suite), (main):
30780 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
30781 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
30782 (gst_data_suite), (main):
30783 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
30784 (add_fold_func), (gstiterator_suite), (main):
30785 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
30786 (thread_name_object), (thread_name_object_default),
30787 (gst_object_name_compare), (gst_object_suite), (main):
30788 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
30789 (gst_pad_suite), (main):
30790 * check/gstcheck.c: (gst_check_log_message_func),
30791 (gst_check_log_critical_func), (gst_check_init):
30792 * check/gstcheck.h:
30793 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
30794 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
30797 2005-03-07 Wim Taymans <wim@fluendo.com>
30799 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
30800 (gst_list_iterator_next), (gst_list_iterator_resync),
30801 (gst_list_iterator_free), (gst_iterator_new_list),
30802 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
30803 (gst_iterator_free), (gst_iterator_push), (filter_next),
30804 (filter_resync), (filter_uninit), (filter_free),
30805 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
30806 (gst_iterator_foreach), (find_custom_fold_func),
30807 (gst_iterator_find_custom):
30808 * gst/gstiterator.h:
30809 Added missing files.
30811 2005-03-07 Wim Taymans <wim@fluendo.com>
30815 * docs/design/part-MT-refcounting.txt:
30816 * docs/design/part-conventions.txt:
30817 * docs/design/part-gstobject.txt:
30818 * docs/design/part-relations.txt:
30819 * examples/mixer/mixer.c: (main):
30820 * examples/thread/thread.c: (eos), (main):
30822 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
30823 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
30824 (gst_spider_plug_from_srcpad):
30825 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
30826 (gst_spider_identity_change_state),
30827 (gst_spider_identity_sink_loop_type_finding):
30828 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
30829 * gst/elements/gstidentity.c: (gst_identity_init):
30830 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
30831 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
30832 * gst/elements/gsttypefindelement.c: (free_entry):
30835 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
30836 (gst_bin_set_clock_func), (gst_bin_auto_clock),
30837 (gst_bin_set_index), (gst_bin_set_element_sched),
30838 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
30839 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
30840 (gst_bin_iterate_elements), (iterate_child_recurse),
30841 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
30842 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
30843 (compare_interface), (gst_bin_get_by_interface),
30844 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
30846 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
30847 (gst_buffer_default_free), (gst_buffer_default_copy),
30848 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
30849 (gst_buffer_create_sub):
30851 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
30852 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
30853 (gst_caps_unref), (gst_static_caps_get),
30854 (gst_caps_remove_and_get_structure), (gst_caps_append),
30855 (gst_caps_append_structure), (gst_caps_remove_structure),
30856 (gst_caps_copy_nth), (gst_caps_set_simple),
30857 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
30858 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
30859 (gst_caps_structure_intersect_field), (gst_caps_intersect),
30860 (gst_caps_structure_subtract_field), (gst_caps_subtract),
30861 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
30862 (gst_caps_structure_figure_out_union),
30863 (gst_caps_switch_structures), (gst_caps_do_simplify),
30864 (gst_caps_replace), (gst_caps_from_string),
30865 (gst_caps_copy_conditional):
30867 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
30868 (_gst_clock_id_free), (gst_clock_id_unref),
30869 (gst_clock_id_compare_func), (gst_clock_id_wait),
30870 (gst_clock_id_wait_async), (gst_clock_class_init),
30871 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
30872 (gst_clock_get_time), (gst_clock_set_time_adjust),
30873 (gst_clock_set_property), (gst_clock_get_property):
30876 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
30877 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
30879 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
30880 (gst_element_requires_clock), (gst_element_provides_clock),
30881 (gst_element_set_clock), (gst_element_clock_wait),
30882 (gst_element_wait), (gst_element_set_time_delay),
30883 (gst_element_is_indexable), (gst_element_add_pad),
30884 (gst_element_add_ghost_pad), (gst_element_remove_pad),
30885 (pad_compare_name), (gst_element_get_static_pad),
30886 (gst_element_request_pad), (gst_element_get_request_pad),
30887 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
30888 (gst_element_class_get_pad_template_list),
30889 (gst_element_class_get_pad_template), (gst_element_error_func),
30890 (gst_element_get_random_pad), (gst_element_get_event_masks),
30891 (gst_element_send_event), (gst_element_seek),
30892 (gst_element_get_query_types), (gst_element_query),
30893 (gst_element_get_formats), (gst_element_convert),
30894 (gst_element_is_locked_state), (gst_element_set_locked_state),
30895 (gst_element_sync_state_with_parent), (gst_element_change_state),
30896 (gst_element_finalize), (gst_element_yield),
30897 (gst_element_interrupt), (gst_element_set_scheduler),
30898 (gst_element_get_scheduler), (gst_element_set_loop_function):
30899 * gst/gstelement.h:
30901 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
30902 (gst_format_get_by_nick), (gst_format_get_details),
30903 (gst_format_iterate_definitions):
30905 * gst/gstindex.c: (gst_index_gtype_resolver):
30908 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
30909 (gst_mem_chunk_free):
30910 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
30911 (gst_object_ref), (gst_object_unref), (gst_object_sink),
30912 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
30913 (gst_object_dispatch_properties_changed),
30914 (gst_object_set_name_default), (gst_object_set_name),
30915 (gst_object_get_name), (gst_object_set_name_prefix),
30916 (gst_object_get_name_prefix), (gst_object_set_parent),
30917 (gst_object_get_parent), (gst_object_unparent),
30918 (gst_object_check_uniqueness), (gst_object_save_thyself),
30919 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
30920 (gst_object_set_property), (gst_object_get_property),
30921 (gst_object_get_path_string):
30923 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30924 (gst_real_pad_init), (gst_real_pad_get_property),
30925 (gst_pad_custom_new), (gst_pad_get_direction),
30926 (gst_pad_set_active), (gst_pad_is_active),
30927 (gst_pad_set_event_function), (gst_pad_is_linked),
30928 (gst_pad_link_free), (gst_pad_link_intersect),
30929 (gst_pad_link_fixate), (gst_pad_set_caps),
30930 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
30931 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
30932 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
30933 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
30934 (gst_pad_get_caps), (gst_pad_peer_get_caps),
30935 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
30936 (gst_pad_realize), (gst_pad_get_allowed_caps),
30937 (gst_real_pad_dispose), (gst_real_pad_finalize),
30938 (gst_pad_collectv), (gst_pad_collect_valist),
30939 (gst_pad_template_dispose), (gst_pad_template_new),
30940 (gst_pad_get_internal_links):
30942 * gst/gstpipeline.c: (gst_pipeline_dispose),
30943 (gst_pipeline_change_state):
30944 * gst/gstpipeline.h:
30946 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
30947 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
30948 * gst/gstpluginfeature.h:
30949 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
30950 * gst/gstquery.c: (_gst_query_type_initialize),
30951 (gst_query_type_register), (gst_query_type_get_by_nick),
30952 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
30954 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
30955 * gst/gstscheduler.c: (gst_scheduler_add_element),
30956 (gst_scheduler_factory_create):
30957 * gst/gststructure.c: (gst_structure_set_parent_refcount),
30958 (gst_structure_free), (gst_structure_set_name),
30959 (gst_structure_id_set_value), (gst_structure_set_value),
30960 (gst_structure_set_valist), (gst_structure_remove_field),
30961 (gst_structure_remove_fields),
30962 (gst_structure_remove_fields_valist),
30963 (gst_structure_remove_all_fields), (gst_structure_foreach),
30964 (gst_structure_map_in_place),
30965 (gst_caps_structure_fixate_field_nearest_int),
30966 (gst_caps_structure_fixate_field_nearest_double):
30967 * gst/gststructure.h:
30968 * gst/gstsystemclock.c: (gst_system_clock_class_init),
30969 (gst_system_clock_init), (gst_system_clock_dispose),
30970 (gst_system_clock_async_thread),
30971 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
30972 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
30973 * gst/gstsystemclock.h:
30974 * gst/gsttag.c: (gst_tag_list_add_value_internal),
30975 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
30976 * gst/gsttaginterface.c:
30977 * gst/gstthread.c: (gst_thread_dispose),
30978 (gst_thread_release_children_locks), (gst_thread_change_state),
30979 (gst_thread_main_loop):
30980 * gst/gsttrashstack.h:
30981 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
30983 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30984 (gst_element_request_pad), (gst_element_get_pad_from_template),
30985 (gst_element_request_compatible_pad),
30986 (gst_element_get_compatible_pad_filtered),
30987 (gst_element_get_compatible_pad), (gst_element_state_get_name),
30988 (gst_element_link_pads_filtered), (gst_element_link_filtered),
30989 (gst_element_link_many), (gst_element_link),
30990 (gst_element_link_pads), (gst_element_unlink_pads),
30991 (gst_element_unlink_many), (gst_element_unlink),
30992 (gst_pad_can_link_filtered), (gst_pad_can_link),
30993 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
30994 (gst_object_default_error), (gst_bin_add_many),
30995 (gst_bin_remove_many), (gst_element_populate_std_props),
30996 (gst_element_class_install_std_props), (gst_buffer_merge),
30997 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
30998 (link_fold_func), (gst_pad_proxy_setcaps):
31000 * gst/gstvalue.c: (gst_value_deserialize_string):
31001 * gst/parse/grammar.y:
31002 * gst/schedulers/gstbasicscheduler.c:
31003 (gst_basic_scheduler_cothreaded_chain),
31004 (gst_basic_scheduler_chain_recursive_add),
31005 (gst_basic_scheduler_pad_link):
31006 * gst/schedulers/gstoptimalscheduler.c:
31007 (get_group_schedule_function),
31008 (gst_opt_scheduler_state_transition),
31009 (gst_opt_scheduler_add_element), (element_get_reachables_func):
31010 * libs/gst/bytestream/bytestream.c:
31011 * libs/gst/dataprotocol/dataprotocol.c:
31012 (gst_dp_header_from_buffer):
31015 * tests/threadstate/threadstate2.c: (eos):
31016 * tools/gst-compprep.c: (main):
31017 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31018 (print_pad_info), (print_children_info):
31019 * tools/gst-launch.c: (idle_func), (main):
31020 * tools/gst-md5sum.c: (idle_func), (main):
31021 * tools/gst-xmlinspect.c: (print_element_info):
31022 First THREADED backport attempt, focusing on adding locks and
31023 making sure the API is threadsafe. Needs more work. More docs
31026 2005-02-24 Andy Wingo <wingo@pobox.com>
31028 * tests/bench-complexity.scm:
31029 * tests/complexity.gnuplot: New files, good for running complexity
31032 * tests/Makefile.am:
31033 * tests/complexity.c: New test, sets up N elements, at each level
31034 teeing into M streams per element. Eeeenteresting.
31036 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31037 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31038 running bench-mass_elements.scm.
31040 * tests/bench-mass_elements.scm: New script, runs mass_elements
31041 for various numbers of identities, outputting the results to a
31042 file. Requires guile 1.6. Just for testing.
31044 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
31046 * gst/schedulers/fairscheduler.c:
31047 compile with debug disabled
31049 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
31052 hunting season on 0.9 is now OPEN